turn common friends into a widget

This commit is contained in:
zotlabs 2017-09-19 17:35:57 -07:00
parent bced63e823
commit 72a19a14af
6 changed files with 57 additions and 27 deletions

View File

@ -123,7 +123,7 @@ class Channel extends \Zotlabs\Web\Controller {
//$o .= profile_tabs($a, $is_owner, \App::$profile['channel_address']);
$o .= common_friends_visitor_widget(\App::$profile['profile_uid']);
// $o .= common_friends_visitor_widget(\App::$profile['profile_uid']);
if($channel && $is_owner) {
$channel_acl = array(

View File

@ -0,0 +1,19 @@
<?php
namespace Zotlabs\Widget;
require_once('include/contact_widgets.php');
class Common_friends {
function widget($arr) {
if((! \App::$profile['profile_uid'])
|| (! perm_is_allowed(\App::$profile['profile_uid'],get_observer_hash(),'view_contacts'))) {
return '';
}
return common_friends_visitor_widget(\App::$profile['profile_uid']);
}
}

View File

@ -143,7 +143,7 @@ function cardcategories_widget($baseurl,$selected = '') {
function common_friends_visitor_widget($profile_uid) {
function common_friends_visitor_widget($profile_uid,$cnt = 10) {
if(local_channel() == $profile_uid)
return;
@ -156,19 +156,20 @@ function common_friends_visitor_widget($profile_uid) {
require_once('include/socgraph.php');
$t = count_common_friends($profile_uid,$observer_hash);
if(! $t)
return;
$r = common_friends($profile_uid,$observer_hash,0,5,true);
$r = common_friends($profile_uid,$observer_hash,0,$cnt,true);
return replace_macros(get_markup_template('remote_friends_common.tpl'), array(
'$desc' => sprintf( tt("%d connection in common", "%d connections in common", $t), $t),
'$base' => z_root(),
'$uid' => $profile_uid,
'$cid' => $observer,
'$linkmore' => (($t > 5) ? 'true' : ''),
'$more' => t('show more'),
'$items' => $r
'$desc' => sprintf( t('Common connections: %d'), $t),
'$base' => z_root(),
'$uid' => $profile_uid,
'$cid' => $observer,
'$linkmore' => (($t > $cnt) ? 'true' : ''),
'$more' => t('show more'),
'$items' => $r
));
};

View File

@ -7,4 +7,7 @@
[widget=categories][/widget]
[widget=tagcloud_wall][var=limit]24[/var][/widget]
[/region]
[region=content]
[widget=common_friends][/widget]
[/region]

View File

@ -1,4 +1,4 @@
<div class="profile-match-wrapper">
<div class="generic-content-wrapper">
<div class="profile-match-photo">
<a href="{{$url}}">
<img src="{{$photo}}" alt="{{$name}}" width="80" height="80" title="{{$name}} [{{$url}}]" />

View File

@ -1,21 +1,28 @@
<div id="remote-friends-in-common" class="bigwidget">
<div id="rfic-desc">{{$desc}} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{if $linkmore}}<a href="{{$base}}/common/{{$uid}}">{{$more}}</a>{{/if}}</div>
{{if $items}}
{{foreach $items as $item}}
<div class="profile-match-wrapper">
<div class="profile-match-photo">
<a href="{{$base}}/chanview?f=&url={{$item.xchan_url}}">
<img src="{{$item.xchan_photo_m}}" width="80" height="80" alt="{{$item.xchan_name}}" title="{{$item.xchan_name}}" />
</a>
<div class="widget">
<div class="panel">
<div class="section-subtitle-wrapper" role="tab" id="common-friends-visitor">
<h3><a data-toggle="collapse" href="#common-friends-collapse">{{$desc}}</a></h3>
</div>
<div class="profile-match-break"></div>
<div class="profile-match-name">
<a href="{{$base}}/chanview?f=&url={{$item.xchan_url}}" title="{{$item.xchan_name}}">{{$item.xchan_name}}</a>
<div id="common-friends-collapse" class="collapse" role="tabpanel" aria-labelledby="common-friends-visitor">
{{if $items}}
{{foreach $items as $item}}
<div class="profile-match-wrapper">
<div class="profile-match-photo">
<a href="{{$base}}/chanview?f=&url={{$item.xchan_url}}">
<img src="{{$item.xchan_photo_m}}" width="80" height="80" alt="{{$item.xchan_name}}" title="{{$item.xchan_name}}" />
</a>
</div>
<div class="profile-match-break"></div>
<div class="profile-match-name">
<a href="{{$base}}/chanview?f=&url={{$item.xchan_url}}" title="{{$item.xchan_name}}">{{$item.xchan_name}}</a>
</div>
<div class="profile-match-end"></div>
</div>
{{/foreach}}
{{/if}}
<div id="rfic-end" class="clear"></div>
{{if $linkmore}}<button class="btn btn-default"><a href="{{$base}}/common/{{$uid}}">{{$more}}</a></button>{{/if}}
</div>
<div class="profile-match-end"></div>
</div>
{{/foreach}}
{{/if}}
<div id="rfic-end" class="clear"></div>
</div>