]> git.mxchange.org Git - friendica.git/blobdiff - include/contact_widgets.php
Merge pull request #2016 from fabrixxm/template_vars_hook
[friendica.git] / include / contact_widgets.php
index 96b02f29391c816926739db27dc07fb86d552bc1..810671a91cceee3e4ce78a646b56b7ef443a79d3 100644 (file)
@@ -1,11 +1,12 @@
 <?php
 
-function follow_widget() {
+function follow_widget($value = "") {
 
        return replace_macros(get_markup_template('follow.tpl'),array(
                '$connect' => t('Add New Contact'),
                '$desc' => t('Enter address or web location'),
                '$hint' => t('Example: bob@example.com, http://example.com/barbara'),
+               '$value' => $value,
                '$follow' => t('Connect')
        ));
 
@@ -47,8 +48,10 @@ function networks_widget($baseurl,$selected = '') {
        if(! local_user())
                return '';
 
-       
-       $r = q("select distinct(network) from contact where uid = %d and self = 0",
+       if(! feature_enabled(local_user(),'networks'))
+               return '';
+
+       $r = q("SELECT DISTINCT(`network`) FROM `contact` WHERE `uid` = %d AND `self` = 0 ORDER BY `network`",
                intval(local_user())
        );
 
@@ -80,6 +83,9 @@ function fileas_widget($baseurl,$selected = '') {
        if(! local_user())
                return '';
 
+       if(! feature_enabled(local_user(),'filing'))
+               return '';
+
        $saved = get_pconfig(local_user(),'system','filetags');
        if(! strlen($saved))
                return;
@@ -106,8 +112,12 @@ function fileas_widget($baseurl,$selected = '') {
 }
 
 function categories_widget($baseurl,$selected = '') {
+
        $a = get_app();
 
+       if(! feature_enabled($a->profile['profile_uid'],'categories'))
+               return '';
+
        $saved = get_pconfig($a->profile['profile_uid'],'system','filetags');
        if(! strlen($saved))
                return;
@@ -133,3 +143,67 @@ function categories_widget($baseurl,$selected = '') {
        ));
 }
 
+function common_friends_visitor_widget($profile_uid) {
+
+       $a = get_app();
+
+       if(local_user() == $profile_uid)
+               return;
+
+       $cid = $zcid = 0;
+
+       if(is_array($_SESSION['remote'])) {
+               foreach($_SESSION['remote'] as $visitor) {
+                       if($visitor['uid'] == $profile_uid) {
+                               $cid = $visitor['cid'];
+                               break;
+                       }
+               }
+       }
+
+       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; 
+
+       require_once('include/socgraph.php');
+
+       if($cid)
+               $t = count_common_friends($profile_uid,$cid);
+       else
+               $t = count_common_friends_zcid($profile_uid,$zcid);
+       if(! $t)
+               return;
+
+       if($cid)
+               $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(
+               '$desc' =>  sprintf( tt("%d contact in common", "%d contacts in common", $t), $t),
+               '$base' => $a->get_baseurl(),
+               '$uid' => $profile_uid,
+               '$cid' => (($cid) ? $cid : '0'),
+               '$linkmore' => (($t > 5) ? 'true' : ''),
+               '$more' => t('show more'),
+               '$items' => $r
+       )); 
+
+};