guid functions

This commit is contained in:
Friendika 2011-08-07 16:56:26 -07:00
parent eea493d1f5
commit 1eec10329a
3 changed files with 9 additions and 9 deletions

View File

@ -610,12 +610,12 @@ function check_config(&$a) {
}} }}
function get_guid() { function get_guid($size=16) {
$exists = true; $exists = true; // assume by default that we don't have a unique guid
do { do {
$s = random_string(16); $s = random_string($size);
$r = q("select id from guid where guid = '%s' limit 1", dbesc($s)); $r = q("select id from guid where guid = '%s' limit 1", dbesc($s));
if(! results($r)) if(! count($r))
$exists = false; $exists = false;
} while($exists); } while($exists);
q("insert into guid ( guid ) values ( '%s' ) ", dbesc($s)); q("insert into guid ( guid ) values ( '%s' ) ", dbesc($s));

View File

@ -19,11 +19,11 @@ function replace_macros($s,$r) {
}} }}
// random hash, 64 chars // random hex string, 64 chars max
if(! function_exists('random_string')) { if(! function_exists('random_string')) {
function random_string() { function random_string($size = 64) {
return(hash('sha256',uniqid(rand(),true))); return(substr(hash('sha256',uniqid(rand(),true)),0,$size));
}} }}
/** /**
@ -878,7 +878,7 @@ function return_bytes ($size_str) {
} }
}} }}
function generate_guid() { function generate_user_guid() {
$found = true; $found = true;
do { do {
$guid = substr(random_string(),0,16); $guid = substr(random_string(),0,16);

View File

@ -201,7 +201,7 @@ function register_post(&$a) {
$r = q("INSERT INTO `user` ( `guid`, `username`, `password`, `email`, `openid`, `nickname`, $r = q("INSERT INTO `user` ( `guid`, `username`, `password`, `email`, `openid`, `nickname`,
`pubkey`, `prvkey`, `spubkey`, `sprvkey`, `register_date`, `verified`, `blocked` ) `pubkey`, `prvkey`, `spubkey`, `sprvkey`, `register_date`, `verified`, `blocked` )
VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d )", VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d )",
dbesc(generate_guid()), dbesc(generate_user_guid()),
dbesc($username), dbesc($username),
dbesc($new_password_encoded), dbesc($new_password_encoded),
dbesc($email), dbesc($email),