update friends in common tool now that poco is working
This commit is contained in:
parent
808de7b447
commit
982034b87d
1
boot.php
1
boot.php
@ -2089,7 +2089,6 @@ function construct_page(&$a) {
|
|||||||
|
|
||||||
$arr = $a->get_widgets();
|
$arr = $a->get_widgets();
|
||||||
ksort($arr,SORT_NUMERIC);
|
ksort($arr,SORT_NUMERIC);
|
||||||
logger('get_widgets: ' . print_r($arr,true));
|
|
||||||
if(count($arr)) {
|
if(count($arr)) {
|
||||||
foreach($arr as $x) {
|
foreach($arr as $x) {
|
||||||
if(! array_key_exists($x['location'],$a->page))
|
if(! array_key_exists($x['location'],$a->page))
|
||||||
|
@ -104,58 +104,24 @@ function common_friends_visitor_widget($profile_uid) {
|
|||||||
if(local_user() == $profile_uid)
|
if(local_user() == $profile_uid)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
$cid = $zcid = 0;
|
$observer_hash = get_observer_hash();
|
||||||
|
|
||||||
if(is_array($_SESSION['remote'])) {
|
if((! $observer_hash) || (! perm_is_allowed($profile_uid,$observer_hash,'view_contacts')))
|
||||||
foreach($_SESSION['remote'] as $visitor) {
|
|
||||||
if($visitor['uid'] == $profile_uid) {
|
|
||||||
$cid = $visitor['cid'];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// FIXME
|
|
||||||
// if(! $cid) {
|
|
||||||
// if(get_my_url()) {
|
|
||||||
// $r = q("select id from contact where nurl = '%s' and uid = %d limit 1",
|
|
||||||
// dbesc(normalise_link(get_my_url())),
|
|
||||||
// intval($profile_uid)
|
|
||||||
// );
|
|
||||||
// if(count($r))
|
|
||||||
// $cid = $r[0]['id'];
|
|
||||||
// else {
|
|
||||||
// $r = q("select id from gcontact where nurl = '%s' limit 1",
|
|
||||||
// dbesc(normalise_link(get_my_url()))
|
|
||||||
// );
|
|
||||||
// if(count($r))
|
|
||||||
// $zcid = $r[0]['id'];
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
if($cid == 0 && $zcid == 0)
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
require_once('include/socgraph.php');
|
require_once('include/socgraph.php');
|
||||||
|
|
||||||
if($cid)
|
$t = count_common_friends($profile_uid,$observer_hash);
|
||||||
$t = count_common_friends($profile_uid,$cid);
|
|
||||||
else
|
|
||||||
$t = count_common_friends_zcid($profile_uid,$zcid);
|
|
||||||
if(! $t)
|
if(! $t)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if($cid)
|
$r = common_friends($profile_uid,$observer_hash,0,5,true);
|
||||||
$r = common_friends($profile_uid,$cid,0,5,true);
|
|
||||||
else
|
|
||||||
$r = common_friends_zcid($profile_uid,$zcid,0,5,true);
|
|
||||||
|
|
||||||
return replace_macros(get_markup_template('remote_friends_common.tpl'), array(
|
return replace_macros(get_markup_template('remote_friends_common.tpl'), array(
|
||||||
'$desc' => sprintf( tt("%d contact in common", "%d contacts in common", $t), $t),
|
'$desc' => sprintf( tt("%d contact in common", "%d contacts in common", $t), $t),
|
||||||
'$base' => $a->get_baseurl(),
|
'$base' => $a->get_baseurl(),
|
||||||
'$uid' => $profile_uid,
|
'$uid' => $profile_uid,
|
||||||
'$cid' => (($cid) ? $cid : '0'),
|
'$cid' => $observer,
|
||||||
'$linkmore' => (($t > 5) ? 'true' : ''),
|
'$linkmore' => (($t > 5) ? 'true' : ''),
|
||||||
'$more' => t('show more'),
|
'$more' => t('show more'),
|
||||||
'$items' => $r
|
'$items' => $r
|
||||||
|
@ -137,48 +137,39 @@ function poco_load($xchan = null,$url = null) {
|
|||||||
}
|
}
|
||||||
logger("poco_load: loaded $total entries",LOGGER_DEBUG);
|
logger("poco_load: loaded $total entries",LOGGER_DEBUG);
|
||||||
|
|
||||||
q("delete from xlink where xlink_xchan = '%s' and xlink_updated` < UTC_TIMESTAMP - INTERVAL 2 DAY",
|
q("delete from xlink where xlink_xchan = '%s' and xlink_updated` < UTC_TIMESTAMP() - INTERVAL 2 DAY",
|
||||||
dbesc($xchan)
|
dbesc($xchan)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function count_common_friends($uid,$cid) {
|
function count_common_friends($uid,$xchan) {
|
||||||
|
|
||||||
$r = q("SELECT count(*) as `total`
|
$r = q("SELECT count(xlink_id) as total from xlink where xlink_xchan = '%s' and xlink_link in
|
||||||
FROM `glink` left join `gcontact` on `glink`.`gcid` = `gcontact`.`id`
|
(select abook_chan from abook where abook_xchan != '%s' and abook_channel = %d and abook_flags = 0 )",
|
||||||
where `glink`.`cid` = %d and `glink`.`uid` = %d
|
dbesc($xchan),
|
||||||
and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and blocked = 0 and hidden = 0 and id != %d ) ",
|
dbesc($xchan),
|
||||||
intval($cid),
|
intval($uid)
|
||||||
intval($uid),
|
|
||||||
intval($uid),
|
|
||||||
intval($cid)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
// logger("count_common_friends: $uid $cid {$r[0]['total']}");
|
if($r)
|
||||||
if(count($r))
|
|
||||||
return $r[0]['total'];
|
return $r[0]['total'];
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function common_friends($uid,$cid,$start = 0,$limit=9999,$shuffle = false) {
|
function common_friends($uid,$xchan,$start = 0,$limit=100000000,$shuffle = false) {
|
||||||
|
|
||||||
if($shuffle)
|
if($shuffle)
|
||||||
$sql_extra = " order by rand() ";
|
$sql_extra = " order by rand() ";
|
||||||
else
|
else
|
||||||
$sql_extra = " order by `gcontact`.`name` asc ";
|
$sql_extra = " order by xchan_name asc ";
|
||||||
|
|
||||||
$r = q("SELECT `gcontact`.*
|
$r = q("SELECT * from xchan left join xlink on xlink_xchan = xchan_hash where xlink_xchan = '%s' and xlink_link in
|
||||||
FROM `glink` left join `gcontact` on `glink`.`gcid` = `gcontact`.`id`
|
(select abook_chan from abook where abook_xchan != '%s' and abook_channel = %d and abook_flags = 0 ) $sql_extra limit %d, %d",
|
||||||
where `glink`.`cid` = %d and `glink`.`uid` = %d
|
dbesc($xchan),
|
||||||
and `gcontact`.`nurl` in (select nurl from contact where uid = %d and self = 0 and blocked = 0 and hidden = 0 and id != %d )
|
dbesc($xchan),
|
||||||
$sql_extra limit %d, %d",
|
|
||||||
intval($cid),
|
|
||||||
intval($uid),
|
intval($uid),
|
||||||
intval($uid),
|
|
||||||
intval($cid),
|
|
||||||
intval($start),
|
intval($start),
|
||||||
intval($limit)
|
intval($limit)
|
||||||
);
|
);
|
||||||
|
@ -30,7 +30,7 @@ function register_post(&$a) {
|
|||||||
|
|
||||||
$max_dailies = intval(get_config('system','max_daily_registrations'));
|
$max_dailies = intval(get_config('system','max_daily_registrations'));
|
||||||
if($max_dailies) {
|
if($max_dailies) {
|
||||||
$r = q("select count(*) as total from account where account_created > UTC_TIMESTAMP - INTERVAL 1 day");
|
$r = q("select count(account_id) as total from account where account_created > UTC_TIMESTAMP() - INTERVAL 1 day");
|
||||||
if($r && $r[0]['total'] >= $max_dailies) {
|
if($r && $r[0]['total'] >= $max_dailies) {
|
||||||
notice( t('Maximum daily site registrations exceeded. Please try again tomorrow.') . EOL);
|
notice( t('Maximum daily site registrations exceeded. Please try again tomorrow.') . EOL);
|
||||||
return;
|
return;
|
||||||
@ -129,7 +129,7 @@ function register_content(&$a) {
|
|||||||
|
|
||||||
$max_dailies = intval(get_config('system','max_daily_registrations'));
|
$max_dailies = intval(get_config('system','max_daily_registrations'));
|
||||||
if($max_dailies) {
|
if($max_dailies) {
|
||||||
$r = q("select count(*) as total from account where account_created > UTC_TIMESTAMP - INTERVAL 1 day");
|
$r = q("select count(account_id) as total from account where account_created > UTC_TIMESTAMP() - INTERVAL 1 day");
|
||||||
if($r && $r[0]['total'] >= $max_dailies) {
|
if($r && $r[0]['total'] >= $max_dailies) {
|
||||||
logger('max daily registrations exceeded.');
|
logger('max daily registrations exceeded.');
|
||||||
notice( t('This site has exceeded the number of allowed daily account registrations. Please try again tomorrow.') . EOL);
|
notice( t('This site has exceeded the number of allowed daily account registrations. Please try again tomorrow.') . EOL);
|
||||||
|
@ -126,12 +126,6 @@ function zfinger_init(&$a) {
|
|||||||
$ret['target_sig'] = $zsig;
|
$ret['target_sig'] = $zsig;
|
||||||
$ret['searchable'] = $searchable;
|
$ret['searchable'] = $searchable;
|
||||||
|
|
||||||
// wtf
|
|
||||||
// if(! $e['xchan_connurl'])
|
|
||||||
|
|
||||||
// FIXME encrypt permissions when targeted so that only the target can view them, requires sending the pubkey and also checking that the target_sig is signed with that pubkey and isn't a forgery.
|
|
||||||
|
|
||||||
logger('zot-info: ' . print_r($e,true));
|
|
||||||
|
|
||||||
$permissions = get_all_perms($e['channel_id'],(($ztarget && $zsig)
|
$permissions = get_all_perms($e['channel_id'],(($ztarget && $zsig)
|
||||||
? base64url_encode(hash('whirlpool',$ztarget . $zsig,true))
|
? base64url_encode(hash('whirlpool',$ztarget . $zsig,true))
|
||||||
@ -143,10 +137,6 @@ function zfinger_init(&$a) {
|
|||||||
if($permissions['view_profile'])
|
if($permissions['view_profile'])
|
||||||
$ret['profile'] = $profile;
|
$ret['profile'] = $profile;
|
||||||
|
|
||||||
// if($feed && $permissions['view_stream'])
|
|
||||||
// $ret['messages'] = $zot_feed($e['channel_id'],(($ztarget && $zsig)
|
|
||||||
// ? base64url_encode(hash('whirlpool',$ztarget . $zsig,true))
|
|
||||||
// : '' ),$mindate);
|
|
||||||
|
|
||||||
// array of (verified) hubs this channel uses
|
// array of (verified) hubs this channel uses
|
||||||
|
|
||||||
|
@ -4,13 +4,13 @@
|
|||||||
{{ for $items as $item }}
|
{{ for $items as $item }}
|
||||||
<div class="profile-match-wrapper">
|
<div class="profile-match-wrapper">
|
||||||
<div class="profile-match-photo">
|
<div class="profile-match-photo">
|
||||||
<a href="$item.url">
|
<a href="$base/chanview?f=&url=$item.xchan_url">
|
||||||
<img src="$item.photo" width="80" height="80" alt="$item.name" title="$item.name" />
|
<img src="$item.xchan_photo_m" width="80" height="80" alt="$item.xchan_name" title="$item.xchan_name" />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="profile-match-break"></div>
|
<div class="profile-match-break"></div>
|
||||||
<div class="profile-match-name">
|
<div class="profile-match-name">
|
||||||
<a href="$itemurl" title="$item.name">$item.name</a>
|
<a href="$base/chanview?f=&url=$item.xchan_url" title="$item.xchan_name">$item.xchan_name</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="profile-match-end"></div>
|
<div class="profile-match-end"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -9,13 +9,13 @@
|
|||||||
{{foreach $items as $item}}
|
{{foreach $items as $item}}
|
||||||
<div class="profile-match-wrapper">
|
<div class="profile-match-wrapper">
|
||||||
<div class="profile-match-photo">
|
<div class="profile-match-photo">
|
||||||
<a href="{{$item.url}}">
|
<a href="{{$base}}/chanview?f=&url={{$item.xchan_url}}">
|
||||||
<img src="{{$item.photo}}" width="80" height="80" alt="{{$item.name}}" title="{{$item.name}}" />
|
<img src="{{$item.xchan_photo_m}}" width="80" height="80" alt="{{$item.xchan_name}}" title="{{$item.xchan_name}}" />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="profile-match-break"></div>
|
<div class="profile-match-break"></div>
|
||||||
<div class="profile-match-name">
|
<div class="profile-match-name">
|
||||||
<a href="{{$itemurl}}" title="{{$item.name}}">{{$item.name}}</a>
|
<a href="{{$base}}/chanview?f=&url={{$item.xchan_url}}" title="{{$item.xchan_name}}">{{$item.xchan_name}}</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="profile-match-end"></div>
|
<div class="profile-match-end"></div>
|
||||||
</div>
|
</div>
|
||||||
|
Reference in New Issue
Block a user