From 584ac68ae4a230c7a61b2720be8bac3de34d68da Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 1 May 2012 01:16:47 -0700 Subject: [PATCH] adding zrl support to social graphs --- boot.php | 2 +- database.sql | 2 ++ include/onepoll.php | 2 +- include/socgraph.php | 38 ++++++++++++++++++++++++-------------- update.php | 13 +++++++++++-- 5 files changed, 39 insertions(+), 18 deletions(-) diff --git a/boot.php b/boot.php index 44a8d8c32..125dda224 100644 --- a/boot.php +++ b/boot.php @@ -11,7 +11,7 @@ require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); define ( 'FRIENDICA_VERSION', '2.3.1328' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); -define ( 'DB_UPDATE_VERSION', 1141 ); +define ( 'DB_UPDATE_VERSION', 1142 ); define ( 'EOL', "
\r\n" ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); diff --git a/database.sql b/database.sql index 16e3964b5..dc586bc2b 100644 --- a/database.sql +++ b/database.sql @@ -384,11 +384,13 @@ CREATE TABLE IF NOT EXISTS `glink` ( `cid` int(11) NOT NULL, `uid` int(11) NOT NULL, `gcid` int(11) NOT NULL, + `zcid` int(11) NOT NULL, `updated` datetime NOT NULL, PRIMARY KEY (`id`), KEY `cid` (`cid`), KEY `uid` (`uid`), KEY `gcid` (`gcid`), + KEY `zcid` (`zcid`), KEY `updated` (`updated`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; diff --git a/include/onepoll.php b/include/onepoll.php index 51516d059..42bce0f68 100644 --- a/include/onepoll.php +++ b/include/onepoll.php @@ -506,7 +506,7 @@ function onepoll_run($argv, $argc){ } if(count($r)) { if(! $r[0]['total']) { - poco_load($contact['id'],$importer_uid,$contact['poco']); + poco_load($contact['id'],$importer_uid,0,$contact['poco']); } } diff --git a/include/socgraph.php b/include/socgraph.php index 3f5194049..4ab378098 100644 --- a/include/socgraph.php +++ b/include/socgraph.php @@ -20,7 +20,7 @@ require_once('include/datetime.php'); -function poco_load($cid,$uid = 0,$url = null) { +function poco_load($cid,$uid = 0,$zcid = 0,$url = null) { $a = get_app(); if($cid) { @@ -128,35 +128,45 @@ function poco_load($cid,$uid = 0,$url = null) { if(! $gcid) return; - $r = q("select * from glink where `cid` = %d and `uid` = %d and `gcid` = %d limit 1", + $r = q("select * from glink where `cid` = %d and `uid` = %d and `gcid` = %d and `zcid` = %d limit 1", intval($cid), intval($uid), - intval($gcid) + intval($gcid), + intval($zcid) ); if(! count($r)) { - q("insert into glink ( `cid`,`uid`,`gcid`,`updated`) values (%d,%d,%d,'%s') ", + q("insert into glink ( `cid`,`uid`,`gcid`,`zcid`, `updated`) values (%d,%d,%d,%d, '%s') ", intval($cid), intval($uid), intval($gcid), + intval($zcid), dbesc(datetime_convert()) ); } else { - q("update glink set updated = '%s' where `cid` = %d and `uid` = %d and `gcid` = %d limit 1", + q("update glink set updated = '%s' where `cid` = %d and `uid` = %d and `gcid` = %d and zcid = %d limit 1", dbesc(datetime_convert()), intval($cid), intval($uid), - intval($gcid) + intval($gcid), + intval($zcid) ); } } logger("poco_load: loaded $total entries",LOGGER_DEBUG); - q("delete from glink where `cid` = %d and `uid` = %d and `updated` < UTC_TIMESTAMP - INTERVAL 2 DAY", - intval($cid), - intval($uid) - ); + if($zcid) { + q("delete from glink where `zcid` = %d and `updated` < UTC_TIMESTAMP - INTERVAL 14 DAY", + intval($zcid) + ); + } + else { + q("delete from glink where `cid` = %d and `uid` = %d and `updated` < UTC_TIMESTAMP - INTERVAL 2 DAY", + intval($cid), + intval($uid) + ); + } } @@ -254,7 +264,7 @@ function suggestion_query($uid, $start = 0, $limit = 80) { $r2 = q("SELECT gcontact.* from gcontact left join glink on glink.gcid = gcontact.id - where glink.uid = 0 and glink.cid = 0 and not gcontact.nurl in ( select nurl from contact where uid = %d ) + where glink.uid = 0 and glink.cid = 0 and glink.zcid = 0 and not gcontact.nurl in ( select nurl from contact where uid = %d ) and not gcontact.name in ( select name from contact where uid = %d ) and not gcontact.id in ( select gcid from gcign where uid = %d ) order by rand() limit %d, %d ", @@ -276,7 +286,7 @@ function update_suggestions() { $done = array(); - poco_load(0,0,$a->get_baseurl() . '/poco'); + poco_load(0,0,0,$a->get_baseurl() . '/poco'); $done[] = $a->get_baseurl() . '/poco'; @@ -288,7 +298,7 @@ function update_suggestions() { foreach($j->entries as $entry) { $url = $entry->url . '/poco'; if(! in_array($url,$done)) - poco_load(0,0,$entry->url . '/poco'); + poco_load(0,0,0,$entry->url . '/poco'); } } } @@ -302,7 +312,7 @@ function update_suggestions() { foreach($r as $rr) { $base = substr($rr['poco'],0,strrpos($rr['poco'],'/')); if(! in_array($base,$done)) - poco_load(0,0,$base); + poco_load(0,0,0,$base); } } } diff --git a/update.php b/update.php index f793b89dd..cce942f27 100644 --- a/update.php +++ b/update.php @@ -1,6 +1,6 @@