diff options
author | friendica <info@friendica.com> | 2012-12-03 16:14:34 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2012-12-03 16:14:34 -0800 |
commit | a4bae6c29b616aac9ee8a4461688e30e0eac8e38 (patch) | |
tree | 0a97778dd2d3a8f9e93b3875b7b5239d15d4ef2c | |
parent | 7b4a92146fd905c4fdecd800f07e81dabeeb6962 (diff) | |
download | volse-hubzilla-a4bae6c29b616aac9ee8a4461688e30e0eac8e38.tar.gz volse-hubzilla-a4bae6c29b616aac9ee8a4461688e30e0eac8e38.tar.bz2 volse-hubzilla-a4bae6c29b616aac9ee8a4461688e30e0eac8e38.zip |
profile viewer in iframe module, todo - magic auth
-rw-r--r-- | mod/chanview.php | 44 | ||||
-rw-r--r-- | mod/connections.php | 74 | ||||
-rw-r--r-- | version.inc | 2 | ||||
-rw-r--r-- | view/js/mod_chanview.js | 19 | ||||
-rw-r--r-- | view/tpl/chanview.tpl | 1 |
5 files changed, 66 insertions, 74 deletions
diff --git a/mod/chanview.php b/mod/chanview.php new file mode 100644 index 000000000..abc7fc216 --- /dev/null +++ b/mod/chanview.php @@ -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; + +}
\ No newline at end of file diff --git a/mod/connections.php b/mod/connections.php index e365fe35f..9509950a0 100644 --- a/mod/connections.php +++ b/mod/connections.php @@ -138,80 +138,8 @@ function connections_content(&$a) { return; } - $xchan = null; - 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)); if(! $contact_id) return; @@ -305,7 +233,7 @@ EOT; array( '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' => '', 'title' => sprintf( t('View %s\'s profile'), $contact['xchan_name']), ), diff --git a/version.inc b/version.inc index 276dce6a7..4f3f1e040 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2012-12-02.157 +2012-12-03.158 diff --git a/view/js/mod_chanview.js b/view/js/mod_chanview.js new file mode 100644 index 000000000..0bf81ba35 --- /dev/null +++ b/view/js/mod_chanview.js @@ -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; diff --git a/view/tpl/chanview.tpl b/view/tpl/chanview.tpl new file mode 100644 index 000000000..641294feb --- /dev/null +++ b/view/tpl/chanview.tpl @@ -0,0 +1 @@ +<iframe id="remote-channel" width="100%" src="$url" onload="resize_iframe()"></iframe> |