aboutsummaryrefslogtreecommitdiff
path: root/mod/tagcloud
diff options
context:
space:
mode:
Diffstat (limited to 'mod/tagcloud')
-rw-r--r--mod/tagcloud/languages/en.php12
-rw-r--r--mod/tagcloud/manifest.xml16
-rw-r--r--mod/tagcloud/start.php10
-rw-r--r--mod/tagcloud/views/default/widgets/tagcloud/content.php16
-rw-r--r--mod/tagcloud/views/default/widgets/tagcloud/edit.php23
5 files changed, 77 insertions, 0 deletions
diff --git a/mod/tagcloud/languages/en.php b/mod/tagcloud/languages/en.php
new file mode 100644
index 000000000..f64e0553a
--- /dev/null
+++ b/mod/tagcloud/languages/en.php
@@ -0,0 +1,12 @@
+<?php
+/**
+ * Tag cloud English language file
+ */
+
+$english = array(
+ 'tagcloud:widget:title' => 'Tag Cloud',
+ 'tagcloud:widget:description' => 'Tag cloud',
+ 'tagcloud:widget:numtags' => 'Number of tags to show',
+);
+
+add_translation('en', $english);
diff --git a/mod/tagcloud/manifest.xml b/mod/tagcloud/manifest.xml
new file mode 100644
index 000000000..c0f89f35e
--- /dev/null
+++ b/mod/tagcloud/manifest.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plugin_manifest xmlns="http://www.elgg.org/plugin_manifest/1.8">
+ <name>Tag Cloud</name>
+ <author>Cash Costello</author>
+ <version>1.0</version>
+ <category>bundled</category>
+ <category>widget</category>
+ <description>Widget-based tag clouds.</description>
+ <website>http://cashcostello.com/</website>
+ <copyright>See COPYRIGHT.txt</copyright>
+ <license>GNU General Public License version 2</license>
+ <requires>
+ <type>elgg_release</type>
+ <version>1.8</version>
+ </requires>
+</plugin_manifest>
diff --git a/mod/tagcloud/start.php b/mod/tagcloud/start.php
new file mode 100644
index 000000000..663cec0e6
--- /dev/null
+++ b/mod/tagcloud/start.php
@@ -0,0 +1,10 @@
+<?php
+/**
+ * Tagcloud plugin
+ */
+
+elgg_register_event_handler('init', 'system', 'tagcloud_init');
+
+function tagcloud_init() {
+ elgg_register_widget_type('tagcloud', elgg_echo('tagcloud:widget:title'), elgg_echo('tagcloud:widget:description'));
+}
diff --git a/mod/tagcloud/views/default/widgets/tagcloud/content.php b/mod/tagcloud/views/default/widgets/tagcloud/content.php
new file mode 100644
index 000000000..af1d6a5f6
--- /dev/null
+++ b/mod/tagcloud/views/default/widgets/tagcloud/content.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Tag cloud widget
+ */
+
+$num_items = $vars['entity']->num_items;
+
+elgg_push_context('tags');
+$options = array(
+ 'owner_guid' => elgg_get_page_owner_guid(),
+ 'threshold' => 1,
+ 'limit' => $num_items,
+ 'tag_name' => 'tags',
+);
+echo elgg_view_tagcloud($options);
+elgg_pop_context();
diff --git a/mod/tagcloud/views/default/widgets/tagcloud/edit.php b/mod/tagcloud/views/default/widgets/tagcloud/edit.php
new file mode 100644
index 000000000..919c8ccd4
--- /dev/null
+++ b/mod/tagcloud/views/default/widgets/tagcloud/edit.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Tagcloud widget edit view
+ *
+ */
+
+// set default value
+if (!isset($vars['entity']->num_items)) {
+ $vars['entity']->num_items = 30;
+}
+
+$params = array(
+ 'name' => 'params[num_items]',
+ 'value' => $vars['entity']->num_items,
+ 'options' => array(10, 20, 30, 50, 100),
+);
+$dropdown = elgg_view('input/dropdown', $params);
+
+?>
+<p>
+ <?php echo elgg_echo('tagcloud:widget:numtags'); ?>:
+ <?php echo $dropdown; ?>
+</p>