52        $this->toolbar = $ilToolbar;
 
   62        $cmd = $this->ctrl->getCmd(
'showMarkSchema');
 
   71        if (!$this->object->canEditMarks()) {
 
   73            $this->ctrl->redirect($this, 
'showMarkSchema');
 
   82        if (!$this->object->canEditEctsGrades()) {
 
   84            $this->ctrl->redirect($this, 
'showMarkSchema');
 
   96        $this->
object->getMarkSchema()->addMarkStep();
 
  105        $this->
object->getMarkSchema()->flush();
 
  107            if (preg_match(
'/mark_short_(\d+)/', 
$key, $matches)) {
 
  108                $this->
object->getMarkSchema()->addMarkStep(
 
  125        $this->
object->getMarkSchema()->createSimpleSchema(
 
  126            $this->lng->txt(
'failed_short'),
 
  127            $this->lng->txt(
'failed_official'),
 
  130            $this->lng->txt(
'passed_short'),
 
  131            $this->lng->txt(
'passed_official'),
 
  145        if (!isset(
$_POST[
'marks']) || !is_array(
$_POST[
'marks'])) {
 
  151        $delete_mark_steps = array();
 
  152        foreach (
$_POST[
'marks'] as $mark_step_id) {
 
  153            $delete_mark_steps[] = $mark_step_id;
 
  156        if (count($delete_mark_steps)) {
 
  157            $this->
object->getMarkSchema()->deleteMarkSteps($delete_mark_steps);
 
  174            $result = $this->
object->checkMarks();
 
  175        } 
catch (Exception $e) {
 
  176            $result = $this->lng->txt(
'mark_schema_invalid');
 
  182            $this->
object->getMarkSchema()->saveToDb($this->object->getMarkSchemaForeignId());
 
  183            $this->
object->onMarkSchemaSaved();
 
  187        $this->ctrl->redirect($this);
 
  195        require_once 
'Modules/Test/interfaces/interface.ilEctsGradesEnabled.php';
 
  205        if (!$this->object->canEditMarks()) {
 
  209        $this->toolbar->setFormAction($this->ctrl->getFormAction($this, 
'showMarkSchema'));
 
  211        require_once 
'Modules/Test/classes/tables/class.ilMarkSchemaTableGUI.php';
 
  214        if ($this->object->canEditMarks()) {
 
  215            require_once 
'Services/UIComponent/Button/classes/class.ilSubmitButton.php';
 
  217            $create_simple_mark_schema_button->setCaption($this->lng->txt(
'tst_mark_create_simple_mark_schema'), 
false);
 
  218            $create_simple_mark_schema_button->setCommand(
'addSimpleMarkSchema');
 
  219            $this->toolbar->addButtonInstance($create_simple_mark_schema_button);
 
  221            require_once 
'Services/UIComponent/Button/classes/class.ilButton.php';
 
  223            $create_new_mark_step_button->setCaption($this->lng->txt(
'tst_mark_create_new_mark_step'), 
false);
 
  225            $create_new_mark_step_button->setForm(
'form_' . $mark_schema_table->getId());
 
  226            $create_new_mark_step_button->setName(
'addMarkStep');
 
  227            $this->toolbar->addButtonInstance($create_new_mark_step_button);
 
  231        $content_parts = array($mark_schema_table->getHTML());
 
  238            $content_parts[] = $ects_form->getHTML();
 
  241        $this->tpl->setContent(implode(
'<br />', $content_parts));
 
  251        $data[
'ectcs_status']      = $this->
object->getECTSOutput();
 
  252        $data[
'use_ects_fx']       = preg_match(
'/\d+/', $this->object->getECTSFX());
 
  253        $data[
'ects_fx_threshold'] = $this->
object->getECTSFX();
 
  255        $ects_grades = $this->
object->getECTSGrades();
 
  256        for (
$i = ord(
'a'); 
$i <= ord(
'e'); 
$i++) {
 
  258            $data[
'ects_grade_' . $mark] = $ects_grades[chr(
$i - 32)];
 
  269        require_once 
'Services/Form/classes/class.ilPropertyFormGUI.php';
 
  271        $disabled = !$this->
object->canEditEctsGrades();
 
  274        $form->setFormAction($this->ctrl->getFormAction($this, 
'saveEctsForm'));
 
  275        $form->setTitle($this->lng->txt(
'ects_output_of_ects_grades'));
 
  277        $allow_ects_marks = 
new ilCheckboxInputGUI($this->lng->txt(
'ects_allow_ects_grades'), 
'ectcs_status');
 
  278        $allow_ects_marks->setDisabled($disabled);
 
  279        for (
$i = ord(
'a'); 
$i <= ord(
'e'); 
$i++) {
 
  284                $this->lng->txt(
'ects_grade_desc_prefix') . 
' ' . $this->lng->txt(
'ects_grade_' . $mark . 
'_desc')
 
  286            $mark_step->setSize(5);
 
  287            $mark_step->allowDecimals(
true);
 
  288            $mark_step->setMinValue(0, 
true);
 
  289            $mark_step->setMaxValue(100, 
true);
 
  290            $mark_step->setSuffix($this->lng->txt(
'percentile'));
 
  291            $mark_step->setRequired(
true);
 
  292            $mark_step->setDisabled($disabled);
 
  293            $allow_ects_marks->addSubItem($mark_step);
 
  298            $this->lng->txt(
'ects_grade_desc_prefix') . 
' ' . $this->lng->txt(
'ects_grade_f_desc')
 
  300        $allow_ects_marks->addSubItem($mark_step);
 
  303        $use_ects_fx->setDisabled($disabled);
 
  304        $allow_ects_marks->addSubItem($use_ects_fx);
 
  308            $this->lng->txt(
'ects_grade_desc_prefix') . 
' ' . $this->lng->txt(
'ects_grade_fx_desc')
 
  310        $use_ects_fx->addSubItem($mark_step);
 
  312        $threshold = 
new ilNumberInputGUI($this->lng->txt(
'ects_fx_threshold'), 
'ects_fx_threshold');
 
  313        $threshold->setInfo($this->lng->txt(
'ects_fx_threshold_info'));
 
  314        $threshold->setSuffix($this->lng->txt(
'percentile'));
 
  315        $threshold->allowDecimals(
true);
 
  316        $threshold->setSize(5);
 
  317        $threshold->setRequired(
true);
 
  318        $threshold->setDisabled($disabled);
 
  319        $use_ects_fx->addSubItem($threshold);
 
  322        $form->addItem($allow_ects_marks);
 
  325            $form->addCommandButton(
'saveEctsForm', $this->lng->txt(
'save'));
 
  339        if (!$ects_form->checkInput()) {
 
  340            $ects_form->setValuesByPost();
 
  346        for (
$i = ord(
'a'); 
$i <= ord(
'e'); 
$i++) {
 
  348            $grades[chr(
$i - 32)] = $ects_form->getInput(
'ects_grade_' . $mark);
 
  351        $this->
object->setECTSGrades($grades);
 
  352        $this->
object->setECTSOutput((
int) $ects_form->getInput(
'ectcs_status'));
 
  353        $this->
object->setECTSFX(
 
  354            $ects_form->getInput(
'use_ects_fx') && preg_match(
'/\d+/', $ects_form->getInput(
'ects_fx_threshold')) ?
 
  355            $ects_form->getInput(
'ects_fx_threshold'):
 
  359        $this->
object->saveECTSStatus();
 
  362        $ects_form->setValuesByPost();
 
An exception for terminatinating execution or to throw for unit testing.
executeCommand()
Controller method.
addMarkStep()
Add a new mark step to the tests marks.
populateEctsForm(ilPropertyFormGUI $form)
addSimpleMarkSchema()
Add a simple mark schema to the tests marks.
saveMarks()
Save the mark schema.
ensureMarkSchemaCanBeEdited()
showMarkSchema(ilPropertyFormGUI $ects_form=null)
Display mark schema.
deleteMarkSteps()
Delete selected mark steps.
saveMarkSchemaFormData()
Save the mark schema POST data when the form was submitted.
ensureEctsGradesCanBeEdited()
objectSupportsEctsGrades()
This class represents a non editable value in a property form.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
if(isset($_POST['submit'])) $form