diff --git a/blocks/admin_bookmarks/block_admin_bookmarks.php b/blocks/admin_bookmarks/block_admin_bookmarks.php
index 0b3b039ec25..807a18b3533 100644
--- a/blocks/admin_bookmarks/block_admin_bookmarks.php
+++ b/blocks/admin_bookmarks/block_admin_bookmarks.php
@@ -1,15 +1,65 @@
.
-// seems to work...
-// maybe I should add some pretty icons?
-// or possibly add the ability to custom-name things?
+/**
+ * Admin Bookmarks Block page.
+ *
+ * @package block
+ * @subpackage admin_bookmarks
+ * @copyright 2011 Moodle
+ * @author 2006 vinkmar
+ * 2011 Rossiani Wijaya (updated)
+ * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ *
+ */
+/**
+ * The admin bookmarks block class
+ */
class block_admin_bookmarks extends block_base {
+ /** @var string */
+ public $blockname = null;
+
+ /** @var bool */
+ protected $contentgenerated = false;
+
+ /** @var bool|null */
+ protected $docked = null;
+
+ /**
+ * Set the initial properties for the block
+ */
function init() {
- $this->title = get_string('pluginname', 'block_admin_bookmarks');
+ $this->blockname = get_class($this);
+ $this->title = get_string('pluginname', $this->blockname);
}
+ /**
+ * All multiple instances of this block
+ * @return bool Returns false
+ */
+ function instance_allow_multiple() {
+ return false;
+ }
+
+ /**
+ * Set the applicable formats for this block to all
+ * @return array
+ */
function applicable_formats() {
if (has_capability('moodle/site:config', get_context_instance(CONTEXT_SYSTEM))) {
return array('all' => true);
@@ -18,58 +68,59 @@ class block_admin_bookmarks extends block_base {
}
}
- function preferred_width() {
- return 210;
- }
-
- function create_item($visiblename,$link,$icon) {
- $this->tempcontent .= ' ' . $visiblename . '
' . "\n";
- }
-
+ /**
+ * Gets the content for this block
+ */
function get_content() {
- global $CFG, $USER;
+ global $CFG;
- if ($this->content !== NULL) {
+ // First check if we have already generated, don't waste cycles
+ if ($this->contentgenerated === true) {
return $this->content;
}
- $this->content = new stdClass;
- $this->content->text = '';
if (get_user_preferences('admin_bookmarks')) {
- // this is expensive! Only require when bookmakrs exist..
require_once($CFG->libdir.'/adminlib.php');
$adminroot = admin_get_root(false, false); // settings not required - only pages
$bookmarks = explode(',', get_user_preferences('admin_bookmarks'));
- // hmm... just a liiitle (potentially) processor-intensive
- // (recall that $adminroot->locate is a huge recursive call... and we're calling it repeatedly here
-
/// Accessibility: markup as a list.
- $this->content->text .= '