]> git.mxchange.org Git - friendica.git/commitdiff
The gcontact will now be connected to the items
authorMichael Vogel <icarus@dabo.de>
Tue, 5 Jan 2016 14:34:27 +0000 (15:34 +0100)
committerMichael Vogel <icarus@dabo.de>
Tue, 5 Jan 2016 14:34:27 +0000 (15:34 +0100)
boot.php
database.sql
include/dbstructure.php
include/diaspora.php
include/items.php
include/ostatus.php
include/socgraph.php
include/threads.php
mod/item.php
mod/network.php
update.php

index 497a97b0eca04a7c0062ef75e07c1cc934cce0ab..7d8c7040de9a1cc67df908588177dc54870b55cb 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -36,7 +36,7 @@ define ( 'FRIENDICA_PLATFORM',     'Friendica');
 define ( 'FRIENDICA_CODENAME',     'Asparagus');
 define ( 'FRIENDICA_VERSION',      '3.5-dev' );
 define ( 'DFRN_PROTOCOL_VERSION',  '2.23'    );
-define ( 'DB_UPDATE_VERSION',      1191      );
+define ( 'DB_UPDATE_VERSION',      1192      );
 
 /**
  * @brief Constant with a HTML line break.
index e3768c1efb67432fed9159ef1bfaee5a3b5176dc..1277585c9dbc932fe3d162faf7d7b87ac381406f 100644 (file)
@@ -1,6 +1,6 @@
 -- ------------------------------------------
--- Friendica 3.4.2 (Lily of the valley)
--- DB_UPDATE_VERSION 1190
+-- Friendica 3.5-dev (Asparagus)
+-- DB_UPDATE_VERSION 1192
 -- ------------------------------------------
 
 
@@ -8,20 +8,21 @@
 -- TABLE addon
 --
 CREATE TABLE IF NOT EXISTS `addon` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `name` varchar(255) NOT NULL DEFAULT '',
        `version` varchar(255) NOT NULL DEFAULT '',
        `installed` tinyint(1) NOT NULL DEFAULT 0,
        `hidden` tinyint(1) NOT NULL DEFAULT 0,
        `timestamp` bigint(20) NOT NULL DEFAULT 0,
-       `plugin_admin` tinyint(1) NOT NULL DEFAULT 0
+       `plugin_admin` tinyint(1) NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`)
 ) DEFAULT CHARSET=utf8;
 
 --
 -- TABLE attach
 --
 CREATE TABLE IF NOT EXISTS `attach` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `uid` int(11) NOT NULL DEFAULT 0,
        `hash` varchar(64) NOT NULL DEFAULT '',
        `filename` varchar(255) NOT NULL DEFAULT '',
@@ -33,28 +34,31 @@ CREATE TABLE IF NOT EXISTS `attach` (
        `allow_cid` mediumtext NOT NULL,
        `allow_gid` mediumtext NOT NULL,
        `deny_cid` mediumtext NOT NULL,
-       `deny_gid` mediumtext NOT NULL
+       `deny_gid` mediumtext NOT NULL,
+        PRIMARY KEY(`id`)
 ) DEFAULT CHARSET=utf8;
 
 --
 -- TABLE auth_codes
 --
 CREATE TABLE IF NOT EXISTS `auth_codes` (
-       `id` varchar(40) NOT NULL PRIMARY KEY,
+       `id` varchar(40) NOT NULL,
        `client_id` varchar(20) NOT NULL DEFAULT '',
        `redirect_uri` varchar(200) NOT NULL DEFAULT '',
        `expires` int(11) NOT NULL DEFAULT 0,
-       `scope` varchar(250) NOT NULL DEFAULT ''
+       `scope` varchar(250) NOT NULL DEFAULT '',
+        PRIMARY KEY(`id`)
 ) DEFAULT CHARSET=utf8;
 
 --
 -- TABLE cache
 --
 CREATE TABLE IF NOT EXISTS `cache` (
-       `k` varchar(255) NOT NULL PRIMARY KEY,
+       `k` varchar(255) NOT NULL,
        `v` text NOT NULL,
        `expire_mode` int(11) NOT NULL DEFAULT 0,
        `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+        PRIMARY KEY(`k`),
         INDEX `updated` (`updated`)
 ) DEFAULT CHARSET=utf8;
 
@@ -62,34 +66,37 @@ CREATE TABLE IF NOT EXISTS `cache` (
 -- TABLE challenge
 --
 CREATE TABLE IF NOT EXISTS `challenge` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `challenge` varchar(255) NOT NULL DEFAULT '',
        `dfrn-id` varchar(255) NOT NULL DEFAULT '',
        `expire` int(11) NOT NULL DEFAULT 0,
        `type` varchar(255) NOT NULL DEFAULT '',
-       `last_update` varchar(255) NOT NULL DEFAULT ''
+       `last_update` varchar(255) NOT NULL DEFAULT '',
+        PRIMARY KEY(`id`)
 ) DEFAULT CHARSET=utf8;
 
 --
 -- TABLE clients
 --
 CREATE TABLE IF NOT EXISTS `clients` (
-       `client_id` varchar(20) NOT NULL PRIMARY KEY,
+       `client_id` varchar(20) NOT NULL,
        `pw` varchar(20) NOT NULL DEFAULT '',
        `redirect_uri` varchar(200) NOT NULL DEFAULT '',
        `name` text,
        `icon` text,
-       `uid` int(11) NOT NULL DEFAULT 0
+       `uid` int(11) NOT NULL DEFAULT 0,
+        PRIMARY KEY(`client_id`)
 ) DEFAULT CHARSET=utf8;
 
 --
 -- TABLE config
 --
 CREATE TABLE IF NOT EXISTS `config` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `cat` varchar(255) NOT NULL DEFAULT '',
        `k` varchar(255) NOT NULL DEFAULT '',
        `v` text NOT NULL,
+        PRIMARY KEY(`id`),
         INDEX `cat_k` (`cat`(30),`k`(30))
 ) DEFAULT CHARSET=utf8;
 
@@ -97,7 +104,7 @@ CREATE TABLE IF NOT EXISTS `config` (
 -- TABLE contact
 --
 CREATE TABLE IF NOT EXISTS `contact` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `uid` int(11) NOT NULL DEFAULT 0,
        `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
        `self` tinyint(1) NOT NULL DEFAULT 0,
@@ -162,6 +169,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
        `notify_new_posts` tinyint(1) NOT NULL DEFAULT 0,
        `fetch_further_information` tinyint(1) NOT NULL DEFAULT 0,
        `ffi_keyword_blacklist` mediumtext NOT NULL,
+        PRIMARY KEY(`id`),
         INDEX `uid` (`uid`)
 ) DEFAULT CHARSET=utf8;
 
@@ -169,7 +177,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
 -- TABLE conv
 --
 CREATE TABLE IF NOT EXISTS `conv` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `guid` varchar(64) NOT NULL DEFAULT '',
        `recips` mediumtext NOT NULL,
        `uid` int(11) NOT NULL DEFAULT 0,
@@ -177,6 +185,7 @@ CREATE TABLE IF NOT EXISTS `conv` (
        `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
        `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
        `subject` mediumtext NOT NULL,
+        PRIMARY KEY(`id`),
         INDEX `uid` (`uid`)
 ) DEFAULT CHARSET=utf8;
 
@@ -184,27 +193,29 @@ CREATE TABLE IF NOT EXISTS `conv` (
 -- TABLE deliverq
 --
 CREATE TABLE IF NOT EXISTS `deliverq` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `cmd` varchar(32) NOT NULL DEFAULT '',
        `item` int(11) NOT NULL DEFAULT 0,
-       `contact` int(11) NOT NULL DEFAULT 0
+       `contact` int(11) NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`)
 ) DEFAULT CHARSET=utf8;
 
 --
 -- TABLE dsprphotoq
 --
 CREATE TABLE IF NOT EXISTS `dsprphotoq` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `uid` int(11) NOT NULL DEFAULT 0,
        `msg` mediumtext NOT NULL,
-       `attempt` tinyint(4) NOT NULL DEFAULT 0
+       `attempt` tinyint(4) NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`)
 ) DEFAULT CHARSET=utf8;
 
 --
 -- TABLE event
 --
 CREATE TABLE IF NOT EXISTS `event` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `uid` int(11) NOT NULL DEFAULT 0,
        `cid` int(11) NOT NULL DEFAULT 0,
        `uri` varchar(255) NOT NULL DEFAULT '',
@@ -223,6 +234,7 @@ CREATE TABLE IF NOT EXISTS `event` (
        `allow_gid` mediumtext NOT NULL,
        `deny_cid` mediumtext NOT NULL,
        `deny_gid` mediumtext NOT NULL,
+        PRIMARY KEY(`id`),
         INDEX `uid` (`uid`)
 ) DEFAULT CHARSET=utf8;
 
@@ -230,7 +242,7 @@ CREATE TABLE IF NOT EXISTS `event` (
 -- TABLE fcontact
 --
 CREATE TABLE IF NOT EXISTS `fcontact` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `url` varchar(255) NOT NULL DEFAULT '',
        `name` varchar(255) NOT NULL DEFAULT '',
        `photo` varchar(255) NOT NULL DEFAULT '',
@@ -246,6 +258,7 @@ CREATE TABLE IF NOT EXISTS `fcontact` (
        `alias` varchar(255) NOT NULL DEFAULT '',
        `pubkey` text NOT NULL,
        `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+        PRIMARY KEY(`id`),
         INDEX `addr` (`addr`)
 ) DEFAULT CHARSET=utf8;
 
@@ -253,20 +266,22 @@ CREATE TABLE IF NOT EXISTS `fcontact` (
 -- TABLE ffinder
 --
 CREATE TABLE IF NOT EXISTS `ffinder` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `uid` int(10) unsigned NOT NULL DEFAULT 0,
        `cid` int(10) unsigned NOT NULL DEFAULT 0,
-       `fid` int(10) unsigned NOT NULL DEFAULT 0
+       `fid` int(10) unsigned NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`)
 ) DEFAULT CHARSET=utf8;
 
 --
 -- TABLE fserver
 --
 CREATE TABLE IF NOT EXISTS `fserver` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `server` varchar(255) NOT NULL DEFAULT '',
        `posturl` varchar(255) NOT NULL DEFAULT '',
        `key` text NOT NULL,
+        PRIMARY KEY(`id`),
         INDEX `server` (`server`)
 ) DEFAULT CHARSET=utf8;
 
@@ -274,7 +289,7 @@ CREATE TABLE IF NOT EXISTS `fserver` (
 -- TABLE fsuggest
 --
 CREATE TABLE IF NOT EXISTS `fsuggest` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `uid` int(11) NOT NULL DEFAULT 0,
        `cid` int(11) NOT NULL DEFAULT 0,
        `name` varchar(255) NOT NULL DEFAULT '',
@@ -282,16 +297,18 @@ CREATE TABLE IF NOT EXISTS `fsuggest` (
        `request` varchar(255) NOT NULL DEFAULT '',
        `photo` varchar(255) NOT NULL DEFAULT '',
        `note` text NOT NULL,
-       `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
+       `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+        PRIMARY KEY(`id`)
 ) DEFAULT CHARSET=utf8;
 
 --
 -- TABLE gcign
 --
 CREATE TABLE IF NOT EXISTS `gcign` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `uid` int(11) NOT NULL DEFAULT 0,
        `gcid` int(11) NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`),
         INDEX `uid` (`uid`),
         INDEX `gcid` (`gcid`)
 ) DEFAULT CHARSET=utf8;
@@ -300,7 +317,7 @@ CREATE TABLE IF NOT EXISTS `gcign` (
 -- TABLE gcontact
 --
 CREATE TABLE IF NOT EXISTS `gcontact` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `name` varchar(255) NOT NULL DEFAULT '',
        `nick` varchar(255) NOT NULL DEFAULT '',
        `url` varchar(255) NOT NULL DEFAULT '',
@@ -320,6 +337,7 @@ CREATE TABLE IF NOT EXISTS `gcontact` (
        `addr` varchar(255) NOT NULL DEFAULT '',
        `generation` tinyint(3) NOT NULL DEFAULT 0,
        `server_url` varchar(255) NOT NULL DEFAULT '',
+        PRIMARY KEY(`id`),
         INDEX `nurl` (`nurl`),
         INDEX `updated` (`updated`)
 ) DEFAULT CHARSET=utf8;
@@ -328,12 +346,13 @@ CREATE TABLE IF NOT EXISTS `gcontact` (
 -- TABLE glink
 --
 CREATE TABLE IF NOT EXISTS `glink` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `cid` int(11) NOT NULL DEFAULT 0,
        `uid` int(11) NOT NULL DEFAULT 0,
        `gcid` int(11) NOT NULL DEFAULT 0,
        `zcid` int(11) NOT NULL DEFAULT 0,
        `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+        PRIMARY KEY(`id`),
         INDEX `cid_uid_gcid_zcid` (`cid`,`uid`,`gcid`,`zcid`),
         INDEX `gcid` (`gcid`),
         INDEX `zcid` (`zcid`)
@@ -343,11 +362,12 @@ CREATE TABLE IF NOT EXISTS `glink` (
 -- TABLE group
 --
 CREATE TABLE IF NOT EXISTS `group` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `uid` int(10) unsigned NOT NULL DEFAULT 0,
        `visible` tinyint(1) NOT NULL DEFAULT 0,
        `deleted` tinyint(1) NOT NULL DEFAULT 0,
        `name` varchar(255) NOT NULL DEFAULT '',
+        PRIMARY KEY(`id`),
         INDEX `uid` (`uid`)
 ) DEFAULT CHARSET=utf8;
 
@@ -355,10 +375,11 @@ CREATE TABLE IF NOT EXISTS `group` (
 -- TABLE group_member
 --
 CREATE TABLE IF NOT EXISTS `group_member` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `uid` int(10) unsigned NOT NULL DEFAULT 0,
        `gid` int(10) unsigned NOT NULL DEFAULT 0,
        `contact-id` int(10) unsigned NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`),
         INDEX `uid_gid_contactid` (`uid`,`gid`,`contact-id`)
 ) DEFAULT CHARSET=utf8;
 
@@ -366,7 +387,7 @@ CREATE TABLE IF NOT EXISTS `group_member` (
 -- TABLE gserver
 --
 CREATE TABLE IF NOT EXISTS `gserver` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `url` varchar(255) NOT NULL DEFAULT '',
        `nurl` varchar(255) NOT NULL DEFAULT '',
        `version` varchar(255) NOT NULL DEFAULT '',
@@ -381,6 +402,7 @@ CREATE TABLE IF NOT EXISTS `gserver` (
        `last_poco_query` datetime DEFAULT '0000-00-00 00:00:00',
        `last_contact` datetime DEFAULT '0000-00-00 00:00:00',
        `last_failure` datetime DEFAULT '0000-00-00 00:00:00',
+        PRIMARY KEY(`id`),
         INDEX `nurl` (`nurl`)
 ) DEFAULT CHARSET=utf8;
 
@@ -388,11 +410,12 @@ CREATE TABLE IF NOT EXISTS `gserver` (
 -- TABLE guid
 --
 CREATE TABLE IF NOT EXISTS `guid` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `guid` varchar(255) NOT NULL DEFAULT '',
        `plink` varchar(255) NOT NULL DEFAULT '',
        `uri` varchar(255) NOT NULL DEFAULT '',
        `network` varchar(32) NOT NULL DEFAULT '',
+        PRIMARY KEY(`id`),
         INDEX `guid` (`guid`),
         INDEX `plink` (`plink`),
         INDEX `uri` (`uri`)
@@ -402,11 +425,12 @@ CREATE TABLE IF NOT EXISTS `guid` (
 -- TABLE hook
 --
 CREATE TABLE IF NOT EXISTS `hook` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `hook` varchar(255) NOT NULL DEFAULT '',
        `file` varchar(255) NOT NULL DEFAULT '',
        `function` varchar(255) NOT NULL DEFAULT '',
        `priority` int(11) unsigned NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`),
         INDEX `hook_file_function` (`hook`(30),`file`(60),`function`(30))
 ) DEFAULT CHARSET=utf8;
 
@@ -414,7 +438,7 @@ CREATE TABLE IF NOT EXISTS `hook` (
 -- TABLE intro
 --
 CREATE TABLE IF NOT EXISTS `intro` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `uid` int(10) unsigned NOT NULL DEFAULT 0,
        `fid` int(11) NOT NULL DEFAULT 0,
        `contact-id` int(11) NOT NULL DEFAULT 0,
@@ -424,18 +448,20 @@ CREATE TABLE IF NOT EXISTS `intro` (
        `hash` varchar(255) NOT NULL DEFAULT '',
        `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
        `blocked` tinyint(1) NOT NULL DEFAULT 1,
-       `ignore` tinyint(1) NOT NULL DEFAULT 0
+       `ignore` tinyint(1) NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`)
 ) DEFAULT CHARSET=utf8;
 
 --
 -- TABLE item
 --
 CREATE TABLE IF NOT EXISTS `item` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `guid` varchar(255) NOT NULL DEFAULT '',
        `uri` varchar(255) NOT NULL DEFAULT '',
        `uid` int(10) unsigned NOT NULL DEFAULT 0,
        `contact-id` int(11) NOT NULL DEFAULT 0,
+       `gcontact-id` int(11) unsigned NOT NULL DEFAULT 0,
        `type` varchar(255) NOT NULL DEFAULT '',
        `wall` tinyint(1) NOT NULL DEFAULT 0,
        `gravity` tinyint(1) NOT NULL DEFAULT 0,
@@ -493,6 +519,7 @@ CREATE TABLE IF NOT EXISTS `item` (
        `rendered-hash` varchar(32) NOT NULL DEFAULT '',
        `rendered-html` mediumtext NOT NULL,
        `global` tinyint(1) NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`),
         INDEX `guid` (`guid`),
         INDEX `uri` (`uri`),
         INDEX `parent` (`parent`),
@@ -531,11 +558,12 @@ CREATE TABLE IF NOT EXISTS `item` (
 -- TABLE item_id
 --
 CREATE TABLE IF NOT EXISTS `item_id` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `iid` int(11) NOT NULL DEFAULT 0,
        `uid` int(11) NOT NULL DEFAULT 0,
        `sid` varchar(255) NOT NULL DEFAULT '',
        `service` varchar(255) NOT NULL DEFAULT '',
+        PRIMARY KEY(`id`),
         INDEX `uid` (`uid`),
         INDEX `sid` (`sid`),
         INDEX `service` (`service`),
@@ -546,17 +574,18 @@ CREATE TABLE IF NOT EXISTS `item_id` (
 -- TABLE locks
 --
 CREATE TABLE IF NOT EXISTS `locks` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `name` varchar(128) NOT NULL DEFAULT '',
        `locked` tinyint(1) NOT NULL DEFAULT 0,
-       `created` datetime DEFAULT '0000-00-00 00:00:00'
+       `created` datetime DEFAULT '0000-00-00 00:00:00',
+        PRIMARY KEY(`id`)
 ) DEFAULT CHARSET=utf8;
 
 --
 -- TABLE mail
 --
 CREATE TABLE IF NOT EXISTS `mail` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `uid` int(10) unsigned NOT NULL DEFAULT 0,
        `guid` varchar(64) NOT NULL DEFAULT '',
        `from-name` varchar(255) NOT NULL DEFAULT '',
@@ -573,6 +602,7 @@ CREATE TABLE IF NOT EXISTS `mail` (
        `uri` varchar(255) NOT NULL DEFAULT '',
        `parent-uri` varchar(255) NOT NULL DEFAULT '',
        `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+        PRIMARY KEY(`id`),
         INDEX `uid` (`uid`),
         INDEX `guid` (`guid`),
         INDEX `convid` (`convid`),
@@ -585,7 +615,7 @@ CREATE TABLE IF NOT EXISTS `mail` (
 -- TABLE mailacct
 --
 CREATE TABLE IF NOT EXISTS `mailacct` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `uid` int(11) NOT NULL DEFAULT 0,
        `server` varchar(255) NOT NULL DEFAULT '',
        `port` int(11) NOT NULL DEFAULT 0,
@@ -597,16 +627,18 @@ CREATE TABLE IF NOT EXISTS `mailacct` (
        `action` int(11) NOT NULL DEFAULT 0,
        `movetofolder` varchar(255) NOT NULL DEFAULT '',
        `pubmail` tinyint(1) NOT NULL DEFAULT 0,
-       `last_check` datetime NOT NULL DEFAULT '0000-00-00 00:00:00'
+       `last_check` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+        PRIMARY KEY(`id`)
 ) DEFAULT CHARSET=utf8;
 
 --
 -- TABLE manage
 --
 CREATE TABLE IF NOT EXISTS `manage` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `uid` int(11) NOT NULL DEFAULT 0,
        `mid` int(11) NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`),
         INDEX `uid_mid` (`uid`,`mid`)
 ) DEFAULT CHARSET=utf8;
 
@@ -614,7 +646,7 @@ CREATE TABLE IF NOT EXISTS `manage` (
 -- TABLE notify
 --
 CREATE TABLE IF NOT EXISTS `notify` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `hash` varchar(64) NOT NULL DEFAULT '',
        `type` int(11) NOT NULL DEFAULT 0,
        `name` varchar(255) NOT NULL DEFAULT '',
@@ -629,6 +661,7 @@ CREATE TABLE IF NOT EXISTS `notify` (
        `seen` tinyint(1) NOT NULL DEFAULT 0,
        `verb` varchar(255) NOT NULL DEFAULT '',
        `otype` varchar(16) NOT NULL DEFAULT '',
+        PRIMARY KEY(`id`),
         INDEX `uid` (`uid`)
 ) DEFAULT CHARSET=utf8;
 
@@ -636,11 +669,12 @@ CREATE TABLE IF NOT EXISTS `notify` (
 -- TABLE notify-threads
 --
 CREATE TABLE IF NOT EXISTS `notify-threads` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `notify-id` int(11) NOT NULL DEFAULT 0,
        `master-parent-item` int(10) unsigned NOT NULL DEFAULT 0,
        `parent-item` int(10) unsigned NOT NULL DEFAULT 0,
        `receiver-uid` int(11) NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`),
         INDEX `master-parent-item` (`master-parent-item`),
         INDEX `receiver-uid` (`receiver-uid`)
 ) DEFAULT CHARSET=utf8;
@@ -649,11 +683,12 @@ CREATE TABLE IF NOT EXISTS `notify-threads` (
 -- TABLE pconfig
 --
 CREATE TABLE IF NOT EXISTS `pconfig` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `uid` int(11) NOT NULL DEFAULT 0,
        `cat` varchar(255) NOT NULL DEFAULT '',
        `k` varchar(255) NOT NULL DEFAULT '',
        `v` mediumtext NOT NULL,
+        PRIMARY KEY(`id`),
         INDEX `uid_cat_k` (`uid`,`cat`(30),`k`(30))
 ) DEFAULT CHARSET=utf8;
 
@@ -661,7 +696,7 @@ CREATE TABLE IF NOT EXISTS `pconfig` (
 -- TABLE photo
 --
 CREATE TABLE IF NOT EXISTS `photo` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `uid` int(10) unsigned NOT NULL DEFAULT 0,
        `contact-id` int(10) unsigned NOT NULL DEFAULT 0,
        `guid` varchar(64) NOT NULL DEFAULT '',
@@ -683,6 +718,7 @@ CREATE TABLE IF NOT EXISTS `photo` (
        `allow_gid` mediumtext NOT NULL,
        `deny_cid` mediumtext NOT NULL,
        `deny_gid` mediumtext NOT NULL,
+        PRIMARY KEY(`id`),
         INDEX `uid` (`uid`),
         INDEX `resource-id` (`resource-id`),
         INDEX `guid` (`guid`)
@@ -692,7 +728,7 @@ CREATE TABLE IF NOT EXISTS `photo` (
 -- TABLE poll
 --
 CREATE TABLE IF NOT EXISTS `poll` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `uid` int(11) NOT NULL DEFAULT 0,
        `q0` mediumtext NOT NULL,
        `q1` mediumtext NOT NULL,
@@ -704,6 +740,7 @@ CREATE TABLE IF NOT EXISTS `poll` (
        `q7` mediumtext NOT NULL,
        `q8` mediumtext NOT NULL,
        `q9` mediumtext NOT NULL,
+        PRIMARY KEY(`id`),
         INDEX `uid` (`uid`)
 ) DEFAULT CHARSET=utf8;
 
@@ -711,9 +748,10 @@ CREATE TABLE IF NOT EXISTS `poll` (
 -- TABLE poll_result
 --
 CREATE TABLE IF NOT EXISTS `poll_result` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `poll_id` int(11) NOT NULL DEFAULT 0,
        `choice` int(11) NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`),
         INDEX `poll_id` (`poll_id`),
         INDEX `choice` (`choice`)
 ) DEFAULT CHARSET=utf8;
@@ -722,7 +760,7 @@ CREATE TABLE IF NOT EXISTS `poll_result` (
 -- TABLE profile
 --
 CREATE TABLE IF NOT EXISTS `profile` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `uid` int(11) NOT NULL DEFAULT 0,
        `profile-name` varchar(255) NOT NULL DEFAULT '',
        `is-default` tinyint(1) NOT NULL DEFAULT 0,
@@ -763,6 +801,7 @@ CREATE TABLE IF NOT EXISTS `profile` (
        `thumb` varchar(255) NOT NULL DEFAULT '',
        `publish` tinyint(1) NOT NULL DEFAULT 0,
        `net-publish` tinyint(1) NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`),
         INDEX `hometown` (`hometown`)
 ) DEFAULT CHARSET=utf8;
 
@@ -770,39 +809,42 @@ CREATE TABLE IF NOT EXISTS `profile` (
 -- TABLE profile_check
 --
 CREATE TABLE IF NOT EXISTS `profile_check` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `uid` int(10) unsigned NOT NULL DEFAULT 0,
        `cid` int(10) unsigned NOT NULL DEFAULT 0,
        `dfrn_id` varchar(255) NOT NULL DEFAULT '',
        `sec` varchar(255) NOT NULL DEFAULT '',
-       `expire` int(11) NOT NULL DEFAULT 0
+       `expire` int(11) NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`)
 ) DEFAULT CHARSET=utf8;
 
 --
 -- TABLE push_subscriber
 --
 CREATE TABLE IF NOT EXISTS `push_subscriber` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `uid` int(11) NOT NULL DEFAULT 0,
        `callback_url` varchar(255) NOT NULL DEFAULT '',
        `topic` varchar(255) NOT NULL DEFAULT '',
        `nickname` varchar(255) NOT NULL DEFAULT '',
        `push` int(11) NOT NULL DEFAULT 0,
        `last_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-       `secret` varchar(255) NOT NULL DEFAULT ''
+       `secret` varchar(255) NOT NULL DEFAULT '',
+        PRIMARY KEY(`id`)
 ) DEFAULT CHARSET=utf8;
 
 --
 -- TABLE queue
 --
 CREATE TABLE IF NOT EXISTS `queue` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `cid` int(11) NOT NULL DEFAULT 0,
        `network` varchar(32) NOT NULL DEFAULT '',
        `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
        `last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
        `content` mediumtext NOT NULL,
        `batch` tinyint(1) NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`),
         INDEX `cid` (`cid`),
         INDEX `created` (`created`),
         INDEX `last` (`last`),
@@ -814,21 +856,23 @@ CREATE TABLE IF NOT EXISTS `queue` (
 -- TABLE register
 --
 CREATE TABLE IF NOT EXISTS `register` (
-       `id` int(11) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) unsigned NOT NULL auto_increment,
        `hash` varchar(255) NOT NULL DEFAULT '',
        `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
        `uid` int(11) unsigned NOT NULL DEFAULT 0,
        `password` varchar(255) NOT NULL DEFAULT '',
-       `language` varchar(16) NOT NULL DEFAULT ''
+       `language` varchar(16) NOT NULL DEFAULT '',
+        PRIMARY KEY(`id`)
 ) DEFAULT CHARSET=utf8;
 
 --
 -- TABLE search
 --
 CREATE TABLE IF NOT EXISTS `search` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `uid` int(11) NOT NULL DEFAULT 0,
        `term` varchar(255) NOT NULL DEFAULT '',
+        PRIMARY KEY(`id`),
         INDEX `uid` (`uid`),
         INDEX `term` (`term`)
 ) DEFAULT CHARSET=utf8;
@@ -837,10 +881,11 @@ CREATE TABLE IF NOT EXISTS `search` (
 -- TABLE session
 --
 CREATE TABLE IF NOT EXISTS `session` (
-       `id` bigint(20) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` bigint(20) unsigned NOT NULL auto_increment,
        `sid` varchar(255) NOT NULL DEFAULT '',
        `data` text NOT NULL,
        `expire` int(10) unsigned NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`),
         INDEX `sid` (`sid`),
         INDEX `expire` (`expire`)
 ) DEFAULT CHARSET=utf8;
@@ -849,12 +894,13 @@ CREATE TABLE IF NOT EXISTS `session` (
 -- TABLE sign
 --
 CREATE TABLE IF NOT EXISTS `sign` (
-       `id` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `id` int(10) unsigned NOT NULL auto_increment,
        `iid` int(10) unsigned NOT NULL DEFAULT 0,
        `retract_iid` int(10) unsigned NOT NULL DEFAULT 0,
        `signed_text` mediumtext NOT NULL,
        `signature` text NOT NULL,
        `signer` varchar(255) NOT NULL DEFAULT '',
+        PRIMARY KEY(`id`),
         INDEX `iid` (`iid`),
         INDEX `retract_iid` (`retract_iid`)
 ) DEFAULT CHARSET=utf8;
@@ -863,12 +909,13 @@ CREATE TABLE IF NOT EXISTS `sign` (
 -- TABLE spam
 --
 CREATE TABLE IF NOT EXISTS `spam` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `uid` int(11) NOT NULL DEFAULT 0,
        `spam` int(11) NOT NULL DEFAULT 0,
        `ham` int(11) NOT NULL DEFAULT 0,
        `term` varchar(255) NOT NULL DEFAULT '',
        `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+        PRIMARY KEY(`id`),
         INDEX `uid` (`uid`),
         INDEX `spam` (`spam`),
         INDEX `ham` (`ham`),
@@ -879,7 +926,7 @@ CREATE TABLE IF NOT EXISTS `spam` (
 -- TABLE term
 --
 CREATE TABLE IF NOT EXISTS `term` (
-       `tid` int(10) unsigned NOT NULL auto_increment PRIMARY KEY,
+       `tid` int(10) unsigned NOT NULL auto_increment,
        `oid` int(10) unsigned NOT NULL DEFAULT 0,
        `otype` tinyint(3) unsigned NOT NULL DEFAULT 0,
        `type` tinyint(3) unsigned NOT NULL DEFAULT 0,
@@ -891,6 +938,7 @@ CREATE TABLE IF NOT EXISTS `term` (
        `global` tinyint(1) NOT NULL DEFAULT 0,
        `aid` int(10) unsigned NOT NULL DEFAULT 0,
        `uid` int(10) unsigned NOT NULL DEFAULT 0,
+        PRIMARY KEY(`tid`),
         INDEX `oid_otype_type_term` (`oid`,`otype`,`type`,`term`),
         INDEX `uid_term_tid` (`uid`,`term`,`tid`),
         INDEX `type_term` (`type`,`term`),
@@ -903,9 +951,10 @@ CREATE TABLE IF NOT EXISTS `term` (
 -- TABLE thread
 --
 CREATE TABLE IF NOT EXISTS `thread` (
-       `iid` int(10) unsigned NOT NULL DEFAULT 0 PRIMARY KEY,
+       `iid` int(10) unsigned NOT NULL DEFAULT 0,
        `uid` int(10) unsigned NOT NULL DEFAULT 0,
        `contact-id` int(11) unsigned NOT NULL DEFAULT 0,
+       `gcontact-id` int(11) unsigned NOT NULL DEFAULT 0,
        `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
        `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
        `commented` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
@@ -926,6 +975,7 @@ CREATE TABLE IF NOT EXISTS `thread` (
        `forum_mode` tinyint(1) NOT NULL DEFAULT 0,
        `mention` tinyint(1) NOT NULL DEFAULT 0,
        `network` varchar(32) NOT NULL DEFAULT '',
+        PRIMARY KEY(`iid`),
         INDEX `created` (`created`),
         INDEX `commented` (`commented`),
         INDEX `uid_network_commented` (`uid`,`network`,`commented`),
@@ -941,25 +991,27 @@ CREATE TABLE IF NOT EXISTS `thread` (
 -- TABLE tokens
 --
 CREATE TABLE IF NOT EXISTS `tokens` (
-       `id` varchar(40) NOT NULL PRIMARY KEY,
+       `id` varchar(40) NOT NULL,
        `secret` text NOT NULL,
        `client_id` varchar(20) NOT NULL DEFAULT '',
        `expires` int(11) NOT NULL DEFAULT 0,
        `scope` varchar(200) NOT NULL DEFAULT '',
-       `uid` int(11) NOT NULL DEFAULT 0
+       `uid` int(11) NOT NULL DEFAULT 0,
+        PRIMARY KEY(`id`)
 ) DEFAULT CHARSET=utf8;
 
 --
 -- TABLE unique_contacts
 --
 CREATE TABLE IF NOT EXISTS `unique_contacts` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `url` varchar(255) NOT NULL DEFAULT '',
        `nick` varchar(255) NOT NULL DEFAULT '',
        `name` varchar(255) NOT NULL DEFAULT '',
        `avatar` varchar(255) NOT NULL DEFAULT '',
        `location` varchar(255) NOT NULL DEFAULT '',
        `about` text NOT NULL,
+        PRIMARY KEY(`id`),
         INDEX `url` (`url`)
 ) DEFAULT CHARSET=utf8;
 
@@ -967,7 +1019,7 @@ CREATE TABLE IF NOT EXISTS `unique_contacts` (
 -- TABLE user
 --
 CREATE TABLE IF NOT EXISTS `user` (
-       `uid` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `uid` int(11) NOT NULL auto_increment,
        `guid` varchar(64) NOT NULL DEFAULT '',
        `username` varchar(255) NOT NULL DEFAULT '',
        `password` varchar(255) NOT NULL DEFAULT '',
@@ -1009,6 +1061,7 @@ CREATE TABLE IF NOT EXISTS `user` (
        `deny_cid` mediumtext NOT NULL,
        `deny_gid` mediumtext NOT NULL,
        `openidserver` text NOT NULL,
+        PRIMARY KEY(`uid`),
         INDEX `nickname` (`nickname`)
 ) DEFAULT CHARSET=utf8;
 
@@ -1016,8 +1069,9 @@ CREATE TABLE IF NOT EXISTS `user` (
 -- TABLE userd
 --
 CREATE TABLE IF NOT EXISTS `userd` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `username` varchar(255) NOT NULL,
+        PRIMARY KEY(`id`),
         INDEX `username` (`username`)
 ) DEFAULT CHARSET=utf8;
 
@@ -1025,12 +1079,13 @@ CREATE TABLE IF NOT EXISTS `userd` (
 -- TABLE workerqueue
 --
 CREATE TABLE IF NOT EXISTS `workerqueue` (
-       `id` int(11) NOT NULL auto_increment PRIMARY KEY,
+       `id` int(11) NOT NULL auto_increment,
        `parameter` text NOT NULL,
        `priority` tinyint(3) unsigned NOT NULL DEFAULT 0,
        `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
        `pid` int(11) NOT NULL DEFAULT 0,
        `executed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+        PRIMARY KEY(`id`),
         INDEX `created` (`created`)
 ) DEFAULT CHARSET=utf8;
 
index 851eb23284685f2ffb932a512b9d32946d8550fb..42ddc31b7cf720f2b940a8d0667706e8cd13978f 100644 (file)
@@ -795,6 +795,7 @@ function db_definition() {
                                        "uri" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
                                        "contact-id" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
+                                       "gcontact-id" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"),
                                        "type" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
                                        "wall" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
                                        "gravity" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
@@ -871,6 +872,7 @@ function db_definition() {
                                        "uid_thrparent" => array("uid","thr-parent"),
                                        "uid_parenturi" => array("uid","parent-uri"),
                                        "uid_contactid_created" => array("uid","contact-id","created"),
+                                       "uid_gcontactid_created" => array("uid","gcontact-id","created"),
                                        "wall_body" => array("wall","body(6)"),
                                        "uid_visible_moderated_created" => array("uid","visible","moderated","created"),
                                        "uid_uri" => array("uid","uri"),
@@ -1287,6 +1289,7 @@ function db_definition() {
                                        "iid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "primary" => "1"),
                                        "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
                                        "contact-id" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"),
+                                       "gcontact-id" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"),
                                        "created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
                                        "edited" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
                                        "commented" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
index 75e4a7106bd064622c59401b60acf43d0ae9d2e2..fe5c14164328eaf02d623af3c44bc4ef4172a483 100644 (file)
@@ -2488,6 +2488,14 @@ function diaspora_profile($importer,$xml,$msg) {
                        datetime_convert(), 2, $contact['id'], $importer['uid']);
        }
 
+       // @todo:
+       /*
+                update_gcontact($contact["url"], $contact["network"],
+                                $author["author-avatar"], $contact["name"],
+                                $contact["nick"], $contact["location"],
+                                $contact["about"]);
+       */
+
        $profileurl = "";
        $author = q("SELECT * FROM `unique_contacts` WHERE `url`='%s' LIMIT 1",
                        dbesc(normalise_link($contact['url'])));
