]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Service/Extractor.php
Merge pull request #1383 from wallabag/cs
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Service / Extractor.php
index 1c6ff0ae851632fd80ef36a5a7c7ac21674806d2..4c067d3afef985fa5226c0359bc81260c2eb7eec 100644 (file)
@@ -7,68 +7,72 @@ use Wallabag\CoreBundle\Helper\Url;
 
 final class Extractor
 {
-    public static function extract($url) {
-        $pageContent = Extractor::getPageContent(new Url(base64_encode($url)));
-        $title = ($pageContent['rss']['channel']['item']['title'] != '') ? $pageContent['rss']['channel']['item']['title'] : _('Untitled');
+    public static function extract($url)
+    {
+        $pageContent = self::getPageContent(new Url(base64_encode($url)));
+        $title = $pageContent['rss']['channel']['item']['title'] ?: parse_url($url, PHP_URL_HOST);
         $body = $pageContent['rss']['channel']['item']['description'];
 
         $content = new Content();
         $content->setTitle($title);
-        $content->setBody($body);;
+        $content->setBody($body);
 
         return $content;
     }
+
     /**
-     * Get the content for a given URL (by a call to FullTextFeed)
+     * Get the content for a given URL (by a call to FullTextFeed).
      *
      * @param Url $url
+     *
      * @return mixed
      */
     public static function getPageContent(Url $url)
     {
         // Saving and clearing context
         $REAL = array();
-        foreach( $GLOBALS as $key => $value ) {
-            if( $key != 'GLOBALS' && $key != '_SESSION' && $key != 'HTTP_SESSION_VARS' ) {
-                $GLOBALS[$key]  = array();
-                $REAL[$key]     = $value;
+        foreach ($GLOBALS as $key => $value) {
+            if ($key != 'GLOBALS' && $key != '_SESSION' && $key != 'HTTP_SESSION_VARS') {
+                $GLOBALS[$key] = array();
+                $REAL[$key] = $value;
             }
         }
         // Saving and clearing session
         if (isset($_SESSION)) {
             $REAL_SESSION = array();
-            foreach( $_SESSION as $key => $value ) {
+            foreach ($_SESSION as $key => $value) {
                 $REAL_SESSION[$key] = $value;
                 unset($_SESSION[$key]);
             }
         }
 
         // Running code in different context
-        $scope = function() {
-            extract( func_get_arg(1) );
+        $scope = function () {
+            extract(func_get_arg(1));
             $_GET = $_REQUEST = array(
-                "url" => $url->getUrl(),
-                "max" => 5,
-                "links" => "preserve",
-                "exc" => "",
-                "format" => "json",
-                "submit" => "Create Feed"
+                'url' => $url->getUrl(),
+                'max' => 5,
+                'links' => 'preserve',
+                'exc' => '',
+                'format' => 'json',
+                'submit' => 'Create Feed',
             );
             ob_start();
             require func_get_arg(0);
             $json = ob_get_contents();
             ob_end_clean();
+
             return $json;
         };
 
         // Silence $scope function to avoid
         // issues with FTRSS when error_reporting is to high
         // FTRSS generates PHP warnings which break output
-        $json = @$scope(__DIR__ . "/../../../../vendor/wallabag/Fivefilters_Libraries/makefulltextfeed.php", array("url" => $url));
+        $json = @$scope(__DIR__.'/../../../../vendor/wallabag/Fivefilters_Libraries/makefulltextfeed.php', array('url' => $url));
 
         // Clearing and restoring context
         foreach ($GLOBALS as $key => $value) {
-            if($key != "GLOBALS" && $key != "_SESSION" ) {
+            if ($key != 'GLOBALS' && $key != '_SESSION') {
                 unset($GLOBALS[$key]);
             }
         }
@@ -78,15 +82,15 @@ final class Extractor
 
         // Clearing and restoring session
         if (isset($REAL_SESSION)) {
-            foreach($_SESSION as $key => $value) {
+            foreach ($_SESSION as $key => $value) {
                 unset($_SESSION[$key]);
             }
 
-            foreach($REAL_SESSION as $key => $value) {
+            foreach ($REAL_SESSION as $key => $value) {
                 $_SESSION[$key] = $value;
             }
         }
 
         return json_decode($json, true);
     }
-}
\ No newline at end of file
+}