Merge pull request #2244 from annando/1601-gcontact-total
Global contacts are now playing a central role
This commit is contained in:
commit
f4173d1764
32 changed files with 933 additions and 567 deletions
2
boot.php
2
boot.php
|
@ -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.
|
||||||
|
|
216
database.sql
216
database.sql
|
@ -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 '',
|
||||||
|
@ -315,11 +332,17 @@ CREATE TABLE IF NOT EXISTS `gcontact` (
|
||||||
`about` text NOT NULL,
|
`about` text NOT NULL,
|
||||||
`keywords` text NOT NULL,
|
`keywords` text NOT NULL,
|
||||||
`gender` varchar(32) NOT NULL DEFAULT '',
|
`gender` varchar(32) NOT NULL DEFAULT '',
|
||||||
|
`birthday` varchar(32) NOT NULL DEFAULT '0000-00-00',
|
||||||
`community` tinyint(1) NOT NULL DEFAULT 0,
|
`community` tinyint(1) NOT NULL DEFAULT 0,
|
||||||
|
`hide` tinyint(1) NOT NULL DEFAULT 0,
|
||||||
|
`nsfw` tinyint(1) NOT NULL DEFAULT 0,
|
||||||
`network` varchar(255) NOT NULL DEFAULT '',
|
`network` varchar(255) NOT NULL DEFAULT '',
|
||||||
`addr` varchar(255) NOT NULL DEFAULT '',
|
`addr` varchar(255) NOT NULL DEFAULT '',
|
||||||
|
`notify` text NOT NULL,
|
||||||
|
`alias` 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 +351,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 +367,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 +380,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 +392,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 +407,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 +415,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 +430,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 +443,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 +453,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 +524,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`),
|
||||||
|
@ -509,6 +541,7 @@ CREATE TABLE IF NOT EXISTS `item` (
|
||||||
INDEX `uid_thrparent` (`uid`,`thr-parent`),
|
INDEX `uid_thrparent` (`uid`,`thr-parent`),
|
||||||
INDEX `uid_parenturi` (`uid`,`parent-uri`),
|
INDEX `uid_parenturi` (`uid`,`parent-uri`),
|
||||||
INDEX `uid_contactid_created` (`uid`,`contact-id`,`created`),
|
INDEX `uid_contactid_created` (`uid`,`contact-id`,`created`),
|
||||||
|
INDEX `gcontactid_uid_created` (`gcontact-id`,`uid`,`created`),
|
||||||
INDEX `wall_body` (`wall`,`body`(6)),
|
INDEX `wall_body` (`wall`,`body`(6)),
|
||||||
INDEX `uid_visible_moderated_created` (`uid`,`visible`,`moderated`,`created`),
|
INDEX `uid_visible_moderated_created` (`uid`,`visible`,`moderated`,`created`),
|
||||||
INDEX `uid_uri` (`uid`,`uri`),
|
INDEX `uid_uri` (`uid`,`uri`),
|
||||||
|
@ -531,11 +564,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 +580,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 +608,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 +621,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 +633,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 +652,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 +667,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 +675,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 +689,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 +702,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 +724,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 +734,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 +746,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 +754,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 +766,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 +807,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 +815,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 +862,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 +887,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 +900,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 +915,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 +932,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 +944,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 +957,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,12 +981,15 @@ 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`),
|
||||||
INDEX `uid_network_created` (`uid`,`network`,`created`),
|
INDEX `uid_network_created` (`uid`,`network`,`created`),
|
||||||
INDEX `uid_contactid_commented` (`uid`,`contact-id`,`commented`),
|
INDEX `uid_contactid_commented` (`uid`,`contact-id`,`commented`),
|
||||||
INDEX `uid_contactid_created` (`uid`,`contact-id`,`created`),
|
INDEX `uid_contactid_created` (`uid`,`contact-id`,`created`),
|
||||||
|
INDEX `uid_gcontactid_commented` (`uid`,`gcontact-id`,`commented`),
|
||||||
|
INDEX `uid_gcontactid_created` (`uid`,`gcontact-id`,`created`),
|
||||||
INDEX `wall_private_received` (`wall`,`private`,`received`),
|
INDEX `wall_private_received` (`wall`,`private`,`received`),
|
||||||
INDEX `uid_created` (`uid`,`created`),
|
INDEX `uid_created` (`uid`,`created`),
|
||||||
INDEX `uid_commented` (`uid`,`commented`)
|
INDEX `uid_commented` (`uid`,`commented`)
|
||||||
|
@ -941,33 +999,20 @@ 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,
|
||||||
) DEFAULT CHARSET=utf8;
|
PRIMARY KEY(`id`)
|
||||||
|
|
||||||
--
|
|
||||||
-- TABLE unique_contacts
|
|
||||||
--
|
|
||||||
CREATE TABLE IF NOT EXISTS `unique_contacts` (
|
|
||||||
`id` int(11) NOT NULL auto_increment PRIMARY KEY,
|
|
||||||
`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,
|
|
||||||
INDEX `url` (`url`)
|
|
||||||
) DEFAULT CHARSET=utf8;
|
) DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
--
|
--
|
||||||
-- 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 +1054,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 +1062,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 +1072,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;
|
||||||
|
|
||||||
|
|
|
@ -54,7 +54,6 @@ Database Tables
|
||||||
| [term](help/database/db_term) | item taxonomy (categories, tags, etc.) table |
|
| [term](help/database/db_term) | item taxonomy (categories, tags, etc.) table |
|
||||||
| [thread](help/database/db_thread) | |
|
| [thread](help/database/db_thread) | |
|
||||||
| [tokens](help/database/db_tokens) | OAuth usage |
|
| [tokens](help/database/db_tokens) | OAuth usage |
|
||||||
| [unique_contacts](help/database/db_unique_contacts) | |
|
|
||||||
| [user](help/database/db_user) | local user table |
|
| [user](help/database/db_user) | local user table |
|
||||||
| [userd](help/database/db_userd) | |
|
| [userd](help/database/db_userd) | |
|
||||||
| [workerqueue](help/database/db_workerqueue) | |
|
| [workerqueue](help/database/db_workerqueue) | |
|
||||||
|
|
|
@ -18,9 +18,14 @@ Table gcontact
|
||||||
| about | | text | NO | | NULL | |
|
| about | | text | NO | | NULL | |
|
||||||
| keywords | puplic keywords (interests) | text | NO | | NULL | |
|
| keywords | puplic keywords (interests) | text | NO | | NULL | |
|
||||||
| gender | | varchar(32) | NO | | | |
|
| gender | | varchar(32) | NO | | | |
|
||||||
|
| birthday | | varchar(32) | NO | | 0000-00-00 | |
|
||||||
| community | 1 if contact is forum account | tinyint(1) | NO | | 0 | |
|
| community | 1 if contact is forum account | tinyint(1) | NO | | 0 | |
|
||||||
|
| hide | 1 = should be hidden from search | tinyint(1) | NO | | 0 | |
|
||||||
|
| nsfw | 1 = contact posts nsfw content | tinyint(1) | NO | | 0 | |
|
||||||
| network | social network protocol | varchar(255) | NO | | | |
|
| network | social network protocol | varchar(255) | NO | | | |
|
||||||
| addr | | varchar(255) | NO | | | |
|
| addr | | varchar(255) | NO | | | |
|
||||||
|
| notify | | text | NO | | | |
|
||||||
|
| alias | | varchar(255) | NO | | | |
|
||||||
| generation | | tinyint(3) | NO | | 0 | |
|
| generation | | tinyint(3) | NO | | 0 | |
|
||||||
| server_url | baseurl of the contacts server | varchar(255) | NO | | | |
|
| server_url | baseurl of the contacts server | varchar(255) | NO | | | |
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,7 @@ Table item
|
||||||
| uri | | varchar(255) | NO | MUL | | |
|
| uri | | varchar(255) | NO | MUL | | |
|
||||||
| uid | user.id which owns this copy of the item | int(10) unsigned | NO | MUL | 0 | |
|
| uid | user.id which owns this copy of the item | int(10) unsigned | NO | MUL | 0 | |
|
||||||
| contact-id | contact.id | int(11) | NO | MUL | 0 | |
|
| contact-id | contact.id | int(11) | NO | MUL | 0 | |
|
||||||
|
| gcontact-id | ID of the global contact | int(11) | NO | MUL | 0 | |
|
||||||
| type | | varchar(255) | NO | | | |
|
| type | | varchar(255) | NO | | | |
|
||||||
| wall | This item was posted to the wall of uid | tinyint(1) | NO | MUL | 0 | |
|
| wall | This item was posted to the wall of uid | tinyint(1) | NO | MUL | 0 | |
|
||||||
| gravity | | tinyint(1) | NO | | 0 | |
|
| gravity | | tinyint(1) | NO | | 0 | |
|
||||||
|
|
|
@ -1,30 +1,31 @@
|
||||||
Table thread
|
Table thread
|
||||||
============
|
============
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
| Field | Description | Type | Null | Key | Default | Extra |
|
||||||
|------------|------------------|------------------|------|-----|---------------------|-------|
|
|-------------|------------------|------------------|------|-----|---------------------|-------|
|
||||||
| iid | sequential ID | int(10) unsigned | NO | PRI | 0 | |
|
| iid | sequential ID | int(10) unsigned | NO | PRI | 0 | |
|
||||||
| uid | | int(10) unsigned | NO | MUL | 0 | |
|
| uid | | int(10) unsigned | NO | MUL | 0 | |
|
||||||
| contact-id | | int(11) unsigned | NO | | 0 | |
|
| contact-id | | int(11) unsigned | NO | | 0 | |
|
||||||
| created | | datetime | NO | MUL | 0000-00-00 00:00:00 | |
|
| gcontact-id | Global Contact | int(11) unsigned | NO | | 0 | |
|
||||||
| edited | | datetime | NO | | 0000-00-00 00:00:00 | |
|
| created | | datetime | NO | MUL | 0000-00-00 00:00:00 | |
|
||||||
| commented | | datetime | NO | MUL | 0000-00-00 00:00:00 | |
|
| edited | | datetime | NO | | 0000-00-00 00:00:00 | |
|
||||||
| received | | datetime | NO | | 0000-00-00 00:00:00 | |
|
| commented | | datetime | NO | MUL | 0000-00-00 00:00:00 | |
|
||||||
| changed | | datetime | NO | | 0000-00-00 00:00:00 | |
|
| received | | datetime | NO | | 0000-00-00 00:00:00 | |
|
||||||
| wall | | tinyint(1) | NO | MUL | 0 | |
|
| changed | | datetime | NO | | 0000-00-00 00:00:00 | |
|
||||||
| private | | tinyint(1) | NO | | 0 | |
|
| wall | | tinyint(1) | NO | MUL | 0 | |
|
||||||
| pubmail | | tinyint(1) | NO | | 0 | |
|
| private | | tinyint(1) | NO | | 0 | |
|
||||||
| moderated | | tinyint(1) | NO | | 0 | |
|
| pubmail | | tinyint(1) | NO | | 0 | |
|
||||||
| visible | | tinyint(1) | NO | | 0 | |
|
| moderated | | tinyint(1) | NO | | 0 | |
|
||||||
| spam | | tinyint(1) | NO | | 0 | |
|
| visible | | tinyint(1) | NO | | 0 | |
|
||||||
| starred | | tinyint(1) | NO | | 0 | |
|
| spam | | tinyint(1) | NO | | 0 | |
|
||||||
| ignored | | tinyint(1) | NO | | 0 | |
|
| starred | | tinyint(1) | NO | | 0 | |
|
||||||
| bookmark | | tinyint(1) | NO | | 0 | |
|
| ignored | | tinyint(1) | NO | | 0 | |
|
||||||
| unseen | | tinyint(1) | NO | | 1 | |
|
| bookmark | | tinyint(1) | NO | | 0 | |
|
||||||
| deleted | | tinyint(1) | NO | | 0 | |
|
| unseen | | tinyint(1) | NO | | 1 | |
|
||||||
| origin | | tinyint(1) | NO | | 0 | |
|
| deleted | | tinyint(1) | NO | | 0 | |
|
||||||
| forum_mode | | tinyint(1) | NO | | 0 | |
|
| origin | | tinyint(1) | NO | | 0 | |
|
||||||
| mention | | tinyint(1) | NO | | 0 | |
|
| forum_mode | | tinyint(1) | NO | | 0 | |
|
||||||
| network | | varchar(32) | NO | | | |
|
| mention | | tinyint(1) | NO | | 0 | |
|
||||||
|
| network | | varchar(32) | NO | | | |
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
Return to [database documentation](help/database)
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
Table unique_contacts
|
|
||||||
=====================
|
|
||||||
|
|
||||||
| Field | Description | Type | Null | Key | Default | Extra |
|
|
||||||
|----------|------------------|--------------|------|-----|---------|----------------|
|
|
||||||
| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment |
|
|
||||||
| url | | varchar(255) | NO | MUL | | |
|
|
||||||
| nick | | varchar(255) | NO | | | |
|
|
||||||
| name | | varchar(255) | NO | | | |
|
|
||||||
| avatar | | varchar(255) | NO | | | |
|
|
||||||
| location | | varchar(255) | NO | | | |
|
|
||||||
| about | | text | NO | | NULL | |
|
|
||||||
|
|
||||||
Return to [database documentation](help/database)
|
|
|
@ -1657,35 +1657,6 @@ LOCK TABLES `tokens` WRITE;
|
||||||
/*!40000 ALTER TABLE `tokens` ENABLE KEYS */;
|
/*!40000 ALTER TABLE `tokens` ENABLE KEYS */;
|
||||||
UNLOCK TABLES;
|
UNLOCK TABLES;
|
||||||
|
|
||||||
--
|
|
||||||
-- Table structure for table `unique_contacts`
|
|
||||||
--
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `unique_contacts`;
|
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
|
||||||
CREATE TABLE `unique_contacts` (
|
|
||||||
`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`),
|
|
||||||
KEY `url` (`url`)
|
|
||||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
|
||||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
|
||||||
|
|
||||||
--
|
|
||||||
-- Dumping data for table `unique_contacts`
|
|
||||||
--
|
|
||||||
|
|
||||||
LOCK TABLES `unique_contacts` WRITE;
|
|
||||||
/*!40000 ALTER TABLE `unique_contacts` DISABLE KEYS */;
|
|
||||||
/*!40000 ALTER TABLE `unique_contacts` ENABLE KEYS */;
|
|
||||||
UNLOCK TABLES;
|
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Table structure for table `user`
|
-- Table structure for table `user`
|
||||||
--
|
--
|
||||||
|
|
|
@ -205,19 +205,6 @@ function get_contact_details_by_url($url, $uid = -1) {
|
||||||
if ((($profile["addr"] == "") OR ($profile["name"] == "")) AND
|
if ((($profile["addr"] == "") OR ($profile["name"] == "")) AND
|
||||||
in_array($profile["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS)))
|
in_array($profile["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS)))
|
||||||
proc_run('php',"include/update_gcontact.php", $profile["gid"]);
|
proc_run('php',"include/update_gcontact.php", $profile["gid"]);
|
||||||
|
|
||||||
} else {
|
|
||||||
$r = q("SELECT `url`, `name`, `nick`, `avatar` AS `photo`, `location`, `about` FROM `unique_contacts` WHERE `url` = '%s'",
|
|
||||||
dbesc(normalise_link($url)));
|
|
||||||
|
|
||||||
if (count($r)) {
|
|
||||||
$profile = $r[0];
|
|
||||||
$profile["keywords"] = "";
|
|
||||||
$profile["gender"] = "";
|
|
||||||
$profile["community"] = false;
|
|
||||||
$profile["network"] = "";
|
|
||||||
$profile["addr"] = "";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fetching further contact data from the contact table
|
// Fetching further contact data from the contact table
|
||||||
|
@ -415,6 +402,7 @@ function get_contact($url, $uid = 0) {
|
||||||
$contactid = 0;
|
$contactid = 0;
|
||||||
|
|
||||||
// is it an address in the format user@server.tld?
|
// is it an address in the format user@server.tld?
|
||||||
|
/// @todo use gcontact and/or the addr field for a lookup
|
||||||
if (!strstr($url, "http") OR strstr($url, "@")) {
|
if (!strstr($url, "http") OR strstr($url, "@")) {
|
||||||
$data = probe_url($url);
|
$data = probe_url($url);
|
||||||
$url = $data["url"];
|
$url = $data["url"];
|
||||||
|
@ -513,3 +501,165 @@ function get_contact($url, $uid = 0) {
|
||||||
|
|
||||||
return $contactid;
|
return $contactid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Returns posts from a given gcontact
|
||||||
|
*
|
||||||
|
* @param App $a argv application class
|
||||||
|
* @param int $gcontact_id Global contact
|
||||||
|
*
|
||||||
|
* @return string posts in HTML
|
||||||
|
*/
|
||||||
|
function posts_from_gcontact($a, $gcontact_id) {
|
||||||
|
|
||||||
|
require_once('include/conversation.php');
|
||||||
|
|
||||||
|
// There are no posts with "uid = 0" with connector networks
|
||||||
|
// This speeds up the query a lot
|
||||||
|
$r = q("SELECT `network` FROM `gcontact` WHERE `id` = %d", dbesc($gcontact_id));
|
||||||
|
if (in_array($r[0]["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS, "")))
|
||||||
|
$sql = "(`item`.`uid` = 0 OR (`item`.`uid` = %d AND `item`.`private`))";
|
||||||
|
else
|
||||||
|
$sql = "`item`.`uid` = %d";
|
||||||
|
|
||||||
|
if(get_config('system', 'old_pager')) {
|
||||||
|
$r = q("SELECT COUNT(*) AS `total` FROM `item`
|
||||||
|
WHERE `gcontact-id` = %d and $sql",
|
||||||
|
intval($gcontact_id),
|
||||||
|
intval(local_user()));
|
||||||
|
|
||||||
|
$a->set_pager_total($r[0]['total']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$r = q("SELECT `item`.`uri`, `item`.*, `item`.`id` AS `item_id`,
|
||||||
|
`author-name` AS `name`, `owner-avatar` AS `photo`,
|
||||||
|
`owner-link` AS `url`, `owner-avatar` AS `thumb`
|
||||||
|
FROM `item` FORCE INDEX (`gcontactid_uid_created`)
|
||||||
|
WHERE `gcontact-id` = %d AND $sql AND
|
||||||
|
NOT `deleted` AND NOT `moderated` AND `visible`
|
||||||
|
ORDER BY `item`.`created` DESC LIMIT %d, %d",
|
||||||
|
intval($gcontact_id),
|
||||||
|
intval(local_user()),
|
||||||
|
intval($a->pager['start']),
|
||||||
|
intval($a->pager['itemspage'])
|
||||||
|
);
|
||||||
|
|
||||||
|
$o = conversation($a,$r,'community',false);
|
||||||
|
|
||||||
|
if(!get_config('system', 'old_pager')) {
|
||||||
|
$o .= alt_pager($a,count($r));
|
||||||
|
} else {
|
||||||
|
$o .= paginate($a);
|
||||||
|
}
|
||||||
|
|
||||||
|
return $o;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief set the gcontact-id in all item entries
|
||||||
|
*
|
||||||
|
* This job has to be started multiple times until all entries are set.
|
||||||
|
* It isn't started in the update function since it would consume too much time and can be done in the background.
|
||||||
|
*/
|
||||||
|
function item_set_gcontact() {
|
||||||
|
define ('POST_UPDATE_VERSION', 1192);
|
||||||
|
|
||||||
|
// Was the script completed?
|
||||||
|
if (get_config("system", "post_update_version") >= POST_UPDATE_VERSION)
|
||||||
|
return;
|
||||||
|
|
||||||
|
// Check if the first step is done (Setting "gcontact-id" in the item table)
|
||||||
|
$r = q("SELECT `author-link`, `author-name`, `author-avatar`, `uid`, `network` FROM `item` WHERE `gcontact-id` = 0 LIMIT 1000");
|
||||||
|
if (!$r) {
|
||||||
|
// Are there unfinished entries in the thread table?
|
||||||
|
$r = q("SELECT COUNT(*) AS `total` FROM `thread`
|
||||||
|
INNER JOIN `item` ON `item`.`id` =`thread`.`iid`
|
||||||
|
WHERE `thread`.`gcontact-id` = 0 AND
|
||||||
|
(`thread`.`uid` IN (SELECT `uid` from `user`) OR `thread`.`uid` = 0)");
|
||||||
|
|
||||||
|
if ($r AND ($r[0]["total"] == 0)) {
|
||||||
|
set_config("system", "post_update_version", POST_UPDATE_VERSION);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update the thread table from the item table
|
||||||
|
q("UPDATE `thread` INNER JOIN `item` ON `item`.`id`=`thread`.`iid`
|
||||||
|
SET `thread`.`gcontact-id` = `item`.`gcontact-id`
|
||||||
|
WHERE `thread`.`gcontact-id` = 0 AND
|
||||||
|
(`thread`.`uid` IN (SELECT `uid` from `user`) OR `thread`.`uid` = 0)");
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$item_arr = array();
|
||||||
|
foreach ($r AS $item) {
|
||||||
|
$index = $item["author-link"]."-".$item["uid"];
|
||||||
|
$item_arr[$index] = array("author-link" => $item["author-link"],
|
||||||
|
"uid" => $item["uid"],
|
||||||
|
"network" => $item["network"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Set the "gcontact-id" in the item table and add a new gcontact entry if needed
|
||||||
|
foreach($item_arr AS $item) {
|
||||||
|
$gcontact_id = get_gcontact_id(array("url" => $item['author-link'], "network" => $item['network'],
|
||||||
|
"photo" => $item['author-avatar'], "name" => $item['author-name']));
|
||||||
|
q("UPDATE `item` SET `gcontact-id` = %d WHERE `uid` = %d AND `author-link` = '%s' AND `gcontact-id` = 0",
|
||||||
|
intval($gcontact_id), intval($item["uid"]), dbesc($item["author-link"]));
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Returns posts from a given contact
|
||||||
|
*
|
||||||
|
* @param App $a argv application class
|
||||||
|
* @param int $contact_id contact
|
||||||
|
*
|
||||||
|
* @return string posts in HTML
|
||||||
|
*/
|
||||||
|
function posts_from_contact($a, $contact_id) {
|
||||||
|
|
||||||
|
require_once('include/conversation.php');
|
||||||
|
|
||||||
|
$r = q("SELECT `url` FROM `contact` WHERE `id` = %d", intval($contact_id));
|
||||||
|
if (!$r)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
$contact = $r[0];
|
||||||
|
|
||||||
|
if(get_config('system', 'old_pager')) {
|
||||||
|
$r = q("SELECT COUNT(*) AS `total` FROM `item`
|
||||||
|
WHERE `item`.`uid` = %d AND `author-link` IN ('%s', '%s')",
|
||||||
|
intval(local_user()),
|
||||||
|
dbesc(str_replace("https://", "http://", $contact["url"])),
|
||||||
|
dbesc(str_replace("http://", "https://", $contact["url"])));
|
||||||
|
|
||||||
|
$a->set_pager_total($r[0]['total']);
|
||||||
|
}
|
||||||
|
|
||||||
|
$r = q("SELECT `item`.`uri`, `item`.*, `item`.`id` AS `item_id`,
|
||||||
|
`author-name` AS `name`, `owner-avatar` AS `photo`,
|
||||||
|
`owner-link` AS `url`, `owner-avatar` AS `thumb`
|
||||||
|
FROM `item` FORCE INDEX (`uid_contactid_created`)
|
||||||
|
WHERE `item`.`uid` = %d AND `contact-id` = %d
|
||||||
|
AND `author-link` IN ('%s', '%s')
|
||||||
|
AND NOT `deleted` AND NOT `moderated` AND `visible`
|
||||||
|
ORDER BY `item`.`created` DESC LIMIT %d, %d",
|
||||||
|
intval(local_user()),
|
||||||
|
intval($contact_id),
|
||||||
|
dbesc(str_replace("https://", "http://", $contact["url"])),
|
||||||
|
dbesc(str_replace("http://", "https://", $contact["url"])),
|
||||||
|
intval($a->pager['start']),
|
||||||
|
intval($a->pager['itemspage'])
|
||||||
|
);
|
||||||
|
|
||||||
|
$o .= conversation($a,$r,'community',false);
|
||||||
|
|
||||||
|
if(!get_config('system', 'old_pager'))
|
||||||
|
$o .= alt_pager($a,count($r));
|
||||||
|
else
|
||||||
|
$o .= paginate($a);
|
||||||
|
|
||||||
|
return $o;
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
|
@ -407,7 +407,7 @@ function acl_lookup(&$a, $out_type = 'json') {
|
||||||
$search = $_REQUEST['query'];
|
$search = $_REQUEST['query'];
|
||||||
}
|
}
|
||||||
|
|
||||||
// logger("Searching for ".$search." - type ".$type, LOGGER_DEBUG);
|
logger("Searching for ".$search." - type ".$type, LOGGER_DEBUG);
|
||||||
|
|
||||||
if ($search!=""){
|
if ($search!=""){
|
||||||
$sql_extra = "AND `name` LIKE '%%".dbesc($search)."%%'";
|
$sql_extra = "AND `name` LIKE '%%".dbesc($search)."%%'";
|
||||||
|
@ -503,7 +503,7 @@ function acl_lookup(&$a, $out_type = 'json') {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($type=='' || $type=='c'){
|
if ($type==''){
|
||||||
|
|
||||||
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, forum FROM `contact`
|
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, forum FROM `contact`
|
||||||
WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `notify` != ''
|
WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `notify` != ''
|
||||||
|
@ -514,6 +514,17 @@ function acl_lookup(&$a, $out_type = 'json') {
|
||||||
dbesc(NETWORK_OSTATUS), dbesc(NETWORK_STATUSNET)
|
dbesc(NETWORK_OSTATUS), dbesc(NETWORK_STATUSNET)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
elseif ($type=='c'){
|
||||||
|
|
||||||
|
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, forum FROM `contact`
|
||||||
|
WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `notify` != ''
|
||||||
|
AND NOT (`network` IN ('%s'))
|
||||||
|
$sql_extra2
|
||||||
|
ORDER BY `name` ASC ",
|
||||||
|
intval(local_user()),
|
||||||
|
dbesc(NETWORK_STATUSNET)
|
||||||
|
);
|
||||||
|
}
|
||||||
elseif($type == 'm') {
|
elseif($type == 'm') {
|
||||||
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact`
|
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact`
|
||||||
WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0
|
WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0
|
||||||
|
|
|
@ -393,7 +393,7 @@
|
||||||
* Contact url or False if contact id is unknown
|
* Contact url or False if contact id is unknown
|
||||||
*/
|
*/
|
||||||
function api_unique_id_to_url($id){
|
function api_unique_id_to_url($id){
|
||||||
$r = q("SELECT `url` FROM `unique_contacts` WHERE `id`=%d LIMIT 1",
|
$r = q("SELECT `url` FROM `gcontact` WHERE `id`=%d LIMIT 1",
|
||||||
intval($id));
|
intval($id));
|
||||||
if ($r)
|
if ($r)
|
||||||
return ($r[0]["url"]);
|
return ($r[0]["url"]);
|
||||||
|
@ -503,9 +503,7 @@
|
||||||
$r = array();
|
$r = array();
|
||||||
|
|
||||||
if ($url != "")
|
if ($url != "")
|
||||||
$r = q("SELECT * FROM `unique_contacts` WHERE `url`='%s' LIMIT 1", $url);
|
$r = q("SELECT * FROM `gcontact` WHERE `nurl`='%s' LIMIT 1", dbesc(normalise_link($url)));
|
||||||
elseif ($nick != "")
|
|
||||||
$r = q("SELECT * FROM `unique_contacts` WHERE `nick`='%s' LIMIT 1", $nick);
|
|
||||||
|
|
||||||
if ($r) {
|
if ($r) {
|
||||||
// If no nick where given, extract it from the address
|
// If no nick where given, extract it from the address
|
||||||
|
@ -517,14 +515,14 @@
|
||||||
'id_str' => (string) $r[0]["id"],
|
'id_str' => (string) $r[0]["id"],
|
||||||
'name' => $r[0]["name"],
|
'name' => $r[0]["name"],
|
||||||
'screen_name' => (($r[0]['nick']) ? $r[0]['nick'] : $r[0]['name']),
|
'screen_name' => (($r[0]['nick']) ? $r[0]['nick'] : $r[0]['name']),
|
||||||
'location' => NULL,
|
'location' => $r[0]["location"],
|
||||||
'description' => NULL,
|
'description' => $r[0]["about"],
|
||||||
'url' => $r[0]["url"],
|
'url' => $r[0]["url"],
|
||||||
'protected' => false,
|
'protected' => false,
|
||||||
'followers_count' => 0,
|
'followers_count' => 0,
|
||||||
'friends_count' => 0,
|
'friends_count' => 0,
|
||||||
'listed_count' => 0,
|
'listed_count' => 0,
|
||||||
'created_at' => api_date(0),
|
'created_at' => api_date($r[0]["created"]),
|
||||||
'favourites_count' => 0,
|
'favourites_count' => 0,
|
||||||
'utc_offset' => 0,
|
'utc_offset' => 0,
|
||||||
'time_zone' => 'UTC',
|
'time_zone' => 'UTC',
|
||||||
|
@ -535,8 +533,8 @@
|
||||||
'contributors_enabled' => false,
|
'contributors_enabled' => false,
|
||||||
'is_translator' => false,
|
'is_translator' => false,
|
||||||
'is_translation_enabled' => false,
|
'is_translation_enabled' => false,
|
||||||
'profile_image_url' => $r[0]["avatar"],
|
'profile_image_url' => $r[0]["photo"],
|
||||||
'profile_image_url_https' => $r[0]["avatar"],
|
'profile_image_url_https' => $r[0]["photo"],
|
||||||
'following' => false,
|
'following' => false,
|
||||||
'follow_request_sent' => false,
|
'follow_request_sent' => false,
|
||||||
'notifications' => false,
|
'notifications' => false,
|
||||||
|
@ -546,7 +544,7 @@
|
||||||
'uid' => 0,
|
'uid' => 0,
|
||||||
'cid' => 0,
|
'cid' => 0,
|
||||||
'self' => 0,
|
'self' => 0,
|
||||||
'network' => '',
|
'network' => $r[0]["network"],
|
||||||
);
|
);
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
|
@ -617,22 +615,14 @@
|
||||||
$uinfo[0]['nick'] = api_get_nick($uinfo[0]["url"]);
|
$uinfo[0]['nick'] = api_get_nick($uinfo[0]["url"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fetching unique id
|
|
||||||
$r = q("SELECT id FROM `unique_contacts` WHERE `url`='%s' LIMIT 1", dbesc(normalise_link($uinfo[0]['url'])));
|
|
||||||
|
|
||||||
// If not there, then add it
|
|
||||||
if (count($r) == 0) {
|
|
||||||
q("INSERT INTO `unique_contacts` (`url`, `name`, `nick`, `avatar`) VALUES ('%s', '%s', '%s', '%s')",
|
|
||||||
dbesc(normalise_link($uinfo[0]['url'])), dbesc($uinfo[0]['name']),dbesc($uinfo[0]['nick']), dbesc($uinfo[0]['micro']));
|
|
||||||
|
|
||||||
$r = q("SELECT `id` FROM `unique_contacts` WHERE `url`='%s' LIMIT 1", dbesc(normalise_link($uinfo[0]['url'])));
|
|
||||||
}
|
|
||||||
|
|
||||||
$network_name = network_to_name($uinfo[0]['network'], $uinfo[0]['url']);
|
$network_name = network_to_name($uinfo[0]['network'], $uinfo[0]['url']);
|
||||||
|
|
||||||
|
$gcontact_id = get_gcontact_id(array("url" => $uinfo[0]['url'], "network" => $uinfo[0]['network'],
|
||||||
|
"photo" => $uinfo[0]['micro'], "name" => $uinfo[0]['name']));
|
||||||
|
|
||||||
$ret = Array(
|
$ret = Array(
|
||||||
'id' => intval($r[0]['id']),
|
'id' => intval($gcontact_id),
|
||||||
'id_str' => (string) intval($r[0]['id']),
|
'id_str' => (string) intval($gcontact_id),
|
||||||
'name' => (($uinfo[0]['name']) ? $uinfo[0]['name'] : $uinfo[0]['nick']),
|
'name' => (($uinfo[0]['name']) ? $uinfo[0]['name'] : $uinfo[0]['nick']),
|
||||||
'screen_name' => (($uinfo[0]['nick']) ? $uinfo[0]['nick'] : $uinfo[0]['name']),
|
'screen_name' => (($uinfo[0]['nick']) ? $uinfo[0]['nick'] : $uinfo[0]['name']),
|
||||||
'location' => ($usr) ? $usr[0]['default-location'] : $network_name,
|
'location' => ($usr) ? $usr[0]['default-location'] : $network_name,
|
||||||
|
@ -666,45 +656,12 @@
|
||||||
|
|
||||||
function api_item_get_user(&$a, $item) {
|
function api_item_get_user(&$a, $item) {
|
||||||
|
|
||||||
$author = q("SELECT * FROM `unique_contacts` WHERE `url`='%s' LIMIT 1",
|
// Make sure that there is an entry in the global contacts for author and owner
|
||||||
dbesc(normalise_link($item['author-link'])));
|
get_gcontact_id(array("url" => $item['author-link'], "network" => $item['network'],
|
||||||
|
"photo" => $item['author-avatar'], "name" => $item['author-name']));
|
||||||
|
|
||||||
if (count($author) == 0) {
|
get_gcontact_id(array("url" => $item['owner-link'], "network" => $item['network'],
|
||||||
q("INSERT INTO `unique_contacts` (`url`, `name`, `avatar`) VALUES ('%s', '%s', '%s')",
|
"photo" => $item['owner-avatar'], "name" => $item['owner-name']));
|
||||||
dbesc(normalise_link($item["author-link"])), dbesc($item["author-name"]), dbesc($item["author-avatar"]));
|
|
||||||
|
|
||||||
$author = q("SELECT `id` FROM `unique_contacts` WHERE `url`='%s' LIMIT 1",
|
|
||||||
dbesc(normalise_link($item['author-link'])));
|
|
||||||
} else if ($item["author-link"].$item["author-name"] != $author[0]["url"].$author[0]["name"]) {
|
|
||||||
$r = q("SELECT `id` FROM `unique_contacts` WHERE `name` = '%s' AND `avatar` = '%s' AND url = '%s'",
|
|
||||||
dbesc($item["author-name"]), dbesc($item["author-avatar"]),
|
|
||||||
dbesc(normalise_link($item["author-link"])));
|
|
||||||
|
|
||||||
if (!$r)
|
|
||||||
q("UPDATE `unique_contacts` SET `name` = '%s', `avatar` = '%s' WHERE `url` = '%s'",
|
|
||||||
dbesc($item["author-name"]), dbesc($item["author-avatar"]),
|
|
||||||
dbesc(normalise_link($item["author-link"])));
|
|
||||||
}
|
|
||||||
|
|
||||||
$owner = q("SELECT `id` FROM `unique_contacts` WHERE `url`='%s' LIMIT 1",
|
|
||||||
dbesc(normalise_link($item['owner-link'])));
|
|
||||||
|
|
||||||
if (count($owner) == 0) {
|
|
||||||
q("INSERT INTO `unique_contacts` (`url`, `name`, `avatar`) VALUES ('%s', '%s', '%s')",
|
|
||||||
dbesc(normalise_link($item["owner-link"])), dbesc($item["owner-name"]), dbesc($item["owner-avatar"]));
|
|
||||||
|
|
||||||
$owner = q("SELECT `id` FROM `unique_contacts` WHERE `url`='%s' LIMIT 1",
|
|
||||||
dbesc(normalise_link($item['owner-link'])));
|
|
||||||
} else if ($item["owner-link"].$item["owner-name"] != $owner[0]["url"].$owner[0]["name"]) {
|
|
||||||
$r = q("SELECT `id` FROM `unique_contacts` WHERE `name` = '%s' AND `avatar` = '%s' AND url = '%s'",
|
|
||||||
dbesc($item["owner-name"]), dbesc($item["owner-avatar"]),
|
|
||||||
dbesc(normalise_link($item["owner-link"])));
|
|
||||||
|
|
||||||
if (!$r)
|
|
||||||
q("UPDATE `unique_contacts` SET `name` = '%s', `avatar` = '%s' WHERE `url` = '%s'",
|
|
||||||
dbesc($item["owner-name"]), dbesc($item["owner-avatar"]),
|
|
||||||
dbesc(normalise_link($item["owner-link"])));
|
|
||||||
}
|
|
||||||
|
|
||||||
// Comments in threads may appear as wall-to-wall postings.
|
// Comments in threads may appear as wall-to-wall postings.
|
||||||
// So only take the owner at the top posting.
|
// So only take the owner at the top posting.
|
||||||
|
@ -1073,7 +1030,7 @@
|
||||||
$in_reply_to_status_id= intval($lastwall['parent']);
|
$in_reply_to_status_id= intval($lastwall['parent']);
|
||||||
$in_reply_to_status_id_str = (string) intval($lastwall['parent']);
|
$in_reply_to_status_id_str = (string) intval($lastwall['parent']);
|
||||||
|
|
||||||
$r = q("SELECT * FROM `unique_contacts` WHERE `url` = '%s'", dbesc(normalise_link($lastwall['item-author'])));
|
$r = q("SELECT * FROM `gcontact` WHERE `nurl` = '%s'", dbesc(normalise_link($lastwall['item-author'])));
|
||||||
if ($r) {
|
if ($r) {
|
||||||
if ($r[0]['nick'] == "")
|
if ($r[0]['nick'] == "")
|
||||||
$r[0]['nick'] = api_get_nick($r[0]["url"]);
|
$r[0]['nick'] = api_get_nick($r[0]["url"]);
|
||||||
|
@ -1195,7 +1152,7 @@
|
||||||
$in_reply_to_status_id = intval($lastwall['parent']);
|
$in_reply_to_status_id = intval($lastwall['parent']);
|
||||||
$in_reply_to_status_id_str = (string) intval($lastwall['parent']);
|
$in_reply_to_status_id_str = (string) intval($lastwall['parent']);
|
||||||
|
|
||||||
$r = q("SELECT * FROM `unique_contacts` WHERE `url` = '%s'", dbesc(normalise_link($reply[0]['item-author'])));
|
$r = q("SELECT * FROM `gcontact` WHERE `nurl` = '%s'", dbesc(normalise_link($reply[0]['item-author'])));
|
||||||
if ($r) {
|
if ($r) {
|
||||||
if ($r[0]['nick'] == "")
|
if ($r[0]['nick'] == "")
|
||||||
$r[0]['nick'] = api_get_nick($r[0]["url"]);
|
$r[0]['nick'] = api_get_nick($r[0]["url"]);
|
||||||
|
@ -1256,9 +1213,9 @@
|
||||||
$userlist = array();
|
$userlist = array();
|
||||||
|
|
||||||
if (isset($_GET["q"])) {
|
if (isset($_GET["q"])) {
|
||||||
$r = q("SELECT id FROM `unique_contacts` WHERE `name`='%s'", dbesc($_GET["q"]));
|
$r = q("SELECT id FROM `gcontact` WHERE `name`='%s'", dbesc($_GET["q"]));
|
||||||
if (!count($r))
|
if (!count($r))
|
||||||
$r = q("SELECT `id` FROM `unique_contacts` WHERE `nick`='%s'", dbesc($_GET["q"]));
|
$r = q("SELECT `id` FROM `gcontact` WHERE `nick`='%s'", dbesc($_GET["q"]));
|
||||||
|
|
||||||
if (count($r)) {
|
if (count($r)) {
|
||||||
foreach ($r AS $user) {
|
foreach ($r AS $user) {
|
||||||
|
@ -2341,7 +2298,7 @@
|
||||||
intval(api_user()),
|
intval(api_user()),
|
||||||
intval($in_reply_to_status_id));
|
intval($in_reply_to_status_id));
|
||||||
if ($r) {
|
if ($r) {
|
||||||
$r = q("SELECT * FROM `unique_contacts` WHERE `url` = '%s'", dbesc(normalise_link($r[0]['author-link'])));
|
$r = q("SELECT * FROM `gcontact` WHERE `url` = '%s'", dbesc(normalise_link($r[0]['author-link'])));
|
||||||
|
|
||||||
if ($r) {
|
if ($r) {
|
||||||
if ($r[0]['nick'] == "")
|
if ($r[0]['nick'] == "")
|
||||||
|
@ -2596,7 +2553,7 @@
|
||||||
|
|
||||||
$stringify_ids = (x($_REQUEST,'stringify_ids')?$_REQUEST['stringify_ids']:false);
|
$stringify_ids = (x($_REQUEST,'stringify_ids')?$_REQUEST['stringify_ids']:false);
|
||||||
|
|
||||||
$r = q("SELECT `unique_contacts`.`id` FROM `contact`, `unique_contacts` WHERE `contact`.`nurl` = `unique_contacts`.`url` AND `uid` = %d AND NOT `self` AND NOT `blocked` AND NOT `pending` $sql_extra",
|
$r = q("SELECT `gcontact`.`id` FROM `contact`, `gcontact` WHERE `contact`.`nurl` = `gcontact`.`nurl` AND `uid` = %d AND NOT `self` AND NOT `blocked` AND NOT `pending` $sql_extra",
|
||||||
intval(api_user())
|
intval(api_user())
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -3094,11 +3051,8 @@
|
||||||
|
|
||||||
//}
|
//}
|
||||||
|
|
||||||
if ($nick != "") {
|
if ($nick != "")
|
||||||
q("UPDATE `unique_contacts` SET `nick` = '%s' WHERE `nick` != '%s' AND url = '%s'",
|
|
||||||
dbesc($nick), dbesc($nick), dbesc(normalise_link($profile)));
|
|
||||||
return($nick);
|
return($nick);
|
||||||
}
|
|
||||||
|
|
||||||
return(false);
|
return(false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ require_once("include/oembed.php");
|
||||||
require_once('include/event.php');
|
require_once('include/event.php');
|
||||||
require_once('include/map.php');
|
require_once('include/map.php');
|
||||||
require_once('mod/proxy.php');
|
require_once('mod/proxy.php');
|
||||||
|
require_once('include/Contact.php');
|
||||||
|
|
||||||
function bb_PictureCacheExt($matches) {
|
function bb_PictureCacheExt($matches) {
|
||||||
if (strpos($matches[3], "data:image/") === 0)
|
if (strpos($matches[3], "data:image/") === 0)
|
||||||
|
@ -541,8 +542,23 @@ function bb_ShareAttributes($share, $simplehtml) {
|
||||||
$reldate = (($posted) ? " " . relative_date($posted) : '');
|
$reldate = (($posted) ? " " . relative_date($posted) : '');
|
||||||
}
|
}
|
||||||
|
|
||||||
$userid = GetProfileUsername($profile,$author, false);
|
$data = get_contact_details_by_url($profile);
|
||||||
$userid_compact = GetProfileUsername($profile,$author, true);
|
|
||||||
|
if (isset($data["name"]) AND isset($data["addr"]))
|
||||||
|
$userid_compact = $data["name"]." (".$data["addr"].")";
|
||||||
|
else
|
||||||
|
$userid_compact = GetProfileUsername($profile,$author, true);
|
||||||
|
|
||||||
|
if (isset($data["addr"]))
|
||||||
|
$userid = $data["addr"];
|
||||||
|
else
|
||||||
|
$userid = GetProfileUsername($profile,$author, false);
|
||||||
|
|
||||||
|
if (isset($data["name"]))
|
||||||
|
$author = $data["name"];
|
||||||
|
|
||||||
|
if (isset($data["photo"]))
|
||||||
|
$avatar = $data["photo"];
|
||||||
|
|
||||||
$preshare = trim($share[1]);
|
$preshare = trim($share[1]);
|
||||||
|
|
||||||
|
|
|
@ -133,9 +133,8 @@ function cron_run(&$argv, &$argc){
|
||||||
// Check every conversation
|
// Check every conversation
|
||||||
check_conversations(false);
|
check_conversations(false);
|
||||||
|
|
||||||
// Follow your friends from your legacy OStatus account
|
// Set the gcontact-id in the item table if missing
|
||||||
// Doesn't work
|
item_set_gcontact();
|
||||||
// ostatus_check_follow_friends();
|
|
||||||
|
|
||||||
// update nodeinfo data
|
// update nodeinfo data
|
||||||
nodeinfo_cron();
|
nodeinfo_cron();
|
||||||
|
|
|
@ -666,9 +666,14 @@ function db_definition() {
|
||||||
"about" => array("type" => "text", "not null" => "1"),
|
"about" => array("type" => "text", "not null" => "1"),
|
||||||
"keywords" => array("type" => "text", "not null" => "1"),
|
"keywords" => array("type" => "text", "not null" => "1"),
|
||||||
"gender" => array("type" => "varchar(32)", "not null" => "1", "default" => ""),
|
"gender" => array("type" => "varchar(32)", "not null" => "1", "default" => ""),
|
||||||
|
"birthday" => array("type" => "varchar(32)", "not null" => "1", "default" => "0000-00-00"),
|
||||||
"community" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
|
"community" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
|
||||||
|
"hide" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
|
||||||
|
"nsfw" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
|
||||||
"network" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
"network" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||||
"addr" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
"addr" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||||
|
"notify" => array("type" => "text", "not null" => "1"),
|
||||||
|
"alias" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||||
"generation" => array("type" => "tinyint(3)", "not null" => "1", "default" => "0"),
|
"generation" => array("type" => "tinyint(3)", "not null" => "1", "default" => "0"),
|
||||||
"server_url" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
"server_url" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||||
),
|
),
|
||||||
|
@ -795,6 +800,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 +877,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"),
|
||||||
|
"gcontactid_uid_created" => array("gcontact-id","uid","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 +1294,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"),
|
||||||
|
@ -1316,6 +1324,8 @@ function db_definition() {
|
||||||
"uid_network_created" => array("uid","network","created"),
|
"uid_network_created" => array("uid","network","created"),
|
||||||
"uid_contactid_commented" => array("uid","contact-id","commented"),
|
"uid_contactid_commented" => array("uid","contact-id","commented"),
|
||||||
"uid_contactid_created" => array("uid","contact-id","created"),
|
"uid_contactid_created" => array("uid","contact-id","created"),
|
||||||
|
"uid_gcontactid_commented" => array("uid","gcontact-id","commented"),
|
||||||
|
"uid_gcontactid_created" => array("uid","gcontact-id","created"),
|
||||||
"wall_private_received" => array("wall","private","received"),
|
"wall_private_received" => array("wall","private","received"),
|
||||||
"uid_created" => array("uid","created"),
|
"uid_created" => array("uid","created"),
|
||||||
"uid_commented" => array("uid","commented"),
|
"uid_commented" => array("uid","commented"),
|
||||||
|
@ -1334,21 +1344,6 @@ function db_definition() {
|
||||||
"PRIMARY" => array("id"),
|
"PRIMARY" => array("id"),
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
$database["unique_contacts"] = array(
|
|
||||||
"fields" => array(
|
|
||||||
"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
|
|
||||||
"url" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
|
||||||
"nick" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
|
||||||
"name" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
|
||||||
"avatar" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
|
||||||
"location" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
|
||||||
"about" => array("type" => "text", "not null" => "1"),
|
|
||||||
),
|
|
||||||
"indexes" => array(
|
|
||||||
"PRIMARY" => array("id"),
|
|
||||||
"url" => array("url"),
|
|
||||||
)
|
|
||||||
);
|
|
||||||
$database["user"] = array(
|
$database["user"] = array(
|
||||||
"fields" => array(
|
"fields" => array(
|
||||||
"uid" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
|
"uid" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
|
||||||
|
|
|
@ -2407,10 +2407,10 @@ function diaspora_profile($importer,$xml,$msg) {
|
||||||
if(! $contact)
|
if(! $contact)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if($contact['blocked']) {
|
//if($contact['blocked']) {
|
||||||
logger('diaspora_post: Ignoring this author.');
|
// logger('diaspora_post: Ignoring this author.');
|
||||||
return 202;
|
// return 202;
|
||||||
}
|
//}
|
||||||
|
|
||||||
$name = unxmlify($xml->first_name) . ((strlen($xml->last_name)) ? ' ' . unxmlify($xml->last_name) : '');
|
$name = unxmlify($xml->first_name) . ((strlen($xml->last_name)) ? ' ' . unxmlify($xml->last_name) : '');
|
||||||
$image_url = unxmlify($xml->image_url);
|
$image_url = unxmlify($xml->image_url);
|
||||||
|
@ -2418,6 +2418,8 @@ function diaspora_profile($importer,$xml,$msg) {
|
||||||
$location = diaspora2bb(unxmlify($xml->location));
|
$location = diaspora2bb(unxmlify($xml->location));
|
||||||
$about = diaspora2bb(unxmlify($xml->bio));
|
$about = diaspora2bb(unxmlify($xml->bio));
|
||||||
$gender = unxmlify($xml->gender);
|
$gender = unxmlify($xml->gender);
|
||||||
|
$searchable = (unxmlify($xml->searchable) == "true");
|
||||||
|
$nsfw = (unxmlify($xml->nsfw) == "true");
|
||||||
$tags = unxmlify($xml->tag_string);
|
$tags = unxmlify($xml->tag_string);
|
||||||
|
|
||||||
$tags = explode("#", $tags);
|
$tags = explode("#", $tags);
|
||||||
|
@ -2432,6 +2434,8 @@ function diaspora_profile($importer,$xml,$msg) {
|
||||||
$keywords = implode(", ", $keywords);
|
$keywords = implode(", ", $keywords);
|
||||||
|
|
||||||
$handle_parts = explode("@", $diaspora_handle);
|
$handle_parts = explode("@", $diaspora_handle);
|
||||||
|
$nick = $handle_parts[0];
|
||||||
|
|
||||||
if($name === '') {
|
if($name === '') {
|
||||||
$name = $handle_parts[0];
|
$name = $handle_parts[0];
|
||||||
}
|
}
|
||||||
|
@ -2466,10 +2470,12 @@ function diaspora_profile($importer,$xml,$msg) {
|
||||||
/// @TODO Update name on item['author-name'] if the name changed. See consume_feed()
|
/// @TODO Update name on item['author-name'] if the name changed. See consume_feed()
|
||||||
/// (Not doing this currently because D* protocol is scheduled for revision soon).
|
/// (Not doing this currently because D* protocol is scheduled for revision soon).
|
||||||
|
|
||||||
$r = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s', `avatar-date` = '%s' , `bd` = '%s', `location` = '%s', `about` = '%s', `keywords` = '%s', `gender` = '%s' WHERE `id` = %d AND `uid` = %d",
|
$r = q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `addr` = '%s', `name-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s', `avatar-date` = '%s' , `bd` = '%s', `location` = '%s', `about` = '%s', `keywords` = '%s', `gender` = '%s' WHERE `id` = %d AND `uid` = %d",
|
||||||
dbesc($name),
|
dbesc($name),
|
||||||
|
dbesc($nick),
|
||||||
|
dbesc($diaspora_handle),
|
||||||
dbesc(datetime_convert()),
|
dbesc(datetime_convert()),
|
||||||
dbesc($images[0]),
|
dbesc($image_url),
|
||||||
dbesc($images[1]),
|
dbesc($images[1]),
|
||||||
dbesc($images[2]),
|
dbesc($images[2]),
|
||||||
dbesc(datetime_convert()),
|
dbesc(datetime_convert()),
|
||||||
|
@ -2482,26 +2488,17 @@ function diaspora_profile($importer,$xml,$msg) {
|
||||||
intval($importer['uid'])
|
intval($importer['uid'])
|
||||||
);
|
);
|
||||||
|
|
||||||
if (unxmlify($xml->searchable) == "true") {
|
if ($searchable) {
|
||||||
require_once('include/socgraph.php');
|
require_once('include/socgraph.php');
|
||||||
poco_check($contact['url'], $name, NETWORK_DIASPORA, $images[0], $about, $location, $gender, $keywords, "",
|
poco_check($contact['url'], $name, NETWORK_DIASPORA, $image_url, $about, $location, $gender, $keywords, "",
|
||||||
datetime_convert(), 2, $contact['id'], $importer['uid']);
|
datetime_convert(), 2, $contact['id'], $importer['uid']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$profileurl = "";
|
update_gcontact(array("url" => $contact['url'], "network" => NETWORK_DIASPORA, "generation" => 2,
|
||||||
$author = q("SELECT * FROM `unique_contacts` WHERE `url`='%s' LIMIT 1",
|
"photo" => $image_url, "name" => $name, "location" => $location,
|
||||||
dbesc(normalise_link($contact['url'])));
|
"about" => $about, "birthday" => $birthday, "gender" => $gender,
|
||||||
|
"addr" => $diaspora_handle, "nick" => $nick, "keywords" => $keywords,
|
||||||
if (count($author) == 0) {
|
"hide" => !$searchable, "nsfw" => $nsfw));
|
||||||
q("INSERT INTO `unique_contacts` (`url`, `name`, `avatar`, `location`, `about`) VALUES ('%s', '%s', '%s', '%s', '%s')",
|
|
||||||
dbesc(normalise_link($contact['url'])), dbesc($name), dbesc($location), dbesc($about), dbesc($images[0]));
|
|
||||||
|
|
||||||
$author = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1",
|
|
||||||
dbesc(normalise_link($contact['url'])));
|
|
||||||
} else if (normalise_link($contact['url']).$name.$location.$about != normalise_link($author[0]["url"]).$author[0]["name"].$author[0]["location"].$author[0]["about"]) {
|
|
||||||
q("UPDATE unique_contacts SET name = '%s', avatar = '%s', `location` = '%s', `about` = '%s' WHERE url = '%s'",
|
|
||||||
dbesc($name), dbesc($images[0]), dbesc($location), dbesc($about), dbesc(normalise_link($contact['url'])));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* if($r) {
|
/* if($r) {
|
||||||
if($oldphotos) {
|
if($oldphotos) {
|
||||||
|
@ -2643,11 +2640,12 @@ function diaspora_send_status($item,$owner,$contact,$public_batch = false) {
|
||||||
}
|
}
|
||||||
|
|
||||||
logger('diaspora_send_status: '.$owner['username'].' -> '.$contact['name'].' base message: '.$msg, LOGGER_DATA);
|
logger('diaspora_send_status: '.$owner['username'].' -> '.$contact['name'].' base message: '.$msg, LOGGER_DATA);
|
||||||
|
logger('send guid '.$item['guid'], LOGGER_DEBUG);
|
||||||
|
|
||||||
$slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch)));
|
$slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch)));
|
||||||
//$slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch));
|
//$slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch));
|
||||||
|
|
||||||
$return_code = diaspora_transmit($owner,$contact,$slap,$public_batch);
|
$return_code = diaspora_transmit($owner,$contact,$slap,$public_batch,false,$item['guid']);
|
||||||
|
|
||||||
logger('diaspora_send_status: guid: '.$item['guid'].' result '.$return_code, LOGGER_DEBUG);
|
logger('diaspora_send_status: guid: '.$item['guid'].' result '.$return_code, LOGGER_DEBUG);
|
||||||
|
|
||||||
|
@ -2758,10 +2756,12 @@ function diaspora_send_images($item,$owner,$contact,$images,$public_batch = fals
|
||||||
|
|
||||||
|
|
||||||
logger('diaspora_send_photo: base message: ' . $msg, LOGGER_DATA);
|
logger('diaspora_send_photo: base message: ' . $msg, LOGGER_DATA);
|
||||||
|
logger('send guid '.$r[0]['guid'], LOGGER_DEBUG);
|
||||||
|
|
||||||
$slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch)));
|
$slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch)));
|
||||||
//$slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch));
|
//$slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch));
|
||||||
|
|
||||||
diaspora_transmit($owner,$contact,$slap,$public_batch);
|
diaspora_transmit($owner,$contact,$slap,$public_batch,false,$r[0]['guid']);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2832,11 +2832,12 @@ function diaspora_send_followup($item,$owner,$contact,$public_batch = false) {
|
||||||
));
|
));
|
||||||
|
|
||||||
logger('diaspora_followup: base message: ' . $msg, LOGGER_DATA);
|
logger('diaspora_followup: base message: ' . $msg, LOGGER_DATA);
|
||||||
|
logger('send guid '.$item['guid'], LOGGER_DEBUG);
|
||||||
|
|
||||||
$slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch)));
|
$slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch)));
|
||||||
//$slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch));
|
//$slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch));
|
||||||
|
|
||||||
return(diaspora_transmit($owner,$contact,$slap,$public_batch));
|
return(diaspora_transmit($owner,$contact,$slap,$public_batch,false,$item['guid']));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2968,12 +2969,12 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) {
|
||||||
));
|
));
|
||||||
|
|
||||||
logger('diaspora_send_relay: base message: ' . $msg, LOGGER_DATA);
|
logger('diaspora_send_relay: base message: ' . $msg, LOGGER_DATA);
|
||||||
|
logger('send guid '.$item['guid'], LOGGER_DEBUG);
|
||||||
|
|
||||||
$slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch)));
|
$slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch)));
|
||||||
//$slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch));
|
//$slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch));
|
||||||
|
|
||||||
return(diaspora_transmit($owner,$contact,$slap,$public_batch));
|
return(diaspora_transmit($owner,$contact,$slap,$public_batch,false,$item['guid']));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3005,10 +3006,12 @@ function diaspora_send_retraction($item,$owner,$contact,$public_batch = false) {
|
||||||
'$signature' => xmlify(base64_encode(rsa_sign($signed_text,$owner['uprvkey'],'sha256')))
|
'$signature' => xmlify(base64_encode(rsa_sign($signed_text,$owner['uprvkey'],'sha256')))
|
||||||
));
|
));
|
||||||
|
|
||||||
|
logger('send guid '.$item['guid'], LOGGER_DEBUG);
|
||||||
|
|
||||||
$slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch)));
|
$slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch)));
|
||||||
//$slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch));
|
//$slap = 'xml=' . urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch));
|
||||||
|
|
||||||
return(diaspora_transmit($owner,$contact,$slap,$public_batch));
|
return(diaspora_transmit($owner,$contact,$slap,$public_batch,false,$item['guid']));
|
||||||
}
|
}
|
||||||
|
|
||||||
function diaspora_send_mail($item,$owner,$contact) {
|
function diaspora_send_mail($item,$owner,$contact) {
|
||||||
|
@ -3065,16 +3068,17 @@ function diaspora_send_mail($item,$owner,$contact) {
|
||||||
}
|
}
|
||||||
|
|
||||||
logger('diaspora_conversation: ' . print_r($xmsg,true), LOGGER_DATA);
|
logger('diaspora_conversation: ' . print_r($xmsg,true), LOGGER_DATA);
|
||||||
|
logger('send guid '.$item['guid'], LOGGER_DEBUG);
|
||||||
|
|
||||||
$slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($xmsg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],false)));
|
$slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($xmsg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],false)));
|
||||||
//$slap = 'xml=' . urlencode(diaspora_msg_build($xmsg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],false));
|
//$slap = 'xml=' . urlencode(diaspora_msg_build($xmsg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],false));
|
||||||
|
|
||||||
return(diaspora_transmit($owner,$contact,$slap,false));
|
return(diaspora_transmit($owner,$contact,$slap,false,false,$item['guid']));
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function diaspora_transmit($owner,$contact,$slap,$public_batch,$queue_run=false) {
|
function diaspora_transmit($owner,$contact,$slap,$public_batch,$queue_run=false,$guid = "") {
|
||||||
|
|
||||||
$enabled = intval(get_config('system','diaspora_enabled'));
|
$enabled = intval(get_config('system','diaspora_enabled'));
|
||||||
if(! $enabled) {
|
if(! $enabled) {
|
||||||
|
@ -3089,7 +3093,7 @@ function diaspora_transmit($owner,$contact,$slap,$public_batch,$queue_run=false)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
logger('diaspora_transmit: ' . $logid . ' ' . $dest_url);
|
logger('diaspora_transmit: '.$logid.'-'.$guid.' '.$dest_url);
|
||||||
|
|
||||||
if( (! $queue_run) && (was_recently_delayed($contact['id'])) ) {
|
if( (! $queue_run) && (was_recently_delayed($contact['id'])) ) {
|
||||||
$return_code = 0;
|
$return_code = 0;
|
||||||
|
@ -3104,7 +3108,7 @@ function diaspora_transmit($owner,$contact,$slap,$public_batch,$queue_run=false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
logger('diaspora_transmit: ' . $logid . ' returns: ' . $return_code);
|
logger('diaspora_transmit: '.$logid.'-'.$guid.' returns: '.$return_code);
|
||||||
|
|
||||||
if((! $return_code) || (($return_code == 503) && (stristr($a->get_curl_headers(),'retry-after')))) {
|
if((! $return_code) || (($return_code == 503) && (stristr($a->get_curl_headers(),'retry-after')))) {
|
||||||
logger('diaspora_transmit: queue message');
|
logger('diaspora_transmit: queue message');
|
||||||
|
|
|
@ -297,17 +297,26 @@ function group_side($every="contacts",$each="group",$editmode = "standard", $gro
|
||||||
return $o;
|
return $o;
|
||||||
}
|
}
|
||||||
|
|
||||||
function expand_groups($a,$check_dead = false) {
|
function expand_groups($a,$check_dead = false, $use_gcontact = false) {
|
||||||
if(! (is_array($a) && count($a)))
|
if(! (is_array($a) && count($a)))
|
||||||
return array();
|
return array();
|
||||||
$groups = implode(',', $a);
|
$groups = implode(',', $a);
|
||||||
$groups = dbesc($groups);
|
$groups = dbesc($groups);
|
||||||
$r = q("SELECT `contact-id` FROM `group_member` WHERE `gid` IN ( $groups )");
|
|
||||||
|
if ($use_gcontact)
|
||||||
|
$r = q("SELECT `gcontact`.`id` AS `contact-id` FROM `group_member`
|
||||||
|
INNER JOIN `contact` ON `contact`.`id` = `group_member`.`contact-id`
|
||||||
|
INNER JOIN `gcontact` ON `gcontact`.`nurl` = `contact`.`nurl`
|
||||||
|
WHERE `gid` IN ($groups)");
|
||||||
|
else
|
||||||
|
$r = q("SELECT `contact-id` FROM `group_member` WHERE `gid` IN ( $groups )");
|
||||||
|
|
||||||
|
|
||||||
$ret = array();
|
$ret = array();
|
||||||
if(count($r))
|
if(count($r))
|
||||||
foreach($r as $rr)
|
foreach($r as $rr)
|
||||||
$ret[] = $rr['contact-id'];
|
$ret[] = $rr['contact-id'];
|
||||||
if($check_dead) {
|
if($check_dead AND !$use_gcontact) {
|
||||||
require_once('include/acl_selectors.php');
|
require_once('include/acl_selectors.php');
|
||||||
$ret = prune_deadguys($ret);
|
$ret = prune_deadguys($ret);
|
||||||
}
|
}
|
||||||
|
|
|
@ -300,6 +300,7 @@ function profile_sidebar($profile, $block = 0) {
|
||||||
$account_type = "";
|
$account_type = "";
|
||||||
|
|
||||||
if((x($profile,'address') == 1)
|
if((x($profile,'address') == 1)
|
||||||
|
|| (x($profile,'location') == 1)
|
||||||
|| (x($profile,'locality') == 1)
|
|| (x($profile,'locality') == 1)
|
||||||
|| (x($profile,'region') == 1)
|
|| (x($profile,'region') == 1)
|
||||||
|| (x($profile,'postal-code') == 1)
|
|| (x($profile,'postal-code') == 1)
|
||||||
|
@ -368,6 +369,8 @@ function profile_sidebar($profile, $block = 0) {
|
||||||
|
|
||||||
if (isset($p["address"]))
|
if (isset($p["address"]))
|
||||||
$p["address"] = bbcode($p["address"]);
|
$p["address"] = bbcode($p["address"]);
|
||||||
|
else
|
||||||
|
$p["address"] = bbcode($p["location"]);
|
||||||
|
|
||||||
if (isset($p["photo"]))
|
if (isset($p["photo"]))
|
||||||
$p["photo"] = proxy_url($p["photo"], false, PROXY_SIZE_SMALL);
|
$p["photo"] = proxy_url($p["photo"], false, PROXY_SIZE_SMALL);
|
||||||
|
|
|
@ -1338,6 +1338,10 @@ 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(array("url" => $arr['author-link'], "network" => $arr['network'],
|
||||||
|
"photo" => $arr['author-avatar'], "name" => $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);
|
||||||
|
|
|
@ -129,45 +129,57 @@ 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->query("atom:link[@rel='salmon']", $context)->item(0)->nodeValue;
|
||||||
|
if ($value != "")
|
||||||
|
$contact["notify"] = $value;
|
||||||
|
|
||||||
|
$value = $xpath->evaluate('atom:author/uri/text()', $context)->item(0)->nodeValue;
|
||||||
|
if ($value != "")
|
||||||
|
$contact["alias"] = $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: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 Add the "addr" field
|
||||||
|
$contact["generation"] = 2;
|
||||||
|
$contact["photo"] = $author["author-avatar"];
|
||||||
|
update_gcontact($contact);
|
||||||
}
|
}
|
||||||
|
|
||||||
return($author);
|
return($author);
|
||||||
|
@ -1447,9 +1459,12 @@ function ostatus_entry($doc, $item, $owner, $toplevel = false, $repeat = false)
|
||||||
$repeated_owner["about"] = "";
|
$repeated_owner["about"] = "";
|
||||||
$repeated_owner["uid"] = 0;
|
$repeated_owner["uid"] = 0;
|
||||||
|
|
||||||
$r =q("SELECT * FROM `unique_contacts` WHERE `url` = '%s'", normalise_link($repeated_item["author-link"]));
|
// Fetch the missing data from the global contacts
|
||||||
|
$r =q("SELECT * FROM `gcontact` WHERE `nurl` = '%s'", normalise_link($repeated_item["author-link"]));
|
||||||
if ($r) {
|
if ($r) {
|
||||||
$repeated_owner["nick"] = $r[0]["nick"];
|
if ($r[0]["nick"] != "")
|
||||||
|
$repeated_owner["nick"] = $r[0]["nick"];
|
||||||
|
|
||||||
$repeated_owner["location"] = $r[0]["location"];
|
$repeated_owner["location"] = $r[0]["location"];
|
||||||
$repeated_owner["about"] = $r[0]["about"];
|
$repeated_owner["about"] = $r[0]["about"];
|
||||||
}
|
}
|
||||||
|
|
|
@ -227,6 +227,8 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
|
||||||
$server_url = $x[0]["server_url"];
|
$server_url = $x[0]["server_url"];
|
||||||
$nick = $x[0]["nick"];
|
$nick = $x[0]["nick"];
|
||||||
$addr = $x[0]["addr"];
|
$addr = $x[0]["addr"];
|
||||||
|
$alias = $x[0]["alias"];
|
||||||
|
$notify = $x[0]["notify"];
|
||||||
} else {
|
} else {
|
||||||
$created = "0000-00-00 00:00:00";
|
$created = "0000-00-00 00:00:00";
|
||||||
$server_url = "";
|
$server_url = "";
|
||||||
|
@ -234,6 +236,8 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
|
||||||
$urlparts = parse_url($profile_url);
|
$urlparts = parse_url($profile_url);
|
||||||
$nick = end(explode("/", $urlparts["path"]));
|
$nick = end(explode("/", $urlparts["path"]));
|
||||||
$addr = "";
|
$addr = "";
|
||||||
|
$alias = "";
|
||||||
|
$notify = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((($network == "") OR ($name == "") OR ($addr == "") OR ($profile_photo == "") OR ($server_url == "") OR $alternate)
|
if ((($network == "") OR ($name == "") OR ($addr == "") OR ($profile_photo == "") OR ($server_url == "") OR $alternate)
|
||||||
|
@ -246,6 +250,8 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
|
||||||
$name = $data["name"];
|
$name = $data["name"];
|
||||||
$nick = $data["nick"];
|
$nick = $data["nick"];
|
||||||
$addr = $data["addr"];
|
$addr = $data["addr"];
|
||||||
|
$alias = $data["alias"];
|
||||||
|
$notify = $data["notify"];
|
||||||
$profile_url = $data["url"];
|
$profile_url = $data["url"];
|
||||||
$profile_photo = $data["photo"];
|
$profile_photo = $data["photo"];
|
||||||
$server_url = $data["baseurl"];
|
$server_url = $data["baseurl"];
|
||||||
|
@ -301,12 +307,19 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
|
||||||
if (($addr == "") AND ($x[0]['addr'] != ""))
|
if (($addr == "") AND ($x[0]['addr'] != ""))
|
||||||
$addr = $x[0]['addr'];
|
$addr = $x[0]['addr'];
|
||||||
|
|
||||||
|
if (($alias == "") AND ($x[0]['alias'] != ""))
|
||||||
|
$alias = $x[0]['alias'];
|
||||||
|
|
||||||
|
if (($notify == "") AND ($x[0]['notify'] != ""))
|
||||||
|
$notify = $x[0]['notify'];
|
||||||
|
|
||||||
if (($generation == 0) AND ($x[0]['generation'] > 0))
|
if (($generation == 0) AND ($x[0]['generation'] > 0))
|
||||||
$generation = $x[0]['generation'];
|
$generation = $x[0]['generation'];
|
||||||
|
|
||||||
if($x[0]['name'] != $name || $x[0]['photo'] != $profile_photo || $x[0]['updated'] < $updated) {
|
if($x[0]['name'] != $name || $x[0]['photo'] != $profile_photo || $x[0]['updated'] < $updated) {
|
||||||
q("UPDATE `gcontact` SET `name` = '%s', `addr` = '%s', `network` = '%s', `photo` = '%s', `connect` = '%s', `url` = '%s', `server_url` = '%s',
|
q("UPDATE `gcontact` SET `name` = '%s', `addr` = '%s', `network` = '%s', `photo` = '%s', `connect` = '%s', `url` = '%s', `server_url` = '%s',
|
||||||
`updated` = '%s', `location` = '%s', `about` = '%s', `keywords` = '%s', `gender` = '%s', `generation` = %d
|
`updated` = '%s', `location` = '%s', `about` = '%s', `keywords` = '%s', `gender` = '%s', `generation` = %d,
|
||||||
|
`alias` = '$s', `notify` = '%s'
|
||||||
WHERE (`generation` >= %d OR `generation` = 0) AND `nurl` = '%s'",
|
WHERE (`generation` >= %d OR `generation` = 0) AND `nurl` = '%s'",
|
||||||
dbesc($name),
|
dbesc($name),
|
||||||
dbesc($addr),
|
dbesc($addr),
|
||||||
|
@ -320,34 +333,44 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
|
||||||
dbesc($about),
|
dbesc($about),
|
||||||
dbesc($keywords),
|
dbesc($keywords),
|
||||||
dbesc($gender),
|
dbesc($gender),
|
||||||
|
dbesc($alias),
|
||||||
|
dbesc($notify),
|
||||||
intval($generation),
|
intval($generation),
|
||||||
intval($generation),
|
intval($generation),
|
||||||
dbesc(normalise_link($profile_url))
|
dbesc(normalise_link($profile_url))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} 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`, `alias`, `notify`, `generation`)
|
||||||
|
VALUES ('%s', '%s', '%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),
|
||||||
|
dbesc($alias),
|
||||||
|
dbesc($notify),
|
||||||
|
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 +403,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;
|
||||||
}
|
}
|
||||||
|
@ -778,6 +801,8 @@ function poco_check_server($server_url, $network = "", $force = false) {
|
||||||
$version = trim(str_replace("X-Diaspora-Version:", "", $line));
|
$version = trim(str_replace("X-Diaspora-Version:", "", $line));
|
||||||
$version = trim(str_replace("x-diaspora-version:", "", $version));
|
$version = trim(str_replace("x-diaspora-version:", "", $version));
|
||||||
$network = NETWORK_DIASPORA;
|
$network = NETWORK_DIASPORA;
|
||||||
|
$versionparts = explode("-", $version);
|
||||||
|
$version = $versionparts[0];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1481,4 +1506,154 @@ function poco_discover_server($data, $default_generation = 0) {
|
||||||
}
|
}
|
||||||
return $success;
|
return $success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Fetch the gcontact id, add an entry if not existed
|
||||||
|
*
|
||||||
|
* @param arr $contact contact array
|
||||||
|
* @return bool|int Returns false if not found, integer if contact was found
|
||||||
|
*/
|
||||||
|
function get_gcontact_id($contact) {
|
||||||
|
|
||||||
|
$gcontact_id = 0;
|
||||||
|
|
||||||
|
if ($contact["network"] == NETWORK_STATUSNET)
|
||||||
|
$contact["network"] = NETWORK_OSTATUS;
|
||||||
|
|
||||||
|
$r = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
|
||||||
|
dbesc(normalise_link($contact["url"])));
|
||||||
|
|
||||||
|
if ($r)
|
||||||
|
$gcontact_id = $r[0]["id"];
|
||||||
|
else {
|
||||||
|
q("INSERT INTO `gcontact` (`name`, `nick`, `addr` , `network`, `url`, `nurl`, `photo`, `created`, `updated`, `location`, `about`, `generation`)
|
||||||
|
VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d)",
|
||||||
|
dbesc($contact["name"]),
|
||||||
|
dbesc($contact["nick"]),
|
||||||
|
dbesc($contact["addr"]),
|
||||||
|
dbesc($contact["network"]),
|
||||||
|
dbesc($contact["url"]),
|
||||||
|
dbesc(normalise_link($contact["url"])),
|
||||||
|
dbesc($contact["photo"]),
|
||||||
|
dbesc(datetime_convert()),
|
||||||
|
dbesc(datetime_convert()),
|
||||||
|
dbesc($contact["location"]),
|
||||||
|
dbesc($contact["about"]),
|
||||||
|
intval($contact["generation"])
|
||||||
|
);
|
||||||
|
|
||||||
|
$r = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
|
||||||
|
dbesc(normalise_link($contact["url"])));
|
||||||
|
|
||||||
|
if ($r)
|
||||||
|
$gcontact_id = $r[0]["id"];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $gcontact_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Updates the gcontact table from a given array
|
||||||
|
*
|
||||||
|
* @param arr $contact contact array
|
||||||
|
* @return bool|int Returns false if not found, integer if contact was found
|
||||||
|
*/
|
||||||
|
function update_gcontact($contact) {
|
||||||
|
|
||||||
|
/// @todo update contact table as well
|
||||||
|
|
||||||
|
$gcontact_id = get_gcontact_id($contact);
|
||||||
|
|
||||||
|
if (!$gcontact_id)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
$r = q("SELECT `name`, `nick`, `photo`, `location`, `about`, `addr`, `generation`, `birthday`, `gender`, `keywords`, `hide`, `nsfw`, `network`, `alias`, `notify`, `url`
|
||||||
|
FROM `gcontact` WHERE `id` = %d LIMIT 1",
|
||||||
|
intval($gcontact_id));
|
||||||
|
|
||||||
|
if ($contact["generation"] == 0)
|
||||||
|
$contact["generation"] = $r[0]["generation"];
|
||||||
|
|
||||||
|
if ($contact["photo"] == "")
|
||||||
|
$contact["photo"] = $r[0]["photo"];
|
||||||
|
|
||||||
|
if ($contact["name"] == "")
|
||||||
|
$contact["name"] = $r[0]["name"];
|
||||||
|
|
||||||
|
if ($contact["nick"] == "")
|
||||||
|
$contact["nick"] = $r[0]["nick"];
|
||||||
|
|
||||||
|
if ($contact["addr"] == "")
|
||||||
|
$contact["addr"] = $r[0]["addr"];
|
||||||
|
|
||||||
|
if ($contact["location"] =="")
|
||||||
|
$contact["location"] = $r[0]["location"];
|
||||||
|
|
||||||
|
if ($contact["about"] =="")
|
||||||
|
$contact["about"] = $r[0]["about"];
|
||||||
|
|
||||||
|
if ($contact["birthday"] =="")
|
||||||
|
$contact["birthday"] = $r[0]["birthday"];
|
||||||
|
|
||||||
|
if ($contact["gender"] =="")
|
||||||
|
$contact["gender"] = $r[0]["gender"];
|
||||||
|
|
||||||
|
if ($contact["keywords"] =="")
|
||||||
|
$contact["keywords"] = $r[0]["keywords"];
|
||||||
|
|
||||||
|
if (!isset($contact["hide"]))
|
||||||
|
$contact["hide"] = $r[0]["hide"];
|
||||||
|
|
||||||
|
if (!isset($contact["nsfw"]))
|
||||||
|
$contact["nsfw"] = $r[0]["nsfw"];
|
||||||
|
|
||||||
|
if ($contact["network"] =="")
|
||||||
|
$contact["network"] = $r[0]["network"];
|
||||||
|
|
||||||
|
if ($contact["alias"] =="")
|
||||||
|
$contact["alias"] = $r[0]["alias"];
|
||||||
|
|
||||||
|
if ($contact["url"] =="")
|
||||||
|
$contact["url"] = $r[0]["url"];
|
||||||
|
|
||||||
|
if ($contact["notify"] =="")
|
||||||
|
$contact["notify"] = $r[0]["notify"];
|
||||||
|
|
||||||
|
if ($contact["network"] == NETWORK_STATUSNET)
|
||||||
|
$contact["network"] = NETWORK_OSTATUS;
|
||||||
|
|
||||||
|
if (($contact["photo"] != $r[0]["photo"]) OR ($contact["name"] != $r[0]["name"]) OR ($contact["nick"] != $r[0]["nick"]) OR ($contact["addr"] != $r[0]["addr"]) OR
|
||||||
|
($contact["birthday"] != $r[0]["birthday"]) OR ($contact["gender"] != $r[0]["gender"]) OR ($contact["keywords"] != $r[0]["keywords"]) OR
|
||||||
|
($contact["hide"] != $r[0]["hide"]) OR ($contact["nsfw"] != $r[0]["nsfw"]) OR ($contact["network"] != $r[0]["network"]) OR
|
||||||
|
($contact["alias"] != $r[0]["alias"]) OR ($contact["notify"] != $r[0]["notify"]) OR ($contact["url"] != $r[0]["url"]) OR
|
||||||
|
($contact["location"] != $r[0]["location"]) OR ($contact["about"] != $r[0]["about"]) OR ($contact["generation"] < $r[0]["generation"])) {
|
||||||
|
|
||||||
|
q("UPDATE `gcontact` SET `photo` = '%s', `name` = '%s', `nick` = '%s', `addr` = '%s', `network` = '%s',
|
||||||
|
`birthday` = '%s', `gender` = '%s', `keywords` = %d, `hide` = %d, `nsfw` = %d,
|
||||||
|
`alias` = '%s', `notify` = '%s', `url` = '%s',
|
||||||
|
`location` = '%s', `about` = '%s', `generation` = %d, `updated` = '%s'
|
||||||
|
WHERE `nurl` = '%s' AND (`generation` = 0 OR `generation` >= %d)",
|
||||||
|
dbesc($contact["photo"]), dbesc($contact["name"]), dbesc($contact["nick"]),
|
||||||
|
dbesc($contact["addr"]), dbesc($contact["network"]), dbesc($contact["birthday"]),
|
||||||
|
dbesc($contact["gender"]), dbesc($contact["keywords"]), intval($contact["hide"]),
|
||||||
|
intval($contact["nsfw"]), dbesc($contact["alias"]), dbesc($contact["notify"]),
|
||||||
|
dbesc($contact["url"]), dbesc($contact["location"]), dbesc($contact["about"]),
|
||||||
|
intval($contact["generation"]), dbesc(datetime_convert()),
|
||||||
|
dbesc(normalise_link($contact["url"])), intval($contact["generation"]));
|
||||||
|
}
|
||||||
|
|
||||||
|
return $gcontact_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Updates the gcontact entry from probe
|
||||||
|
*
|
||||||
|
* @param str $url profile link
|
||||||
|
*/
|
||||||
|
function update_gcontact_from_probe($url) {
|
||||||
|
$data = probe_url($url);
|
||||||
|
|
||||||
|
if ($data["network"] != NETWORK_PHANTOM)
|
||||||
|
update_gcontact($data);
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -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)
|
||||||
|
@ -111,7 +111,7 @@ function update_thread_uri($itemuri, $uid) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_thread($itemid, $setmention = false) {
|
function update_thread($itemid, $setmention = false) {
|
||||||
$items = q("SELECT `uid`, `guid`, `title`, `body`, `created`, `edited`, `commented`, `received`, `changed`, `wall`, `private`, `pubmail`, `moderated`, `visible`, `spam`, `starred`, `bookmark`, `contact-id`,
|
$items = q("SELECT `uid`, `guid`, `title`, `body`, `created`, `edited`, `commented`, `received`, `changed`, `wall`, `private`, `pubmail`, `moderated`, `visible`, `spam`, `starred`, `bookmark`, `contact-id`, `gcontact-id`,
|
||||||
`deleted`, `origin`, `forum_mode`, `network` FROM `item` WHERE `id` = %d AND (`parent` = %d OR `parent` = 0) LIMIT 1", intval($itemid), intval($itemid));
|
`deleted`, `origin`, `forum_mode`, `network` FROM `item` WHERE `id` = %d AND (`parent` = %d OR `parent` = 0) LIMIT 1", intval($itemid), intval($itemid));
|
||||||
|
|
||||||
if (!$items)
|
if (!$items)
|
||||||
|
|
|
@ -341,7 +341,7 @@ function admin_page_site_post(&$a){
|
||||||
update_table("profile", array('photo', 'thumb'), $old_url, $new_url);
|
update_table("profile", array('photo', 'thumb'), $old_url, $new_url);
|
||||||
update_table("term", array('url'), $old_url, $new_url);
|
update_table("term", array('url'), $old_url, $new_url);
|
||||||
update_table("contact", array('photo','thumb','micro','url','nurl','request','notify','poll','confirm','poco'), $old_url, $new_url);
|
update_table("contact", array('photo','thumb','micro','url','nurl','request','notify','poll','confirm','poco'), $old_url, $new_url);
|
||||||
update_table("unique_contacts", array('url'), $old_url, $new_url);
|
update_table("gcontact", array('photo','url','nurl','server_url'), $old_url, $new_url);
|
||||||
update_table("item", array('owner-link','owner-avatar','author-name','author-link','author-avatar','body','plink','tag'), $old_url, $new_url);
|
update_table("item", array('owner-link','owner-avatar','author-name','author-link','author-avatar','body','plink','tag'), $old_url, $new_url);
|
||||||
|
|
||||||
// update config
|
// update config
|
||||||
|
|
|
@ -143,14 +143,13 @@ function community_getpublicitems($start, $itemspage) {
|
||||||
$r = q("SELECT `item`.`uri`, `item`.*, `item`.`id` AS `item_id`,
|
$r = q("SELECT `item`.`uri`, `item`.*, `item`.`id` AS `item_id`,
|
||||||
`author-name` AS `name`, `owner-avatar` AS `photo`,
|
`author-name` AS `name`, `owner-avatar` AS `photo`,
|
||||||
`owner-link` AS `url`, `owner-avatar` AS `thumb`
|
`owner-link` AS `url`, `owner-avatar` AS `thumb`
|
||||||
FROM `item` WHERE `item`.`uid` = 0 AND `item`.`id` = `item`.`parent`
|
FROM `thread`
|
||||||
AND `item`.`allow_cid` = '' AND `item`.`allow_gid` = ''
|
INNER JOIN `item` ON `item`.`id` = `thread`.`iid`
|
||||||
AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = ''
|
WHERE `thread`.`uid` = 0
|
||||||
ORDER BY `item`.`received` DESC LIMIT %d, %d",
|
ORDER BY `thread`.`created` DESC LIMIT %d, %d",
|
||||||
intval($start),
|
intval($start),
|
||||||
intval($itemspage)
|
intval($itemspage)
|
||||||
);
|
);
|
||||||
|
|
||||||
return($r);
|
return($r);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -302,7 +302,7 @@ function _contact_update_profile($contact_id) {
|
||||||
`uri-date` = '%s',
|
`uri-date` = '%s',
|
||||||
`avatar-date` = '%s'
|
`avatar-date` = '%s'
|
||||||
WHERE `id` = %d",
|
WHERE `id` = %d",
|
||||||
dbesc($photos[0]),
|
dbesc($data["photo"]),
|
||||||
dbesc($photos[1]),
|
dbesc($photos[1]),
|
||||||
dbesc($photos[2]),
|
dbesc($photos[2]),
|
||||||
dbesc(datetime_convert()),
|
dbesc(datetime_convert()),
|
||||||
|
@ -311,6 +311,8 @@ function _contact_update_profile($contact_id) {
|
||||||
intval($contact_id)
|
intval($contact_id)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Update the entry in the gcontact table
|
||||||
|
update_gcontact_from_probe($data["url"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
function _contact_block($contact_id, $orig_record) {
|
function _contact_block($contact_id, $orig_record) {
|
||||||
|
@ -345,7 +347,6 @@ function _contact_archive($contact_id, $orig_record) {
|
||||||
return $r;
|
return $r;
|
||||||
}
|
}
|
||||||
function _contact_drop($contact_id, $orig_record) {
|
function _contact_drop($contact_id, $orig_record) {
|
||||||
require_once('include/Contact.php');
|
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
terminate_friendship($a->user,$a->contact,$orig_record);
|
terminate_friendship($a->user,$a->contact,$orig_record);
|
||||||
|
@ -890,50 +891,24 @@ function contacts_tab($a, $contact_id, $active_tab) {
|
||||||
|
|
||||||
function contact_posts($a, $contact_id) {
|
function contact_posts($a, $contact_id) {
|
||||||
|
|
||||||
require_once('include/conversation.php');
|
$r = q("SELECT `url` FROM `contact` WHERE `id` = %d", intval($contact_id));
|
||||||
|
|
||||||
$r = q("SELECT * FROM `contact` WHERE `id` = %d", intval($contact_id));
|
|
||||||
if ($r) {
|
if ($r) {
|
||||||
$contact = $r[0];
|
$contact = $r[0];
|
||||||
$a->page['aside'] = "";
|
$a->page['aside'] = "";
|
||||||
profile_load($a, "", 0, get_contact_details_by_url($contact["url"]));
|
profile_load($a, "", 0, get_contact_details_by_url($contact["url"]));
|
||||||
}
|
} else
|
||||||
|
$profile = "";
|
||||||
if(get_config('system', 'old_pager')) {
|
|
||||||
$r = q("SELECT COUNT(*) AS `total` FROM `item`
|
|
||||||
WHERE `item`.`uid` = %d AND `author-link` IN ('%s', '%s')",
|
|
||||||
intval(local_user()),
|
|
||||||
dbesc(str_replace("https://", "http://", $contact["url"])),
|
|
||||||
dbesc(str_replace("http://", "https://", $contact["url"])));
|
|
||||||
|
|
||||||
$a->set_pager_total($r[0]['total']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$r = q("SELECT `item`.`uri`, `item`.*, `item`.`id` AS `item_id`,
|
|
||||||
`author-name` AS `name`, `owner-avatar` AS `photo`,
|
|
||||||
`owner-link` AS `url`, `owner-avatar` AS `thumb`
|
|
||||||
FROM `item` FORCE INDEX (uid_contactid_created)
|
|
||||||
WHERE `item`.`uid` = %d AND `contact-id` = %d
|
|
||||||
AND `author-link` IN ('%s', '%s')
|
|
||||||
ORDER BY `item`.`created` DESC LIMIT %d, %d",
|
|
||||||
intval(local_user()),
|
|
||||||
intval($contact_id),
|
|
||||||
dbesc(str_replace("https://", "http://", $contact["url"])),
|
|
||||||
dbesc(str_replace("http://", "https://", $contact["url"])),
|
|
||||||
intval($a->pager['start']),
|
|
||||||
intval($a->pager['itemspage'])
|
|
||||||
);
|
|
||||||
|
|
||||||
$tab_str = contacts_tab($a, $contact_id, 1);
|
$tab_str = contacts_tab($a, $contact_id, 1);
|
||||||
|
|
||||||
$o .= $tab_str;
|
$o .= $tab_str;
|
||||||
|
|
||||||
$o .= conversation($a,$r,'community',false);
|
if ($contact["url"]) {
|
||||||
|
$r = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
|
||||||
|
dbesc(normalise_link($contact["url"])));
|
||||||
|
|
||||||
if(!get_config('system', 'old_pager')) {
|
if ($r[0]["id"] <> 0)
|
||||||
$o .= alt_pager($a,count($r));
|
$o .= posts_from_gcontact($a, $r[0]["id"]);
|
||||||
} else {
|
|
||||||
$o .= paginate($a);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
|
|
|
@ -94,9 +94,15 @@ function dirfind_content(&$a, $prefix = "") {
|
||||||
else
|
else
|
||||||
$ostatus = NETWORK_DFRN;
|
$ostatus = NETWORK_DFRN;
|
||||||
|
|
||||||
$count = q("SELECT count(*) AS `total` FROM `gcontact` WHERE `network` IN ('%s', '%s', '%s') AND
|
$count = q("SELECT count(*) AS `total` FROM `gcontact`
|
||||||
(`url` REGEXP '%s' OR `name` REGEXP '%s' OR `location` REGEXP '%s' OR
|
LEFT JOIN `contact` ON `contact`.`nurl` = `gcontact`.`nurl`
|
||||||
`about` REGEXP '%s' OR `keywords` REGEXP '%s')".$extra_sql,
|
AND `contact`.`uid` = %d AND NOT `contact`.`blocked`
|
||||||
|
AND NOT `contact`.`pending` AND `contact`.`rel` IN ('%s', '%s')
|
||||||
|
WHERE (`contact`.`id` > 0 OR (NOT `gcontact`.`hide` AND `gcontact`.`network` IN ('%s', '%s', '%s') AND
|
||||||
|
((`gcontact`.`last_contact` >= `gcontact`.`last_failure`) OR (`gcontact`.`updated` >= `gcontact`.`last_failure`)))) AND
|
||||||
|
(`gcontact`.`url` REGEXP '%s' OR `gcontact`.`name` REGEXP '%s' OR `gcontact`.`location` REGEXP '%s' OR
|
||||||
|
`gcontact`.`about` REGEXP '%s' OR `gcontact`.`keywords` REGEXP '%s') $extra_sql",
|
||||||
|
intval(local_user()), dbesc(CONTACT_IS_SHARING), dbesc(CONTACT_IS_FRIEND),
|
||||||
dbesc(NETWORK_DFRN), dbesc($ostatus), dbesc($diaspora),
|
dbesc(NETWORK_DFRN), dbesc($ostatus), dbesc($diaspora),
|
||||||
dbesc(escape_tags($search)), dbesc(escape_tags($search)), dbesc(escape_tags($search)),
|
dbesc(escape_tags($search)), dbesc(escape_tags($search)), dbesc(escape_tags($search)),
|
||||||
dbesc(escape_tags($search)), dbesc(escape_tags($search)));
|
dbesc(escape_tags($search)), dbesc(escape_tags($search)));
|
||||||
|
@ -106,8 +112,8 @@ function dirfind_content(&$a, $prefix = "") {
|
||||||
LEFT JOIN `contact` ON `contact`.`nurl` = `gcontact`.`nurl`
|
LEFT JOIN `contact` ON `contact`.`nurl` = `gcontact`.`nurl`
|
||||||
AND `contact`.`uid` = %d AND NOT `contact`.`blocked`
|
AND `contact`.`uid` = %d AND NOT `contact`.`blocked`
|
||||||
AND NOT `contact`.`pending` AND `contact`.`rel` IN ('%s', '%s')
|
AND NOT `contact`.`pending` AND `contact`.`rel` IN ('%s', '%s')
|
||||||
WHERE `gcontact`.`network` IN ('%s', '%s', '%s') AND
|
WHERE (`contact`.`id` > 0 OR (NOT `gcontact`.`hide` AND `gcontact`.`network` IN ('%s', '%s', '%s') AND
|
||||||
((`gcontact`.`last_contact` >= `gcontact`.`last_failure`) OR (`gcontact`.`updated` >= `gcontact`.`last_failure`)) AND
|
((`gcontact`.`last_contact` >= `gcontact`.`last_failure`) OR (`gcontact`.`updated` >= `gcontact`.`last_failure`)))) AND
|
||||||
(`gcontact`.`url` REGEXP '%s' OR `gcontact`.`name` REGEXP '%s' OR `gcontact`.`location` REGEXP '%s' OR
|
(`gcontact`.`url` REGEXP '%s' OR `gcontact`.`name` REGEXP '%s' OR `gcontact`.`location` REGEXP '%s' OR
|
||||||
`gcontact`.`about` REGEXP '%s' OR `gcontact`.`keywords` REGEXP '%s') $extra_sql
|
`gcontact`.`about` REGEXP '%s' OR `gcontact`.`keywords` REGEXP '%s') $extra_sql
|
||||||
GROUP BY `gcontact`.`nurl`
|
GROUP BY `gcontact`.`nurl`
|
||||||
|
|
|
@ -154,42 +154,53 @@ function display_fetchauthor($a, $item) {
|
||||||
$profiledata["about"] = "";
|
$profiledata["about"] = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Don't show details from Diaspora contacts if you don't follow the contact
|
||||||
|
$showdetails = ($profiledata["network"] != NETWORK_DIASPORA);
|
||||||
|
|
||||||
// Fetching further contact data from the contact table
|
// Fetching further contact data from the contact table
|
||||||
$r = q("SELECT `uid`, `network`, `photo`, `nick`, `location`, `about` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d AND `network` = '%s'",
|
$r = q("SELECT `uid`, `network`, `name`, `photo`, `nick`, `addr`, `location`, `about`, `gender`, `keywords`
|
||||||
dbesc(normalise_link($profiledata["url"])), intval($item["uid"]), dbesc($item["network"]));
|
FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d AND `network` = '%s' AND `rel` IN (%d, %d)",
|
||||||
|
dbesc(normalise_link($profiledata["url"])), intval(local_user()), dbesc($item["network"]),
|
||||||
|
intval(CONTACT_IS_SHARING), intval(CONTACT_IS_FRIEND));
|
||||||
if (!count($r))
|
if (!count($r))
|
||||||
$r = q("SELECT `uid`, `network`, `photo`, `nick`, `location`, `about` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d",
|
$r = q("SELECT `uid`, `network`, `name`, `photo`, `nick`, `addr`, `location`, `about`, `gender`, `keywords`
|
||||||
dbesc(normalise_link($profiledata["url"])), intval($item["uid"]));
|
FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d AND `rel` IN (%d, %d)",
|
||||||
|
dbesc(normalise_link($profiledata["url"])), intval(local_user()),
|
||||||
if (!count($r))
|
intval(CONTACT_IS_SHARING), intval(CONTACT_IS_FRIEND));
|
||||||
$r = q("SELECT `uid`, `network`, `photo`, `nick`, `location`, `about` FROM `contact` WHERE `nurl` = '%s' AND `uid` = 0",
|
|
||||||
dbesc(normalise_link($profiledata["url"])));
|
|
||||||
|
|
||||||
if (count($r)) {
|
if (count($r)) {
|
||||||
if ((($r[0]["uid"] != local_user()) OR !local_user()) AND ($profiledata["network"] == NETWORK_DIASPORA)) {
|
$profiledata["name"] = $r[0]["name"];
|
||||||
$r[0]["location"] = "";
|
|
||||||
$r[0]["about"] = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
$profiledata["photo"] = $r[0]["photo"];
|
$profiledata["photo"] = $r[0]["photo"];
|
||||||
$profiledata["address"] = $r[0]["location"];
|
$profiledata["nickname"] = $r[0]["nick"];
|
||||||
$profiledata["about"] = $r[0]["about"];
|
$profiledata["addr"] = $r[0]["addr"];
|
||||||
if ($r[0]["nick"] != "")
|
$profiledata["keywords"] = $r[0]["keywords"];
|
||||||
$profiledata["nickname"] = $r[0]["nick"];
|
$profiledata["network"] = $r[0]["network"];
|
||||||
|
|
||||||
|
if (local_user() OR $showdetails) {
|
||||||
|
$showdetails = true;
|
||||||
|
$profiledata["address"] = $r[0]["location"];
|
||||||
|
$profiledata["about"] = $r[0]["about"];
|
||||||
|
$profiledata["gender"] = $r[0]["gender"];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fetching profile data from unique contacts
|
// Fetching profile data from global contacts
|
||||||
$r = q("SELECT `avatar`, `nick`, `location`, `about` FROM `unique_contacts` WHERE `url` = '%s'", dbesc(normalise_link($profiledata["url"])));
|
if ($profiledata["network"] != NETWORK_FEED) {
|
||||||
if (count($r)) {
|
$r = q("SELECT `name`, `photo`, `nick`, `addr`, `location`, `about`, `gender`, `keywords`, `network` FROM `gcontact` WHERE `nurl` = '%s'", dbesc(normalise_link($profiledata["url"])));
|
||||||
if ($profiledata["photo"] == "")
|
if (count($r)) {
|
||||||
$profiledata["photo"] = $r[0]["avatar"];
|
$profiledata["name"] = $r[0]["name"];
|
||||||
if (($profiledata["address"] == "") AND ($profiledata["network"] != NETWORK_DIASPORA))
|
$profiledata["photo"] = $r[0]["photo"];
|
||||||
$profiledata["address"] = $r[0]["location"];
|
|
||||||
if (($profiledata["about"] == "") AND ($profiledata["network"] != NETWORK_DIASPORA))
|
|
||||||
$profiledata["about"] = $r[0]["about"];
|
|
||||||
if (($profiledata["nickname"] == "") AND ($r[0]["nick"] != ""))
|
|
||||||
$profiledata["nickname"] = $r[0]["nick"];
|
$profiledata["nickname"] = $r[0]["nick"];
|
||||||
|
$profiledata["addr"] = $r[0]["addr"];
|
||||||
|
$profiledata["keywords"] = $r[0]["keywords"];
|
||||||
|
$profiledata["network"] = $r[0]["network"];
|
||||||
|
|
||||||
|
if ($showdetails) {
|
||||||
|
$profiledata["address"] = $r[0]["location"];
|
||||||
|
$profiledata["about"] = $r[0]["about"];
|
||||||
|
$profiledata["gender"] = $r[0]["gender"];
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (local_user()) {
|
if (local_user()) {
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
require_once('include/Scrape.php');
|
require_once('include/Scrape.php');
|
||||||
require_once('include/follow.php');
|
require_once('include/follow.php');
|
||||||
|
require_once('include/Contact.php');
|
||||||
require_once('include/contact_selectors.php');
|
require_once('include/contact_selectors.php');
|
||||||
|
|
||||||
function follow_content(&$a) {
|
function follow_content(&$a) {
|
||||||
|
@ -75,15 +76,18 @@ function follow_content(&$a) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$myaddr = $r[0]["url"];
|
$myaddr = $r[0]["url"];
|
||||||
|
$gcontact_id = 0;
|
||||||
|
|
||||||
// Makes the connection request for friendica contacts easier
|
// Makes the connection request for friendica contacts easier
|
||||||
$_SESSION["fastlane"] = $ret["url"];
|
$_SESSION["fastlane"] = $ret["url"];
|
||||||
|
|
||||||
$r = q("SELECT `location`, `about`, `keywords` FROM `gcontact` WHERE `nurl` = '%s'",
|
$r = q("SELECT `id`, `location`, `about`, `keywords` FROM `gcontact` WHERE `nurl` = '%s'",
|
||||||
normalise_link($ret["url"]));
|
normalise_link($ret["url"]));
|
||||||
|
|
||||||
if (!$r)
|
if (!$r)
|
||||||
$r = array(array("location" => "", "about" => "", "keywords" => ""));
|
$r = array(array("location" => "", "about" => "", "keywords" => ""));
|
||||||
|
else
|
||||||
|
$gcontact_id = $r[0]["id"];
|
||||||
|
|
||||||
if($ret['network'] === NETWORK_DIASPORA) {
|
if($ret['network'] === NETWORK_DIASPORA) {
|
||||||
$r[0]["location"] = "";
|
$r[0]["location"] = "";
|
||||||
|
@ -95,11 +99,12 @@ function follow_content(&$a) {
|
||||||
if ($ret["addr"] != "")
|
if ($ret["addr"] != "")
|
||||||
$header .= " <".$ret["addr"].">";
|
$header .= " <".$ret["addr"].">";
|
||||||
|
|
||||||
$header .= " (".network_to_name($ret['network'], $ret['url']).")";
|
//$header .= " (".network_to_name($ret['network'], $ret['url']).")";
|
||||||
|
$header = t("Connect/Follow");
|
||||||
|
|
||||||
$o = replace_macros($tpl,array(
|
$o = replace_macros($tpl,array(
|
||||||
'$header' => htmlentities($header),
|
'$header' => htmlentities($header),
|
||||||
'$photo' => proxy_url($ret["photo"], false, PROXY_SIZE_SMALL),
|
//'$photo' => proxy_url($ret["photo"], false, PROXY_SIZE_SMALL),
|
||||||
'$desc' => "",
|
'$desc' => "",
|
||||||
'$pls_answer' => t('Please answer the following:'),
|
'$pls_answer' => t('Please answer the following:'),
|
||||||
'$does_know_you' => array('knowyou', sprintf(t('Does %s know you?'),$ret["name"]), false, '', array(t('No'),t('Yes'))),
|
'$does_know_you' => array('knowyou', sprintf(t('Does %s know you?'),$ret["name"]), false, '', array(t('No'),t('Yes'))),
|
||||||
|
@ -121,13 +126,26 @@ function follow_content(&$a) {
|
||||||
'$url_label' => t("Profile URL"),
|
'$url_label' => t("Profile URL"),
|
||||||
'$myaddr' => $myaddr,
|
'$myaddr' => $myaddr,
|
||||||
'$request' => $request,
|
'$request' => $request,
|
||||||
'$location' => bbcode($r[0]["location"]),
|
/*'$location' => bbcode($r[0]["location"]),
|
||||||
'$location_label' => t("Location:"),
|
'$location_label' => t("Location:"),
|
||||||
'$about' => bbcode($r[0]["about"], false, false),
|
'$about' => bbcode($r[0]["about"], false, false),
|
||||||
'$about_label' => t("About:"),
|
'$about_label' => t("About:"), */
|
||||||
'$keywords' => $r[0]["keywords"],
|
'$keywords' => $r[0]["keywords"],
|
||||||
'$keywords_label' => t("Tags:")
|
'$keywords_label' => t("Tags:")
|
||||||
));
|
));
|
||||||
|
|
||||||
|
$a->page['aside'] = "";
|
||||||
|
profile_load($a, "", 0, get_contact_details_by_url($ret["url"]));
|
||||||
|
|
||||||
|
// Show last public posts
|
||||||
|
if ($gcontact_id <> 0) {
|
||||||
|
$o .= replace_macros(get_markup_template('section_title.tpl'),
|
||||||
|
array('$title' => t('Status Messages and Posts')
|
||||||
|
));
|
||||||
|
|
||||||
|
$o .= posts_from_gcontact($a, $gcontact_id);
|
||||||
|
}
|
||||||
|
|
||||||
return $o;
|
return $o;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
227
mod/item.php
227
mod/item.php
|
@ -137,14 +137,25 @@ function item_post(&$a) {
|
||||||
AND (normalise_link($parent_contact["url"]) != normalise_link($thrparent[0]["author-link"]))) {
|
AND (normalise_link($parent_contact["url"]) != normalise_link($thrparent[0]["author-link"]))) {
|
||||||
$parent_contact = null;
|
$parent_contact = null;
|
||||||
|
|
||||||
require_once("include/Scrape.php");
|
$r = q("SELECT * FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
|
||||||
$probed_contact = probe_url($thrparent[0]["author-link"]);
|
dbesc(normalise_link($thrparent[0]["author-link"])));
|
||||||
if ($probed_contact["network"] != NETWORK_FEED) {
|
if (count($r)) {
|
||||||
$parent_contact = $probed_contact;
|
$parent_contact = $r[0];
|
||||||
$parent_contact["nurl"] = normalise_link($probed_contact["url"]);
|
$parent_contact["thumb"] = $parent_contact["photo"];
|
||||||
$parent_contact["thumb"] = $probed_contact["photo"];
|
$parent_contact["micro"] = $parent_contact["photo"];
|
||||||
$parent_contact["micro"] = $probed_contact["photo"];
|
unset($parent_contact["id"]);
|
||||||
$parent_contact["addr"] = $probed_contact["addr"];
|
}
|
||||||
|
|
||||||
|
if (!isset($parent_contact["nick"])) {
|
||||||
|
require_once("include/Scrape.php");
|
||||||
|
$probed_contact = probe_url($thrparent[0]["author-link"]);
|
||||||
|
if ($probed_contact["network"] != NETWORK_FEED) {
|
||||||
|
$parent_contact = $probed_contact;
|
||||||
|
$parent_contact["nurl"] = normalise_link($probed_contact["url"]);
|
||||||
|
$parent_contact["thumb"] = $probed_contact["photo"];
|
||||||
|
$parent_contact["micro"] = $probed_contact["photo"];
|
||||||
|
$parent_contact["addr"] = $probed_contact["addr"];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
logger('no contact found: '.print_r($thrparent, true), LOGGER_DEBUG);
|
logger('no contact found: '.print_r($thrparent, true), LOGGER_DEBUG);
|
||||||
} else
|
} else
|
||||||
|
@ -693,7 +704,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(array("url" => $datarray['author-link'], "network" => $datarray['network'],
|
||||||
|
"photo" => $datarray['author-avatar'], "name" => $datarray['author-name']));
|
||||||
/**
|
/**
|
||||||
* These fields are for the convenience of plugins...
|
* These fields are for the convenience of plugins...
|
||||||
* 'self' if true indicates the owner is posting on their own wall
|
* 'self' if true indicates the owner is posting on their own wall
|
||||||
|
@ -1060,6 +1072,8 @@ function item_content(&$a) {
|
||||||
* @return boolean true if replaced, false if not replaced
|
* @return boolean true if replaced, false if not replaced
|
||||||
*/
|
*/
|
||||||
function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag, $network = "") {
|
function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag, $network = "") {
|
||||||
|
require_once("include/Scrape.php");
|
||||||
|
require_once("include/socgraph.php");
|
||||||
|
|
||||||
$replaced = false;
|
$replaced = false;
|
||||||
$r = null;
|
$r = null;
|
||||||
|
@ -1094,122 +1108,115 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag, $netwo
|
||||||
$stat = false;
|
$stat = false;
|
||||||
//get the person's name
|
//get the person's name
|
||||||
$name = substr($tag,1);
|
$name = substr($tag,1);
|
||||||
//is it a link or a full dfrn address?
|
|
||||||
if((strpos($name,'@')) || (strpos($name,'http://'))) {
|
// Sometimes the tag detection doesn't seem to work right
|
||||||
$newname = $name;
|
// This is some workaround
|
||||||
//get the profile links
|
$nameparts = explode(" ", $name);
|
||||||
$links = @lrdd($name);
|
$name = $nameparts[0];
|
||||||
if(count($links)) {
|
|
||||||
//for all links, collect how is to inform and how's profile is to link
|
// Try to detect the contact in various ways
|
||||||
foreach($links as $link) {
|
if ((strpos($name,'@')) || (strpos($name,'http://'))) {
|
||||||
if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page')
|
// Is it in format @user@domain.tld or @http://domain.tld/...?
|
||||||
$profile = $link['@attributes']['href'];
|
|
||||||
if($link['@attributes']['rel'] === 'salmon') {
|
// First check the contact table for the address
|
||||||
if(strlen($inform))
|
$r = q("SELECT `id`, `url`, `nick`, `name`, `alias`, `network`, `notify` FROM `contact` WHERE `addr` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
$inform .= ',';
|
dbesc($name),
|
||||||
$inform .= 'url:' . str_replace(',','%2c',$link['@attributes']['href']);
|
intval($profile_uid)
|
||||||
}
|
);
|
||||||
|
|
||||||
|
// Then check in the contact table for the url
|
||||||
|
if (!$r)
|
||||||
|
$r = q("SELECT `id`, `url`, `nick`, `name`, `alias`, `notify`, `network` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
|
dbesc(normalise_link($name)),
|
||||||
|
intval($profile_uid)
|
||||||
|
);
|
||||||
|
|
||||||
|
// Then check in the global contacts for the address
|
||||||
|
if (!$r)
|
||||||
|
$r = q("SELECT `url`, `name`, `nick`, `network`, `alias`, `notify` FROM `gcontact` WHERE `addr` = '%s' LIMIT 1", dbesc($name));
|
||||||
|
|
||||||
|
// Then check in the global contacts for the url
|
||||||
|
if (!$r)
|
||||||
|
$r = q("SELECT `url`, `name`, `nick`, `network`, `alias`, `notify` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1", dbesc(normalise_link($name)));
|
||||||
|
|
||||||
|
// If the data isn't complete then refetch the data
|
||||||
|
if ($r AND ($r[0]["network"] == NETWORK_OSTATUS) AND (($r[0]["notify"] == "") OR ($r[0]["alias"] == "")))
|
||||||
|
$r = false;
|
||||||
|
|
||||||
|
if (!$r) {
|
||||||
|
$probed = probe_url($name);
|
||||||
|
if (isset($probed["url"])) {
|
||||||
|
update_gcontact($probed);
|
||||||
|
$r = q("SELECT `url`, `name`, `nick`, `network`, `alias`, `notify` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
|
||||||
|
dbesc(normalise_link($probed["url"])));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} elseif (($network != NETWORK_OSTATUS) AND ($network != NETWORK_TWITTER) AND
|
} else {
|
||||||
($network != NETWORK_STATUSNET) AND ($network != NETWORK_APPNET)) {
|
$r = false;
|
||||||
//if it is a name rather than an address
|
if (strrpos($name,'+')) {
|
||||||
$newname = $name;
|
// Is it in format @nick+number?
|
||||||
$alias = '';
|
$tagcid = intval(substr($name,strrpos($name,'+') + 1));
|
||||||
$tagcid = 0;
|
|
||||||
//is it some generated name?
|
$r = q("SELECT `id`, `url`, `nick`, `name`, `alias`, `network` FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||||
if(strrpos($newname,'+')) {
|
|
||||||
//get the id
|
|
||||||
$tagcid = intval(substr($newname,strrpos($newname,'+') + 1));
|
|
||||||
//remove the next word from tag's name
|
|
||||||
if(strpos($name,' ')) {
|
|
||||||
$name = substr($name,0,strpos($name,' '));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if($tagcid) { //if there was an id
|
|
||||||
//select contact with that id from the logged in user's contact list
|
|
||||||
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
|
||||||
intval($tagcid),
|
intval($tagcid),
|
||||||
intval($profile_uid)
|
intval($profile_uid)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
$newname = str_replace('_',' ',$name);
|
|
||||||
|
|
||||||
// At first try to fetch a contact according to the given network
|
//select someone by attag or nick and the name passed in the current network
|
||||||
if ($network != "") {
|
if(!$r AND ($network != ""))
|
||||||
//select someone from this user's contacts by name
|
$r = q("SELECT `id`, `url`, `nick`, `name`, `alias`, `network` FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `network` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1",
|
||||||
$r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `network` = '%s' AND `uid` = %d LIMIT 1",
|
dbesc($name),
|
||||||
dbesc($newname),
|
dbesc($name),
|
||||||
dbesc($network),
|
dbesc($network),
|
||||||
intval($profile_uid)
|
intval($profile_uid)
|
||||||
);
|
);
|
||||||
if(! $r) {
|
|
||||||
//select someone by attag or nick and the name passed in
|
|
||||||
$r = q("SELECT * FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `network` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1",
|
|
||||||
dbesc($name),
|
|
||||||
dbesc($name),
|
|
||||||
dbesc($network),
|
|
||||||
intval($profile_uid)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
} else
|
|
||||||
$r = false;
|
|
||||||
|
|
||||||
if(! $r) {
|
//select someone from this user's contacts by name in the current network
|
||||||
//select someone from this user's contacts by name
|
if (!$r AND ($network != ""))
|
||||||
$r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1",
|
$r = q("SELECT `id`, `url`, `nick`, `name`, `alias`, `network` FROM `contact` WHERE `name` = '%s' AND `network` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
dbesc($newname),
|
dbesc($newname),
|
||||||
intval($profile_uid)
|
dbesc($network),
|
||||||
);
|
intval($profile_uid)
|
||||||
}
|
);
|
||||||
|
|
||||||
if(! $r) {
|
//select someone by attag or nick and the name passed in
|
||||||
//select someone by attag or nick and the name passed in
|
if(!$r)
|
||||||
$r = q("SELECT * FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1",
|
$r = q("SELECT `id`, `url`, `nick`, `name`, `alias`, `network` FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1",
|
||||||
dbesc($name),
|
dbesc($name),
|
||||||
dbesc($name),
|
dbesc($name),
|
||||||
intval($profile_uid)
|
intval($profile_uid)
|
||||||
);
|
);
|
||||||
}
|
|
||||||
}
|
|
||||||
/* } elseif(strstr($name,'_') || strstr($name,' ')) { //no id
|
//select someone from this user's contacts by name
|
||||||
//get the real name
|
if(!$r)
|
||||||
$newname = str_replace('_',' ',$name);
|
$r = q("SELECT `id`, `url`, `nick`, `name`, `alias`, `network` FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1",
|
||||||
//select someone from this user's contacts by name
|
|
||||||
$r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1",
|
|
||||||
dbesc($newname),
|
dbesc($newname),
|
||||||
intval($profile_uid)
|
intval($profile_uid)
|
||||||
);
|
);
|
||||||
} else {
|
|
||||||
//select someone by attag or nick and the name passed in
|
|
||||||
$r = q("SELECT * FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1",
|
|
||||||
dbesc($name),
|
|
||||||
dbesc($name),
|
|
||||||
intval($profile_uid)
|
|
||||||
);
|
|
||||||
}*/
|
|
||||||
//$r is set, if someone could be selected
|
|
||||||
if(count($r)) {
|
|
||||||
$profile = $r[0]['url'];
|
|
||||||
//set newname to nick, find alias
|
|
||||||
if(($r[0]['network'] === NETWORK_OSTATUS) OR ($r[0]['network'] === NETWORK_TWITTER)
|
|
||||||
OR ($r[0]['network'] === NETWORK_STATUSNET) OR ($r[0]['network'] === NETWORK_APPNET)) {
|
|
||||||
$newname = $r[0]['nick'];
|
|
||||||
$stat = true;
|
|
||||||
if($r[0]['alias'])
|
|
||||||
$alias = $r[0]['alias'];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
$newname = $r[0]['name'];
|
|
||||||
//add person's id to $inform
|
|
||||||
if(strlen($inform))
|
|
||||||
$inform .= ',';
|
|
||||||
$inform .= 'cid:' . $r[0]['id'];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($r) {
|
||||||
|
if(strlen($inform) AND (isset($r[0]["notify"]) OR isset($r[0]["id"])))
|
||||||
|
$inform .= ',';
|
||||||
|
|
||||||
|
if (isset($r[0]["id"]))
|
||||||
|
$inform .= 'cid:' . $r[0]["id"];
|
||||||
|
elseif (isset($r[0]["notify"]))
|
||||||
|
$inform .= $r[0]["notify"];
|
||||||
|
|
||||||
|
$profile = $r[0]["url"];
|
||||||
|
$alias = $r[0]["alias"];
|
||||||
|
$newname = $r[0]["nick"];
|
||||||
|
if (($newname == "") OR (($r[0]["network"] != NETWORK_OSTATUS) AND ($r[0]["network"] != NETWORK_TWITTER)
|
||||||
|
AND ($r[0]["network"] != NETWORK_STATUSNET) AND ($r[0]["network"] != NETWORK_APPNET)))
|
||||||
|
$newname = $r[0]["name"];
|
||||||
|
}
|
||||||
|
|
||||||
//if there is an url for this persons profile
|
//if there is an url for this persons profile
|
||||||
if(isset($profile)) {
|
if(isset($profile)) {
|
||||||
|
|
||||||
$replaced = true;
|
$replaced = true;
|
||||||
//create profile link
|
//create profile link
|
||||||
$profile = str_replace(',','%2c',$profile);
|
$profile = str_replace(',','%2c',$profile);
|
||||||
|
|
|
@ -312,6 +312,9 @@ function network_content(&$a, $update = 0) {
|
||||||
return login(false);
|
return login(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Rawmode is used for fetching new content at the end of the page
|
||||||
|
$rawmode = (isset($_GET["mode"]) AND ($_GET["mode"] == "raw"));
|
||||||
|
|
||||||
/// @TODO Is this really necessary? $a is already available to hooks
|
/// @TODO Is this really necessary? $a is already available to hooks
|
||||||
$arr = array('query' => $a->query_string);
|
$arr = array('query' => $a->query_string);
|
||||||
call_hooks('network_content_init', $arr);
|
call_hooks('network_content_init', $arr);
|
||||||
|
@ -470,7 +473,7 @@ function network_content(&$a, $update = 0) {
|
||||||
}
|
}
|
||||||
set_pconfig(local_user(), 'network.view', 'net.selected', ($nets ? $nets : 'all'));
|
set_pconfig(local_user(), 'network.view', 'net.selected', ($nets ? $nets : 'all'));
|
||||||
|
|
||||||
if(! $update) {
|
if(!$update AND !$rawmode) {
|
||||||
if($group) {
|
if($group) {
|
||||||
if(($t = group_public_members($group)) && (! get_pconfig(local_user(),'system','nowarn_insecure'))) {
|
if(($t = group_public_members($group)) && (! get_pconfig(local_user(),'system','nowarn_insecure'))) {
|
||||||
notice( sprintf( tt('Warning: This group contains %s member from an insecure network.',
|
notice( sprintf( tt('Warning: This group contains %s member from an insecure network.',
|
||||||
|
@ -549,27 +552,30 @@ function network_content(&$a, $update = 0) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$contacts = expand_groups(array($group));
|
$contacts = expand_groups(array($group));
|
||||||
|
$gcontacts = expand_groups(array($group), false, true);
|
||||||
$contact_str_self = "";
|
|
||||||
|
|
||||||
if((is_array($contacts)) && count($contacts)) {
|
if((is_array($contacts)) && count($contacts)) {
|
||||||
|
$contact_str_self = "";
|
||||||
|
$gcontact_str_self = "";
|
||||||
|
|
||||||
$contact_str = implode(',',$contacts);
|
$contact_str = implode(',',$contacts);
|
||||||
$self = q("SELECT `id` FROM `contact` WHERE `uid` = %d AND `self`", intval($_SESSION['uid']));
|
$gcontact_str = implode(',',$gcontacts);
|
||||||
if (count($self))
|
$self = q("SELECT `contact`.`id`, `gcontact`.`id` AS `gid` FROM `contact`
|
||||||
$contact_str_self = ",".$self[0]["id"];
|
INNER JOIN `gcontact` ON `gcontact`.`nurl` = `contact`.`nurl`
|
||||||
}
|
WHERE `uid` = %d AND `self`", intval($_SESSION['uid']));
|
||||||
else {
|
if (count($self)) {
|
||||||
$contact_str = ' 0 ';
|
$contact_str_self = $self[0]["id"];
|
||||||
|
$gcontact_str_self = $self[0]["gid"];
|
||||||
|
}
|
||||||
|
|
||||||
|
$sql_post_table = " INNER JOIN `item` AS `temp1` ON `temp1`.`id` = ".$sql_table.".".$sql_parent;
|
||||||
|
$sql_extra3 .= " AND ($sql_table.`contact-id` IN ($contact_str) ";
|
||||||
|
$sql_extra3 .= " OR ($sql_table.`contact-id` = '$contact_str_self' AND `temp1`.`allow_gid` LIKE '".protect_sprintf('%<'.intval($group).'>%')."' AND `temp1`.`private`))";
|
||||||
|
} else {
|
||||||
|
$sql_extra3 .= " AND false ";
|
||||||
info( t('Group is empty'));
|
info( t('Group is empty'));
|
||||||
}
|
}
|
||||||
|
|
||||||
//$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 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) ";
|
|
||||||
|
|
||||||
$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'])
|
||||||
)) . $o;
|
)) . $o;
|
||||||
|
@ -582,11 +588,7 @@ 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_extra = " AND ".$sql_table.".`contact-id` = ".intval($cid);
|
||||||
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 = "";
|
|
||||||
|
|
||||||
$entries[0] = array(
|
$entries[0] = array(
|
||||||
'id' => 'network',
|
'id' => 'network',
|
||||||
|
@ -668,7 +670,7 @@ function network_content(&$a, $update = 0) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if($conv)
|
if($conv)
|
||||||
$sql_extra3 .= " AND `mention`";
|
$sql_extra3 .= " AND $sql_table.`mention`";
|
||||||
|
|
||||||
if($update) {
|
if($update) {
|
||||||
|
|
||||||
|
|
|
@ -61,8 +61,7 @@ function poco_init(&$a) {
|
||||||
$update_limit = date("Y-m-d H:i:s",strtotime($_GET['updatedSince']));
|
$update_limit = date("Y-m-d H:i:s",strtotime($_GET['updatedSince']));
|
||||||
|
|
||||||
if ($global) {
|
if ($global) {
|
||||||
//$r = q("SELECT count(*) AS `total` FROM `gcontact` WHERE `updated` >= '%s' AND ((`last_contact` >= `last_failure`) OR (`updated` >= `last_failure`)) AND `network` IN ('%s')",
|
$r = q("SELECT count(*) AS `total` FROM `gcontact` WHERE `updated` >= '%s' AND `updated` >= `last_failure` AND NOT `hide` AND `network` IN ('%s', '%s', '%s')",
|
||||||
$r = q("SELECT count(*) AS `total` FROM `gcontact` WHERE `updated` >= '%s' AND `updated` >= `last_failure` AND `network` IN ('%s', '%s', '%s')",
|
|
||||||
dbesc($update_limit),
|
dbesc($update_limit),
|
||||||
dbesc(NETWORK_DFRN),
|
dbesc(NETWORK_DFRN),
|
||||||
dbesc(NETWORK_DIASPORA),
|
dbesc(NETWORK_DIASPORA),
|
||||||
|
@ -94,8 +93,7 @@ function poco_init(&$a) {
|
||||||
|
|
||||||
if ($global) {
|
if ($global) {
|
||||||
logger("Start global query", LOGGER_DEBUG);
|
logger("Start global query", LOGGER_DEBUG);
|
||||||
//$r = q("SELECT * FROM `gcontact` WHERE `updated` > '%s' AND `network` IN ('%s') AND ((`last_contact` >= `last_failure`) OR (`updated` > `last_failure`)) LIMIT %d, %d",
|
$r = q("SELECT * FROM `gcontact` WHERE `updated` > '%s' AND NOT `hide` AND `network` IN ('%s', '%s', '%s') AND `updated` > `last_failure`
|
||||||
$r = q("SELECT * FROM `gcontact` WHERE `updated` > '%s' AND `network` IN ('%s', '%s', '%s') AND `updated` > `last_failure`
|
|
||||||
ORDER BY `updated` DESC LIMIT %d, %d",
|
ORDER BY `updated` DESC LIMIT %d, %d",
|
||||||
dbesc($update_limit),
|
dbesc($update_limit),
|
||||||
dbesc(NETWORK_DFRN),
|
dbesc(NETWORK_DFRN),
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
define( 'UPDATE_VERSION' , 1191 );
|
define( 'UPDATE_VERSION' , 1192 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
|
@ -323,3 +323,7 @@ ul.credits li {
|
||||||
.p-addr {
|
.p-addr {
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#live-community {
|
||||||
|
clear: both;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue