]> git.mxchange.org Git - friendica.git/blobdiff - include/contact_widgets.php
FR update to the strings THX Perig
[friendica.git] / include / contact_widgets.php
index e0f37f078f7cf2241b3e4efc34fbe3b9bcecc3c8..bbbd941b5609df3ae7321bc708599e17c6de4ccc 100644 (file)
@@ -1,29 +1,31 @@
 <?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')
        ));
 
 }
 
 function findpeople_widget() {
+       require_once('include/Contact.php');
 
        $a = get_app();
 
        if(get_config('system','invitation_only')) {
                $x = get_pconfig(local_user(),'system','invites_remaining');
                if($x || is_site_admin()) {
-                       $a->page['aside'] .= '<div class="side-link" id="side-invite-remain">' 
-                       . sprintf( tt('%d invitation available','%d invitations available',$x), $x) 
+                       $a->page['aside'] .= '<div class="side-link" id="side-invite-remain">'
+                       . sprintf( tt('%d invitation available','%d invitations available',$x), $x)
                        . '</div>' . $inv;
                }
        }
+
        return replace_macros(get_markup_template('peoplefind.tpl'),array(
                '$findpeople' => t('Find People'),
                '$desc' => t('Enter name or interest'),
@@ -32,21 +34,61 @@ function findpeople_widget() {
                '$findthem' => t('Find'),
                '$suggest' => t('Friend Suggestions'),
                '$similar' => t('Similar Interests'),
+               '$random' => t('Random Profile'),
                '$inv' => t('Invite Friends')
        ));
 
 }
 
+function unavailable_networks() {
+       $network_filter = "";
+
+       $networks = array();
+
+       if (!plugin_enabled("appnet"))
+               $networks[] = NETWORK_APPNET;
+
+       if (!plugin_enabled("fbpost") AND !plugin_enabled("facebook"))
+               $networks[] = NETWORK_FACEBOOK;
+
+       if (!plugin_enabled("statusnet"))
+               $networks[] = NETWORK_STATUSNET;
+
+       if (!plugin_enabled("pumpio"))
+               $networks[] = NETWORK_PUMPIO;
+
+       if (!plugin_enabled("twitter"))
+               $networks[] = NETWORK_TWITTER;
+
+       if (get_config("system","ostatus_disabled"))
+               $networks[] = NETWORK_OSTATUS;
+
+       if (!get_config("system","diaspora_enabled"))
+               $networks[] = NETWORK_DIASPORA;
+
+       if (!sizeof($networks))
+               return "";
+
+       $network_filter = implode("','", $networks);
+
+       $network_filter = "AND `network` NOT IN ('$network_filter')";
+
+       return $network_filter;
+}
 
 function networks_widget($baseurl,$selected = '') {
 
        $a = get_app();
 
-       if(! local_user())
+       if(!local_user())
+               return '';
+
+       if(!feature_enabled(local_user(),'networks'))
                return '';
 
-       
-       $r = q("select distinct(network) from contact where uid = %d and self = 0",
+       $extra_sql = unavailable_networks();
+
+       $r = q("SELECT DISTINCT(`network`) FROM `contact` WHERE `uid` = %d AND NOT `self` $extra_sql ORDER BY `network`",
                intval(local_user())
        );
 
@@ -78,6 +120,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;
@@ -104,8 +149,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;
@@ -131,3 +180,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
+       ));
+
+};