aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2013-12-18 14:53:18 -0800
committerfriendica <info@friendica.com>2013-12-18 14:53:18 -0800
commit1a4c91ccf5f95d03badd57f655d4feced50d39d2 (patch)
tree2f097618c0ee6fc26002028a90a54b39c65b6a0c
parent38fd8410eb5c66928cb24bb87ad38657f53aec3a (diff)
downloadvolse-hubzilla-1a4c91ccf5f95d03badd57f655d4feced50d39d2.tar.gz
volse-hubzilla-1a4c91ccf5f95d03badd57f655d4feced50d39d2.tar.bz2
volse-hubzilla-1a4c91ccf5f95d03badd57f655d4feced50d39d2.zip
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.
-rwxr-xr-xboot.php11
-rw-r--r--mod/chanview.php17
-rw-r--r--mod/connedit.php28
-rw-r--r--mod/message.php7
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');