var $cron = NULL;
+ /**
+ * Indicates blocked is pinned - can not be moved, always present, does not have own context
+ */
+ var $pinned = false;
/// Class Functions
*/
function is_empty() {
- $context = get_context_instance(CONTEXT_BLOCK, $this->instance->id);
+ if (empty($this->instance->pinned)) {
+ $context = get_context_instance(CONTEXT_BLOCK, $this->instance->id);
+ } else {
+ $context = get_context_instance(CONTEXT_SYSTEM); // pinned blocks do not have own context
+ }
if ( !has_capability('moodle/block:view', $context) ) {
return true;
function _add_edit_controls($options) {
global $CFG, $USER, $PAGE;
- // this is the context relevant to this particular block instance
- $blockcontext = get_context_instance(CONTEXT_BLOCK, $this->instance->id);
+ if (empty($this->instance->pinned)) {
+ $context = get_context_instance(CONTEXT_BLOCK, $this->instance->id);
+ } else {
+ $context = get_context_instance(CONTEXT_SYSTEM); // pinned blocks do not have own context
+ }
// context for site or course, i.e. participant list etc
// check to see if user can edit site or course blocks.
switch ($this->instance->pagetype) {
case 'course-view':
- if (!has_capability('moodle/site:manageblocks', $blockcontext)) {
+ if (!has_capability('moodle/site:manageblocks', $context)) {
return null;
}
break;
$script = $page->url_get_full(array('instanceid' => $this->instance->id, 'sesskey' => $USER->sesskey));
if (empty($this->instance->pinned)) {
- $movebuttons .= '<a class="icon roles" title="'. $this->str->assignroles .'" href="'.$CFG->wwwroot.'/'.$CFG->admin.'/roles/assign.php?contextid='.$blockcontext->id.'">' .
+ $movebuttons .= '<a class="icon roles" title="'. $this->str->assignroles .'" href="'.$CFG->wwwroot.'/'.$CFG->admin.'/roles/assign.php?contextid='.$context->id.'">' .
'<img src="'.$CFG->pixpath.'/i/roles.gif" alt="'.$this->str->assignroles.'" /></a>';
}
function is_empty() {
- $context = get_context_instance(CONTEXT_BLOCK, $this->instance->id);
+ if (empty($this->instance->pinned)) {
+ $context = get_context_instance(CONTEXT_BLOCK, $this->instance->id);
+ } else {
+ $context = get_context_instance(CONTEXT_SYSTEM); // pinned blocks do not have own context
+ }
if ( !has_capability('moodle/block:view', $context) ) {
return true;
}
}
- $context = get_context_instance(CONTEXT_BLOCK, $this->instance->id);
+ if (empty($this->instance->pinned)) {
+ $context = get_context_instance(CONTEXT_BLOCK, $this->instance->id);
+ } else {
+ $context = get_context_instance(CONTEXT_SYSTEM); // pinned blocks do not have own context
+ }
if (has_capability('block/rss_client:createsharedfeeds', $context)
|| has_capability('block/rss_client:createprivatefeeds', $context)) {
print $checkbox . $feedtitle .'<br />'."\n";
}
} else {
- $context = get_context_instance(CONTEXT_BLOCK, $this->instance->id);
+ if (empty($this->instance->pinned)) {
+ $context = get_context_instance(CONTEXT_BLOCK, $this->instance->id);
+ } else {
+ $context = get_context_instance(CONTEXT_SYSTEM); // pinned blocks do not have own context
+ }
print_string('nofeeds', 'block_rss_client');
if (has_capability('block/rss_client:createprivatefeeds', $context)
} else {
global $act, $url, $rssid, $preferredtitle, $shared;
print '</div></form></div>'; // Closes off page form
- $context = get_context_instance(CONTEXT_BLOCK, $this->instance->id);
+ if (empty($this->instance->pinned)) {
+ $context = get_context_instance(CONTEXT_BLOCK, $this->instance->id);
+ } else {
+ $context = get_context_instance(CONTEXT_SYSTEM); // pinned blocks do not have own context
+ }
print_box_start();
rss_display_feeds($id, $USER->id, '', $context);
$tabs = $row = array();
-$context = get_context_instance(CONTEXT_BLOCK, $this->instance->id);
+if (empty($this->instance->pinned)) {
+ $context = get_context_instance(CONTEXT_BLOCK, $this->instance->id);
+} else {
+ $context = get_context_instance(CONTEXT_SYSTEM); // pinned blocks do not have own context
+}
if (has_capability('moodle/site:manageblocks', $context)) {
$script = $page->url_get_full(array('instanceid' => $this->instance->id, 'sesskey' => $USER->sesskey, 'blockaction' => 'config', 'currentaction' => 'configblock', 'id' => $id, 'section' => 'rss'));