Merge branch 'MDL-72257-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE
This commit is contained in:
@@ -24,6 +24,9 @@ require_once($CFG->dirroot.'/grade/export/grade_export_form.php');
|
||||
*/
|
||||
abstract class grade_export {
|
||||
|
||||
/** @var int Value to state nothing is being exported. */
|
||||
protected const EXPORT_SELECT_NONE = -1;
|
||||
|
||||
public $plugin; // plgin name - must be filled in subclasses!
|
||||
|
||||
public $grade_items; // list of all course grade items
|
||||
@@ -112,9 +115,8 @@ abstract class grade_export {
|
||||
//with an empty $itemlist then reconstruct it in process_form() using $formdata
|
||||
$this->columns = array();
|
||||
if (!empty($itemlist)) {
|
||||
if ($itemlist=='-1') {
|
||||
//user deselected all items
|
||||
} else {
|
||||
// Check that user selected something.
|
||||
if ($itemlist != self::EXPORT_SELECT_NONE) {
|
||||
$itemids = explode(',', $itemlist);
|
||||
// remove items that are not requested
|
||||
foreach ($itemids as $itemid) {
|
||||
@@ -149,9 +151,8 @@ abstract class grade_export {
|
||||
|
||||
$this->columns = array();
|
||||
if (!empty($formdata->itemids)) {
|
||||
if ($formdata->itemids=='-1') {
|
||||
//user deselected all items
|
||||
} else {
|
||||
// Check that user selected something.
|
||||
if ($formdata->itemids != self::EXPORT_SELECT_NONE) {
|
||||
foreach ($formdata->itemids as $itemid=>$selected) {
|
||||
if ($selected and array_key_exists($itemid, $this->grade_items)) {
|
||||
$this->columns[$itemid] =& $this->grade_items[$itemid];
|
||||
@@ -411,7 +412,7 @@ abstract class grade_export {
|
||||
$itemids = array_keys($this->columns);
|
||||
$itemidsparam = implode(',', $itemids);
|
||||
if (empty($itemidsparam)) {
|
||||
$itemidsparam = '-1';
|
||||
$itemidsparam = self::EXPORT_SELECT_NONE;
|
||||
}
|
||||
|
||||
// We have a single grade display type constant.
|
||||
|
||||
@@ -33,6 +33,20 @@ class grade_export_xml extends grade_export {
|
||||
return htmlspecialchars($idnumber, ENT_QUOTES | ENT_XML1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle form processing for export. Note we need to handle the case where there are no 'itemids[]' being included in the
|
||||
* form, because each is disabled for selection due to having empty idnumber
|
||||
*
|
||||
* @param stdClass $formdata
|
||||
*/
|
||||
public function process_form($formdata) {
|
||||
if (!isset($formdata->itemids)) {
|
||||
$formdata->itemids = self::EXPORT_SELECT_NONE;
|
||||
}
|
||||
|
||||
parent::process_form($formdata);
|
||||
}
|
||||
|
||||
/**
|
||||
* To be implemented by child classes
|
||||
* @param boolean $feedback
|
||||
|
||||
Reference in New Issue
Block a user