MDL-82392 blocks: consistent cleaning of block instance names.
This commit is contained in:
@@ -52,7 +52,7 @@ abstract class backup_block_task extends backup_task {
|
||||
}
|
||||
|
||||
$this->blockid = $blockid;
|
||||
$this->blockname = $block->blockname;
|
||||
$this->blockname = clean_param($block->blockname, PARAM_PLUGIN);
|
||||
$this->contextid = context_block::instance($this->blockid)->id;
|
||||
$this->moduleid = $moduleid;
|
||||
$this->modulename = null;
|
||||
|
||||
+2
-1
@@ -2156,7 +2156,8 @@ function block_instance($blockname, $instance = NULL, $page = NULL) {
|
||||
function block_load_class($blockname) {
|
||||
global $CFG;
|
||||
|
||||
if(empty($blockname)) {
|
||||
$blocknameclean = clean_param($blockname, PARAM_PLUGIN);
|
||||
if (empty($blockname) || empty($blocknameclean)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -75,15 +75,12 @@ class block extends context {
|
||||
* @return string the human readable context name.
|
||||
*/
|
||||
public function get_context_name($withprefix = true, $short = false, $escape = true) {
|
||||
global $DB, $CFG;
|
||||
global $DB;
|
||||
|
||||
$name = '';
|
||||
if ($blockinstance = $DB->get_record('block_instances', array('id' => $this->_instanceid))) {
|
||||
global $CFG;
|
||||
require_once("$CFG->dirroot/blocks/moodleblock.class.php");
|
||||
require_once("$CFG->dirroot/blocks/$blockinstance->blockname/block_$blockinstance->blockname.php");
|
||||
$blockname = "block_$blockinstance->blockname";
|
||||
if ($blockobject = new $blockname()) {
|
||||
$blockobject = block_instance($blockinstance->blockname);
|
||||
if ($blockobject) {
|
||||
if ($withprefix) {
|
||||
$name = get_string('block').': ';
|
||||
}
|
||||
|
||||
@@ -176,11 +176,9 @@ class block extends base {
|
||||
|
||||
if ($block = $DB->get_record('block', array('name'=>$this->name))) {
|
||||
// Inform block it's about to be deleted.
|
||||
if (file_exists("$CFG->dirroot/blocks/$block->name/block_$block->name.php")) {
|
||||
$blockobject = block_instance($block->name);
|
||||
if ($blockobject) {
|
||||
$blockobject->before_delete(); // Only if we can create instance, block might have been already removed.
|
||||
}
|
||||
$blockobject = block_instance($block->name);
|
||||
if ($blockobject) {
|
||||
$blockobject->before_delete(); // Only if we can create instance, block might have been already removed.
|
||||
}
|
||||
|
||||
// First delete instances and related contexts.
|
||||
|
||||
Reference in New Issue
Block a user