diff options
author | Bharat Mediratta <bharat@menalto.com> | 2010-12-15 14:57:00 -0800 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2010-12-15 14:57:00 -0800 |
commit | cd48b89f3166e7fa732b5cb06d33fba018af9127 (patch) | |
tree | 9ad981df0d736dc186463aac4676fdba2bc232b8 /modules/gallery/helpers/random.php | |
parent | 45c63f4d118bfc99924edb8685442035349af6db (diff) |
Consolidate all the random code into a random helper that offers:
random::hash()
random::string()
random::percent()
random::int()
So that we don't have lots of different ways to get random values all
over the code. Follow-on to #1527.
Diffstat (limited to 'modules/gallery/helpers/random.php')
-rw-r--r-- | modules/gallery/helpers/random.php | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/modules/gallery/helpers/random.php b/modules/gallery/helpers/random.php new file mode 100644 index 00000000..a26762bd --- /dev/null +++ b/modules/gallery/helpers/random.php @@ -0,0 +1,50 @@ +<?php defined("SYSPATH") or die("No direct script access."); +/** + * Gallery - a web based photo album viewer and editor + * Copyright (C) 2000-2010 Bharat Mediratta + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + */ +class random_Core { + /** + * Return a random 32 bit hash value. + * @param string extra entropy data + */ + static function hash($entropy="") { + return md5($entropy . uniqid(mt_rand(), true)); + } + + /** + * Return a random hexadecimal string of the given length. + * @param int the desired length of the string + */ + static function string($length) { + return substr(random::hash(), 0, $length); + } + + /** + * Return a random floating point number between 0 and 1 + */ + static function percent() { + return ((float)mt_rand()) / (float)mt_getrandmax(); + } + + /** + * Return a random number between 0 and mt_getrandmax() + */ + static function int() { + return mt_rand(); + } +}
\ No newline at end of file |