From 1eec10329a4764f132b159e7b1bbf37added6c8a Mon Sep 17 00:00:00 2001
From: Friendika <info@friendika.com>
Date: Sun, 7 Aug 2011 16:56:26 -0700
Subject: [PATCH] guid functions

---
 boot.php         | 8 ++++----
 include/text.php | 8 ++++----
 mod/register.php | 2 +-
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/boot.php b/boot.php
index d5adbd7cf1..3bdbe2db2a 100644
--- a/boot.php
+++ b/boot.php
@@ -610,12 +610,12 @@ function check_config(&$a) {
 }}
 
 
-function get_guid() {
-	$exists = true;
+function get_guid($size=16) {
+	$exists = true; // assume by default that we don't have a unique guid
 	do {
-		$s = random_string(16);
+		$s = random_string($size);
 		$r = q("select id from guid where guid = '%s' limit 1", dbesc($s));
-		if(! results($r))
+		if(! count($r))
 			$exists = false;
 	} while($exists);
 	q("insert into guid ( guid ) values ( '%s' ) ", dbesc($s));
diff --git a/include/text.php b/include/text.php
index d53a2ceb9a..2973836023 100644
--- a/include/text.php
+++ b/include/text.php
@@ -19,11 +19,11 @@ function replace_macros($s,$r) {
 }}
 
 
-// random hash, 64 chars
+// random hex string, 64 chars max
 
 if(! function_exists('random_string')) {
-function random_string() {
-	return(hash('sha256',uniqid(rand(),true)));
+function random_string($size = 64) {
+	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;
 	do {
 		$guid = substr(random_string(),0,16);
diff --git a/mod/register.php b/mod/register.php
index a8d81f1f6b..fbd21a567f 100644
--- a/mod/register.php
+++ b/mod/register.php
@@ -201,7 +201,7 @@ function register_post(&$a) {
 	$r = q("INSERT INTO `user` ( `guid`, `username`, `password`, `email`, `openid`, `nickname`,
 		`pubkey`, `prvkey`, `spubkey`, `sprvkey`, `register_date`, `verified`, `blocked` )
 		VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d )",
-		dbesc(generate_guid()),
+		dbesc(generate_user_guid()),
 		dbesc($username),
 		dbesc($new_password_encoded),
 		dbesc($email),