adding new global variable to deter which export should write the exported timestamp in grade_grades_final table

This commit is contained in:
toyomoyo
2007-05-10 08:23:44 +00:00
parent 8f4a626d5c
commit 76127f3797
2 changed files with 83 additions and 0 deletions
+78
View File
@@ -2563,6 +2563,84 @@ class admin_setting_special_coursemanager extends admin_setting {
}
}
/*
* this is used in config->courses->gradeexports
* (which roles to show on course decription page)
*/
class admin_setting_special_gradeexport extends admin_setting {
function admin_setting_special_gradeexport() {
$name = 'gradeexport';
$visiblename = get_string('gradeexport', 'admin');
$description = get_string('configgradeexport', 'admin');
$default = array(3=>'1'); // The teahcer role in a default install
parent::admin_setting($name, $visiblename, $description, $default);
}
function get_setting() {
global $CFG;
if (!empty($CFG->{$this->name})) {
$result = explode(',', $CFG->{$this->name});
foreach ($result as $plugin) {
$array[$plugin] = 1;
}
return $array;
} else if (isset($CFG->{$this->name})) {
return array();
} else {
return null;
}
}
function write_setting($data) {
if (!empty($data)) {
$str = '';
foreach ($data as $key => $value) {
if ($value) {
$str .= $key.',';
}
}
return set_config($this->name, rtrim($str, ","))?'':get_string('errorsetting', 'admin') . $this->visiblename . '<br />';
} else {
return set_config($this->name, '')?'':get_string('errorsetting', 'admin') . $this->visiblename . '<br />';
}
}
function output_html() {
if ($this->get_setting() === NULL) {
$currentsetting = $this->defaultsetting;
} else {
$currentsetting = $this->get_setting();
}
// from to process which roles to display
if ($exports = get_list_of_plugins('grade/export')) {
$return = '<div class="form-group">';
$first = true;
foreach ($exports as $export) {
if (is_array($currentsetting) && in_array($export, array_keys($currentsetting))) {
$checked = 'checked="checked"';
} else {
$checked = '';
}
if ($first) {
$first = false;
} else {
$return .= '<br />';
}
$return .= '<input type="checkbox" name="s_'.$this->name.'['.$export.']" value="1" '.$checked.' />&nbsp;'.$export;
}
$return .= '</div>';
}
return format_admin_setting($this->name, $this->visiblename, $return, $this->description, false);
}
}
class admin_setting_special_perfdebug extends admin_setting_configcheckbox {
function admin_setting_special_perfdebug() {