Merge branch 'MOODLE_20_STABLE' into install_20_STABLE
This commit is contained in:
@@ -32,6 +32,7 @@ class grade_import_form extends moodleform {
|
||||
$mform->setType('id', PARAM_INT);
|
||||
|
||||
$mform->addElement('header', 'general', get_string('importfile', 'grades'));
|
||||
$mform->disabledIf('url', 'userfile', 'noteq', '');
|
||||
|
||||
$mform->addElement('advcheckbox', 'feedback', get_string('importfeedback', 'grades'));
|
||||
$mform->setDefault('feedback', 0);
|
||||
@@ -41,7 +42,6 @@ class grade_import_form extends moodleform {
|
||||
$mform->disabledIf('userfile', 'url', 'noteq', '');
|
||||
|
||||
$mform->addElement('text', 'url', get_string('fileurl', 'gradeimport_xml'), 'size="80"');
|
||||
$mform->disabledIf('url', 'userfile', 'noteq', '');
|
||||
|
||||
if (!empty($CFG->gradepublishing)) {
|
||||
$mform->addElement('header', 'publishing', get_string('publishing', 'grades'));
|
||||
|
||||
@@ -53,9 +53,6 @@ M.form_filemanager.init = function(Y, options) {
|
||||
api: M.cfg.wwwroot+'/repository/draftfiles_ajax.php',
|
||||
menus: {},
|
||||
initializer: function(options) {
|
||||
//For client side validation, remove hidden draft_id
|
||||
Y.one('#id_'+options.elementname).set('value', '');
|
||||
|
||||
this.options = options;
|
||||
if (options.mainfile) {
|
||||
this.enablemainfile = options.mainfile;
|
||||
@@ -72,7 +69,6 @@ M.form_filemanager.init = function(Y, options) {
|
||||
this.filepicker_options.maxbytes = this.maxbytes;
|
||||
this.filepicker_options.env = 'filemanager';
|
||||
this.filepicker_options.itemid = options.itemid;
|
||||
this.filepicker_options.elementname = options.elementname;
|
||||
|
||||
if (options.filecount) {
|
||||
this.filecount = options.filecount;
|
||||
@@ -154,12 +150,6 @@ M.form_filemanager.init = function(Y, options) {
|
||||
button_addfile.setStyle('display', 'none');
|
||||
}
|
||||
this.refresh(this.currentpath);
|
||||
//When file is added then set draftid for validation
|
||||
var elementname = M.core_filepicker.instances[this.client_id].options.elementname;
|
||||
var itemid = M.core_filepicker.instances[this.client_id].options.itemid;
|
||||
Y.one('#id_'+elementname).set('value', itemid);
|
||||
//generate event to indicate changes which will be used by disable if code.
|
||||
Y.one('#id_'+elementname).simulate('change');
|
||||
},
|
||||
refresh: function(filepath) {
|
||||
var scope = this;
|
||||
|
||||
@@ -45,7 +45,6 @@ class MoodleQuickForm_filemanager extends HTML_QuickForm_element {
|
||||
if (!empty($options['maxbytes'])) {
|
||||
$this->_options['maxbytes'] = get_max_upload_file_size($CFG->maxbytes, $options['maxbytes']);
|
||||
}
|
||||
$this->_type = 'filemanager';
|
||||
parent::HTML_QuickForm_element($elementName, $elementLabel, $attributes);
|
||||
}
|
||||
|
||||
@@ -147,12 +146,14 @@ class MoodleQuickForm_filemanager extends HTML_QuickForm_element {
|
||||
$options->accepted_types = $accepted_types;
|
||||
$options->return_types = FILE_INTERNAL;
|
||||
$options->context = $PAGE->context;
|
||||
$options->elementname = $elname;
|
||||
|
||||
$html = $this->_getTabs();
|
||||
$html .= form_filemanager_render($options);
|
||||
|
||||
$html .= '<input id="id_'.$elname.'" value="'.$draftitemid.'" name="'.$elname.'" type="hidden" class="filemanagerhidden"/>';
|
||||
$html .= '<input value="'.$draftitemid.'" name="'.$elname.'" type="hidden" />';
|
||||
// label element needs 'for' attribute work
|
||||
$html .= '<input value="" id="id_'.$elname.'" type="hidden" />';
|
||||
|
||||
return $html;
|
||||
}
|
||||
}
|
||||
@@ -302,7 +303,7 @@ FMHTML;
|
||||
$module = array(
|
||||
'name'=>'form_filemanager',
|
||||
'fullpath'=>'/lib/form/filemanager.js',
|
||||
'requires' => array('core_filepicker', 'base', 'io-base', 'node', 'node-event-simulate', 'json', 'yui2-button', 'yui2-container', 'yui2-layout', 'yui2-menu', 'yui2-treeview'),
|
||||
'requires' => array('core_filepicker', 'base', 'io', 'node', 'json', 'yui2-button', 'yui2-container', 'yui2-layout', 'yui2-menu', 'yui2-treeview'),
|
||||
'strings' => array(array('loading', 'repository'), array('nomorefiles', 'repository'), array('confirmdeletefile', 'repository'),
|
||||
array('add', 'repository'), array('accessiblefilepicker', 'repository'), array('move', 'moodle'),
|
||||
array('cancel', 'moodle'), array('download', 'moodle'), array('ok', 'moodle'),
|
||||
|
||||
@@ -5,21 +5,12 @@ M.form_filepicker = {};
|
||||
M.form_filepicker.callback = function(params) {
|
||||
var html = '<a href="'+params['url']+'">'+params['file']+'</a>';
|
||||
document.getElementById('file_info_'+params['client_id']).innerHTML = html;
|
||||
//When file is added then set draftid for validation
|
||||
var elementname = M.core_filepicker.instances[params['client_id']].options.elementname;
|
||||
var itemid = M.core_filepicker.instances[params['client_id']].options.itemid;
|
||||
M.form_filepicker.YUI.one('#id_'+elementname).set('value', itemid);
|
||||
//generate event to indicate changes which will be used by disable if code.
|
||||
M.form_filepicker.YUI.one('#id_'+elementname).simulate('change');
|
||||
};
|
||||
|
||||
/**
|
||||
* This fucntion is called for each file picker on page.
|
||||
*/
|
||||
M.form_filepicker.init = function(Y, options) {
|
||||
//For client side validation, remove hidden draft_id
|
||||
M.form_filepicker.YUI = Y;
|
||||
Y.one('#id_'+options.elementname).set('value', '');
|
||||
options.formcallback = M.form_filepicker.callback;
|
||||
if (!M.core_filepicker.instances[options.client_id]) {
|
||||
M.core_filepicker.init(Y, options);
|
||||
|
||||
@@ -29,7 +29,6 @@ class MoodleQuickForm_filepicker extends HTML_QuickForm_input {
|
||||
if (!empty($options['maxbytes'])) {
|
||||
$this->_options['maxbytes'] = get_max_upload_file_size($CFG->maxbytes, $options['maxbytes']);
|
||||
}
|
||||
$this->_type = 'filepicker';
|
||||
parent::HTML_QuickForm_input($elementName, $elementLabel, $attributes);
|
||||
}
|
||||
|
||||
@@ -79,17 +78,15 @@ class MoodleQuickForm_filepicker extends HTML_QuickForm_input {
|
||||
$args->maxbytes = $this->_options['maxbytes'];
|
||||
$args->context = $PAGE->context;
|
||||
$args->buttonname = $elname.'choose';
|
||||
$args->elementname = $elname;
|
||||
|
||||
$html = $this->_getTabs();
|
||||
$fp = new file_picker($args);
|
||||
$options = $fp->options;
|
||||
$options->context = $PAGE->context;
|
||||
$fp->options->elementname = $elname;
|
||||
$html .= $OUTPUT->render($fp);
|
||||
$html .= '<input type="hidden" name="'.$elname.'" id="'.$id.'" value="'.$draftitemid.'" class="filepickerhidden"/>';
|
||||
|
||||
$module = array('name'=>'form_filepicker', 'fullpath'=>'/lib/form/filepicker.js', 'requires'=>array('core_filepicker', 'node', 'node-event-simulate'));
|
||||
$module = array('name'=>'form_filepicker', 'fullpath'=>'/lib/form/filepicker.js', 'requires'=>array('core_filepicker'));
|
||||
$PAGE->requires->js_init_call('M.form_filepicker.init', array($fp->options), true, $module);
|
||||
|
||||
$nonjsfilepicker = new moodle_url('/repository/draftfiles_manager.php', array(
|
||||
|
||||
+1
-48
@@ -326,43 +326,6 @@ abstract class moodleform {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Internal method. Validates filepicker and filemanager files if they are
|
||||
* set as required fields. Also, sets the error message if encountered one.
|
||||
*
|
||||
* @return bool/array with errors
|
||||
*/
|
||||
protected function validate_draft_files() {
|
||||
global $USER;
|
||||
$mform =& $this->_form;
|
||||
|
||||
$errors = array();
|
||||
//Go through all the required elements and make sure you hit filepicker or
|
||||
//filemanager element.
|
||||
foreach ($mform->_rules as $elementname => $rules) {
|
||||
$elementtype = $mform->getElementType($elementname);
|
||||
//If element is of type filepicker then do validation
|
||||
if (($elementtype == 'filepicker') || ($elementtype == 'filemanager')){
|
||||
//Check if rule defined is required rule
|
||||
foreach ($rules as $rule) {
|
||||
if ($rule['type'] == 'required') {
|
||||
$draftid = (int)$mform->getSubmitValue($elementname);
|
||||
$fs = get_file_storage();
|
||||
$context = get_context_instance(CONTEXT_USER, $USER->id);
|
||||
if (!$files = $fs->get_area_files($context->id, 'user', 'draft', $draftid, 'id DESC', false)) {
|
||||
$errors[$elementname] = $rule['message'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (empty($errors)) {
|
||||
return true;
|
||||
} else {
|
||||
return $errors;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load in existing data as form defaults. Usually new entry defaults are stored directly in
|
||||
* form definition (new entry form); this function is used to load in data where values
|
||||
@@ -463,16 +426,6 @@ abstract class moodleform {
|
||||
|
||||
$files = array();
|
||||
$file_val = $this->_validate_files($files);
|
||||
//check draft files for validation and flag them if required files
|
||||
//are not in draft area.
|
||||
$draftfilevalue = $this->validate_draft_files();
|
||||
|
||||
if ($file_val !== true && $draftfilevalue !== true) {
|
||||
$file_val = array_merge($file_val, $draftfilevalue);
|
||||
} else if ($draftfilevalue !== true) {
|
||||
$file_val = $draftfilevalue;
|
||||
} //default is file_val, so no need to assign.
|
||||
|
||||
if ($file_val !== true) {
|
||||
if (!empty($file_val)) {
|
||||
foreach ($file_val as $element=>$msg) {
|
||||
@@ -2327,7 +2280,7 @@ class MoodleQuickForm_Renderer extends HTML_QuickForm_Renderer_Tableless{
|
||||
if (!$form->isFrozen()) {
|
||||
$args = $form->getLockOptionObject();
|
||||
if (count($args[1]) > 0) {
|
||||
$PAGE->requires->js_init_call('M.form.initFormDependencies', $args, true, moodleform::get_js_module());
|
||||
$PAGE->requires->js_init_call('M.form.initFormDependencies', $args, false, moodleform::get_js_module());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -34,6 +34,6 @@ $version = 2011033004.11; // 20110330 = branching date YYYYMM
|
||||
// RR = release version - do not change in weeklies
|
||||
// .XX = incremental changes
|
||||
|
||||
$release = '2.0.4+ (Build: 20110921)'; // Human-friendly version name
|
||||
$release = '2.0.4+ (Build: 20110925)'; // Human-friendly version name
|
||||
|
||||
$maturity = MATURITY_STABLE; // this version's maturity level
|
||||
|
||||
Reference in New Issue
Block a user