5include_once(
"./Modules/Exercise/classes/class.ilExAssignment.php");
 
   69        $this->ctrl = 
$DIC->ctrl();
 
   70        $this->tabs = 
$DIC->tabs();
 
   71        $this->lng = 
$DIC->language();
 
   72        $this->tpl = 
$DIC[
"tpl"];
 
   73        $this->toolbar = 
$DIC->toolbar();
 
   75        $this->help = 
$DIC[
"ilHelp"];
 
   76        $this->exercise_id = $a_exercise_id;
 
   77        $this->assignment = $a_ass;
 
   78        $this->enable_peer_review_completion = (bool) $a_enable_peer_review_completion_settings;
 
   87        $class = 
$ilCtrl->getNextClass($this);
 
   88        $cmd = 
$ilCtrl->getCmd(
"listAssignments");
 
   91            case "ilpropertyformgui":
 
   97            case "ilexassignmentfilesystemgui":
 
   99                $ilTabs->activateTab(
"ass_files");
 
  101                include_once(
"./Modules/Exercise/classes/class.ilFSWebStorageExercise.php");
 
  105                include_once(
"./Modules/Exercise/classes/class.ilExAssignmentFileSystemGUI.php");
 
  107                $fs_gui->setTitle(
$lng->txt(
"exc_instruction_files"));
 
  108                $fs_gui->setTableId(
"excassfil" . $this->assignment->getId());
 
  109                $fs_gui->setAllowDirectories(
false);
 
  110                $ilCtrl->forwardCommand($fs_gui);
 
  113            case "ilexpeerreviewgui":
 
  114                $ilTabs->clearTargets();
 
  115                $ilTabs->setBackTarget(
 
  117                    $ilCtrl->getLinkTarget($this, 
"listAssignments")
 
  120                include_once(
"./Modules/Exercise/classes/class.ilExPeerReviewGUI.php");
 
  122                $ilCtrl->forwardCommand($peer_gui);
 
  126                $this->{$cmd . 
"Object"}();
 
  141        $ilToolbar->setFormAction(
$ilCtrl->getFormAction($this, 
"addAssignment"));
 
  143        include_once 
"Services/Form/classes/class.ilSelectInputGUI.php";
 
  146        include_once 
"Services/UIComponent/Button/classes/class.ilSubmitButton.php";
 
  148        $button->setCaption(
"exc_add_assignment");
 
  149        $button->setCommand(
"addAssignment");
 
  150        $ilToolbar->addStickyItem($button);
 
  153        include_once(
"./Modules/Exercise/classes/class.ilAssignmentsTableGUI.php");
 
  155        $tpl->setContent(
$t->getHTML());
 
  167        $this->assignment = 
null;
 
  169        if (!(
int) 
$_POST[
"type"]) {
 
  170            $ilCtrl->redirect($this, 
"listAssignments");
 
  199        $ty->setOptions($types);
 
  200        $ty->setRequired(
true);
 
  215        $lng->loadLanguageModule(
"form");
 
  216        include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
  218        $form->setTableWidth(
"600px");
 
  219        if ($a_mode == 
"edit") {
 
  220            $form->setTitle(
$lng->txt(
"exc_edit_assignment"));
 
  222            $form->setTitle(
$lng->txt(
"exc_new_assignment"));
 
  228        $ti->setMaxLength(200);
 
  229        $ti->setRequired(
true);
 
  235        $ty->setDisabled(
true);
 
  242            $min_char_limit->allowDecimals(
false);
 
  243            $min_char_limit->setMinValue(0);
 
  244            $min_char_limit->setSize(3);
 
  247            $max_char_limit->allowDecimals(
false);
 
  248            $max_char_limit->setMinValue((
int) 
$_POST[
'min_char_limit'] + 1);
 
  250            $max_char_limit->setSize(3);
 
  252            $rb_limit_chars->addSubItem($min_char_limit);
 
  253            $rb_limit_chars->addSubItem($max_char_limit);
 
  255            $form->addItem($rb_limit_chars);
 
  261            $rd_template->setRequired(
true);
 
  262            $radio_no_template = 
new ilRadioOption(
$lng->txt(
"exc_without_template"), 0, 
$lng->txt(
"exc_without_template_info", 
"without_template_info"));
 
  263            $radio_with_template = 
new ilRadioOption(
$lng->txt(
"exc_with_template"), 1, 
$lng->txt(
"exc_with_template_info", 
"with_template_info"));
 
  265            include_once 
"Services/Form/classes/class.ilRepositorySelector2InputGUI.php";
 
  267            $repo->setRequired(
true);
 
  268            if ($this->assignment) {
 
  269                $repo->setValue($this->assignment->getPortfolioTemplateId());
 
  271            $repo->getExplorerGUI()->setSelectableTypes(array(
"prtt"));
 
  272            $repo->getExplorerGUI()->setTypeWhiteList(array(
"root", 
"prtt", 
"cat", 
"crs", 
"grp"));
 
  273            $radio_with_template->addSubItem($repo);
 
  275            $rd_template->addOption($radio_no_template);
 
  276            $rd_template->addOption($radio_with_template);
 
  277            $form->addItem($rd_template);
 
  282        $cb->setInfo(
$lng->txt(
"exc_mandatory_info"));
 
  283        $cb->setChecked(
true);
 
  288        $sub_header->setTitle(
$lng->txt(
"exc_work_instructions"), 
"work_instructions");
 
  289        $form->addItem($sub_header);
 
  292        $desc_input->setRows(20);
 
  293        $desc_input->setUseRte(
true);
 
  294        $desc_input->setRteTagSet(
"mini");
 
  295        $form->addItem($desc_input);
 
  298        if ($a_mode == 
"create") {
 
  300            $files->setFilenames(array(0 => 
''));
 
  306        $sub_header->setTitle(
$lng->txt(
"exc_schedule"), 
"schedule");
 
  307        $form->addItem($sub_header);
 
  311        $start_date->setShowTime(
true);
 
  312        $form->addItem($start_date);
 
  316        $deadline->setShowTime(
true);
 
  317        $form->addItem($deadline);
 
  321        $deadline2->setInfo(
$lng->txt(
"exc_deadline_extended_info"));
 
  322        $deadline2->setShowTime(
true);
 
  323        $deadline->addSubItem($deadline2);
 
  330                $type_name = 
$lng->txt(
"exc_type_upload");
 
  333                $type_name = 
$lng->txt(
"exc_type_upload_team");
 
  338            $sub_header->setTitle($type_name);
 
  339            $form->addItem($sub_header);
 
  341            $form->addItem($max_file_tgl);
 
  344            $max_file->setInfo(
$lng->txt(
"exc_max_file_info"));
 
  345            $max_file->setRequired(
true);
 
  346            $max_file->setSize(3);
 
  347            $max_file->setMinValue(1);
 
  348            $max_file_tgl->addSubItem($max_file);
 
  353            $cbtut->setInfo(
$lng->txt(
"exc_team_management_tutor_info"));
 
  354            $cbtut->setChecked(
false);
 
  355            $form->addItem($cbtut);
 
  359        $sub_header->setTitle(
$lng->txt(
"exc_after_submission"), 
"after_submission");
 
  360        $form->addItem($sub_header);
 
  364            $peer->setInfo(
$lng->txt(
"exc_peer_review_ass_setting_info"));
 
  365            $form->addItem($peer);
 
  375        $fb_file->setRequired(
true); 
 
  377        $fb->addSubItem($fb_file);
 
  380        $fb_date->setRequired(
true);
 
  383        $fb->addSubItem($fb_date);
 
  386        $fb_cron->setInfo(
$lng->txt(
"exc_global_feedback_file_cron_info"));
 
  387        $fb->addSubItem($fb_cron);
 
  390        if ($a_mode == 
"create") {
 
  391            $form->addCommandButton(
"saveAssignment", 
$lng->txt(
"save"));
 
  392            $form->addCommandButton(
"listAssignments", 
$lng->txt(
"cancel"));
 
  394            $form->addCommandButton(
"updateAssignment", 
$lng->txt(
"save"));
 
  395            $form->addCommandButton(
"listAssignments", 
$lng->txt(
"cancel"));
 
  411        $protected_peer_review_groups = 
false;
 
  413        if ($this->assignment) {
 
  414            if ($this->assignment->getPeerReview()) {
 
  415                include_once 
"Modules/Exercise/classes/class.ilExPeerReview.php";
 
  417                if ($peer_review->hasPeerReviewGroups()) {
 
  418                    $protected_peer_review_groups = 
true;
 
  422            if ($this->assignment->getFeedbackFile()) {
 
  429        if ($protected_peer_review_groups) {
 
  439            $time_start = $time_start
 
  443            $time_deadline = $time_deadline
 
  447            $time_deadline_ext = $time_deadline_ext
 
  452            if ($protected_peer_review_groups) {
 
  453                $time_deadline = $this->assignment->getDeadline();
 
  454                $time_deadline_ext = $this->assignment->getExtendedDeadline();
 
  458            if (!$time_deadline) {
 
  460                if (!$protected_peer_review_groups &&
 
  463                        ->setAlert(
$lng->txt(
"exc_needs_deadline"));
 
  470                        ->setAlert(
$lng->txt(
"exc_needs_deadline"));
 
  476                    $time_deadline_max = max($time_deadline, $time_deadline_ext);
 
  477                    $peer_dl = $this->assignment 
 
  478                        ? $this->assignment->getPeerReviewDeadline()
 
  480                    if ($peer_dl && $peer_dl < $time_deadline_max) {
 
  484                            ->setAlert(
$lng->txt(
"exc_peer_deadline_mismatch"));
 
  489                if ($time_deadline_ext && $time_deadline_ext < $time_deadline) {
 
  491                        ->setAlert(
$lng->txt(
"exc_deadline_ext_mismatch"));
 
  495                $time_deadline_min = $time_deadline_ext
 
  496                    ? min($time_deadline, $time_deadline_ext)
 
  498                $time_deadline_max = max($time_deadline, $time_deadline_ext);
 
  501                if ($time_start && $time_deadline_min && $time_start > $time_deadline_min) {
 
  503                        ->setAlert(
$lng->txt(
"exc_start_date_should_be_before_end_date"));
 
  512                    ,
"title" => trim($a_form->
getInput(
"title"))
 
  513                    ,
"instruction" => trim($a_form->
getInput(
"instruction"))
 
  514                    ,
"mandatory" => $a_form->
getInput(
"mandatory")
 
  516                    ,
"start" => $time_start
 
  517                    ,
"deadline" => $time_deadline
 
  518                    ,
"deadline_ext" => $time_deadline_ext
 
  519                    ,
"max_file" => $a_form->
getInput(
"max_file_tgl")
 
  522                    ,
"team_tutor" => $a_form->
getInput(
"team_tutor")
 
  530                if ($a_form->
getInput(
"limit_characters")) {
 
  531                    $res[
'limit_characters'] = $a_form->
getInput(
"limit_characters");
 
  533                if ($a_form->
getInput(
"limit_characters") && $a_form->
getInput(
"max_char_limit")) {
 
  534                    $res[
'max_char_limit'] = $a_form->
getInput(
"max_char_limit");
 
  536                if ($a_form->
getInput(
"limit_characters") && $a_form->
getInput(
"min_char_limit")) {
 
  537                    $res[
'min_char_limit'] = $a_form->
getInput(
"min_char_limit");
 
  542                    $protected_peer_review_groups) {
 
  547                if (is_array($_FILES[
"files"])) {
 
  550                    $res[
"files"] = $_FILES[
"files"];
 
  558                    if ($_FILES[
"fb_file"][
"tmp_name"]) {
 
  559                        $res[
"fb_file"] = $_FILES[
"fb_file"];
 
  578        $is_create = !(bool) $a_ass->
getId();
 
  580        $a_ass->
setTitle($a_input[
"title"]);
 
  609        if ($a_input[
"fb"]) {
 
  619            if (is_array($a_input[
"files"])) {
 
  624            if (!$a_input[
"fb"]) {
 
  633        if ($a_input[
"fb"]) {
 
  634            if (is_array($a_input[
"fb_file"])) {
 
  652        $this->assignment = 
null;
 
  656        if (is_array($input)) {
 
  658            $ass->setExerciseId($this->exercise_id);
 
  659            $ass->setType($input[
"type"]);
 
  666                include_once 
"Modules/Exercise/classes/class.ilExAssignmentTeam.php";
 
  668                    $ilCtrl->setParameter($this, 
"ass_id", $ass->getId());
 
  669                    $ilCtrl->redirect($this, 
"adoptTeamAssignmentsForm");
 
  674            $ilCtrl->setParameter($this, 
"ass_id", $ass->getId());
 
  675            $ilCtrl->redirect($this, 
"editAssignment");
 
  677            $form->setValuesByPost();
 
  692        $ilTabs->activateTab(
"ass_settings");
 
  708        $values[
"type"] = $this->assignment->getType();
 
  709        $values[
"title"] = $this->assignment->getTitle();
 
  710        $values[
"mandatory"] = $this->assignment->getMandatory();
 
  711        $values[
"instruction"] = $this->assignment->getInstruction();
 
  712        $values[
'template_id'] = $this->assignment->getPortfolioTemplateId();
 
  714        if ($this->assignment->getPortfolioTemplateId()) {
 
  715            $values[
"template"] = 1;
 
  718        if ($this->assignment->getMinCharLimit()) {
 
  719            $values[
'limit_characters'] = 1;
 
  720            $values[
'min_char_limit'] = $this->assignment->getMinCharLimit();
 
  722        if ($this->assignment->getMaxCharLimit()) {
 
  723            $values[
'limit_characters'] = 1;
 
  724            $values[
'max_char_limit'] = $this->assignment->getMaxCharLimit();
 
  727        if ($this->assignment->getStartTime()) {
 
  733            if ($this->assignment->getMaxFile()) {
 
  734                $values[
"max_file_tgl"] = 
true;
 
  735                $values[
"max_file"] = $this->assignment->getMaxFile();
 
  740            $values[
"team_tutor"] = $this->assignment->getTeamTutor();
 
  746        if ($this->assignment->getFeedbackFile()) {
 
  748            $a_form->
getItemByPostVar(
"fb_file")->setValue(basename($this->assignment->getGlobalFeedbackFilePath()));
 
  752                '<a href="' . 
$ilCtrl->getLinkTarget($this, 
"downloadGlobalFeedbackFile") . 
'">' .
 
  753                $lng->txt(
"download") . 
'</a>' 
  756        $a_form->
getItemByPostVar(
"fb_cron")->setChecked($this->assignment->hasFeedbackCron());
 
  757        $a_form->
getItemByPostVar(
"fb_date")->setValue($this->assignment->getFeedbackDate());
 
  765        if ($this->assignment->getDeadline() > 0) {
 
  768            $ed_item->setDate($edit_date);
 
  770            if ($this->assignment->getExtendedDeadline() > 0) {
 
  773                $ed_item->setDate($edit_date);
 
  777        if ($this->assignment->getPeerReview()) {
 
  778            $a_form->
getItemByPostVar(
"peer")->setChecked($this->assignment->getPeerReview());
 
  790            $this->assignment->getPeerReview()) {
 
  792            include_once 
"Modules/Exercise/classes/class.ilExPeerReview.php";
 
  794            if ($peer_review->hasPeerReviewGroups()) {
 
  803        if ($a_force_set_values ||
 
  804            ($peer_review && $peer_review->hasPeerReviewGroups())) {
 
  822        if (is_array($input)) {
 
  823            $old_deadline = $this->assignment->getDeadline();
 
  824            $old_ext_deadline = $this->assignment->getExtendedDeadline();
 
  828            $new_deadline = $this->assignment->getDeadline();
 
  829            $new_ext_deadline = $this->assignment->getExtendedDeadline();
 
  832            if ($old_deadline != $new_deadline ||
 
  833                $old_ext_deadline != $new_ext_deadline) {
 
  834                $this->assignment->recalculateLateSubmissions();
 
  838            $ilCtrl->redirect($this, 
"editAssignment");
 
  841            $ilTabs->activateTab(
"ass_settings");
 
  843            $form->setValuesByPost();
 
  858        if (!is_array(
$_POST[
"id"]) || count(
$_POST[
"id"]) == 0) {
 
  860            $ilCtrl->redirect($this, 
"listAssignments");
 
  862            include_once(
"./Services/Utilities/classes/class.ilConfirmationGUI.php");
 
  864            $cgui->setFormAction(
$ilCtrl->getFormAction($this));
 
  865            $cgui->setHeaderText(
$lng->txt(
"exc_conf_del_assignments"));
 
  866            $cgui->setCancel(
$lng->txt(
"cancel"), 
"listAssignments");
 
  867            $cgui->setConfirm(
$lng->txt(
"delete"), 
"deleteAssignments");
 
  873            $tpl->setContent($cgui->getHTML());
 
  886        if (is_array(
$_POST[
"id"])) {
 
  897        $ilCtrl->setParameter($this, 
"ass_id", 
"");
 
  898        $ilCtrl->redirect($this, 
"listAssignments");
 
  912        $ilCtrl->redirect($this, 
"listAssignments");
 
  926        $ilCtrl->redirect($this, 
"listAssignments");
 
  940        $tpl->setTitle($this->assignment->getTitle());
 
  941        $tpl->setDescription(
"");
 
  943        $ilTabs->clearTargets();
 
  944        $ilHelp->setScreenIdComponent(
"exc");
 
  946        $ilTabs->setBackTarget(
 
  948            $ilCtrl->getLinkTarget($this, 
"listAssignments")
 
  953            $lng->txt(
"settings"),
 
  954            $ilCtrl->getLinkTarget($this, 
"editAssignment")
 
  958            $this->assignment->getPeerReview()) {
 
  961                $lng->txt(
"exc_peer_review"),
 
  962                $ilCtrl->getLinkTarget($this, 
"editPeerReview")
 
  968            $lng->txt(
"exc_instruction_files"),
 
  969            $ilCtrl->getLinkTargetByClass(array(
"ilexassignmenteditorgui", 
"ilexassignmentfilesystemgui"), 
"listFiles")
 
  977        if (!$this->assignment ||
 
  978            !$this->assignment->getFeedbackFile()) {
 
  979            $ilCtrl->redirect($this, 
"returnToParent");
 
  982        ilUtil::deliverFile($this->assignment->getGlobalFeedbackFilePath(), $this->assignment->getFeedbackFile());
 
  995        include_once(
"./Services/Form/classes/class.ilPropertyFormGUI.php");
 
  997        $form->setTitle(
$lng->txt(
"exc_peer_review"));
 
 1001        $peer_min->setInfo(
$lng->txt(
"exc_peer_review_min_number_info")); 
 
 1002        $peer_min->setRequired(
true);
 
 1003        $peer_min->setSize(3);
 
 1004        $peer_min->setValue(2);
 
 1005        $form->addItem($peer_min);
 
 1008        $peer_unlock->addOption(
new ilRadioOption(
$lng->txt(
"exc_peer_review_simple_unlock_active"), 1));
 
 1009        $peer_unlock->addOption(
new ilRadioOption(
$lng->txt(
"exc_peer_review_simple_unlock_inactive"), 0));
 
 1010        $peer_unlock->setRequired(
true);
 
 1011        $peer_unlock->setValue(0);
 
 1012        $form->addItem($peer_unlock);
 
 1014        if ($this->enable_peer_review_completion) {
 
 1017            $option->setInfo(
$lng->txt(
"exc_peer_review_completion_none_info"));
 
 1018            $peer_cmpl->addOption($option);
 
 1020            $option->setInfo(
$lng->txt(
"exc_peer_review_completion_one_info"));
 
 1021            $peer_cmpl->addOption($option);
 
 1023            $option->setInfo(
$lng->txt(
"exc_peer_review_completion_all_info"));
 
 1024            $peer_cmpl->addOption($option);
 
 1025            $peer_cmpl->setRequired(
true);
 
 1027            $form->addItem($peer_cmpl);
 
 1031        $peer_dl->setInfo(
$lng->txt(
"exc_peer_review_deadline_info"));
 
 1032        $peer_dl->setShowTime(
true);
 
 1033        $form->addItem($peer_dl);
 
 1036        $peer_prsl->setInfo(
$lng->txt(
"exc_peer_review_personal_info"));
 
 1037        $form->addItem($peer_prsl);
 
 1043        $form->addItem($cats);
 
 1048        $cats->addOption(
$def);
 
 1051        $def->addSubItem($peer_text);
 
 1054        $peer_char->setInfo(
$lng->txt(
"exc_peer_review_min_chars_info"));
 
 1055        $peer_char->setSize(3);
 
 1056        $peer_text->addSubItem($peer_char);
 
 1059        $def->addSubItem($peer_rating);
 
 1062        $peer_file->setInfo(
$lng->txt(
"exc_peer_review_file_info"));
 
 1063        $def->addSubItem($peer_file);
 
 1067        include_once 
"Modules/Exercise/classes/class.ilExcCriteriaCatalogue.php";
 
 1069        if (
sizeof($cat_objs)) {
 
 1070            include_once 
"Modules/Exercise/classes/class.ilExcCriteria.php";
 
 1071            foreach ($cat_objs as $cat_obj) {
 
 1075                if (
sizeof($crits)) {
 
 1077                    foreach ($crits as $crit) {
 
 1078                        $titles[] = $crit->getTitle();
 
 1080                    $opt = 
new ilRadioOption($cat_obj->getTitle(), $cat_obj->getId());
 
 1081                    $opt->setInfo(implode(
", ", $titles));
 
 1082                    $cats->addOption($opt);
 
 1087            $url = 
$ilCtrl->getLinkTargetByClass(
"ilexccriteriacataloguegui", 
"");
 
 1088            $def->setInfo(
'<a href="' . 
$url . 
'">[+] ' .
 
 1089                $lng->txt(
"exc_add_criteria_catalogue") .
 
 1094        $form->addCommandButton(
"updatePeerReview", 
$lng->txt(
"save"));
 
 1095        $form->addCommandButton(
"editAssignment", 
$lng->txt(
"cancel"));
 
 1107        $ilTabs->activateTab(
"peer_settings");
 
 1109        if ($a_form === 
null) {
 
 1113        $tpl->setContent($a_form->getHTML());
 
 1120        if ($this->assignment->getPeerReviewDeadline() > 0) {
 
 1124        $a_form->setValuesByArray($values);
 
 1131        $a_form->
getItemByPostVar(
"peer_min")->setValue($this->assignment->getPeerReviewMin());
 
 1132        $a_form->
getItemByPostVar(
"peer_prsl")->setChecked($this->assignment->hasPeerReviewPersonalized());
 
 1133        $a_form->
getItemByPostVar(
"peer_unlock")->setValue((
int) $this->assignment->getPeerReviewSimpleUnlock());
 
 1135        if ($this->enable_peer_review_completion) {
 
 1136            $a_form->
getItemByPostVar(
"peer_valid")->setValue($this->assignment->getPeerReviewValid());
 
 1139        $cat = $this->assignment->getPeerReviewCriteriaCatalogue();
 
 1144            $a_form->
getItemByPostVar(
"peer_text")->setChecked($this->assignment->hasPeerReviewText());
 
 1145            $a_form->
getItemByPostVar(
"peer_rating")->setChecked($this->assignment->hasPeerReviewRating());
 
 1146            $a_form->
getItemByPostVar(
"peer_file")->setChecked($this->assignment->hasPeerReviewFileUpload());
 
 1147            if ($this->assignment->getPeerReviewChars() > 0) {
 
 1148                $a_form->
getItemByPostVar(
"peer_char")->setValue($this->assignment->getPeerReviewChars());
 
 1157        include_once 
"Modules/Exercise/classes/class.ilExPeerReview.php";
 
 1159        if ($peer_review->hasPeerReviewGroups()) {
 
 1167            if ($this->enable_peer_review_completion) {
 
 1179            $min->setValue($this->assignment->getPeerReviewMin());
 
 1183        if ($a_force_set_values ||
 
 1184            $peer_review->hasPeerReviewGroups()) {
 
 1193        $protected_peer_review_groups = 
false;
 
 1194        include_once 
"Modules/Exercise/classes/class.ilExPeerReview.php";
 
 1196        if ($peer_review->hasPeerReviewGroups()) {
 
 1197            $protected_peer_review_groups = 
true;
 
 1203            $time_deadline = $this->assignment->getDeadline();
 
 1204            $time_deadline_ext = $this->assignment->getExtendedDeadline();
 
 1205            $time_deadline_max = max($time_deadline, $time_deadline_ext);
 
 1213            if ($time_peer && $time_deadline_max && $time_peer < $time_deadline_max) {
 
 1215                    ->setAlert(
$lng->txt(
"exc_peer_deadline_mismatch"));
 
 1219            if (!$protected_peer_review_groups) {
 
 1220                if ($a_form->
getInput(
"crit_cat") < 0 &&
 
 1222                    !$a_form->
getInput(
"peer_rating") &&
 
 1225                        ->setAlert(
$lng->txt(
"select_one"));
 
 1232                $res[
"peer_dl"] = $time_peer;
 
 1234                if ($protected_peer_review_groups) {
 
 1235                    $res[
"peer_min"] = $this->assignment->getPeerReviewMin();
 
 1236                    $res[
"peer_unlock"] = $this->assignment->getPeerReviewSimpleUnlock();
 
 1237                    $res[
"peer_prsl"] = $this->assignment->hasPeerReviewPersonalized();
 
 1238                    $res[
"peer_valid"] = $this->assignment->getPeerReviewValid();
 
 1240                    $res[
"peer_text"] = $this->assignment->hasPeerReviewText();
 
 1241                    $res[
"peer_rating"] = $this->assignment->hasPeerReviewRating();
 
 1242                    $res[
"peer_file"] = $this->assignment->hasPeerReviewFileUpload();
 
 1243                    $res[
"peer_char"] = $this->assignment->getPeerReviewChars();
 
 1244                    $res[
"crit_cat"] = $this->assignment->getPeerReviewCriteriaCatalogue();
 
 1246                    $res[
"peer_valid"] = $this->enable_peer_review_completion
 
 1247                            ? 
$res[
"peer_valid"]
 
 1251                    $res[
"peer_unlock"] = $a_form->
getInput(
"peer_unlock");
 
 1256                    $res[
"peer_rating"] = $a_form->
getInput(
"peer_rating");
 
 1278            ? $a_input[
"peer_valid"]
 
 1286            ? $a_input[
"crit_cat"]
 
 1301        if (is_array($input)) {
 
 1305            $ilCtrl->redirect($this, 
"editPeerReview");
 
 1308            $ilTabs->activateTab(
"peer_settings");
 
 1310            $form->setValuesByPost();
 
 1328        if (!$this->assignment) {
 
 1329            $ilCtrl->redirect($this, 
"listAssignments");
 
 1332        $ilTabs->clearTargets();
 
 1333        $ilTabs->setBackTarget(
 
 1335            $ilCtrl->getLinkTarget($this, 
"listAssignments")
 
 1338        include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
 
 1340        $form->setTitle(
$lng->txt(
"exc_team_assignment_adopt"));
 
 1341        $form->setFormAction(
$ilCtrl->getFormAction($this, 
"adoptTeamAssignments"));
 
 1343        include_once 
"Modules/Exercise/classes/class.ilExAssignmentTeam.php";
 
 1347        if (array_key_exists($this->assignment->getId(), 
$options)) {
 
 1348            $ilCtrl->redirect($this, 
"listAssignments");
 
 1352        $teams->setValue(-1);
 
 1354        $teams->addOption(
new ilRadioOption(
$lng->txt(
"exc_team_assignment_adopt_none"), -1));
 
 1358            $option->setInfo(
$lng->txt(
"exc_team_assignment_adopt_teams") . 
": " . $item[
"teams"]);
 
 1359            $teams->addOption($option);
 
 1362        $form->addItem($teams);
 
 1364        $form->addCommandButton(
"adoptTeamAssignments", 
$lng->txt(
"save"));
 
 1365        $form->addCommandButton(
"listAssignments", 
$lng->txt(
"cancel"));
 
 1375        $src_ass_id = (int) 
$_POST[
"ass_adpt"];
 
 1377        if ($this->assignment &&
 
 1379            include_once 
"Modules/Exercise/classes/class.ilExAssignmentTeam.php";
 
 1385        $ilCtrl->redirect($this, 
"listAssignments");
 
if(!isset( $_REQUEST[ 'ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
An exception for terminatinating execution or to throw for unit testing.
Confirmation screen class.
@classDescription Date and time handling
Class ilExAssignmentEditorGUI.
confirmAssignmentsDeletionObject()
Confirm assignments deletion.
handleDisabledPeerFields(ilPropertyFormGUI $a_form, $a_force_set_values=false)
orderAssignmentsByDeadlineObject()
Order by deadline.
$enable_peer_review_completion
downloadGlobalFeedbackFileObject()
deleteAssignmentsObject()
Delete assignments.
saveAssignmentOrderObject()
Save assignments order.
processPeerReviewForm(ilPropertyFormGUI $a_form)
setDisabledPeerReviewFieldValues(ilPropertyFormGUI $a_form)
listAssignmentsObject()
List assignments.
addAssignmentObject()
Create assignment.
__construct($a_exercise_id, $a_enable_peer_review_completion_settings, ilExAssignment $a_ass=null)
Constructor.
adoptTeamAssignmentsObject()
importFormToAssignment(ilExAssignment $a_ass, array $a_input)
Import form values to assignment.
editAssignmentObject()
Edit assignment.
setAssignmentHeader()
Set assignment header.
setDisabledFieldValues(ilPropertyFormGUI $a_form)
initAssignmentForm($a_type, $a_mode="create")
Init assignment form.
getPeerReviewValues($a_form)
handleDisabledFields(ilPropertyFormGUI $a_form, $a_force_set_values=false)
editPeerReviewObject(ilPropertyFormGUI $a_form=null)
getTypeDropdown()
Get type selection dropdown.
importPeerReviewFormToAssignment(ilExAssignment $a_ass, array $a_input)
getAssignmentValues(ilPropertyFormGUI $a_form)
Get current values for assignment from.
processForm(ilPropertyFormGUI $a_form)
Custom form validation.
saveAssignmentObject()
Save assignment.
updateAssignmentObject()
Update assignment.
adoptTeamAssignmentsFormObject()
File System Explorer GUI class.
static getAdoptableTeamAssignments($a_exercise_id, $a_exclude_ass_id=null, $a_user_id=null)
static adoptTeams($a_source_ass_id, $a_target_ass_id, $a_user_id=null, $a_exc_ref_id=null)
static orderAssByDeadline($a_ex_id)
Order assignments by deadline date.
deleteGlobalFeedbackFile()
setDeadline($a_val)
Set deadline (timestamp)
setPeerReviewRating($a_val)
Set peer review rating.
setPeerReview($a_value)
Toggle peer review.
setPortfolioTemplateId($a_val)
Set portfolio template id.
setTeamTutor($a_value)
Set team management by tutor.
setFeedbackCron($a_value)
Toggle (global) feedback file cron.
setTitle($a_val)
Set title.
getId()
Get assignment id.
const PEER_REVIEW_VALID_NONE
setPeerReviewPersonalized($a_val)
Set peer review personalized.
const PEER_REVIEW_VALID_ALL
setPeerReviewValid($a_value)
Set peer review validation.
handleGlobalFeedbackFileUpload(array $a_file)
setPeerReviewText($a_val)
Set peer review text.
setPeerReviewSimpleUnlock($a_value)
Set peer review simple unlock.
setExtendedDeadline($a_val)
Set extended deadline (timestamp)
setPeerReviewMin($a_value)
Set peer review minimum.
setInstruction($a_val)
Set instruction.
uploadAssignmentFiles($a_files)
Upload assignment files (from creation form)
setPeerReviewChars($a_value)
Set peer review minimum characters.
setMaxCharLimit($a_val)
Set limit maximum characters.
setMaxFile($a_value)
Set max number of uploads.
setStartTime($a_val)
Set start time (timestamp)
setMinCharLimit($a_val)
Set limit minimum characters.
setPeerReviewCriteriaCatalogue($a_value)
Set peer review criteria catalogue id.
const FEEDBACK_DATE_DEADLINE
const PEER_REVIEW_VALID_ONE
setPeerReviewDeadline($a_val)
Set peer review deadline (timestamp)
setFeedbackDate($a_value)
Set (global) feedback file availability date.
static lookupTitle($a_id)
Lookup title.
setPeerReviewFileUpload($a_val)
Set peer review file upload.
const FEEDBACK_DATE_SUBMISSION
static saveAssOrderOfExercise($a_ex_id, $a_order)
Save ordering of all assignments of an exercise.
setFeedbackFile($a_value)
Set (global) feedback file.
setMandatory($a_val)
Set mandatory.
static getInstancesByParentId($a_parent_id)
static getInstancesByParentId($a_parent_id)
This class represents an option in a radio group.
This class represents a text area property in a property form.
This class represents a text property 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 deliverFile( $a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
if(!array_key_exists('StateId', $_REQUEST)) $id
if(isset($_POST['submit'])) $form
foreach($_POST as $key=> $value) $res