From 8a45f27fca39f0356987c011c80e07c0f0413d6a Mon Sep 17 00:00:00 2001 From: cash Date: Tue, 22 Mar 2011 10:55:51 +0000 Subject: Refs #2091 added a tagcloud block that accepts subtype git-svn-id: http://code.elgg.org/elgg/trunk@8814 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/tags.php | 9 ++-- mod/blog/views/default/blog/sidebar.php | 7 ++- mod/blog/views/default/blog/sidebar/tagcloud.php | 31 ------------- views/default/output/tagcloud.php | 18 +------- views/default/page/elements/tagcloud_block.php | 57 ++++++++++++++++++++++++ 5 files changed, 69 insertions(+), 53 deletions(-) delete mode 100644 mod/blog/views/default/blog/sidebar/tagcloud.php create mode 100644 views/default/page/elements/tagcloud_block.php diff --git a/engine/lib/tags.php b/engine/lib/tags.php index 32d48eff2..1116d63f3 100644 --- a/engine/lib/tags.php +++ b/engine/lib/tags.php @@ -269,10 +269,11 @@ function elgg_view_tagcloud(array $options = array()) { } $tag_data = elgg_get_tags($options); - return elgg_view("output/tagcloud", array('value' => $tag_data, - 'type' => $type, - 'subtype' => $subtype)); - + return elgg_view("output/tagcloud", array( + 'value' => $tag_data, + 'type' => $type, + 'subtype' => $subtype, + )); } /** diff --git a/mod/blog/views/default/blog/sidebar.php b/mod/blog/views/default/blog/sidebar.php index 4eb5cf443..b7dfaa2e1 100644 --- a/mod/blog/views/default/blog/sidebar.php +++ b/mod/blog/views/default/blog/sidebar.php @@ -19,4 +19,9 @@ if ($vars['page'] == 'all') { echo elgg_view('blog/sidebar/archives', $vars); -echo elgg_view('blog/sidebar/tagcloud', $vars); +if ($vars['page'] != 'friends') { + echo elgg_view('page/elements/tagcloud_block', array( + 'subtypes' => 'blog', + 'owner_guid' => elgg_get_page_owner_guid(), + )); +} diff --git a/mod/blog/views/default/blog/sidebar/tagcloud.php b/mod/blog/views/default/blog/sidebar/tagcloud.php deleted file mode 100644 index 70c454390..000000000 --- a/mod/blog/views/default/blog/sidebar/tagcloud.php +++ /dev/null @@ -1,31 +0,0 @@ -getGUID(); - $options = array( - 'type' => 'object', - 'subtype' => 'blog', - 'owner_guid' => $owner_guid, - 'threshold' => 0, - 'limit' => 50, - 'tag_name' => 'tags', - ); - echo elgg_view_tagcloud($options); -} else { - $options = array( - 'type' => 'object', - 'subtype' => 'blog', - 'threshold' => 0, - 'limit' => 50, - 'tag_name' => 'tags', - ); - echo elgg_view_tagcloud($options); -} diff --git a/views/default/output/tagcloud.php b/views/default/output/tagcloud.php index 3bc04a3fb..22b6cf49d 100644 --- a/views/default/output/tagcloud.php +++ b/views/default/output/tagcloud.php @@ -12,8 +12,6 @@ * @uses $vars['subtype'] Entity subtype */ -$context = elgg_get_context(); - if (!empty($vars['subtype'])) { $subtype = "&entity_subtype=" . urlencode($vars['subtype']); } else { @@ -53,22 +51,8 @@ if (!empty($vars['tagcloud']) && is_array($vars['tagcloud'])) { $url = elgg_format_url($url); $cloud .= "tag)." ($tag->total)\">" . htmlspecialchars($tag->tag, ENT_QUOTES, 'UTF-8') . ""; } - - if ($context != 'tags') { - $cloud .= '

'; - $cloud .= elgg_view_icon('tag'); - $cloud .= elgg_view('output/url', array( - 'href' => 'tags', - 'text' => elgg_echo('tagcloud:allsitetags'), - )); - $cloud .= '

'; - } $cloud .= elgg_view('tagcloud/extend'); - if ($context != 'tags') { - echo elgg_view_module('aside', elgg_echo('tagcloud'), $cloud, array('class' => 'elgg-tagcloud')); - } else { - echo "
$cloud
"; - } + echo "
$cloud
"; } diff --git a/views/default/page/elements/tagcloud_block.php b/views/default/page/elements/tagcloud_block.php new file mode 100644 index 000000000..8b67c9e37 --- /dev/null +++ b/views/default/page/elements/tagcloud_block.php @@ -0,0 +1,57 @@ + 'object', + 'subtype' => elgg_extract('subtypes', $vars, ELGG_ENTITIES_ANY_VALUE), + 'owner_guid' => $owner_guid, + 'threshold' => 0, + 'limit' => elgg_extract('limit', $vars, 50), + 'tag_name' => 'tags', +); + +$title = elgg_echo('tagcloud'); +if (is_array($options['subtype']) && count($options['subtype']) > 1) { + // we cannot provide links to tagged objects with multiple types + $tag_data = elgg_get_tags($options); + $cloud = elgg_view("output/tagcloud", array( + 'value' => $tag_data, + 'type' => $type, + )); +} else { + $cloud = elgg_view_tagcloud($options); +} +if (!$cloud) { + return true; +} + +// add a link to all site tags +$cloud .= '

'; +$cloud .= elgg_view_icon('tag'); +$cloud .= elgg_view('output/url', array( + 'href' => 'tags', + 'text' => elgg_echo('tagcloud:allsitetags'), +)); +$cloud .= '

'; + + +echo elgg_view_module('aside', $title, $cloud); -- cgit v1.2.3