コード例 #1
0
function assignrule(&$url)
{
    checkPerm('mod');
    require_once $GLOBALS['where_lms'] . '/lib/lib.course_managment.php';
    $id_rule = importVar('id_rule', true, 0);
    require_once $GLOBALS['where_lms'] . '/lib/lib.preassessment.php';
    $assess_man = new AssessmentList();
    $rule_man = new AssessmentRule();
    $lang =& DoceboLanguage::createInstance('preassessment');
    // recover assessment
    $rule = $rule_man->getRule($id_rule);
    $id_assessment = $rule[RULE_ID_ASSESS];
    $assess = $assess_man->getAssessment($id_assessment);
    $sel = new Course_Manager();
    $sel->show_catalogue_selector = false;
    $sel->setLink($url->getUrl('op=assignrule'));
    if (isset($_POST['cancel_assign'])) {
        Util::jump_to($url->getUrl('&op=modrule&id_assess=' . $id_assessment));
    }
    if (isset($_GET['load'])) {
        $effects = $rule_man->parseEffects($rule[RULE_EFFECT]);
        if (isset($_GET['load'])) {
            $sel->resetCourseSelection($effects['course']);
            $sel->resetCoursePathSelection($effects['coursepath']);
        }
    }
    if (isset($_POST['save_selection'])) {
        $re = true;
        $course = $sel->getCourseSelection($_POST);
        $coursepath = $sel->getCoursePathSelection($_POST);
        $re = $rule_man->setEffects($id_rule, $course, $coursepath);
        Util::jump_to($url->getUrl('&op=modrule&id_assess=' . $id_assessment . '&result=' . ($re ? 'ok_rule' : 'err_rule')));
    }
    $rule_name = $rule_man->resolveRuleTypePhrase($lang, $rule);
    $GLOBALS['page']->addStart(getTitleArea(array($url->getUrl() => $lang->def('_ASSESSMENT'), $url->getUrl('&op=modrule&id_assess=' . $id_assessment) => $lang->def('_RULES') . ': ' . $assess['name'], '"' . $rule_name . '"'), 'preassessment') . '<div class="std_block">' . Form::openForm('man_assign_rule', $url->getUrl('op=assignrule')) . Form::getHidden('id_rule', 'id_rule', $id_rule), 'content');
    $GLOBALS['page']->addEnd(Form::openButtonSpace() . Form::getButton('save_selection', 'save_selection', $lang->def('_SAVE')) . Form::getButton('cancel_assign', 'cancel_assign', $lang->def('_UNDO')) . Form::closeButtonSpace() . Form::closeForm() . '</div>', 'content');
    $sel->loadSelector();
}