⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 item_form.php

📁 很棒的在线教学系统
💻 PHP
📖 第 1 页 / 共 2 页
字号:
            }            $mform->setHelpButton('aggregationcoef', array($coefstring, get_string($coefstring, 'grades'), 'grade'), true);        }/// hidden params        $mform->addElement('hidden', 'id', 0);        $mform->setType('id', PARAM_INT);        $mform->addElement('hidden', 'courseid', $COURSE->id);        $mform->setType('courseid', PARAM_INT);        $mform->addElement('hidden', 'itemtype', 'manual'); // all new items are manual only        $mform->setType('itemtype', PARAM_ALPHA);/// add return tracking info        $gpr = $this->_customdata['gpr'];        $gpr->add_mform_elements($mform);/// mark advanced according to site settings        if (isset($CFG->grade_item_advanced)) {            $advanced = explode(',', $CFG->grade_item_advanced);            foreach ($advanced as $el) {                if ($mform->elementExists($el)) {                    $mform->setAdvanced($el);                }            }        }//-------------------------------------------------------------------------------        // buttons        $this->add_action_buttons();    }/// tweak the form - depending on existing data    function definition_after_data() {        global $CFG, $COURSE;        $mform =& $this->_form;        if ($id = $mform->getElementValue('id')) {            $grade_item = grade_item::fetch(array('id'=>$id));            if (!$grade_item->is_raw_used()) {                $mform->removeElement('plusfactor');                $mform->removeElement('multfactor');            }            if ($grade_item->is_outcome_item()) {                // we have to prevent incompatible modifications of outcomes if outcomes disabled                $mform->removeElement('grademax');                $mform->removeElement('grademin');                $mform->removeElement('gradetype');                $mform->removeElement('display');                $mform->removeElement('decimals');                $mform->hardFreeze('scaleid');            } else {                if ($grade_item->is_external_item()) {                    // following items are set up from modules and should not be overrided by user                    $mform->hardFreeze('itemname,idnumber,gradetype,grademax,grademin,scaleid');                    //$mform->removeElement('calculation');                }            }            //remove the aggregation coef element if not needed            if ($grade_item->is_course_item()) {                if ($mform->elementExists('parentcategory')) {                    $mform->removeElement('parentcategory');                }                if ($mform->elementExists('aggregationcoef')) {                    $mform->removeElement('aggregationcoef');                }            } else {                // if we wanted to change parent of existing item - we would have to verify there are no circular references in parents!!!                if ($mform->elementExists('parentcategory')) {                    $mform->hardFreeze('parentcategory');                }                if ($grade_item->is_category_item()) {                    $category = $grade_item->get_item_category();                    $parent_category = $category->get_parent_category();                } else {                    $parent_category = $grade_item->get_parent_category();                }                $parent_category->apply_forced_settings();                if (!$parent_category->is_aggregationcoef_used()) {                    if ($mform->elementExists('aggregationcoef')) {                        $mform->removeElement('aggregationcoef');                    }                } else {                    //fix label if needed                    $agg_el =& $mform->getElement('aggregationcoef');                    $aggcoef = '';                    if ($parent_category->aggregation == GRADE_AGGREGATE_WEIGHTED_MEAN) {                        $aggcoef = 'aggregationcoefweight';                    } else if ($parent_category->aggregation == GRADE_AGGREGATE_EXTRACREDIT_MEAN) {                        $aggcoef = 'aggregationcoefextra';                    } else if ($parent_category->aggregation == GRADE_AGGREGATE_SUM) {                        $aggcoef = 'aggregationcoefextrasum';                    }                    if ($aggcoef !== '') {                        $agg_el->setLabel(get_string($aggcoef, 'grades'));                        $mform->setHelpButton('aggregationcoef', array($aggcoef, get_string($aggcoef, 'grades'), 'grade'), true);                    }                }            }            if ($category = $grade_item->get_item_category()) {                if ($category->aggregation == GRADE_AGGREGATE_SUM) {                    if ($mform->elementExists('gradetype')) {                        $mform->hardFreeze('gradetype');                    }                    if ($mform->elementExists('grademin')) {                        $mform->hardFreeze('grademin');                    }                    if ($mform->elementExists('grademax')) {                        $mform->hardFreeze('grademax');                    }                    if ($mform->elementExists('scaleid')) {                        $mform->removeElement('scaleid');                    }                }            }        } else {            // all new items are manual, children of course category            $mform->removeElement('plusfactor');            $mform->removeElement('multfactor');        }        // no parent header for course category        if (!$mform->elementExists('aggregationcoef') and !$mform->elementExists('parentcategory')) {            $mform->removeElement('headerparent');        }    }/// perform extra validation before submission    function validation($data, $files) {        global $COURSE;        $errors = parent::validation($data, $files);        if (array_key_exists('idnumber', $data)) {            if ($data['id']) {                $grade_item = new grade_item(array('id'=>$data['id'], 'courseid'=>$data['courseid']));                if ($grade_item->itemtype == 'mod') {                    $cm = get_coursemodule_from_instance($grade_item->itemmodule, $grade_item->iteminstance, $grade_item->courseid);                } else {                    $cm = null;                }            } else {                $grade_item = null;                $cm = null;            }            if (!grade_verify_idnumber($data['idnumber'], $COURSE->id, $grade_item, $cm)) {                $errors['idnumber'] = get_string('idnumbertaken');            }        }        if (array_key_exists('gradetype', $data) and $data['gradetype'] == GRADE_TYPE_SCALE) {            if (empty($data['scaleid'])) {                $errors['scaleid'] = get_string('missingscale', 'grades');            }        }        if (array_key_exists('grademin', $data) and array_key_exists('grademax', $data)) {            if ($data['grademax'] == $data['grademin'] or $data['grademax'] < $data['grademin']) {                $errors['grademin'] = get_string('incorrectminmax', 'grades');                $errors['grademax'] = get_string('incorrectminmax', 'grades');            }        }        return $errors;    }}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -