mirror of
https://github.com/wallabag/wallabag.git
synced 2024-06-01 07:58:05 +00:00
252ebd6071
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).
42 lines
1.1 KiB
PHP
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);
|
|
}
|
|
}
|