index c9e13b1a1f3f084cfff8803032b848254103c743..ada3906f885dce3a09ad9a73ff745e0bdf1ecf6a 100644 (file)
@@ -1338,6 +1338,9 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
                logger("item_store: Set network to ".$arr["network"]." for ".$arr["uri"], LOGGER_DEBUG);
        }
 
+       if ($arr["gcontact-id"] == 0)
+               $arr["gcontact-id"] = get_gcontact_id($arr['author-link'], $arr['network'], $arr['author-avatar'], $arr['author-name']);
+
        if ($arr['guid'] != "") {
                // Checking if there is already an item with the same guid
                logger('checking for an item for user '.$arr['uid'].' on network '.$arr['network'].' with the guid '.$arr['guid'], LOGGER_DEBUG);
index 1087596e2f23aed16322d0826ab66d8ca5fd7170..5426fc5fefe743e24247cfe7ab22e2979d1d6485 100644 (file)
@@ -129,45 +129,50 @@ function ostatus_fetchauthor($xpath, $context, $importer, &$contact, $onlyfetch)
 
        if ($r AND !$onlyfetch) {
                // Update contact data
-               $update_contact = ($r[0]['name-date'] < datetime_convert('','','now -12 hours'));
-               if ($update_contact) {
-                       logger("Update contact data for contact ".$contact["id"], LOGGER_DEBUG);
 
-                       $value = $xpath->evaluate('atom:author/poco:displayName/text()', $context)->item(0)->nodeValue;
-                       if ($value != "")
-                               $contact["name"] = $value;
+               $value = $xpath->evaluate('atom:author/poco:displayName/text()', $context)->item(0)->nodeValue;
+               if ($value != "")
+                       $contact["name"] = $value;
 
-                       $value = $xpath->evaluate('atom:author/poco:preferredUsername/text()', $context)->item(0)->nodeValue;
-                       if ($value != "")
-                               $contact["nick"] = $value;
+               $value = $xpath->evaluate('atom:author/poco:preferredUsername/text()', $context)->item(0)->nodeValue;
+               if ($value != "")
+                       $contact["nick"] = $value;
 
-                       $value = $xpath->evaluate('atom:author/poco:note/text()', $context)->item(0)->nodeValue;
-                       if ($value != "")
-                               $contact["about"] = html2bbcode($value);
+               $value = $xpath->evaluate('atom:author/poco:note/text()', $context)->item(0)->nodeValue;
+               if ($value != "")
+                       $contact["about"] = html2bbcode($value);
 
-                       $value = $xpath->evaluate('atom:author/poco:address/poco:formatted/text()', $context)->item(0)->nodeValue;
-                       if ($value != "")
-                               $contact["location"] = $value;
+               $value = $xpath->evaluate('atom:author/poco:address/poco:formatted/text()', $context)->item(0)->nodeValue;
+               if ($value != "")
+                       $contact["location"] = $value;
+
+               if (($contact["name"] != $r[0]["name"]) OR ($contact["nick"] != $r[0]["nick"]) OR ($contact["about"] != $r[0]["about"]) OR ($contact["location"] != $r[0]["location"])) {
+
+                       logger("Update contact data for contact ".$contact["id"], LOGGER_DEBUG);
 
                        q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `about` = '%s', `location` = '%s', `name-date` = '%s' WHERE `id` = %d AND `network` = '%s'",
                                dbesc($contact["name"]), dbesc($contact["nick"]), dbesc($contact["about"]), dbesc($contact["location"]),
                                dbesc(datetime_convert()), intval($contact["id"]), dbesc(NETWORK_OSTATUS));
 
                        poco_check($contact["url"], $contact["name"], $contact["network"], $author["author-avatar"], $contact["about"], $contact["location"],
-                                       "", "", "", datetime_convert(), 2, $contact["id"], $contact["uid"]);
+                                               "", "", "", datetime_convert(), 2, $contact["id"], $contact["uid"]);
                }
 
-               $update_photo = ($r[0]['avatar-date'] < datetime_convert('','','now -12 hours'));
-
-               if ($update_photo AND isset($author["author-avatar"])) {
+               if (isset($author["author-avatar"]) AND ($author["author-avatar"] != $r[0]['photo'])) {
                        logger("Update profile picture for contact ".$contact["id"], LOGGER_DEBUG);
 
                        $photos = import_profile_photo($author["author-avatar"], $importer["uid"], $contact["id"]);
 
                        q("UPDATE `contact` SET `photo` = '%s', `thumb` = '%s', `micro` = '%s', `avatar-date` = '%s' WHERE `id` = %d AND `network` = '%s'",
-                               dbesc($photos[0]), dbesc($photos[1]), dbesc($photos[2]),
+                               dbesc($author["author-avatar"]), dbesc($photos[1]), dbesc($photos[2]),
                                dbesc(datetime_convert()), intval($contact["id"]), dbesc(NETWORK_OSTATUS));
                }
+
+               // @todo: Addr
+               update_gcontact($contact["url"], $contact["network"],
+                               $author["author-avatar"], $contact["name"],
+                               $contact["nick"], $contact["location"],
+                               $contact["about"]);
        }
 
        return($author);
index 89b09515ed0c73776a683c15064de44263950ba0..fcce0b4a540c7fc47d53fc705194223efbb34cc5 100644 (file)
@@ -326,28 +326,34 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
                        );
                }
        } else {
-               q("INSERT INTO `gcontact` (`name`, `nick`, `addr`, `network`, `url`, `nurl`, `photo`, `connect`, `server_url`, `created`, `updated`, `location`, `about`, `keywords`, `gender`, `generation`)
-                       VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d)",
-                       dbesc($name),
-                       dbesc($nick),
-                       dbesc($addr),
-                       dbesc($network),
-                       dbesc($profile_url),
-                       dbesc(normalise_link($profile_url)),
-                       dbesc($profile_photo),
-                       dbesc($connect_url),
-                       dbesc($server_url),
-                       dbesc(datetime_convert()),
-                       dbesc($updated),
-                       dbesc($location),
-                       dbesc($about),
-                       dbesc($keywords),
-                       dbesc($gender),
-                       intval($generation)
-               );
-               $x = q("SELECT * FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
+               // Maybe another process had inserted the entry after the first check, so it again
+               $x = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
                        dbesc(normalise_link($profile_url))
                );
