Index: kernel/globals.php =================================================================== --- kernel/globals.php (revision 15513) +++ kernel/globals.php (working copy) @@ -712,6 +712,31 @@ return $date_time->getTimestamp(); } + + /** + * Generates random numeric id + * + * @static + * @return string + * @access public + */ + public static function generateId() + { + list($usec, $sec) = explode(' ', microtime()); + + $id_part_1 = substr($usec, 4, 4); + $id_part_2 = mt_rand(1, 9); + $id_part_3 = substr($sec, 6, 4); + $digit_one = substr($id_part_1, 0, 1); + + if ( $digit_one == 0 ) { + $digit_one = mt_rand(1, 9); + $id_part_1 = preg_replace('/^0/', '', $id_part_1); + $id_part_1 = $digit_one . $id_part_1; + } + + return $id_part_1 . $id_part_2 . $id_part_3; + } } /** Index: kernel/session/session.php =================================================================== --- kernel/session/session.php (revision 15516) +++ kernel/session/session.php (working copy) @@ -534,21 +534,8 @@ */ function GenerateSID() { - list ($usec, $sec) = explode(' ', microtime()); + $this->setSID(kUtil::generateId()); - $sid_part_1 = substr($usec, 4, 4); - $sid_part_2 = mt_rand(1, 9); - $sid_part_3 = substr($sec, 6, 4); - $digit_one = substr($sid_part_1, 0, 1); - - if ($digit_one == 0) { - $digit_one = mt_rand(1, 9); - $sid_part_1 = preg_replace('/^0/', '', $sid_part_1); - $sid_part_1 = $digit_one . $sid_part_1; - } - - $this->setSID($sid_part_1 . $sid_part_2 . $sid_part_3); - return $this->SID; } Index: units/users/users_tag_processor.php =================================================================== --- units/users/users_tag_processor.php (revision 15437) +++ units/users/users_tag_processor.php (working copy) @@ -67,30 +67,12 @@ static $code = null; if ( !isset($code) ) { - $code = md5($this->GenerateCode()); + $code = md5(kUtil::generateId()); } return $code; } - function GenerateCode() - { - list($usec, $sec) = explode(" ",microtime()); - - $id_part_1 = substr($usec, 4, 4); - $id_part_2 = mt_rand(1,9); - $id_part_3 = substr($sec, 6, 4); - $digit_one = substr($id_part_1, 0, 1); - - if ($digit_one == 0) { - $digit_one = mt_rand(1,9); - $id_part_1 = preg_replace('/^0/', '', $id_part_1); - $id_part_1=$digit_one.$id_part_1; - } - - return $id_part_1.$id_part_2.$id_part_3; - } - function TestCodeIsValid($params) { $user_helper = $this->Application->recallObject('UserHelper');