MDL-9380 Adding a Resource of Type directory leads to SQL errors, patch by Andrew Schmadeke
This commit is contained in:
@@ -6,6 +6,23 @@ function resource_directory($cmid=0) {
|
||||
parent::resource_base($cmid);
|
||||
}
|
||||
|
||||
function add_instance($resource) {
|
||||
$this->_postprocess($resource);
|
||||
return parent::add_instance($resource);
|
||||
}
|
||||
|
||||
function update_instance($resource) {
|
||||
$this->_postprocess($resource);
|
||||
return parent::update_instance($resource);
|
||||
}
|
||||
|
||||
function _postprocess(&$resource) {
|
||||
if($resource->reference=='0')
|
||||
$resource->reference = '';
|
||||
|
||||
$resource->popup = '';
|
||||
$resource->alltext = '';
|
||||
}
|
||||
|
||||
function display() {
|
||||
global $CFG;
|
||||
@@ -14,13 +31,13 @@ function display() {
|
||||
parent::display();
|
||||
|
||||
/// Set up some shorthand variables
|
||||
$cm = $this->cm;
|
||||
$cm = $this->cm;
|
||||
$course = $this->course;
|
||||
$resource = $this->resource;
|
||||
$resource = $this->resource;
|
||||
|
||||
require_once($CFG->libdir.'/filelib.php');
|
||||
|
||||
$subdir = optional_param('subdir','', PARAM_PATH);
|
||||
$subdir = optional_param('subdir','', PARAM_PATH);
|
||||
$resource->reference = clean_param($resource->reference, PARAM_PATH);
|
||||
|
||||
$formatoptions = new object();
|
||||
@@ -150,19 +167,34 @@ function setup($form) {
|
||||
global $CFG;
|
||||
|
||||
parent::setup($form);
|
||||
|
||||
|
||||
$rawdirs = get_directory_list("$CFG->dataroot/{$this->course->id}", array($CFG->moddata, 'backupdata'), true, true, false);
|
||||
$dirs = array();
|
||||
foreach ($rawdirs as $rawdir) {
|
||||
$dirs[$rawdir] = $rawdir;
|
||||
}
|
||||
|
||||
|
||||
include("$CFG->dirroot/mod/resource/type/directory/directory.html");
|
||||
|
||||
parent::setup_end();
|
||||
}
|
||||
|
||||
function setup_elements(&$mform) {
|
||||
global $CFG;
|
||||
|
||||
$rawdirs = get_directory_list($CFG->dataroot.'/'.$this->course->id, array($CFG->moddata, 'backupdata'), true, true, false);
|
||||
$dirs = array();
|
||||
$dirs[0]=get_string('maindirectory', 'resource');
|
||||
foreach ($rawdirs as $rawdir) {
|
||||
$dirs[$rawdir] = $rawdir;
|
||||
}
|
||||
|
||||
$mform->addElement('select', 'reference', get_string('resourcetypedirectory', 'resource'), $dirs);
|
||||
$mform->setDefault('windowpopup', 0);
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user