+               if(!$x) {
+                       q("INSERT INTO `gcontact` (`name`, `nick`, `addr`, `network`, `url`, `nurl`, `photo`, `connect`, `server_url`, `created`, `updated`, `location`, `about`, `keywords`, `gender`, `generation`)
+                               VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d)",
+                               dbesc($name),
+                               dbesc($nick),
+                               dbesc($addr),
+                               dbesc($network),
+                               dbesc($profile_url),
+                               dbesc(normalise_link($profile_url)),
+                               dbesc($profile_photo),
+                               dbesc($connect_url),
+                               dbesc($server_url),
+                               dbesc(datetime_convert()),
+                               dbesc($updated),
+                               dbesc($location),
+                               dbesc($about),
+                               dbesc($keywords),
+                               dbesc($gender),
+                               intval($generation)
+                       );
+                       $x = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
+                               dbesc(normalise_link($profile_url))
+                       );
+               }
                if(count($x))
                        $gcid = $x[0]['id'];
        }
@@ -380,11 +386,11 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
        }
 
        // For unknown reasons there are sometimes duplicates
-       q("DELETE FROM `gcontact` WHERE `nurl` = '%s' AND `id` != %d AND
-               NOT EXISTS (SELECT `gcid` FROM `glink` WHERE `gcid` = `gcontact`.`id`)",
-               dbesc(normalise_link($profile_url)),
-               intval($gcid)
-       );
+       //q("DELETE FROM `gcontact` WHERE `nurl` = '%s' AND `id` != %d AND
+       //      NOT EXISTS (SELECT `gcid` FROM `glink` WHERE `gcid` = `gcontact`.`id`)",
+       //      dbesc(normalise_link($profile_url)),
+       //      intval($gcid)
+       //);
 
        return $gcid;
 }
