aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2012-12-03 16:14:34 -0800
committerfriendica <info@friendica.com>2012-12-03 16:14:34 -0800
commita4bae6c29b616aac9ee8a4461688e30e0eac8e38 (patch)
tree0a97778dd2d3a8f9e93b3875b7b5239d15d4ef2c
parent7b4a92146fd905c4fdecd800f07e81dabeeb6962 (diff)
downloadvolse-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.php44
-rw-r--r--mod/connections.php74
-rw-r--r--version.inc2
-rw-r--r--view/js/mod_chanview.js19
-rw-r--r--view/tpl/chanview.tpl1
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>