profile viewer in iframe module, todo - magic auth
This commit is contained in:
parent
7b4a92146f
commit
a4bae6c29b
44
mod/chanview.php
Normal file
44
mod/chanview.php
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once('include/Contact.php');
|
||||||
|
|
||||||
|
function chanview_content(&$a) {
|
||||||
|
|
||||||
|
$xchan = null;
|
||||||
|
|
||||||
|
$r = null;
|
||||||
|
|
||||||
|
if($_REQUEST['hash']) {
|
||||||
|
$r = q("select * from xchan where xchan_hash = '%s' limit 1",
|
||||||
|
dbesc($_REQUEST['hash'])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
elseif(local_user() && intval($_REQUEST['cid'])) {
|
||||||
|
$r = q("SELECT abook.*, xchan.*
|
||||||
|
FROM abook left join xchan on abook_xchan = xchan_hash
|
||||||
|
WHERE abook_channel = %d and abook_id = %d LIMIT 1",
|
||||||
|
intval(local_user()),
|
||||||
|
intval($_REQUEST['cid'])
|
||||||
|
);
|
||||||
|
}
|
||||||
|
elseif($_REQUEST['url']) {
|
||||||
|
$r = array(array('xchan_url' => $_REQUEST['url']));
|
||||||
|
}
|
||||||
|
if($r) {
|
||||||
|
$xchan = $r[0];
|
||||||
|
if($xchan['xchan_hash'])
|
||||||
|
$a->set_widget('vcard',vcard_from_xchan($xchan));
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
notice( t('No valid channel provided.') . EOL);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$o = replace_macros(get_markup_template('chanview.tpl'),array(
|
||||||
|
'$url' => $xchan['xchan_url']
|
||||||
|
));
|
||||||
|
|
||||||
|
return $o;
|
||||||
|
|
||||||
|
}
|
@ -138,80 +138,8 @@ function connections_content(&$a) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$xchan = null;
|
|
||||||
|
|
||||||
if(argc() == 3) {
|
if(argc() == 3) {
|
||||||
|
|
||||||
$cmd = argv(2);
|
|
||||||
|
|
||||||
if(argv(1) === 'profile') {
|
|
||||||
$xchan_hash = argv(2);
|
|
||||||
|
|
||||||
if($xchan_hash) {
|
|
||||||
$r = q("select * from xchan where xchan_hash = '%s' limit 1",
|
|
||||||
dbesc($xchan_hash)
|
|
||||||
);
|
|
||||||
if($r) {
|
|
||||||
$xchan = $r[0];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elseif(intval(argv(1)) && argv(2) === 'profile')
|
|
||||||
$r = q("SELECT abook.*, xchan.*
|
|
||||||
FROM abook left join xchan on abook_xchan = xchan_hash
|
|
||||||
WHERE abook_channel = %d and abook_id = %d LIMIT 1",
|
|
||||||
intval(local_user()),
|
|
||||||
intval(argv(1))
|
|
||||||
);
|
|
||||||
if($r)
|
|
||||||
$xchan = $r[0];
|
|
||||||
|
|
||||||
if($xchan) {
|
|
||||||
|
|
||||||
$o .= <<< EOT
|
|
||||||
<script language="JavaScript">
|
|
||||||
<!--
|
|
||||||
function resize_iframe()
|
|
||||||
{
|
|
||||||
if(typeof(window.innerHeight) != 'undefined') {
|
|
||||||
var height=window.innerHeight;//Firefox
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
if (typeof(document.body.clientHeight) != 'undefined')
|
|
||||||
{
|
|
||||||
var height=document.body.clientHeight;//IE
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//resize the iframe according to the size of the
|
|
||||||
//window (all these should be on the same line)
|
|
||||||
document.getElementById("glu").style.height=parseInt(height-document.getElementById("glu").offsetTop-8)+"px";
|
|
||||||
}
|
|
||||||
|
|
||||||
// this will resize the iframe every
|
|
||||||
// time you change the size of the window.
|
|
||||||
window.onresize=resize_iframe;
|
|
||||||
|
|
||||||
//Instead of using this you can use:
|
|
||||||
// <BODY onresize="resize_iframe()">
|
|
||||||
|
|
||||||
|
|
||||||
//-->
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<iframe id="glu" width="100%" src="{$xchan['xchan_url']}" onload="resize_iframe()">
|
|
||||||
</iframe>
|
|
||||||
|
|
||||||
EOT;
|
|
||||||
|
|
||||||
|
|
||||||
// $o .= '<div id="profile-frame-wrapper" style="width: 100%; height: 100%;"><iframe id="profile-frame" src="' . $r[0]['xchan_url'] . '" style="width: 100%; height: 100%;"></iframe></div>';
|
|
||||||
return $o;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$contact_id = intval(argv(1));
|
$contact_id = intval(argv(1));
|
||||||
if(! $contact_id)
|
if(! $contact_id)
|
||||||
return;
|
return;
|
||||||
@ -305,7 +233,7 @@ EOT;
|
|||||||
|
|
||||||
array(
|
array(
|
||||||
'label' => t('View Profile'),
|
'label' => t('View Profile'),
|
||||||
'url' => $a->get_baseurl(true) . '/connections/' . $contact['abook_id'] . '/profile',
|
'url' => $a->get_baseurl(true) . '/chanview/?f=&cid=' . $contact['abook_id'],
|
||||||
'sel' => '',
|
'sel' => '',
|
||||||
'title' => sprintf( t('View %s\'s profile'), $contact['xchan_name']),
|
'title' => sprintf( t('View %s\'s profile'), $contact['xchan_name']),
|
||||||
),
|
),
|
||||||
|
@ -1 +1 @@
|
|||||||
2012-12-02.157
|
2012-12-03.158
|
||||||
|
19
view/js/mod_chanview.js
Normal file
19
view/js/mod_chanview.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
|
||||||
|
function resize_iframe()
|
||||||
|
{
|
||||||
|
if(typeof(window.innerHeight) != 'undefined') {
|
||||||
|
var height=window.innerHeight;//Firefox
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (typeof(document.body.clientHeight) != 'undefined')
|
||||||
|
{
|
||||||
|
var height=document.body.clientHeight;//IE
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//resize the iframe according to the size of the
|
||||||
|
//window (all these should be on the same line)
|
||||||
|
document.getElementById("remote-channel").style.height=parseInt(height-document.getElementById("remote-channel").offsetTop-8)+"px";
|
||||||
|
}
|
||||||
|
|
||||||
|
window.onresize=resize_iframe;
|
1
view/tpl/chanview.tpl
Normal file
1
view/tpl/chanview.tpl
Normal file
@ -0,0 +1 @@
|
|||||||
|
<iframe id="remote-channel" width="100%" src="$url" onload="resize_iframe()"></iframe>
|
Reference in New Issue
Block a user