wallabag/src/Wallabag/CoreBundle/Tools/Utils.php
Jeremy Benoist 252ebd6071 Rewrote Pocket Import
For the moment, we won't do a queue system, just a plain synchronous import.
We also use ContentProxy to grab content for each article from Pocket.
Error from Pocket are now logged using the logger.
The ImportInterface need to be simple and not related to oAuth (not all import will use that method).
2016-01-02 23:27:41 +01:00

42 lines
1.1 KiB
PHP

<?php
namespace Wallabag\CoreBundle\Tools;
class Utils
{
/**
* Generate a token used for RSS.
*
* @return string
*/
public static function generateToken()
{
if (ini_get('open_basedir') === '') {
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
// alternative to /dev/urandom for Windows
$token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20);
} else {
$token = substr(base64_encode(file_get_contents('/dev/urandom', false, null, 0, 20)), 0, 15);
}
} else {
$token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20);
}
// remove character which can broken the url
return str_replace(array('+', '/'), '', $token);
}
/**
* For a given text, we calculate reading time for an article
* based on 200 words per minute.
*
* @param $text
*
* @return float
*/
public static function getReadingTime($text)
{
return floor(str_word_count(strip_tags($text)) / 200);
}
}