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.
This commit is contained in:
parent
38fd8410eb
commit
1a4c91ccf5
11
boot.php
11
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
|
||||
|
@ -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,
|
||||
|
@ -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(
|
||||
|
@ -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');
|
||||
|
Reference in New Issue
Block a user