diff options
-rw-r--r-- | engine/lib/tags.php | 24 | ||||
-rw-r--r-- | languages/en.php | 1 | ||||
-rw-r--r-- | mod/tagcloud/start.php | 16 | ||||
-rw-r--r-- | mod/tagcloud/views/default/tagcloud/extend.php | 5 | ||||
-rw-r--r-- | views/default/output/tagcloud.php | 14 |
5 files changed, 35 insertions, 25 deletions
diff --git a/engine/lib/tags.php b/engine/lib/tags.php index 8d67a89bb..ce1fbbf93 100644 --- a/engine/lib/tags.php +++ b/engine/lib/tags.php @@ -357,9 +357,12 @@ function display_tagcloud($threshold = 1, $limit = 10, $metadata_name = "", $ent elgg_deprecated_notice('display_cloud() was deprecated by elgg_view_tagcloud()!', 1.8); - return elgg_view("output/tagcloud",array('value' => get_tags($threshold, $limit, $metadata_name, $entity_type, $entity_subtype, $owner_guid, $site_guid, $start_ts, $end_ts), - 'type' => $entity_type, - 'subtype' => $entity_subtype)); + $tags = get_tags($threshold, $limit, $metadata_name, $entity_type, $entity_subtype, $owner_guid, $site_guid, $start_ts, $end_ts); + return elgg_view('output/tagcloud', array( + 'value' => $tags, + 'type' => $entity_type, + 'subtype' => $entity_subtype, + )); } /** @@ -402,3 +405,18 @@ function elgg_get_registered_tag_metadata_names() { // register the standard tags metadata name elgg_register_tag_metadata_name('tags'); + +register_page_handler('tags', 'elgg_tagcloud_page_handler'); +function elgg_tagcloud_page_handler($page) { + global $CONFIG; + + switch ($page[0]) { + default: + $title = elgg_view_title(elgg_echo('tags:site_cloud')); + $tags = display_tagcloud(0, 100, 'tags'); + $body = elgg_view_layout('one_column_with_sidebar', $title . $tags); + + page_draw(elgg_echo('tags:site_cloud'), $body); + break; + } +} diff --git a/languages/en.php b/languages/en.php index 486c6acab..6a74c6e76 100644 --- a/languages/en.php +++ b/languages/en.php @@ -944,6 +944,7 @@ You cannot reply to this email.", */ 'tag_names:tags' => 'Tags', + 'tags:site_cloud' => 'Site Tag Cloud', /** * Languages according to ISO 639-1 diff --git a/mod/tagcloud/start.php b/mod/tagcloud/start.php index 11d970c25..a2e4f5143 100644 --- a/mod/tagcloud/start.php +++ b/mod/tagcloud/start.php @@ -6,23 +6,7 @@ function tagcloud_init() { add_widget_type('tagcloud', elgg_echo('tagcloud:widget:title'), elgg_echo('tagcloud:widget:description')); - elgg_extend_view('css','tagcloud/css'); - register_page_handler('tagcloud', 'tagcloud_page_handler'); -} - -function tagcloud_page_handler($page) { - global $CONFIG; - - switch ($page[0]) { - default: - $title = elgg_view_title(elgg_echo('tagcloud:site:title')); - $tags = display_tagcloud(0, 100, 'tags'); - $body = elgg_view_layout('one_column_with_sidebar', $title . $tags); - - page_draw(elgg_echo('tagcloud:site:title'), $body); - break; - } } register_elgg_event_handler('init', 'system', 'tagcloud_init'); diff --git a/mod/tagcloud/views/default/tagcloud/extend.php b/mod/tagcloud/views/default/tagcloud/extend.php deleted file mode 100644 index 4ab144d18..000000000 --- a/mod/tagcloud/views/default/tagcloud/extend.php +++ /dev/null @@ -1,5 +0,0 @@ -<?php - -echo '<p class="tags">'; -echo "<a href=\"{$vars['url']}pg/tagcloud\">All site tags</a>"; -echo '</p>';
\ No newline at end of file diff --git a/views/default/output/tagcloud.php b/views/default/output/tagcloud.php index ced3f2f30..6e78fc6f0 100644 --- a/views/default/output/tagcloud.php +++ b/views/default/output/tagcloud.php @@ -14,6 +14,8 @@ * @uses $vars['subtype'] Entity subtype */ +$context = get_context(); + if (!empty($vars['subtype'])) { $subtype = "&entity_subtype=" . urlencode($vars['subtype']); } else { @@ -34,7 +36,11 @@ if (!empty($vars['tagcloud']) && is_array($vars['tagcloud'])) { $cloud = ""; $max = 0; - $cloud .= '<h3>'.elgg_echo('tagcloud').'</h3>'; + if ($context != 'tags') { + $title = elgg_echo('tagcloud'); + $cloud .= "<h3>$title</h3>"; + } + $cloud .= '<div class="tagcloud">'; foreach($vars['tagcloud'] as $tag) { @@ -59,6 +65,12 @@ if (!empty($vars['tagcloud']) && is_array($vars['tagcloud'])) { $cloud .= "$list</div>"; + if ($context != 'tags') { + $cloud .= '<p class="tags">'; + $cloud .= "<a href=\"{$vars['url']}pg/tags\">All site tags</a>"; + $cloud .= '</p>'; + } + $cloud .= elgg_view('tagcloud/extend'); echo $cloud; |