diff options
Diffstat (limited to 'src/Wallabag/CoreBundle/Tools')
-rw-r--r-- | src/Wallabag/CoreBundle/Tools/Utils.php | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/Wallabag/CoreBundle/Tools/Utils.php b/src/Wallabag/CoreBundle/Tools/Utils.php new file mode 100644 index 00000000..de97c796 --- /dev/null +++ b/src/Wallabag/CoreBundle/Tools/Utils.php | |||
@@ -0,0 +1,27 @@ | |||
1 | <?php | ||
2 | |||
3 | namespace Wallabag\CoreBundle\Tools; | ||
4 | |||
5 | class Utils | ||
6 | { | ||
7 | /** | ||
8 | * Generate a token used for RSS | ||
9 | * | ||
10 | * @return string | ||
11 | */ | ||
12 | public static function generateToken() | ||
13 | { | ||
14 | if (ini_get('open_basedir') === '') { | ||
15 | if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { | ||
16 | // alternative to /dev/urandom for Windows | ||
17 | $token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20); | ||
18 | } else { | ||
19 | $token = substr(base64_encode(file_get_contents('/dev/urandom', false, null, 0, 20)), 0, 15); | ||
20 | } | ||
21 | } else { | ||
22 | $token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20); | ||
23 | } | ||
24 | |||
25 | return str_replace('+', '', $token); | ||
26 | } | ||
27 | } | ||