diff options
-rw-r--r-- | boot.php | 2 | ||||
-rw-r--r-- | database.sql | 2 | ||||
-rw-r--r-- | include/items.php | 2 | ||||
-rw-r--r-- | include/text.php | 2 | ||||
-rw-r--r-- | mod/item.php | 8 | ||||
-rw-r--r-- | update.php | 5 |
6 files changed, 16 insertions, 5 deletions
@@ -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', "<br />\r\n" ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); diff --git a/database.sql b/database.sql index 152129337..89c4b4267 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 4c0e8312c..50d7bd68c 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 297383602..adc94b458 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 fd5d405ff..884e730e6 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 3c76a6bb4..256ab48e8 100644 --- a/update.php +++ b/update.php @@ -1,6 +1,6 @@ <?php -define( 'UPDATE_VERSION' , 1078 ); +define( 'UPDATE_VERSION' , 1079 ); /** * @@ -643,3 +643,6 @@ function update_1077() { q("ALTER TABLE `guid` CHANGE `guid` `guid` CHAR( 64 ) NOT NULL"); } +function update_1078() { + q("ALTER TABLE `item` ADD `guid` CHAR( 64 ) NOT NULL AFTER `id` , ADD INDEX ( `guid` ) "); +} |