diff --git a/include/acl_selectors.php b/include/acl_selectors.php
index a1154399a..4ef3d05ea 100644
--- a/include/acl_selectors.php
+++ b/include/acl_selectors.php
@@ -1,6 +1,7 @@
page['aside'] .= '
'
- . sprintf( tt('%d invitation available','%d invitations available',$x), $x)
+ $a->page['aside'] .= '
'
+ . sprintf( tt('%d invitation available','%d invitations available',$x), $x)
. '
' . $inv;
}
}
-
+
return replace_macros(get_markup_template('peoplefind.tpl'),array(
'$findpeople' => t('Find People'),
'$desc' => t('Enter name or interest'),
@@ -40,18 +40,55 @@ function findpeople_widget() {
}
+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'))
+ if(!feature_enabled(local_user(),'networks'))
return '';
- $r = q("SELECT DISTINCT(`network`) FROM `contact` WHERE `uid` = %d AND `self` = 0 ORDER BY `network`",
+ $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())
);
@@ -180,7 +217,7 @@ function common_friends_visitor_widget($profile_uid) {
}
if($cid == 0 && $zcid == 0)
- return;
+ return;
require_once('include/socgraph.php');
@@ -204,6 +241,6 @@ function common_friends_visitor_widget($profile_uid) {
'$linkmore' => (($t > 5) ? 'true' : ''),
'$more' => t('show more'),
'$items' => $r
- ));
+ ));
};
diff --git a/include/identity.php b/include/identity.php
index 0282b2d9a..48fd5056d 100644
--- a/include/identity.php
+++ b/include/identity.php
@@ -218,15 +218,15 @@ if(! function_exists('profile_sidebar')) {
if ($connect AND ($profile['network'] != NETWORK_DFRN) AND !isset($profile['remoteconnect']))
$connect = false;
- if ($connect)
+ if (isset($profile['remoteconnect']))
+ $remoteconnect = $profile['remoteconnect'];
+
+ if ($connect AND ($profile['network'] == NETWORK_DFRN) AND !isset($remoteconnect))
$subscribe_feed = t("Atom feed");
else
$subscribe_feed = false;
- if (isset($profile['remoteconnect']))
- $remoteconnect = $profile['remoteconnect'];
-
- if( get_my_url() && $profile['unkmail'] && ($profile['uid'] != local_user()) )
+ if(get_my_url() && $profile['unkmail'] && ($profile['uid'] != local_user()))
$wallmessage = t('Message');
else
$wallmessage = false;
diff --git a/mod/contacts.php b/mod/contacts.php
index 8058cb5e8..def07db93 100644
--- a/mod/contacts.php
+++ b/mod/contacts.php
@@ -56,7 +56,7 @@ function contacts_init(&$a) {
}
$groups_widget .= group_side('contacts','group','full',0,$contact_id);
-
+
$a->page['aside'] .= replace_macros(get_markup_template("contacts-widget-sidebar.tpl"),array(
'$vcard_widget' => $vcard_widget,
'$findpeople_widget' => $findpeople_widget,
@@ -809,8 +809,9 @@ function contacts_content(&$a) {
$total = $r[0]['total'];
}
+ $sql_extra3 = unavailable_networks();
- $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `pending` = 0 $sql_extra $sql_extra2 ORDER BY `name` ASC LIMIT %d , %d ",
+ $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `pending` = 0 $sql_extra $sql_extra2 $sql_extra3 ORDER BY `name` ASC LIMIT %d , %d ",
intval($_SESSION['uid']),
intval($a->pager['start']),
intval($a->pager['itemspage'])