aboutsummaryrefslogtreecommitdiffstats
path: root/mod/chanview.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/chanview.php')
-rw-r--r--mod/chanview.php44
1 files changed, 44 insertions, 0 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