]> git.mjollnir.org Git - moodle.git/commitdiff
New tags block
authormoodler <moodler>
Tue, 28 Aug 2007 08:43:11 +0000 (08:43 +0000)
committermoodler <moodler>
Tue, 28 Aug 2007 08:43:11 +0000 (08:43 +0000)
blocks/tags/block_tags.php [new file with mode: 0644]
blocks/tags/config_instance.html [new file with mode: 0644]

diff --git a/blocks/tags/block_tags.php b/blocks/tags/block_tags.php
new file mode 100644 (file)
index 0000000..69c4cbd
--- /dev/null
@@ -0,0 +1,86 @@
+<?PHP //$Id$
+
+class block_tags extends block_base {
+    function init() {
+        $this->version = 2007082800;
+        $this->title = get_string('blocktagstitle', 'tag');
+    }
+
+    function instance_allow_multiple() {
+        return true;
+    }
+
+    function has_config() {
+        return false;
+    }
+
+    function applicable_formats() {
+        return array('all' => true, 'my' => false, 'tag' => false);
+    }
+
+    function instance_allow_config() {
+        return true;
+    }
+
+    function specialization() {
+
+        // load userdefined title and make sure it's never empty
+        if (empty($this->config->title)) {
+            $this->title = get_string('blocktagstitle','tag');
+        } else {
+            $this->title = $this->config->title;
+        }
+    }
+
+    function get_content() {
+
+        global $CFG, $SITE, $COURSE, $USER;
+
+        if (empty($CFG->usetags)) {
+            $this->content->text = '';
+            return $this->content;
+        }
+
+        if (empty($this->config->numberoftags)) {
+            $this->config->numberoftags = 80;
+        }
+
+        if ($this->content !== NULL) {
+            return $this->content;
+        }
+
+        if (empty($this->instance)) {
+            $this->content = '';
+            return $this->content;
+        }
+
+        $this->content = new stdClass;
+        $this->content->footer = '';
+
+        /// Get a list of tags
+
+        include($CFG->dirroot.'/tag/lib.php');
+
+        $this->content->text = print_tag_cloud(popular_tags_count($this->config->numberoftags), false, 170,70, true);
+
+        return $this->content;
+    }
+
+    function instance_config_print() {
+        global $CFG;
+
+    /// set up the numberoftags select field
+        $numberoftags = array();
+        for($i=1;$i<=200;$i++) $numberoftags[$i] = $i;
+
+        if (is_file($CFG->dirroot .'/blocks/'. $this->name() .'/config_instance.html')) {
+            print_simple_box_start('center', '', '', 5, 'blockconfigglobal');
+            include($CFG->dirroot .'/blocks/'. $this->name() .'/config_instance.html');
+            print_simple_box_end();
+        } else {
+            notice(get_string('blockconfigbad'), str_replace('blockaction=', 'dummy=', qualified_me()));
+        }
+    }
+}
+
+?>
diff --git a/blocks/tags/config_instance.html b/blocks/tags/config_instance.html
new file mode 100644 (file)
index 0000000..0b17765
--- /dev/null
@@ -0,0 +1,27 @@
+<?php
+    if (empty($this->config->title)) {
+        $this->config->title = get_string('blocktagstitle', 'tag');
+    }
+    if (empty($this->config->numberoftags)) {
+        $this->config->numberoftags = 80;
+    }
+?>
+
+<table cellpadding="9" cellspacing="0" class="blockconfigtable">
+
+<tr valign="top">
+<td align="right"><?php print_string("blocktitle","blog") ?>:</td>
+<td><input type="text" name="title" size="50" value="<?php p($this->config->title) ?>" /></td>
+</tr>
+
+<tr valign="top">
+<td align="right"><?php print_string("numberoftags","blog") ?>:</td>
+<td><?php choose_from_menu($numberoftags,"numberoftags",$this->config->numberoftags) ?></td>
+</tr>
+
+<tr>
+    <td colspan="2" align="center"><input type="submit" value="<?php print_string("savechanges") ?>" /></td>
+</tr>
+
+</table>
+