@@ -1481,4 +1487,78 @@ function poco_discover_server($data, $default_generation = 0) {
        }
        return $success;
 }
+
+function get_gcontact_id($url, $network, $avatar = "", $name = "", $nick = "", $location = "", $about = "", $addr = "") {
+
+       $gcontact_id = 0;
+
+       if ($network == NETWORK_STATUSNET)
+               $network = NETWORK_OSTATUS;
+
+       $r = q("SELECT `id`, `name`, `nick`, `network`, `photo`, `location`, `about` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
+               dbesc(normalise_link($url)));
+
+       if ($r)
+               $gcontact_id = $r[0]["id"];
+       else {
+               q("INSERT INTO `gcontact` (`name`, `nick`, `addr` , `network`, `url`, `nurl`, `photo`, `created`, `updated`, `location`, `about`)
+                       VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')",
+                       dbesc($name),
+                       dbesc($nick),
+                       dbesc($addr),
+                       dbesc($network),
+                       dbesc($url),
+                       dbesc(normalise_link($url)),
+                       dbesc($avatar),
+                       dbesc(datetime_convert()),
+                       dbesc(datetime_convert()),
+                       dbesc($location),
+                       dbesc($about)
+               );
+
+               $r = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1", dbesc(normalise_link($url)));
+
+               if ($r)
+                       $gcontact_id = $r[0]["id"];
+       }
+
+       return $gcontact_id;
+}
+
+function update_gcontact($url, $network, $avatar = "", $name = "", $nick = "", $location = "", $about = "", $addr = "") {
+
+       if ($network == NETWORK_STATUSNET)
+               $network = NETWORK_OSTATUS;
+
+       $gcontact_id = get_gcontact_id($url, $network, $avatar, $name, $nick, $location, $about);
+
+       if (!$gcontact_id)
+               return false;
+
+       if (($avatar != $r[0]["photo"]) AND ($avatar != ""))
+               q("UPDATE `gcontact` SET `photo` = '%s', `updated` = '%s' WHERE `nurl` = '%s' AND `network` = '%s' AND (`generation` = 0 OR `photo` = '')",
+                       dbesc($avatar), dbesc(datetime_convert()), dbesc(normalise_link($url)), dbesc($network));
+
+       if (($name != $r[0]["name"]) AND ($name != ""))
+               q("UPDATE `gcontact` SET `name` = '%s', `updated` = '%s' WHERE `nurl` = '%s' AND `network` = '%s' AND (`generation` = 0 OR `name` = '')",
+                       dbesc($name), dbesc(datetime_convert()), dbesc(normalise_link($url)), dbesc($network));
+
+       if (($nick != $r[0]["nick"]) AND ($nick != ""))
+               q("UPDATE `gcontact` SET `nick` = '%s', `updated` = '%s' WHERE `nurl` = '%s' AND `network` = '%s' AND (`generation` = 0 OR `nick` = '')",
+                       dbesc($nick), dbesc(datetime_convert()), dbesc(normalise_link($url)), dbesc($network));
+
+       if (($addr != $r[0]["addr"]) AND ($nick != ""))
+               q("UPDATE `gcontact` SET `addr` = '%s', `updated` = '%s' WHERE `nurl` = '%s' AND `network` = '%s' AND (`generation` = 0 OR `addr` = '')",
+                       dbesc($addr), dbesc(datetime_convert()), dbesc(normalise_link($url)), dbesc($network));
+
+       if (($location != $r[0]["location"]) AND ($location != ""))
+               q("UPDATE `gcontact` SET `location` = '%s', `updated` = '%s' WHERE `nurl` = '%s' AND `network` = '%s' AND (`generation` = 0 OR `location` = '')",
+                       dbesc($location), dbesc(datetime_convert()), dbesc(normalise_link($url)), dbesc($network));
+
+       if (($about != $r[0]["about"]) AND ($about != ""))
+               q("UPDATE `gcontact` SET `about` = '%s', `updated` = '%s' WHERE `nurl` = '%s' AND `network` = '%s' AND (`generation` = 0 OR `about` = '')",
+                       dbesc($about), dbesc(datetime_convert()), dbesc(normalise_link($url)), dbesc($network));
+
+       return $gcontact_id;
+}
 ?>
