aboutsummaryrefslogtreecommitdiffstats
path: root/include/contact_widgets.php
diff options
context:
space:
mode:
authorHaakon Meland Eriksen <haakon.eriksen@far.no>2014-06-24 19:34:36 +0200
committerHaakon Meland Eriksen <haakon.eriksen@far.no>2014-06-24 19:34:36 +0200
commitb8dc9e855af2d30f33d0f90dc13d8cad0a7b3e70 (patch)
tree718df6305bcb82c8dcb4b287a7132422e748cdfb /include/contact_widgets.php
parentc2d520f1be115fb3cb5da2a35eb10146cecee8aa (diff)
parenta92fb0b04c3e6474ec48faf8e4cc65c382e89d66 (diff)
downloadvolse-hubzilla-b8dc9e855af2d30f33d0f90dc13d8cad0a7b3e70.tar.gz
volse-hubzilla-b8dc9e855af2d30f33d0f90dc13d8cad0a7b3e70.tar.bz2
volse-hubzilla-b8dc9e855af2d30f33d0f90dc13d8cad0a7b3e70.zip
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'include/contact_widgets.php')
-rw-r--r--include/contact_widgets.php122
1 files changed, 30 insertions, 92 deletions
diff --git a/include/contact_widgets.php b/include/contact_widgets.php
index e0c9ca0e8..758b7291b 100644
--- a/include/contact_widgets.php
+++ b/include/contact_widgets.php
@@ -1,15 +1,6 @@
-<?php
+<?php /** @file */
-function follow_widget() {
- return replace_macros(get_markup_template('follow.tpl'),array(
- '$connect' => t('Add New Connection'),
- '$desc' => t('Enter the channel address'),
- '$hint' => t('Example: bob@example.com, http://example.com/barbara'),
- '$follow' => t('Connect')
- ));
-
-}
function findpeople_widget() {
require_once('include/Contact.php');
@@ -24,6 +15,8 @@ function findpeople_widget() {
. '</div>' . $inv;
}
}
+
+ $advanced_search = ((local_user() && get_pconfig(local_user(),'feature','expert')) ? t('Advanced') : false);
return replace_macros(get_markup_template('peoplefind.tpl'),array(
'$findpeople' => t('Find Channels'),
@@ -32,49 +25,18 @@ function findpeople_widget() {
'$hint' => t('Examples: Robert Morgenstein, Fishing'),
'$findthem' => t('Find'),
'$suggest' => t('Channel Suggestions'),
- '$similar' => t('Similar Interests'),
+ '$similar' => '', // FIXME and uncomment when mod/match working // t('Similar Interests'),
'$random' => t('Random Profile'),
- '$inv' => t('Invite Friends')
+ '$inv' => t('Invite Friends'),
+ '$advanced_search' => $advanced_search,
+ '$advanced_hint' => t('Exammple: name=fred and country=iceland'),
+ '$find_advanced' => t('Advanced Find'),
+ '$loggedin' => local_user()
));
}
-function networks_widget($baseurl,$selected = '') {
-
- $a = get_app();
-
- if(! local_user())
- return '';
-
-
- $r = q("select distinct(network) from contact where uid = %d and self = 0",
- intval(local_user())
- );
-
- $nets = array();
- if(count($r)) {
- require_once('include/contact_selectors.php');
- foreach($r as $rr) {
- if($rr['network'])
- $nets[] = array('ref' => $rr['network'], 'name' => network_to_name($rr['network']), 'selected' => (($selected == $rr['network']) ? 'selected' : '' ));
- }
- }
-
- if(count($nets) < 2)
- return '';
-
- return replace_macros(get_markup_template('nets.tpl'),array(
- '$title' => t('Networks'),
- '$desc' => '',
- '$sel_all' => (($selected == '') ? 'selected' : ''),
- '$all' => t('All Networks'),
- '$nets' => $nets,
- '$base' => $baseurl,
-
- ));
-}
-
function fileas_widget($baseurl,$selected = '') {
$a = get_app();
@@ -105,15 +67,22 @@ function fileas_widget($baseurl,$selected = '') {
function categories_widget($baseurl,$selected = '') {
+ $a = get_app();
+
if(! feature_enabled($a->profile['profile_uid'],'categories'))
return '';
- $a = get_app();
-
$terms = array();
- $r = q("select distinct(term) from term where uid = %d and type = %d order by term asc",
+ $r = q("select distinct(term.term)
+ from term join item on term.oid = item.id
+ where item.uid = %d
+ and term.uid = item.uid
+ and term.type = %d
+ and item.author_xchan = '%s'
+ order by term.term asc",
intval($a->profile['profile_uid']),
- intval(TERM_CATEGORY)
+ intval(TERM_CATEGORY),
+ dbesc($a->profile['channel_hash'])
);
if($r && count($r)) {
foreach($r as $rr)
@@ -139,60 +108,29 @@ function common_friends_visitor_widget($profile_uid) {
if(local_user() == $profile_uid)
return;
- $cid = $zcid = 0;
+ $observer_hash = get_observer_hash();
- 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;
+ if((! $observer_hash) || (! perm_is_allowed($profile_uid,$observer_hash,'view_contacts')))
+ return;
require_once('include/socgraph.php');
- if($cid)
- $t = count_common_friends($profile_uid,$cid);
- else
- $t = count_common_friends_zcid($profile_uid,$zcid);
+ $t = count_common_friends($profile_uid,$observer_hash);
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);
+ $r = common_friends($profile_uid,$observer_hash,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),
+ '$desc' => sprintf( tt("%d connection in common", "%d connections in common", $t), $t),
'$base' => $a->get_baseurl(),
'$uid' => $profile_uid,
- '$cid' => (($cid) ? $cid : '0'),
+ '$cid' => $observer,
'$linkmore' => (($t > 5) ? 'true' : ''),
'$more' => t('show more'),
'$items' => $r
));
-}; \ No newline at end of file
+};
+
+