aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/dba.php8
-rw-r--r--include/poller.php2
-rw-r--r--include/socgraph.php76
-rw-r--r--mod/settings.php12
-rw-r--r--view/settings.tpl2
5 files changed, 88 insertions, 12 deletions
diff --git a/include/dba.php b/include/dba.php
index 3fa615d90..b89cf5376 100644
--- a/include/dba.php
+++ b/include/dba.php
@@ -76,9 +76,11 @@ class dba {
$mesg = '';
- if($this->mysqli && $this->db->errno)
- logger('dba: ' . $this->db->error);
- else
+ if($this->mysqli) {
+ if($this->db->errno)
+ logger('dba: ' . $this->db->error);
+ }
+ elseif(mysql_errno($this->db))
logger('dba: ' . mysql_error($this->db));
if($result === false)
diff --git a/include/poller.php b/include/poller.php
index d9e5282f2..d568bbd03 100644
--- a/include/poller.php
+++ b/include/poller.php
@@ -60,6 +60,8 @@ function poller_run($argv, $argc){
update_contact_birthdays();
+ update_suggestions();
+
set_config('system','last_expire_day',$d2);
proc_run('php','include/expire.php');
}
diff --git a/include/socgraph.php b/include/socgraph.php
index 87a7543de..07dafe7f8 100644
--- a/include/socgraph.php
+++ b/include/socgraph.php
@@ -22,17 +22,26 @@ require_once('include/datetime.php');
function poco_load($cid,$uid = 0,$url = null) {
$a = get_app();
- if((! $url) || (! $uid)) {
- $r = q("select `poco`, `uid` from `contact` where `id` = %d limit 1",
- intval($cid)
- );
- if(count($r)) {
- $url = $r[0]['poco'];
- $uid = $r[0]['uid'];
+
+ if($cid) {
+ if((! $url) || (! $uid)) {
+ $r = q("select `poco`, `uid` from `contact` where `id` = %d limit 1",
+ intval($cid)
+ );
+ if(count($r)) {
+ $url = $r[0]['poco'];
+ $uid = $r[0]['uid'];
+ }
}
+ if(! $uid)
+ return;
}
- if((! $url) || (! $uid))
+
+ if(! $url)
return;
+
+ logger('poco_load: ' . $url, LOGGER_DATA);
+
$s = fetch_url($url . '/@me/@all?fields=displayName,urls,photos');
if(($a->get_curl_code() > 299) || (! $s))
@@ -65,6 +74,7 @@ function poco_load($cid,$uid = 0,$url = null) {
$x = q("select * from `gcontact` where `nurl` = '%s' limit 1",
dbesc(normalise_link($profile_url))
);
+
if(count($x)) {
$gcid = $x[0]['id'];
@@ -212,6 +222,56 @@ function suggestion_query($uid, $start = 0, $limit = 40) {
intval($limit)
);
+ if(count($r))
+ return $r;
+
+ $r = q("SELECT gcontact.* from gcontact
+ left join glink on glink.gcid = gcontact.id
+ where uid = 0 and cid = 0 and not gcontact.nurl in ( select nurl from contact where uid = %d)
+ and not gcontact.id in ( select gcid from gcign where uid = %d )
+ order by rand limit %d, %d ",
+ intval($uid),
+ intval($start),
+ intval($limit)
+ );
+
return $r;
}
+
+function update_suggestions() {
+
+ $a = get_app();
+
+ $done = array();
+
+ poco_load(0,0,$a->get_baseurl() . '/poco');
+
+ $done[] = $a->get_baseurl() . '/poco';
+
+ if(strlen(get_config('system','directory_submit_url'))) {
+ $x = fetch_url('http://dir.friendica.com/pubsites');
+ if($x) {
+ $j = json_decode($x);
+ if($j->entries) {
+ foreach($j->entries as $entry) {
+ $url = $entry->url . '/poco';
+ if(! in_array($url,$done))
+ poco_load(0,0,$entry->url . '/poco');
+ }
+ }
+ }
+ }
+
+ $r = q("select distinct(poco) as poco from contact where network = '%s'",
+ dbesc(NETWORK_DFRN)
+ );
+
+ if(count($r)) {
+ foreach($r as $rr) {
+ $base = substr($rr['poco'],0,strrpos($rr['poco'],'/'));
+ if(! in_array($base,$done))
+ poco_load(0,0,$base);
+ }
+ }
+}
diff --git a/mod/settings.php b/mod/settings.php
index 51db9b06e..3f5e0f2ed 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -614,6 +614,10 @@ function settings_content(&$a) {
$expire_photos = get_pconfig(local_user(), 'expire','photos');
$expire_photos = (($expire_photos===false)?0:$expire_photos); // default if not set: 0
+
+
+ $suggestme = get_pconfig(local_user(), 'system','suggestme');
+ $suggestme = (($suggestme===false)?0:$suggestme); // default if not set: 0
if(! strlen($a->user['timezone']))
$timezone = date_default_timezone_get();
@@ -689,6 +693,12 @@ function settings_content(&$a) {
));
+ $suggestme = replace_macros($opt_tpl,array(
+ '$field' => array('suggestme', t('Allow us to suggest you as a potential friend to new members?'), $suggestme, '', array(t('No'),t('Yes'))),
+
+ ));
+
+
$invisible = (((! $profile['publish']) && (! $profile['net-publish']))
? true : false);
@@ -770,7 +780,7 @@ function settings_content(&$a) {
'$permdesc' => t("\x28click to open/close\x29"),
'$visibility' => $profile['net-publish'],
'$aclselect' => populate_acl($a->user,$celeb),
-
+ '$suggestme' => $suggestme,
'$blockwall'=> $blockwall, // array('blockwall', t('Allow friends to post to your profile page:'), !$blockwall, ''),
'$blocktags'=> $blocktags, // array('blocktags', t('Allow friends to tag your posts:'), !$blocktags, ''),
'$expire' => $expire_arr,
diff --git a/view/settings.tpl b/view/settings.tpl
index 1a8d73828..3b10943f3 100644
--- a/view/settings.tpl
+++ b/view/settings.tpl
@@ -55,6 +55,8 @@ $blockwall
$blocktags
+$suggestme
+
{{inc field_input.tpl with $field=$expire.days }}{{endinc}}
<div class="field input">
<span class="field_help"><a href="#advaced-expire-popup" id="advenced-expire" class='popupbox' title="$expire.advanced">$expire.label</a></span>