index c12f43bb81154c62256b9fac99a823d8ee144e84..a6718465942dc8dcfc215323208697519a1612c3 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 function add_thread($itemid, $onlyshadow = false) {
-       $items = q("SELECT `uid`, `created`, `edited`, `commented`, `received`, `changed`, `wall`, `private`, `pubmail`, `moderated`, `visible`, `spam`, `starred`, `bookmark`, `contact-id`,
+       $items = q("SELECT `uid`, `created`, `edited`, `commented`, `received`, `changed`, `wall`, `private`, `pubmail`, `moderated`, `visible`, `spam`, `starred`, `bookmark`, `contact-id`, `gcontact-id`,
                        `deleted`, `origin`, `forum_mode`, `mention`, `network`  FROM `item` WHERE `id` = %d AND (`parent` = %d OR `parent` = 0) LIMIT 1", intval($itemid), intval($itemid));
 
        if (!$items)
index f25ea36b2c0c13ed9a08a24e968b8a3741bf4fcf..2bf89f67f3f8bb105735e9d8cc3c37e1176ecb03 100644 (file)
@@ -693,6 +693,8 @@ function item_post(&$a) {
        $datarray['postopts']      = $postopts;
        $datarray['origin']        = $origin;
        $datarray['moderated']     = $allow_moderated;
+       $datarray['gcontact-id']   = get_gcontact_id($datarray['author-link'], $datarray['network'],
+                                                       $datarray['author-avatar'], $datarray['author-name']);
 
        /**
         * These fields are for the convenience of plugins...
index a85e498db2ce7ea037eb0c067e367ea3b0287055..4b9493bc613b29664255ad0467796c7619eebeb9 100644 (file)
@@ -565,10 +565,10 @@ function network_content(&$a, $update = 0) {
 
                //$sql_post_table = " INNER JOIN (SELECT DISTINCT(`parent`) FROM `item` WHERE (`contact-id` IN ($contact_str) OR `allow_gid` like '".protect_sprintf('%<'.intval($group).'>%')."') and deleted = 0 ORDER BY `created` DESC) AS `temp1` ON $sql_table.$sql_parent = `temp1`.`parent` ";
 
-               $sql_extra3 .= " AND `contact-id` IN ($contact_str$contact_str_self) ";
+               $sql_extra3 .= " AND $sql_table.`contact-id` IN ($contact_str$contact_str_self) ";
                $sql_extra3 .= " AND EXISTS (SELECT `id` FROM `item` WHERE (`contact-id` IN ($contact_str)
                                OR `allow_gid` LIKE '".protect_sprintf('%<'.intval($group).'>%')."') AND `deleted` = 0
-                               AND `parent` = $sql_table.$sql_parent) ";
+                               AND `id` = $sql_table.$sql_parent) ";
 
                $o = replace_macros(get_markup_template("section_title.tpl"),array(
                        '$title' => sprintf( t('Group: %s'), $r[0]['name'])
@@ -582,11 +582,11 @@ function network_content(&$a, $update = 0) {
                        intval($cid)
                );
                if(count($r)) {
-                       $sql_post_table = " INNER JOIN (SELECT DISTINCT(`parent`) FROM `item`
-                                           WHERE 1 $sql_options AND `contact-id` = ".intval($cid)." AND `deleted` = 0
-                                           ORDER BY `item`.`received` DESC) AS `temp1`
-                                           ON $sql_table.$sql_parent = `temp1`.`parent` ";
-                       $sql_extra = "";
+                       //$sql_post_table = " INNER JOIN (SELECT DISTINCT(`parent`) FROM `item`
+                       //                  WHERE 1 $sql_options AND `contact-id` = ".intval($cid)." AND `deleted` = 0
+                       //                  ORDER BY `item`.`received` DESC) AS `temp1`
+                       //                  ON $sql_table.$sql_parent = `temp1`.`parent` ";
+                       $sql_extra = " AND ".$sql_table.".`contact-id` = ".intval($cid);
 
                        $entries[0] = array(
                                'id' => 'network',
index caa167617cd7abf9a2f9c3cf8808484c69880f54..197e78de5c44f88f6262fd5e944f12a5f62c6aea 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 
-define( 'UPDATE_VERSION' , 1191 );
+define( 'UPDATE_VERSION' , 1192 );
 
 /**
  *