From b2724f2ffd9bc6b0ed32f02a5baba1cd7a1db53a Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 13 Feb 2013 15:39:48 -0800 Subject: bring mod_common into the modern age --- mod/common.php | 113 +++++++++++++++++++++------------------------------------ 1 file changed, 42 insertions(+), 71 deletions(-) (limited to 'mod/common.php') diff --git a/mod/common.php b/mod/common.php index 617b5b670..bd2a0eef7 100644 --- a/mod/common.php +++ b/mod/common.php @@ -2,99 +2,71 @@ require_once('include/socgraph.php'); -function common_content(&$a) { - - $o = ''; - - $cmd = $a->argv[1]; - $uid = intval($a->argv[2]); - $cid = intval($a->argv[3]); - $zcid = 0; - - if($cmd !== 'loc' && $cmd != 'rem') - return; - if(! $uid) - return; +function common_init(&$a) { - if($cmd === 'loc' && $cid) { - $c = q("select name, url, photo from contact where id = %d and uid = %d limit 1", - intval($cid), - intval($uid) - ); - } + if(argc() > 1) + $which = argv(1); else { - $c = q("select name, url, photo from contact where self = 1 and uid = %d limit 1", - intval($uid) - ); - } - - $a->page['aside'] .= '
' - . '
' . $c[0]['name'] . '
' - . '
' - . '' . $c[0]['name'] . '
' - . '
'; - - - if(! count($c)) + notice( t('Requested profile is not available.') . EOL ); + $a->error = 404; return; + } + + $profile = 0; + $channel = $a->get_channel(); - $o .= '

' . t('Common Friends') . '

'; - - - 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((local_user()) && (argc() > 2) && (argv(2) === 'view')) { + $which = $channel['channel_address']; + $profile = argv(1); } + // Run profile_load() here to make sure the theme is set before + // we start loading content + profile_load($a,$which,$profile); - if($cid == 0 && $zcid == 0) - return; +} +function common_aside(&$a) { + if(! $a->profile['profile_uid']) + return; - if($cid) - $t = count_common_friends($uid,$cid); - else - $t = count_common_friends_zcid($uid,$zcid); + profile_create_sidebar($a); +} - $a->set_pager_total($t); +function common_content(&$a) { - if(! $t) { - notice( t('No contacts in common.') . EOL); - return $o; - } + $o = ''; + + if(! $a->profile['profile_uid']) + return; + $observer_hash = get_observer_hash(); - if($cid) - $r = common_friends($uid,$cid); - else - $r = common_friends_zcid($uid,$zcid); + if(! perm_is_allowed($a->profile['profile_uid'],$observer_hash,'view_contacts')) { + notice( t('Permission denied.') . EOL); + return; + } + + $o .= '

' . t('Common connections') . '

'; - if(! count($r)) { + $t = count_common_friends($a->profile['profile_uid'],$observer_hash); + + if(! $t) + notice( t('No connections in common.') . EOL); return $o; } + $r = common_friends($a->profile['profile_uid'],$observer_hash); + + if($r) { + $tpl = get_markup_template('common_friends.tpl'); foreach($r as $rr) { - - $o .= replace_macros($tpl,array( + $o .= replace_macros($tpl,array( '$url' => $rr['url'], '$name' => $rr['name'], '$photo' => $rr['photo'], @@ -103,6 +75,5 @@ function common_content(&$a) { } $o .= cleardiv(); -// $o .= paginate($a); return $o; } -- cgit v1.2.3