]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - src/Wallabag/CoreBundle/Helper/Tools.php
Refactorize the way to retrieve entries
[github/wallabag/wallabag.git] / src / Wallabag / CoreBundle / Helper / Tools.php
index 0fd5f259c42d5fd56adb2a6151f57ee8a6207dc6..d368ee713019bdfc8d19ef29e040bf29e7d5736c 100755 (executable)
@@ -5,15 +5,16 @@ namespace Wallabag\CoreBundle\Helper;
 final class Tools
 {
     /**
-     * Download a file (typically, for downloading pictures on web server)
+     * Download a file (typically, for downloading pictures on web server).
      *
      * @param $url
+     *
      * @return bool|mixed|string
      */
     public static function getFile($url)
     {
         $timeout = 15;
-        $useragent = "Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0";
+        $useragent = 'Mozilla/5.0 (Windows NT 5.1; rv:18.0) Gecko/20100101 Firefox/18.0';
 
         if (in_array('curl', get_loaded_extensions())) {
             # Fetch feed from URL
@@ -32,7 +33,7 @@ final class Tools
 
             # FeedBurner requires a proper USER-AGENT...
             curl_setopt($curl, CURL_HTTP_VERSION_1_1, true);
-            curl_setopt($curl, CURLOPT_ENCODING, "gzip, deflate");
+            curl_setopt($curl, CURLOPT_ENCODING, 'gzip, deflate');
             curl_setopt($curl, CURLOPT_USERAGENT, $useragent);
 
             $data = curl_exec($curl);
@@ -45,7 +46,7 @@ final class Tools
                 array(
                     'http' => array(
                         'timeout' => $timeout,
-                        'header' => "User-Agent: ".$useragent,
+                        'header' => 'User-Agent: '.$useragent,
                         'follow_location' => true,
                     ),
                     'ssl' => array(
@@ -91,9 +92,10 @@ final class Tools
     }
 
     /**
-     * Encode a URL by using a salt
+     * Encode a URL by using a salt.
      *
      * @param $string
+     *
      * @return string
      */
     public static function encodeString($string)
@@ -116,4 +118,16 @@ final class Tools
 
         return str_replace('+', '', $token);
     }
+
+    /**
+     * For a given text, we calculate reading time for an article.
+     *
+     * @param $text
+     *
+     * @return float
+     */
+    public static function getReadingTime($text)
+    {
+        return floor(str_word_count(strip_tags($text)) / 200);
+    }
 }