diff --git a/boot.php b/boot.php index 3bdbe2db2a..27adea0866 100644 --- a/boot.php +++ b/boot.php @@ -9,7 +9,7 @@ require_once("include/pgettext.php"); define ( 'FRIENDIKA_VERSION', '2.2.1065' ); define ( 'DFRN_PROTOCOL_VERSION', '2.21' ); -define ( 'DB_UPDATE_VERSION', 1078 ); +define ( 'DB_UPDATE_VERSION', 1079 ); define ( 'EOL', "
\r\n" ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); diff --git a/database.sql b/database.sql index 1521293378..89c4b4267c 100644 --- a/database.sql +++ b/database.sql @@ -160,6 +160,7 @@ CREATE TABLE IF NOT EXISTS `intro` ( CREATE TABLE IF NOT EXISTS `item` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, + `guid` char(64) NOT NULL, `uri` char(255) NOT NULL, `uid` int(10) unsigned NOT NULL DEFAULT '0', `contact-id` int(10) unsigned NOT NULL DEFAULT '0', @@ -208,6 +209,7 @@ CREATE TABLE IF NOT EXISTS `item` ( `deleted` tinyint(1) NOT NULL DEFAULT '0', `last-child` tinyint(1) unsigned NOT NULL DEFAULT '1', PRIMARY KEY (`id`), + KEY `guid` (`guid`), KEY `uri` (`uri`), KEY `uid` (`uid`), KEY `contact-id` (`contact-id`), diff --git a/include/items.php b/include/items.php index 4c0e8312cc..50d7bd68c7 100644 --- a/include/items.php +++ b/include/items.php @@ -747,6 +747,8 @@ function item_store($arr,$force_parent = false) { } } + $arr['guid'] = get_guid(); + call_hooks('post_remote',$arr); dbesc_array($arr); diff --git a/include/text.php b/include/text.php index 2973836023..adc94b4589 100644 --- a/include/text.php +++ b/include/text.php @@ -881,7 +881,7 @@ function return_bytes ($size_str) { function generate_user_guid() { $found = true; do { - $guid = substr(random_string(),0,16); + $guid = random_string(16); $x = q("SELECT `uid` FROM `user` WHERE `guid` = '%s' LIMIT 1", dbesc($guid) ); diff --git a/mod/item.php b/mod/item.php index fd5d405ff6..884e730e6b 100644 --- a/mod/item.php +++ b/mod/item.php @@ -506,6 +506,9 @@ function item_post(&$a) { if($orig_post) $datarray['edit'] = true; + else + $datarray['guid'] = get_guid(); + call_hooks('post_local',$datarray); @@ -529,11 +532,12 @@ function item_post(&$a) { $post_id = 0; - $r = q("INSERT INTO `item` (`uid`,`type`,`wall`,`gravity`,`contact-id`,`owner-name`,`owner-link`,`owner-avatar`, + $r = q("INSERT INTO `item` (`guid`, `uid`,`type`,`wall`,`gravity`,`contact-id`,`owner-name`,`owner-link`,`owner-avatar`, `author-name`, `author-link`, `author-avatar`, `created`, `edited`, `received`, `changed`, `uri`, `thr-parent`, `title`, `body`, `app`, `location`, `coord`, `tag`, `inform`, `verb`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`, `private`, `pubmail`, `attach` ) - VALUES( %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s' )", + VALUES( '%s', %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s' )", intval($datarray['uid']), + dbesc($datarray['guid']), dbesc($datarray['type']), intval($datarray['wall']), intval($datarray['gravity']), diff --git a/update.php b/update.php index 3c76a6bb4c..256ab48e81 100644 --- a/update.php +++ b/update.php @@ -1,6 +1,6 @@