diff options
Diffstat (limited to 'Zotlabs/Widget')
-rw-r--r-- | Zotlabs/Widget/Collections.php | 51 | ||||
-rw-r--r-- | Zotlabs/Widget/Profile | 13 | ||||
-rw-r--r-- | Zotlabs/Widget/Suggestions.php | 58 | ||||
-rw-r--r-- | Zotlabs/Widget/Tagcloud.php | 33 | ||||
-rw-r--r-- | Zotlabs/Widget/Zcard.php | 11 |
5 files changed, 166 insertions, 0 deletions
diff --git a/Zotlabs/Widget/Collections.php b/Zotlabs/Widget/Collections.php new file mode 100644 index 000000000..d2b29679a --- /dev/null +++ b/Zotlabs/Widget/Collections.php @@ -0,0 +1,51 @@ +<?php + +namespace Zotlabs\Widget; + +require_once('include/group.php'); + +class Collections { + + function widget($args) { + + $mode = ((array_key_exists('mode',$args)) ? $args['mode'] : 'conversation'); + switch($mode) { + case 'conversation': + $every = argv(0); + $each = argv(0); + $edit = true; + $current = $_REQUEST['gid']; + $abook_id = 0; + $wmode = 0; + break; + case 'connections': + $every = 'connections'; + $each = 'group'; + $edit = true; + $current = $_REQUEST['gid']; + $abook_id = 0; + $wmode = 0; + case 'groups': + $every = 'connections'; + $each = argv(0); + $edit = false; + $current = intval(argv(1)); + $abook_id = 0; + $wmode = 1; + break; + case 'abook': + $every = 'connections'; + $each = 'group'; + $edit = false; + $current = 0; + $abook_id = \App::$poi['abook_xchan']; + $wmode = 1; + break; + default: + return ''; + break; + } + + return group_side($every, $each, $edit, $current, $abook_id, $wmode); + } +} diff --git a/Zotlabs/Widget/Profile b/Zotlabs/Widget/Profile new file mode 100644 index 000000000..bffd910b6 --- /dev/null +++ b/Zotlabs/Widget/Profile @@ -0,0 +1,13 @@ +<?php + +namespace Zotlabs\Widget; + + +class Profile { + + function widget($args) { + $block = observer_prohibited(); + return profile_sidebar(\App::$profile, $block, true); + } + +}
\ No newline at end of file diff --git a/Zotlabs/Widget/Suggestions.php b/Zotlabs/Widget/Suggestions.php new file mode 100644 index 000000000..5fb3d3e8b --- /dev/null +++ b/Zotlabs/Widget/Suggestions.php @@ -0,0 +1,58 @@ +<?php + +namespace Zotlabs\Widget; + +require_once('include/socgraph.php'); + + +class Suggestions { + + function widget($arr) { + + if((! local_channel()) || (! feature_enabled(local_channel(),'suggest'))) + return ''; + + + $r = suggestion_query(local_channel(),get_observer_hash(),0,20); + + if(! $r) { + return; + } + + $arr = array(); + + // Get two random entries from the top 20 returned. + // We'll grab the first one and the one immediately following. + // This will throw some entropy intot he situation so you won't + // be looking at the same two mug shots every time the widget runs + + $index = ((count($r) > 2) ? mt_rand(0,count($r) - 2) : 0); + + for($x = $index; $x <= ($index+1); $x ++) { + $rr = $r[$x]; + if(! $rr['xchan_url']) + break; + + $connlnk = z_root() . '/follow/?url=' . $rr['xchan_addr']; + + $arr[] = array( + 'url' => chanlink_url($rr['xchan_url']), + 'profile' => $rr['xchan_url'], + 'name' => $rr['xchan_name'], + 'photo' => $rr['xchan_photo_m'], + 'ignlnk' => z_root() . '/directory?ignore=' . $rr['xchan_hash'], + 'conntxt' => t('Connect'), + 'connlnk' => $connlnk, + 'ignore' => t('Ignore/Hide') + ); + } + + $o = replace_macros(get_markup_template('suggest_widget.tpl'),array( + '$title' => t('Suggestions'), + '$more' => t('See more...'), + '$entries' => $arr + )); + + return $o; + } +} diff --git a/Zotlabs/Widget/Tagcloud.php b/Zotlabs/Widget/Tagcloud.php new file mode 100644 index 000000000..cf7a4932e --- /dev/null +++ b/Zotlabs/Widget/Tagcloud.php @@ -0,0 +1,33 @@ +<?php + +namespace Zotlabs\Widget; + +// @FIXME The problem with this widget is that we don't have a search function for webpages +// that we can send the links to. Then we should also provide an option to search webpages +// and conversations. + +class Tagcloud { + + function widget($args) { + + $o = ''; + $uid = \App::$profile_uid; + $count = ((x($args,'count')) ? intval($args['count']) : 24); + $flags = 0; + $type = TERM_CATEGORY; + + // @FIXME there exists no $authors variable + $r = tagadelic($uid, $count, $authors, $owner, $flags, ITEM_TYPE_WEBPAGE, $type); + + // @FIXME this should use a template + + if($r) { + $o = '<div class="tagblock widget"><h3>' . t('Categories') . '</h3><div class="tags" align="center">'; + foreach($r as $rv) { + $o .= '<span class="tag' . $rv[2] . '">' . $rv[0] .' </span> ' . "\r\n"; + } + $o .= '</div></div>'; + } + return $o; + } +} diff --git a/Zotlabs/Widget/Zcard.php b/Zotlabs/Widget/Zcard.php new file mode 100644 index 000000000..12e53eaab --- /dev/null +++ b/Zotlabs/Widget/Zcard.php @@ -0,0 +1,11 @@ +<?php + +namespace Zotlabs\Widget; + +class Zcard { + + function widget($args) { + $channel = channelx_by_n(\App::$profile_uid); + return get_zcard($channel,get_observer_hash(),array('width' => 875)); + } +} |