The gcontact will now be connected to the items

This commit is contained in:
Michael Vogel 2016-01-05 15:34:27 +01:00
parent ecf576bdd0
commit 75e2ec01fe
11 changed files with 285 additions and 129 deletions

View File

@ -36,7 +36,7 @@ define ( 'FRIENDICA_PLATFORM', 'Friendica');
define ( 'FRIENDICA_CODENAME', 'Asparagus'); define ( 'FRIENDICA_CODENAME', 'Asparagus');
define ( 'FRIENDICA_VERSION', '3.5-dev' ); define ( 'FRIENDICA_VERSION', '3.5-dev' );
define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
define ( 'DB_UPDATE_VERSION', 1191 ); define ( 'DB_UPDATE_VERSION', 1192 );
/** /**
* @brief Constant with a HTML line break. * @brief Constant with a HTML line break.

View File

@ -1,6 +1,6 @@
-- ------------------------------------------ -- ------------------------------------------
-- Friendica 3.4.2 (Lily of the valley) -- Friendica 3.5-dev (Asparagus)
-- DB_UPDATE_VERSION 1190 -- DB_UPDATE_VERSION 1192
-- ------------------------------------------ -- ------------------------------------------
@ -8,20 +8,21 @@
-- TABLE addon -- TABLE addon
-- --
CREATE TABLE IF NOT EXISTS `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 '', `name` varchar(255) NOT NULL DEFAULT '',
`version` varchar(255) NOT NULL DEFAULT '', `version` varchar(255) NOT NULL DEFAULT '',
`installed` tinyint(1) NOT NULL DEFAULT 0, `installed` tinyint(1) NOT NULL DEFAULT 0,
`hidden` tinyint(1) NOT NULL DEFAULT 0, `hidden` tinyint(1) NOT NULL DEFAULT 0,
`timestamp` bigint(20) 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; ) DEFAULT CHARSET=utf8;
-- --
-- TABLE attach -- TABLE attach
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(11) NOT NULL DEFAULT 0,
`hash` varchar(64) NOT NULL DEFAULT '', `hash` varchar(64) NOT NULL DEFAULT '',
`filename` varchar(255) 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_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL, `allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL, `deny_cid` mediumtext NOT NULL,
`deny_gid` mediumtext NOT NULL `deny_gid` mediumtext NOT NULL,
PRIMARY KEY(`id`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
-- --
-- TABLE auth_codes -- TABLE auth_codes
-- --
CREATE TABLE IF NOT EXISTS `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 '', `client_id` varchar(20) NOT NULL DEFAULT '',
`redirect_uri` varchar(200) NOT NULL DEFAULT '', `redirect_uri` varchar(200) NOT NULL DEFAULT '',
`expires` int(11) NOT NULL DEFAULT 0, `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; ) DEFAULT CHARSET=utf8;
-- --
-- TABLE cache -- TABLE cache
-- --
CREATE TABLE IF NOT EXISTS `cache` ( CREATE TABLE IF NOT EXISTS `cache` (
`k` varchar(255) NOT NULL PRIMARY KEY, `k` varchar(255) NOT NULL,
`v` text NOT NULL, `v` text NOT NULL,
`expire_mode` int(11) NOT NULL DEFAULT 0, `expire_mode` int(11) NOT NULL DEFAULT 0,
`updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY(`k`),
INDEX `updated` (`updated`) INDEX `updated` (`updated`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -62,34 +66,37 @@ CREATE TABLE IF NOT EXISTS `cache` (
-- TABLE challenge -- TABLE challenge
-- --
CREATE TABLE IF NOT EXISTS `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 '', `challenge` varchar(255) NOT NULL DEFAULT '',
`dfrn-id` varchar(255) NOT NULL DEFAULT '', `dfrn-id` varchar(255) NOT NULL DEFAULT '',
`expire` int(11) NOT NULL DEFAULT 0, `expire` int(11) NOT NULL DEFAULT 0,
`type` varchar(255) NOT NULL DEFAULT '', `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; ) DEFAULT CHARSET=utf8;
-- --
-- TABLE clients -- TABLE clients
-- --
CREATE TABLE IF NOT EXISTS `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 '', `pw` varchar(20) NOT NULL DEFAULT '',
`redirect_uri` varchar(200) NOT NULL DEFAULT '', `redirect_uri` varchar(200) NOT NULL DEFAULT '',
`name` text, `name` text,
`icon` text, `icon` text,
`uid` int(11) NOT NULL DEFAULT 0 `uid` int(11) NOT NULL DEFAULT 0,
PRIMARY KEY(`client_id`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
-- --
-- TABLE config -- TABLE config
-- --
CREATE TABLE IF NOT EXISTS `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 '', `cat` varchar(255) NOT NULL DEFAULT '',
`k` varchar(255) NOT NULL DEFAULT '', `k` varchar(255) NOT NULL DEFAULT '',
`v` text NOT NULL, `v` text NOT NULL,
PRIMARY KEY(`id`),
INDEX `cat_k` (`cat`(30),`k`(30)) INDEX `cat_k` (`cat`(30),`k`(30))
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -97,7 +104,7 @@ CREATE TABLE IF NOT EXISTS `config` (
-- TABLE contact -- TABLE contact
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(11) NOT NULL DEFAULT 0,
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`self` tinyint(1) NOT NULL DEFAULT 0, `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, `notify_new_posts` tinyint(1) NOT NULL DEFAULT 0,
`fetch_further_information` tinyint(1) NOT NULL DEFAULT 0, `fetch_further_information` tinyint(1) NOT NULL DEFAULT 0,
`ffi_keyword_blacklist` mediumtext NOT NULL, `ffi_keyword_blacklist` mediumtext NOT NULL,
PRIMARY KEY(`id`),
INDEX `uid` (`uid`) INDEX `uid` (`uid`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -169,7 +177,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
-- TABLE conv -- TABLE conv
-- --
CREATE TABLE IF NOT EXISTS `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 '', `guid` varchar(64) NOT NULL DEFAULT '',
`recips` mediumtext NOT NULL, `recips` mediumtext NOT NULL,
`uid` int(11) NOT NULL DEFAULT 0, `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', `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`updated` 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, `subject` mediumtext NOT NULL,
PRIMARY KEY(`id`),
INDEX `uid` (`uid`) INDEX `uid` (`uid`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -184,27 +193,29 @@ CREATE TABLE IF NOT EXISTS `conv` (
-- TABLE deliverq -- TABLE deliverq
-- --
CREATE TABLE IF NOT EXISTS `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 '', `cmd` varchar(32) NOT NULL DEFAULT '',
`item` int(11) NOT NULL DEFAULT 0, `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; ) DEFAULT CHARSET=utf8;
-- --
-- TABLE dsprphotoq -- TABLE dsprphotoq
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(11) NOT NULL DEFAULT 0,
`msg` mediumtext NOT NULL, `msg` mediumtext NOT NULL,
`attempt` tinyint(4) NOT NULL DEFAULT 0 `attempt` tinyint(4) NOT NULL DEFAULT 0,
PRIMARY KEY(`id`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
-- --
-- TABLE event -- TABLE event
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(11) NOT NULL DEFAULT 0,
`cid` int(11) NOT NULL DEFAULT 0, `cid` int(11) NOT NULL DEFAULT 0,
`uri` varchar(255) NOT NULL DEFAULT '', `uri` varchar(255) NOT NULL DEFAULT '',
@ -223,6 +234,7 @@ CREATE TABLE IF NOT EXISTS `event` (
`allow_gid` mediumtext NOT NULL, `allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL, `deny_cid` mediumtext NOT NULL,
`deny_gid` mediumtext NOT NULL, `deny_gid` mediumtext NOT NULL,
PRIMARY KEY(`id`),
INDEX `uid` (`uid`) INDEX `uid` (`uid`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -230,7 +242,7 @@ CREATE TABLE IF NOT EXISTS `event` (
-- TABLE fcontact -- TABLE fcontact
-- --
CREATE TABLE IF NOT EXISTS `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 '', `url` varchar(255) NOT NULL DEFAULT '',
`name` varchar(255) NOT NULL DEFAULT '', `name` varchar(255) NOT NULL DEFAULT '',
`photo` 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 '', `alias` varchar(255) NOT NULL DEFAULT '',
`pubkey` text NOT NULL, `pubkey` text NOT NULL,
`updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY(`id`),
INDEX `addr` (`addr`) INDEX `addr` (`addr`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -253,20 +266,22 @@ CREATE TABLE IF NOT EXISTS `fcontact` (
-- TABLE ffinder -- TABLE ffinder
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(10) unsigned NOT NULL DEFAULT 0,
`cid` 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; ) DEFAULT CHARSET=utf8;
-- --
-- TABLE fserver -- TABLE fserver
-- --
CREATE TABLE IF NOT EXISTS `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 '', `server` varchar(255) NOT NULL DEFAULT '',
`posturl` varchar(255) NOT NULL DEFAULT '', `posturl` varchar(255) NOT NULL DEFAULT '',
`key` text NOT NULL, `key` text NOT NULL,
PRIMARY KEY(`id`),
INDEX `server` (`server`) INDEX `server` (`server`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -274,7 +289,7 @@ CREATE TABLE IF NOT EXISTS `fserver` (
-- TABLE fsuggest -- TABLE fsuggest
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(11) NOT NULL DEFAULT 0,
`cid` int(11) NOT NULL DEFAULT 0, `cid` int(11) NOT NULL DEFAULT 0,
`name` varchar(255) NOT NULL DEFAULT '', `name` varchar(255) NOT NULL DEFAULT '',
@ -282,16 +297,18 @@ CREATE TABLE IF NOT EXISTS `fsuggest` (
`request` varchar(255) NOT NULL DEFAULT '', `request` varchar(255) NOT NULL DEFAULT '',
`photo` varchar(255) NOT NULL DEFAULT '', `photo` varchar(255) NOT NULL DEFAULT '',
`note` text NOT NULL, `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; ) DEFAULT CHARSET=utf8;
-- --
-- TABLE gcign -- TABLE gcign
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(11) NOT NULL DEFAULT 0,
`gcid` int(11) NOT NULL DEFAULT 0, `gcid` int(11) NOT NULL DEFAULT 0,
PRIMARY KEY(`id`),
INDEX `uid` (`uid`), INDEX `uid` (`uid`),
INDEX `gcid` (`gcid`) INDEX `gcid` (`gcid`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -300,7 +317,7 @@ CREATE TABLE IF NOT EXISTS `gcign` (
-- TABLE gcontact -- TABLE gcontact
-- --
CREATE TABLE IF NOT EXISTS `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 '', `name` varchar(255) NOT NULL DEFAULT '',
`nick` varchar(255) NOT NULL DEFAULT '', `nick` varchar(255) NOT NULL DEFAULT '',
`url` 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 '', `addr` varchar(255) NOT NULL DEFAULT '',
`generation` tinyint(3) NOT NULL DEFAULT 0, `generation` tinyint(3) NOT NULL DEFAULT 0,
`server_url` varchar(255) NOT NULL DEFAULT '', `server_url` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY(`id`),
INDEX `nurl` (`nurl`), INDEX `nurl` (`nurl`),
INDEX `updated` (`updated`) INDEX `updated` (`updated`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -328,12 +346,13 @@ CREATE TABLE IF NOT EXISTS `gcontact` (
-- TABLE glink -- TABLE glink
-- --
CREATE TABLE IF NOT EXISTS `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, `cid` int(11) NOT NULL DEFAULT 0,
`uid` int(11) NOT NULL DEFAULT 0, `uid` int(11) NOT NULL DEFAULT 0,
`gcid` int(11) NOT NULL DEFAULT 0, `gcid` int(11) NOT NULL DEFAULT 0,
`zcid` int(11) NOT NULL DEFAULT 0, `zcid` int(11) NOT NULL DEFAULT 0,
`updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY(`id`),
INDEX `cid_uid_gcid_zcid` (`cid`,`uid`,`gcid`,`zcid`), INDEX `cid_uid_gcid_zcid` (`cid`,`uid`,`gcid`,`zcid`),
INDEX `gcid` (`gcid`), INDEX `gcid` (`gcid`),
INDEX `zcid` (`zcid`) INDEX `zcid` (`zcid`)
@ -343,11 +362,12 @@ CREATE TABLE IF NOT EXISTS `glink` (
-- TABLE group -- TABLE group
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(10) unsigned NOT NULL DEFAULT 0,
`visible` tinyint(1) NOT NULL DEFAULT 0, `visible` tinyint(1) NOT NULL DEFAULT 0,
`deleted` tinyint(1) NOT NULL DEFAULT 0, `deleted` tinyint(1) NOT NULL DEFAULT 0,
`name` varchar(255) NOT NULL DEFAULT '', `name` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY(`id`),
INDEX `uid` (`uid`) INDEX `uid` (`uid`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -355,10 +375,11 @@ CREATE TABLE IF NOT EXISTS `group` (
-- TABLE group_member -- TABLE group_member
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(10) unsigned NOT NULL DEFAULT 0,
`gid` int(10) unsigned NOT NULL DEFAULT 0, `gid` int(10) unsigned NOT NULL DEFAULT 0,
`contact-id` 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`) INDEX `uid_gid_contactid` (`uid`,`gid`,`contact-id`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -366,7 +387,7 @@ CREATE TABLE IF NOT EXISTS `group_member` (
-- TABLE gserver -- TABLE gserver
-- --
CREATE TABLE IF NOT EXISTS `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 '', `url` varchar(255) NOT NULL DEFAULT '',
`nurl` varchar(255) NOT NULL DEFAULT '', `nurl` varchar(255) NOT NULL DEFAULT '',
`version` 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_poco_query` datetime DEFAULT '0000-00-00 00:00:00',
`last_contact` 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', `last_failure` datetime DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY(`id`),
INDEX `nurl` (`nurl`) INDEX `nurl` (`nurl`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -388,11 +410,12 @@ CREATE TABLE IF NOT EXISTS `gserver` (
-- TABLE guid -- TABLE guid
-- --
CREATE TABLE IF NOT EXISTS `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 '', `guid` varchar(255) NOT NULL DEFAULT '',
`plink` varchar(255) NOT NULL DEFAULT '', `plink` varchar(255) NOT NULL DEFAULT '',
`uri` varchar(255) NOT NULL DEFAULT '', `uri` varchar(255) NOT NULL DEFAULT '',
`network` varchar(32) NOT NULL DEFAULT '', `network` varchar(32) NOT NULL DEFAULT '',
PRIMARY KEY(`id`),
INDEX `guid` (`guid`), INDEX `guid` (`guid`),
INDEX `plink` (`plink`), INDEX `plink` (`plink`),
INDEX `uri` (`uri`) INDEX `uri` (`uri`)
@ -402,11 +425,12 @@ CREATE TABLE IF NOT EXISTS `guid` (
-- TABLE hook -- TABLE hook
-- --
CREATE TABLE IF NOT EXISTS `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 '', `hook` varchar(255) NOT NULL DEFAULT '',
`file` varchar(255) NOT NULL DEFAULT '', `file` varchar(255) NOT NULL DEFAULT '',
`function` varchar(255) NOT NULL DEFAULT '', `function` varchar(255) NOT NULL DEFAULT '',
`priority` int(11) unsigned NOT NULL DEFAULT 0, `priority` int(11) unsigned NOT NULL DEFAULT 0,
PRIMARY KEY(`id`),
INDEX `hook_file_function` (`hook`(30),`file`(60),`function`(30)) INDEX `hook_file_function` (`hook`(30),`file`(60),`function`(30))
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -414,7 +438,7 @@ CREATE TABLE IF NOT EXISTS `hook` (
-- TABLE intro -- TABLE intro
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(10) unsigned NOT NULL DEFAULT 0,
`fid` int(11) NOT NULL DEFAULT 0, `fid` int(11) NOT NULL DEFAULT 0,
`contact-id` 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 '', `hash` varchar(255) NOT NULL DEFAULT '',
`datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `datetime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`blocked` tinyint(1) NOT NULL DEFAULT 1, `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; ) DEFAULT CHARSET=utf8;
-- --
-- TABLE item -- TABLE item
-- --
CREATE TABLE IF NOT EXISTS `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 '', `guid` varchar(255) NOT NULL DEFAULT '',
`uri` varchar(255) NOT NULL DEFAULT '', `uri` varchar(255) NOT NULL DEFAULT '',
`uid` int(10) unsigned NOT NULL DEFAULT 0, `uid` int(10) unsigned NOT NULL DEFAULT 0,
`contact-id` int(11) 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 '', `type` varchar(255) NOT NULL DEFAULT '',
`wall` tinyint(1) NOT NULL DEFAULT 0, `wall` tinyint(1) NOT NULL DEFAULT 0,
`gravity` 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-hash` varchar(32) NOT NULL DEFAULT '',
`rendered-html` mediumtext NOT NULL, `rendered-html` mediumtext NOT NULL,
`global` tinyint(1) NOT NULL DEFAULT 0, `global` tinyint(1) NOT NULL DEFAULT 0,
PRIMARY KEY(`id`),
INDEX `guid` (`guid`), INDEX `guid` (`guid`),
INDEX `uri` (`uri`), INDEX `uri` (`uri`),
INDEX `parent` (`parent`), INDEX `parent` (`parent`),
@ -531,11 +558,12 @@ CREATE TABLE IF NOT EXISTS `item` (
-- TABLE item_id -- TABLE item_id
-- --
CREATE TABLE IF NOT EXISTS `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, `iid` int(11) NOT NULL DEFAULT 0,
`uid` int(11) NOT NULL DEFAULT 0, `uid` int(11) NOT NULL DEFAULT 0,
`sid` varchar(255) NOT NULL DEFAULT '', `sid` varchar(255) NOT NULL DEFAULT '',
`service` varchar(255) NOT NULL DEFAULT '', `service` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY(`id`),
INDEX `uid` (`uid`), INDEX `uid` (`uid`),
INDEX `sid` (`sid`), INDEX `sid` (`sid`),
INDEX `service` (`service`), INDEX `service` (`service`),
@ -546,17 +574,18 @@ CREATE TABLE IF NOT EXISTS `item_id` (
-- TABLE locks -- TABLE locks
-- --
CREATE TABLE IF NOT EXISTS `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 '', `name` varchar(128) NOT NULL DEFAULT '',
`locked` tinyint(1) NOT NULL DEFAULT 0, `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; ) DEFAULT CHARSET=utf8;
-- --
-- TABLE mail -- TABLE mail
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(10) unsigned NOT NULL DEFAULT 0,
`guid` varchar(64) NOT NULL DEFAULT '', `guid` varchar(64) NOT NULL DEFAULT '',
`from-name` varchar(255) 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 '', `uri` varchar(255) NOT NULL DEFAULT '',
`parent-uri` varchar(255) NOT NULL DEFAULT '', `parent-uri` varchar(255) NOT NULL DEFAULT '',
`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`),
INDEX `uid` (`uid`), INDEX `uid` (`uid`),
INDEX `guid` (`guid`), INDEX `guid` (`guid`),
INDEX `convid` (`convid`), INDEX `convid` (`convid`),
@ -585,7 +615,7 @@ CREATE TABLE IF NOT EXISTS `mail` (
-- TABLE mailacct -- TABLE mailacct
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(11) NOT NULL DEFAULT 0,
`server` varchar(255) NOT NULL DEFAULT '', `server` varchar(255) NOT NULL DEFAULT '',
`port` int(11) NOT NULL DEFAULT 0, `port` int(11) NOT NULL DEFAULT 0,
@ -597,16 +627,18 @@ CREATE TABLE IF NOT EXISTS `mailacct` (
`action` int(11) NOT NULL DEFAULT 0, `action` int(11) NOT NULL DEFAULT 0,
`movetofolder` varchar(255) NOT NULL DEFAULT '', `movetofolder` varchar(255) NOT NULL DEFAULT '',
`pubmail` tinyint(1) NOT NULL DEFAULT 0, `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; ) DEFAULT CHARSET=utf8;
-- --
-- TABLE manage -- TABLE manage
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(11) NOT NULL DEFAULT 0,
`mid` int(11) NOT NULL DEFAULT 0, `mid` int(11) NOT NULL DEFAULT 0,
PRIMARY KEY(`id`),
INDEX `uid_mid` (`uid`,`mid`) INDEX `uid_mid` (`uid`,`mid`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -614,7 +646,7 @@ CREATE TABLE IF NOT EXISTS `manage` (
-- TABLE notify -- TABLE notify
-- --
CREATE TABLE IF NOT EXISTS `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 '', `hash` varchar(64) NOT NULL DEFAULT '',
`type` int(11) NOT NULL DEFAULT 0, `type` int(11) NOT NULL DEFAULT 0,
`name` varchar(255) NOT NULL DEFAULT '', `name` varchar(255) NOT NULL DEFAULT '',
@ -629,6 +661,7 @@ CREATE TABLE IF NOT EXISTS `notify` (
`seen` tinyint(1) NOT NULL DEFAULT 0, `seen` tinyint(1) NOT NULL DEFAULT 0,
`verb` varchar(255) NOT NULL DEFAULT '', `verb` varchar(255) NOT NULL DEFAULT '',
`otype` varchar(16) NOT NULL DEFAULT '', `otype` varchar(16) NOT NULL DEFAULT '',
PRIMARY KEY(`id`),
INDEX `uid` (`uid`) INDEX `uid` (`uid`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -636,11 +669,12 @@ CREATE TABLE IF NOT EXISTS `notify` (
-- TABLE notify-threads -- TABLE notify-threads
-- --
CREATE TABLE IF NOT EXISTS `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, `notify-id` int(11) NOT NULL DEFAULT 0,
`master-parent-item` int(10) unsigned NOT NULL DEFAULT 0, `master-parent-item` int(10) unsigned NOT NULL DEFAULT 0,
`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, `receiver-uid` int(11) NOT NULL DEFAULT 0,
PRIMARY KEY(`id`),
INDEX `master-parent-item` (`master-parent-item`), INDEX `master-parent-item` (`master-parent-item`),
INDEX `receiver-uid` (`receiver-uid`) INDEX `receiver-uid` (`receiver-uid`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -649,11 +683,12 @@ CREATE TABLE IF NOT EXISTS `notify-threads` (
-- TABLE pconfig -- TABLE pconfig
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(11) NOT NULL DEFAULT 0,
`cat` varchar(255) NOT NULL DEFAULT '', `cat` varchar(255) NOT NULL DEFAULT '',
`k` varchar(255) NOT NULL DEFAULT '', `k` varchar(255) NOT NULL DEFAULT '',
`v` mediumtext NOT NULL, `v` mediumtext NOT NULL,
PRIMARY KEY(`id`),
INDEX `uid_cat_k` (`uid`,`cat`(30),`k`(30)) INDEX `uid_cat_k` (`uid`,`cat`(30),`k`(30))
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -661,7 +696,7 @@ CREATE TABLE IF NOT EXISTS `pconfig` (
-- TABLE photo -- TABLE photo
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(10) unsigned NOT NULL DEFAULT 0,
`contact-id` int(10) unsigned NOT NULL DEFAULT 0, `contact-id` int(10) unsigned NOT NULL DEFAULT 0,
`guid` varchar(64) NOT NULL DEFAULT '', `guid` varchar(64) NOT NULL DEFAULT '',
@ -683,6 +718,7 @@ CREATE TABLE IF NOT EXISTS `photo` (
`allow_gid` mediumtext NOT NULL, `allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL, `deny_cid` mediumtext NOT NULL,
`deny_gid` mediumtext NOT NULL, `deny_gid` mediumtext NOT NULL,
PRIMARY KEY(`id`),
INDEX `uid` (`uid`), INDEX `uid` (`uid`),
INDEX `resource-id` (`resource-id`), INDEX `resource-id` (`resource-id`),
INDEX `guid` (`guid`) INDEX `guid` (`guid`)
@ -692,7 +728,7 @@ CREATE TABLE IF NOT EXISTS `photo` (
-- TABLE poll -- TABLE poll
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(11) NOT NULL DEFAULT 0,
`q0` mediumtext NOT NULL, `q0` mediumtext NOT NULL,
`q1` mediumtext NOT NULL, `q1` mediumtext NOT NULL,
@ -704,6 +740,7 @@ CREATE TABLE IF NOT EXISTS `poll` (
`q7` mediumtext NOT NULL, `q7` mediumtext NOT NULL,
`q8` mediumtext NOT NULL, `q8` mediumtext NOT NULL,
`q9` mediumtext NOT NULL, `q9` mediumtext NOT NULL,
PRIMARY KEY(`id`),
INDEX `uid` (`uid`) INDEX `uid` (`uid`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -711,9 +748,10 @@ CREATE TABLE IF NOT EXISTS `poll` (
-- TABLE poll_result -- TABLE poll_result
-- --
CREATE TABLE IF NOT EXISTS `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, `poll_id` int(11) NOT NULL DEFAULT 0,
`choice` int(11) NOT NULL DEFAULT 0, `choice` int(11) NOT NULL DEFAULT 0,
PRIMARY KEY(`id`),
INDEX `poll_id` (`poll_id`), INDEX `poll_id` (`poll_id`),
INDEX `choice` (`choice`) INDEX `choice` (`choice`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -722,7 +760,7 @@ CREATE TABLE IF NOT EXISTS `poll_result` (
-- TABLE profile -- TABLE profile
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(11) NOT NULL DEFAULT 0,
`profile-name` varchar(255) NOT NULL DEFAULT '', `profile-name` varchar(255) NOT NULL DEFAULT '',
`is-default` tinyint(1) NOT NULL DEFAULT 0, `is-default` tinyint(1) NOT NULL DEFAULT 0,
@ -763,6 +801,7 @@ CREATE TABLE IF NOT EXISTS `profile` (
`thumb` varchar(255) NOT NULL DEFAULT '', `thumb` varchar(255) NOT NULL DEFAULT '',
`publish` tinyint(1) NOT NULL DEFAULT 0, `publish` tinyint(1) NOT NULL DEFAULT 0,
`net-publish` tinyint(1) NOT NULL DEFAULT 0, `net-publish` tinyint(1) NOT NULL DEFAULT 0,
PRIMARY KEY(`id`),
INDEX `hometown` (`hometown`) INDEX `hometown` (`hometown`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -770,39 +809,42 @@ CREATE TABLE IF NOT EXISTS `profile` (
-- TABLE profile_check -- TABLE profile_check
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(10) unsigned NOT NULL DEFAULT 0,
`cid` int(10) unsigned NOT NULL DEFAULT 0, `cid` int(10) unsigned NOT NULL DEFAULT 0,
`dfrn_id` varchar(255) NOT NULL DEFAULT '', `dfrn_id` varchar(255) NOT NULL DEFAULT '',
`sec` 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; ) DEFAULT CHARSET=utf8;
-- --
-- TABLE push_subscriber -- TABLE push_subscriber
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(11) NOT NULL DEFAULT 0,
`callback_url` varchar(255) NOT NULL DEFAULT '', `callback_url` varchar(255) NOT NULL DEFAULT '',
`topic` varchar(255) NOT NULL DEFAULT '', `topic` varchar(255) NOT NULL DEFAULT '',
`nickname` varchar(255) NOT NULL DEFAULT '', `nickname` varchar(255) NOT NULL DEFAULT '',
`push` int(11) NOT NULL DEFAULT 0, `push` int(11) NOT NULL DEFAULT 0,
`last_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `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; ) DEFAULT CHARSET=utf8;
-- --
-- TABLE queue -- TABLE queue
-- --
CREATE TABLE IF NOT EXISTS `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, `cid` int(11) NOT NULL DEFAULT 0,
`network` varchar(32) NOT NULL DEFAULT '', `network` varchar(32) NOT NULL DEFAULT '',
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`last` 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, `content` mediumtext NOT NULL,
`batch` tinyint(1) NOT NULL DEFAULT 0, `batch` tinyint(1) NOT NULL DEFAULT 0,
PRIMARY KEY(`id`),
INDEX `cid` (`cid`), INDEX `cid` (`cid`),
INDEX `created` (`created`), INDEX `created` (`created`),
INDEX `last` (`last`), INDEX `last` (`last`),
@ -814,21 +856,23 @@ CREATE TABLE IF NOT EXISTS `queue` (
-- TABLE register -- TABLE register
-- --
CREATE TABLE IF NOT EXISTS `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 '', `hash` varchar(255) NOT NULL DEFAULT '',
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`uid` int(11) unsigned NOT NULL DEFAULT 0, `uid` int(11) unsigned NOT NULL DEFAULT 0,
`password` varchar(255) NOT NULL DEFAULT '', `password` varchar(255) NOT NULL DEFAULT '',
`language` varchar(16) NOT NULL DEFAULT '' `language` varchar(16) NOT NULL DEFAULT '',
PRIMARY KEY(`id`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
-- --
-- TABLE search -- TABLE search
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(11) NOT NULL DEFAULT 0,
`term` varchar(255) NOT NULL DEFAULT '', `term` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY(`id`),
INDEX `uid` (`uid`), INDEX `uid` (`uid`),
INDEX `term` (`term`) INDEX `term` (`term`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -837,10 +881,11 @@ CREATE TABLE IF NOT EXISTS `search` (
-- TABLE session -- TABLE session
-- --
CREATE TABLE IF NOT EXISTS `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 '', `sid` varchar(255) NOT NULL DEFAULT '',
`data` text NOT NULL, `data` text NOT NULL,
`expire` int(10) unsigned NOT NULL DEFAULT 0, `expire` int(10) unsigned NOT NULL DEFAULT 0,
PRIMARY KEY(`id`),
INDEX `sid` (`sid`), INDEX `sid` (`sid`),
INDEX `expire` (`expire`) INDEX `expire` (`expire`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -849,12 +894,13 @@ CREATE TABLE IF NOT EXISTS `session` (
-- TABLE sign -- TABLE sign
-- --
CREATE TABLE IF NOT EXISTS `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, `iid` int(10) unsigned NOT NULL DEFAULT 0,
`retract_iid` int(10) unsigned NOT NULL DEFAULT 0, `retract_iid` int(10) unsigned NOT NULL DEFAULT 0,
`signed_text` mediumtext NOT NULL, `signed_text` mediumtext NOT NULL,
`signature` text NOT NULL, `signature` text NOT NULL,
`signer` varchar(255) NOT NULL DEFAULT '', `signer` varchar(255) NOT NULL DEFAULT '',
PRIMARY KEY(`id`),
INDEX `iid` (`iid`), INDEX `iid` (`iid`),
INDEX `retract_iid` (`retract_iid`) INDEX `retract_iid` (`retract_iid`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -863,12 +909,13 @@ CREATE TABLE IF NOT EXISTS `sign` (
-- TABLE spam -- TABLE spam
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(11) NOT NULL DEFAULT 0,
`spam` int(11) NOT NULL DEFAULT 0, `spam` int(11) NOT NULL DEFAULT 0,
`ham` int(11) NOT NULL DEFAULT 0, `ham` int(11) NOT NULL DEFAULT 0,
`term` varchar(255) NOT NULL DEFAULT '', `term` varchar(255) NOT NULL DEFAULT '',
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY(`id`),
INDEX `uid` (`uid`), INDEX `uid` (`uid`),
INDEX `spam` (`spam`), INDEX `spam` (`spam`),
INDEX `ham` (`ham`), INDEX `ham` (`ham`),
@ -879,7 +926,7 @@ CREATE TABLE IF NOT EXISTS `spam` (
-- TABLE term -- TABLE term
-- --
CREATE TABLE IF NOT EXISTS `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, `oid` int(10) unsigned NOT NULL DEFAULT 0,
`otype` tinyint(3) unsigned NOT NULL DEFAULT 0, `otype` tinyint(3) unsigned NOT NULL DEFAULT 0,
`type` 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, `global` tinyint(1) NOT NULL DEFAULT 0,
`aid` int(10) unsigned NOT NULL DEFAULT 0, `aid` int(10) unsigned NOT NULL DEFAULT 0,
`uid` 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 `oid_otype_type_term` (`oid`,`otype`,`type`,`term`),
INDEX `uid_term_tid` (`uid`,`term`,`tid`), INDEX `uid_term_tid` (`uid`,`term`,`tid`),
INDEX `type_term` (`type`,`term`), INDEX `type_term` (`type`,`term`),
@ -903,9 +951,10 @@ CREATE TABLE IF NOT EXISTS `term` (
-- TABLE thread -- TABLE thread
-- --
CREATE TABLE IF NOT EXISTS `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, `uid` int(10) unsigned NOT NULL DEFAULT 0,
`contact-id` int(11) 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', `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`edited` 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', `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, `forum_mode` tinyint(1) NOT NULL DEFAULT 0,
`mention` tinyint(1) NOT NULL DEFAULT 0, `mention` tinyint(1) NOT NULL DEFAULT 0,
`network` varchar(32) NOT NULL DEFAULT '', `network` varchar(32) NOT NULL DEFAULT '',
PRIMARY KEY(`iid`),
INDEX `created` (`created`), INDEX `created` (`created`),
INDEX `commented` (`commented`), INDEX `commented` (`commented`),
INDEX `uid_network_commented` (`uid`,`network`,`commented`), INDEX `uid_network_commented` (`uid`,`network`,`commented`),
@ -941,25 +991,27 @@ CREATE TABLE IF NOT EXISTS `thread` (
-- TABLE tokens -- TABLE tokens
-- --
CREATE TABLE IF NOT EXISTS `tokens` ( CREATE TABLE IF NOT EXISTS `tokens` (
`id` varchar(40) NOT NULL PRIMARY KEY, `id` varchar(40) NOT NULL,
`secret` text NOT NULL, `secret` text NOT NULL,
`client_id` varchar(20) NOT NULL DEFAULT '', `client_id` varchar(20) NOT NULL DEFAULT '',
`expires` int(11) NOT NULL DEFAULT 0, `expires` int(11) NOT NULL DEFAULT 0,
`scope` varchar(200) NOT NULL DEFAULT '', `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; ) DEFAULT CHARSET=utf8;
-- --
-- TABLE unique_contacts -- TABLE unique_contacts
-- --
CREATE TABLE IF NOT EXISTS `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 '', `url` varchar(255) NOT NULL DEFAULT '',
`nick` varchar(255) NOT NULL DEFAULT '', `nick` varchar(255) NOT NULL DEFAULT '',
`name` varchar(255) NOT NULL DEFAULT '', `name` varchar(255) NOT NULL DEFAULT '',
`avatar` varchar(255) NOT NULL DEFAULT '', `avatar` varchar(255) NOT NULL DEFAULT '',
`location` varchar(255) NOT NULL DEFAULT '', `location` varchar(255) NOT NULL DEFAULT '',
`about` text NOT NULL, `about` text NOT NULL,
PRIMARY KEY(`id`),
INDEX `url` (`url`) INDEX `url` (`url`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -967,7 +1019,7 @@ CREATE TABLE IF NOT EXISTS `unique_contacts` (
-- TABLE user -- TABLE user
-- --
CREATE TABLE IF NOT EXISTS `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 '', `guid` varchar(64) NOT NULL DEFAULT '',
`username` varchar(255) NOT NULL DEFAULT '', `username` varchar(255) NOT NULL DEFAULT '',
`password` 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_cid` mediumtext NOT NULL,
`deny_gid` mediumtext NOT NULL, `deny_gid` mediumtext NOT NULL,
`openidserver` text NOT NULL, `openidserver` text NOT NULL,
PRIMARY KEY(`uid`),
INDEX `nickname` (`nickname`) INDEX `nickname` (`nickname`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -1016,8 +1069,9 @@ CREATE TABLE IF NOT EXISTS `user` (
-- TABLE userd -- TABLE userd
-- --
CREATE TABLE IF NOT EXISTS `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, `username` varchar(255) NOT NULL,
PRIMARY KEY(`id`),
INDEX `username` (`username`) INDEX `username` (`username`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;
@ -1025,12 +1079,13 @@ CREATE TABLE IF NOT EXISTS `userd` (
-- TABLE workerqueue -- TABLE workerqueue
-- --
CREATE TABLE IF NOT EXISTS `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, `parameter` text NOT NULL,
`priority` tinyint(3) unsigned NOT NULL DEFAULT 0, `priority` tinyint(3) unsigned NOT NULL DEFAULT 0,
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`pid` int(11) NOT NULL DEFAULT 0, `pid` int(11) NOT NULL DEFAULT 0,
`executed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `executed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY(`id`),
INDEX `created` (`created`) INDEX `created` (`created`)
) DEFAULT CHARSET=utf8; ) DEFAULT CHARSET=utf8;

View File

@ -795,6 +795,7 @@ function db_definition() {
"uri" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), "uri" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
"uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"), "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
"contact-id" => array("type" => "int(11)", "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" => ""), "type" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
"wall" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), "wall" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
"gravity" => 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_thrparent" => array("uid","thr-parent"),
"uid_parenturi" => array("uid","parent-uri"), "uid_parenturi" => array("uid","parent-uri"),
"uid_contactid_created" => array("uid","contact-id","created"), "uid_contactid_created" => array("uid","contact-id","created"),
"uid_gcontactid_created" => array("uid","gcontact-id","created"),
"wall_body" => array("wall","body(6)"), "wall_body" => array("wall","body(6)"),
"uid_visible_moderated_created" => array("uid","visible","moderated","created"), "uid_visible_moderated_created" => array("uid","visible","moderated","created"),
"uid_uri" => array("uid","uri"), "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"), "iid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "primary" => "1"),
"uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"), "uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
"contact-id" => array("type" => "int(11) 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"), "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"), "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"), "commented" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),

View File

@ -2488,6 +2488,14 @@ function diaspora_profile($importer,$xml,$msg) {
datetime_convert(), 2, $contact['id'], $importer['uid']); 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 = ""; $profileurl = "";
$author = q("SELECT * FROM `unique_contacts` WHERE `url`='%s' LIMIT 1", $author = q("SELECT * FROM `unique_contacts` WHERE `url`='%s' LIMIT 1",
dbesc(normalise_link($contact['url']))); dbesc(normalise_link($contact['url'])));

View 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); 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'] != "") { if ($arr['guid'] != "") {
// Checking if there is already an item with the same 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); logger('checking for an item for user '.$arr['uid'].' on network '.$arr['network'].' with the guid '.$arr['guid'], LOGGER_DEBUG);

View File

@ -129,45 +129,50 @@ function ostatus_fetchauthor($xpath, $context, $importer, &$contact, $onlyfetch)
if ($r AND !$onlyfetch) { if ($r AND !$onlyfetch) {
// Update contact data // Update contact data
$update_contact = ($r[0]['name-date'] < datetime_convert('','','now -12 hours'));
if ($update_contact) { $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: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;
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); 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: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:address/poco:formatted/text()', $context)->item(0)->nodeValue;
if ($value != "")
$contact["location"] = $value;
q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `about` = '%s', `location` = '%s', `name-date` = '%s' WHERE `id` = %d AND `network` = '%s'", 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($contact["name"]), dbesc($contact["nick"]), dbesc($contact["about"]), dbesc($contact["location"]),
dbesc(datetime_convert()), intval($contact["id"]), dbesc(NETWORK_OSTATUS)); dbesc(datetime_convert()), intval($contact["id"]), dbesc(NETWORK_OSTATUS));
poco_check($contact["url"], $contact["name"], $contact["network"], $author["author-avatar"], $contact["about"], $contact["location"], 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 (isset($author["author-avatar"]) AND ($author["author-avatar"] != $r[0]['photo'])) {
if ($update_photo AND isset($author["author-avatar"])) {
logger("Update profile picture for contact ".$contact["id"], LOGGER_DEBUG); logger("Update profile picture for contact ".$contact["id"], LOGGER_DEBUG);
$photos = import_profile_photo($author["author-avatar"], $importer["uid"], $contact["id"]); $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'", 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)); 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); return($author);

View File

@ -326,28 +326,34 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
); );
} }
} else { } else {
q("INSERT INTO `gcontact` (`name`, `nick`, `addr`, `network`, `url`, `nurl`, `photo`, `connect`, `server_url`, `created`, `updated`, `location`, `about`, `keywords`, `gender`, `generation`) // Maybe another process had inserted the entry after the first check, so it again
VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d)", $x = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
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",
dbesc(normalise_link($profile_url)) 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)) if(count($x))
$gcid = $x[0]['id']; $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 // For unknown reasons there are sometimes duplicates
q("DELETE FROM `gcontact` WHERE `nurl` = '%s' AND `id` != %d AND //q("DELETE FROM `gcontact` WHERE `nurl` = '%s' AND `id` != %d AND
NOT EXISTS (SELECT `gcid` FROM `glink` WHERE `gcid` = `gcontact`.`id`)", // NOT EXISTS (SELECT `gcid` FROM `glink` WHERE `gcid` = `gcontact`.`id`)",
dbesc(normalise_link($profile_url)), // dbesc(normalise_link($profile_url)),
intval($gcid) // intval($gcid)
); //);
return $gcid; return $gcid;
} }
@ -1481,4 +1487,78 @@ function poco_discover_server($data, $default_generation = 0) {
} }
return $success; 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;
}
?> ?>

View File

@ -1,6 +1,6 @@
<?php <?php
function add_thread($itemid, $onlyshadow = false) { 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)); `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) if (!$items)

View File

@ -693,6 +693,8 @@ function item_post(&$a) {
$datarray['postopts'] = $postopts; $datarray['postopts'] = $postopts;
$datarray['origin'] = $origin; $datarray['origin'] = $origin;
$datarray['moderated'] = $allow_moderated; $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... * These fields are for the convenience of plugins...

View 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_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) $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 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( $o = replace_macros(get_markup_template("section_title.tpl"),array(
'$title' => sprintf( t('Group: %s'), $r[0]['name']) '$title' => sprintf( t('Group: %s'), $r[0]['name'])
@ -582,11 +582,11 @@ function network_content(&$a, $update = 0) {
intval($cid) intval($cid)
); );
if(count($r)) { if(count($r)) {
$sql_post_table = " INNER JOIN (SELECT DISTINCT(`parent`) FROM `item` //$sql_post_table = " INNER JOIN (SELECT DISTINCT(`parent`) FROM `item`
WHERE 1 $sql_options AND `contact-id` = ".intval($cid)." AND `deleted` = 0 // WHERE 1 $sql_options AND `contact-id` = ".intval($cid)." AND `deleted` = 0
ORDER BY `item`.`received` DESC) AS `temp1` // ORDER BY `item`.`received` DESC) AS `temp1`
ON $sql_table.$sql_parent = `temp1`.`parent` "; // ON $sql_table.$sql_parent = `temp1`.`parent` ";
$sql_extra = ""; $sql_extra = " AND ".$sql_table.".`contact-id` = ".intval($cid);
$entries[0] = array( $entries[0] = array(
'id' => 'network', 'id' => 'network',

View File

@ -1,6 +1,6 @@
<?php <?php
define( 'UPDATE_VERSION' , 1191 ); define( 'UPDATE_VERSION' , 1192 );
/** /**
* *