From 1a4c91ccf5f95d03badd57f655d4feced50d39d2 Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 18 Dec 2013 14:53:18 -0800 Subject: Add App::poi to store the "person of interest" for a given page. This is so we can comanchificate the vcard_from_xchan widget -- it will pick up the target xchan from the page environment. --- boot.php | 11 ++++++----- mod/chanview.php | 17 ++++++++--------- mod/connedit.php | 28 ++++++++++++++-------------- mod/message.php | 7 +++---- 4 files changed, 31 insertions(+), 32 deletions(-) diff --git a/boot.php b/boot.php index 9c0fb8919..f85049bc2 100755 --- a/boot.php +++ b/boot.php @@ -572,11 +572,12 @@ function startup() { class App { - public $account = null; // account record - public $channel = null; // channel record - public $observer = null; // xchan record - public $profile_uid = 0; // If applicable, the uid of the person whose stuff this is. - public $layout = array(); // Comanche parsed template + public $account = null; // account record of the logged-in account + public $channel = null; // channel record of the current channel of the logged-in account + public $observer = null; // xchan record of the page observer + public $profile_uid = 0; // If applicable, the channel_id of the "page owner" + public $poi = null; // "person of interest", generally a referenced connection + public $layout = array(); // Comanche parsed template private $perms = null; // observer permissions diff --git a/mod/chanview.php b/mod/chanview.php index f183fbdf1..c87b85d26 100644 --- a/mod/chanview.php +++ b/mod/chanview.php @@ -38,17 +38,16 @@ function chanview_content(&$a) { ); } if($r) { - $xchan = $r[0]; + $a->poi = $r[0]; } - // Here, let's see if we have an xchan. If we don't, how we proceed is determined by what // info we do have. If it's a URL, we can offer to visit it directly. If it's a webbie or // address, we can and should try to import it. If it's just a hash, we can't continue, but we // probably wouldn't have a hash if we don't already have an xchan for this channel. - if(! $xchan) { + if(! $a->poi) { logger('mod_chanview: fallback'); // This is hackish - construct a zot address from the url if($_REQUEST['url']) { @@ -68,20 +67,20 @@ function chanview_content(&$a) { dbesc($_REQUEST['address']) ); if($r) - $xchan = $r[0]; + $a->poi = $r[0]; } } } - if(! $xchan) { + if(! $a->poi) { notice( t('Channel not found.') . EOL); return; } $url = (($observer) - ? z_root() . '/magic?f=&dest=' . $xchan['xchan_url'] . '&addr=' . $xchan['xchan_addr'] - : $xchan['xchan_url'] + ? z_root() . '/magic?f=&dest=' . $a->poi['xchan_url'] . '&addr=' . $a->poi['xchan_addr'] + : $a->poi['xchan_url'] ); // let somebody over-ride the iframed viewport presentation @@ -90,8 +89,8 @@ function chanview_content(&$a) { goaway($url); - if($xchan['xchan_hash']) - $a->set_widget('vcard',vcard_from_xchan($xchan,$observer,'chanview')); + if($a->poi['xchan_hash']) + $a->set_widget('vcard',vcard_from_xchan($a->poi,$observer,'chanview')); $o = replace_macros(get_markup_template('chanview.tpl'),array( '$url' => $url, diff --git a/mod/connedit.php b/mod/connedit.php index 7fc4bfaf8..6d34ad997 100644 --- a/mod/connedit.php +++ b/mod/connedit.php @@ -21,7 +21,7 @@ function connedit_init(&$a) { intval(argv(1)) ); if($r) { - $a->data['abook'] = $r[0]; + $a->poi = $r[0]; } } @@ -37,9 +37,9 @@ function connedit_aside(&$a) { if (! local_user()) return; - if(x($a->data,'abook')) { - $a->set_widget('vcard',vcard_from_xchan($a->data['abook'],$a->get_observer())); - $a->set_widget('collections', group_side('connections','group',false,0,$a->data['abook']['abook_xchan'])); + if($a->poi) { + $a->set_widget('vcard',vcard_from_xchan($a->poi,$a->get_observer())); + $a->set_widget('collections', group_side('connections','group',false,0,$a->poi['abook_xchan'])); } $a->set_widget('suggest',widget_suggestions(array())); @@ -123,8 +123,8 @@ function connedit_post(&$a) { else notice( t('Failed to update connection record.') . EOL); - if((x($a->data,'abook')) && $a->data['abook']['abook_my_perms'] != $abook_my_perms - && (! ($a->data['abook']['abook_flags'] & ABOOK_FLAG_SELF))) { + if($a->poi && $a->poi['abook_my_perms'] != $abook_my_perms + && (! ($a->poi['abook_flags'] & ABOOK_FLAG_SELF))) { proc_run('php', 'include/notifier.php', 'permission_update', $contact_id); } @@ -135,7 +135,7 @@ function connedit_post(&$a) { require_once('include/group.php'); $g = group_rec_byhash(local_user(),$default_group); if($g) - group_add_member(local_user(),'',$a->data['abook_xchan'],$g['id']); + group_add_member(local_user(),'',$a->poi['abook_xchan'],$g['id']); } @@ -159,11 +159,11 @@ function connedit_post(&$a) { intval($contact_id) ); if($r) { - $a->data['abook'] = $r[0]; + $a->poi = $r[0]; } if($new_friend) { - $arr = array('channel_id' => local_user(), 'abook' => $a->data['abook']); + $arr = array('channel_id' => local_user(), 'abook' => $a->poi); call_hooks('accept_follow', $arr); } @@ -175,9 +175,9 @@ function connedit_post(&$a) { function connedit_clone(&$a) { - if(! array_key_exists('abook',$a->data)) + if(! $a->poi) return; - $clone = $a->data['abook']; + $clone = $a->poi; unset($clone['abook_id']); unset($clone['abook_account']); @@ -315,10 +315,10 @@ function connedit_content(&$a) { } } - if((x($a->data,'abook')) && (is_array($a->data['abook']))) { + if($a->poi) { - $contact_id = $a->data['abook']['abook_id']; - $contact = $a->data['abook']; + $contact_id = $a->poi['abook_id']; + $contact = $a->poi; $tabs = array( diff --git a/mod/message.php b/mod/message.php index 6a33f1db7..8bb9a6ee7 100644 --- a/mod/message.php +++ b/mod/message.php @@ -374,15 +374,14 @@ function message_content(&$a) { return $o; } - $other_channel = null; if($messages[0]['to_xchan'] === $channel['channel_hash']) - $other_channel = $messages[0]['from']; + $a->poi = $messages[0]['from']; else - $other_channel = $messages[0]['to']; + $a->poi = $messages[0]['to']; require_once('include/Contact.php'); - $a->set_widget('mail_conversant',vcard_from_xchan($other_channel,$get_observer_hash,'mail')); + $a->set_widget('mail_conversant',vcard_from_xchan($a->poi,$get_observer_hash,'mail')); $tpl = get_markup_template('msg-header.tpl'); -- cgit v1.2.3