aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2013-10-27 16:30:55 -0700
committerfriendica <info@friendica.com>2013-10-27 16:30:55 -0700
commite2988a025388c5ea023a9e3d42b7cc40fa93f780 (patch)
tree1397b253a8ae9e15c4c5d3743183e6b494635bef /include
parent91d99213bd74e19d867e99d3dfe82a1a572d49f3 (diff)
downloadvolse-hubzilla-e2988a025388c5ea023a9e3d42b7cc40fa93f780.tar.gz
volse-hubzilla-e2988a025388c5ea023a9e3d42b7cc40fa93f780.tar.bz2
volse-hubzilla-e2988a025388c5ea023a9e3d42b7cc40fa93f780.zip
put comanche widgets in their own file. Added a category tagcloud widget - but the entries aren't going to link to anything until we have a webpage search ability. But this will be a way to exercise and test widget arguments.
Diffstat (limited to 'include')
-rw-r--r--include/comanche.php7
-rw-r--r--include/taxonomy.php10
-rw-r--r--include/widgets.php34
3 files changed, 41 insertions, 10 deletions
diff --git a/include/comanche.php b/include/comanche.php
index 4c6ea2f54..4b8a1d170 100644
--- a/include/comanche.php
+++ b/include/comanche.php
@@ -2,6 +2,7 @@
require_once('include/security.php');
require_once('include/menu.php');
+require_once('include/widgets.php');
// When editing a webpage - a dropdown is needed to select a page layout
// On submit, the pdl_select value (which is the mid of an item with item_restrict = ITEM_PDL) is stored in
@@ -171,9 +172,3 @@ function comanche_region(&$a,$s) {
return $s;
}
-
-function widget_profile($args) {
- $a = get_app();
- $block = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false);
- return profile_sidebar($a->profile, $block, true);
-}
diff --git a/include/taxonomy.php b/include/taxonomy.php
index 85396a51d..5159dad02 100644
--- a/include/taxonomy.php
+++ b/include/taxonomy.php
@@ -96,13 +96,14 @@ function format_term_for_display($term) {
// Tag cloud functions - need to be adpated to this database format
-function tagadelic($uid, $count = 0, $authors = '', $flags = 0, $type = TERM_HASHTAG) {
+function tagadelic($uid, $count = 0, $authors = '', $flags = 0, $restrict = 0, $type = TERM_HASHTAG) {
$sql_options = '';
$count = intval($count);
if($flags)
$sql_options .= " and ((item_flags & " . intval($flags) . ") = " . intval($flags) . ") ";
+
if($authors) {
if(! is_array($authors))
$authors = array($authors);
@@ -113,12 +114,13 @@ function tagadelic($uid, $count = 0, $authors = '', $flags = 0, $type = TERM_HAS
// Fetch tags
$r = q("select term, count(term) as total from term left join item on term.oid = item.id
where term.uid = %d and term.type = %d
- and otype = %d and item_restrict = 0 and item_private = 0
+ and otype = %d and item_restrict = %d and item_private = 0
$sql_options
group by term order by total desc %s",
intval($uid),
intval($type),
intval(TERM_OBJ_POST),
+ intval($restrict),
((intval($count)) ? "limit $count" : '')
);
@@ -199,10 +201,10 @@ function dir_tagadelic($count = 0) {
}
-function tagblock($link,$uid,$count = 0,$authors = '',$flags = 0,$type = TERM_HASHTAG) {
+function tagblock($link,$uid,$count = 0,$authors = '',$flags = 0,$restrict = 0,$type = TERM_HASHTAG) {
$o = '';
$tab = 0;
- $r = tagadelic($uid,$count,$authors,$flags,$type);
+ $r = tagadelic($uid,$count,$authors,$flags,$restrict,$type);
if($r) {
$o = '<div class="tagblock widget"><h3>' . t('Tags') . '</h3><div class="tags" align="center">';
diff --git a/include/widgets.php b/include/widgets.php
new file mode 100644
index 000000000..87941f40f
--- /dev/null
+++ b/include/widgets.php
@@ -0,0 +1,34 @@
+<?php /** @file */
+
+
+function widget_profile($args) {
+ $a = get_app();
+ $block = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false);
+ return profile_sidebar($a->profile, $block, true);
+}
+
+// FIXME The problem with the next 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.
+
+function widget_tagcloud($args) {
+
+ $o = '';
+ $tab = 0;
+ $a = get_app();
+ $uid = $a->profile_uid;
+ $count = ((x($args,'count')) ? intval($args['count']) : 24);
+ $flags = 0;
+ $type = TERM_CATEGORY;
+
+ $r = tagadelic($uid,$count,$authors,$flags,ITEM_WEBPAGE,$type);
+
+ if($r) {
+ $o = '<div class="tagblock widget"><h3>' . t('Categories') . '</h3><div class="tags" align="center">';
+ foreach($r as $rr) {
+ $o .= '<span class="tag'.$rr[2].'">'.$rr[0].'</span> ' . "\r\n";
+ }
+ $o .= '</div></div>';
+ }
+ return $o;
+}
+