/** * Constructor * * @param ilObject $a_parent_obj * @param string $a_parent_cmd * @param ilExAssignment $a_ass * @param int $a_user_id * @param array $a_peer_data * @param string $a_title * @param string $a_cancel_cmd * @param bool $a_read_only */ public function __construct($a_parent_obj, $a_parent_cmd, ilExAssignment $a_ass, $a_user_id, array $a_peer_data, $a_title, $a_cancel_cmd, $a_read_only = false) { global $ilCtrl; $this->ass = $a_ass; $this->user_id = $a_user_id; $this->peer_data = $a_peer_data; $this->read_only = $a_read_only; parent::__construct($a_parent_obj, $a_parent_cmd); $this->setLimit(9999); $this->addColumn($this->lng->txt("id"), "seq"); if (!$this->read_only) { $this->addColumn($this->lng->txt("exc_submission"), ""); } $this->addColumn($this->lng->txt("exc_peer_review_rating"), "mark"); $this->addColumn($this->lng->txt("exc_peer_review_comment"), ""); $this->addColumn($this->lng->txt("last_update"), "tstamp"); $this->setDefaultOrderField("tstamp"); $this->setRowTemplate("tpl.exc_peer_review_row.html", "Modules/Exercise"); $this->setFormAction($ilCtrl->getFormAction($a_parent_obj, $a_parent_cmd)); $this->setTitle($a_ass->getTitle() . ": " . $this->lng->txt("exc_peer_review") . " - " . $this->lng->txt($a_title)); if (!$this->read_only) { $this->addCommandButton("updatePeerReview", $this->lng->txt("save")); } $this->addCommandButton($a_cancel_cmd, $this->lng->txt("cancel")); $this->disable("numinfo"); $this->getItems(); }
/** * Constructor * * @param ilObject $a_parent_obj * @param string $a_parent_cmd * @param ilExAssignment $a_ass * @param int $a_user_id * @param array $a_peer_data * @param string $a_title * @param string $a_cancel_cmd * @param bool $a_read_only */ public function __construct($a_parent_obj, $a_parent_cmd, ilExAssignment $a_ass, $a_user_id, array $a_peer_data, $a_title, $a_cancel_cmd, $a_read_only = false) { global $ilCtrl; $this->ass = $a_ass; $this->user_id = $a_user_id; $this->peer_data = $a_peer_data; $this->read_only = $a_read_only; parent::__construct($a_parent_obj, $a_parent_cmd); $this->setLimit(9999); if (!$this->ass->hasPeerReviewPersonalized()) { $this->addColumn($this->lng->txt("id"), "seq"); } else { if (!$this->read_only) { $this->addColumn($this->lng->txt("exc_peer_review_recipient"), "name"); } else { $this->addColumn($this->lng->txt("exc_peer_review_giver"), "name"); } } if (!$this->read_only) { $this->addColumn($this->lng->txt("exc_submission"), ""); } $this->addColumn($this->lng->txt("exc_peer_review_rating"), "mark"); if (!$this->read_only) { $this->addColumn($this->lng->txt("exc_peer_review_comment"), ""); } else { $this->addColumn($this->lng->txt("exc_peer_review"), ""); } $this->addColumn($this->lng->txt("last_update"), "tstamp"); $this->setDefaultOrderField("tstamp"); $this->setRowTemplate("tpl.exc_peer_review_row.html", "Modules/Exercise"); $this->setFormAction($ilCtrl->getFormAction($a_parent_obj, $a_parent_cmd)); $this->setTitle($a_ass->getTitle() . ": " . $this->lng->txt("exc_peer_review") . " - " . $this->lng->txt($a_title)); if (!$this->read_only) { $this->addCommandButton("updatePeerReview", $this->lng->txt("save")); } else { include_once "Services/User/classes/class.ilUserUtil.php"; $this->setDescription($this->lng->txt("exc_peer_review_recipient") . ": " . ilUserUtil::getNamePresentation($a_user_id)); } $this->addCommandButton($a_cancel_cmd, $this->lng->txt("cancel")); $this->disable("numinfo"); $this->getItems(); if ($this->ass->hasPeerReviewFileUpload()) { include_once "./Modules/Exercise/classes/class.ilFSStorageExercise.php"; $this->fstorage = new ilFSStorageExercise($this->ass->getExerciseId(), $this->ass->getId()); $this->fstorage->create(); } }
/** * Constructor * * @param ilObject $a_parent_obj * @param string $a_parent_cmd * @param ilExAssignment $a_ass */ public function __construct($a_parent_obj, $a_parent_cmd, ilExAssignment $a_ass) { global $ilCtrl; $this->ass = $a_ass; parent::__construct($a_parent_obj, $a_parent_cmd); $this->setLimit(9999); $this->addColumn($this->lng->txt("exc_peer_review_recipient"), "recipient"); $this->addColumn($this->lng->txt("exc_peer_review_giver"), "giver"); $this->addColumn($this->lng->txt("status"), "status"); $this->setDefaultOrderField("recipient"); $this->setRowTemplate("tpl.exc_peer_review_overview_row.html", "Modules/Exercise"); $this->setFormAction($ilCtrl->getFormAction($a_parent_obj, $a_parent_cmd)); $this->setTitle($a_ass->getTitle() . ": " . $this->lng->txt("exc_peer_review_overview")); $this->disable("numinfo"); $this->getItems(); $this->addCommandButton("confirmResetPeerReview", $this->lng->txt("exc_peer_review_reset")); }
protected function initAssignmentTextForm(ilExAssignment $a_ass, $a_read_only = false, $a_cancel_cmd = "showOverview", $a_peer_review_cmd = null, $a_peer_rating_html = null) { global $ilCtrl, $ilUser; include_once "Services/Form/classes/class.ilPropertyFormGUI.php"; $form = new ilPropertyFormGUI(); $form->setTitle($this->lng->txt("exc_assignment") . " \"" . $a_ass->getTitle() . "\""); if (!$a_read_only) { $text = new ilTextAreaInputGUI($this->lng->txt("exc_your_text"), "atxt"); $text->setRequired((bool) $a_ass->getMandatory()); $text->setRows(40); $form->addItem($text); // custom rte tags $text->setUseRte(true); $text->setRTESupport($ilUser->getId(), "exca~", "exc_ass"); // see ilObjForumGUI $text->disableButtons(array('charmap', 'undo', 'redo', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'anchor', 'fullscreen', 'cut', 'copy', 'paste', 'pastetext')); $form->setFormAction($ilCtrl->getFormAction($this, "updateAssignmentText")); $form->addCommandButton("updateAssignmentTextAndReturn", $this->lng->txt("save_return")); $form->addCommandButton("updateAssignmentText", $this->lng->txt("save")); } else { $text = new ilNonEditableValueGUI($this->lng->txt("exc_files_returned_text"), "atxt", true); $form->addItem($text); if (!$a_peer_review_cmd) { $form->setFormAction($ilCtrl->getFormAction($this, "showOverview")); } else { $rating = new ilCustomInputGUI($this->lng->txt("exc_peer_review_rating")); $rating->setHtml($a_peer_rating_html); $form->addItem($rating); $comm = new ilTextAreaInputGUI($this->lng->txt("exc_peer_review_comment"), "comm"); $comm->setCols(75); $comm->setRows(15); $form->addItem($comm); $form->setFormAction($ilCtrl->getFormAction($this, $a_peer_review_cmd)); $form->addCommandButton($a_peer_review_cmd, $this->lng->txt("save")); } } $form->addCommandButton($a_cancel_cmd, $this->lng->txt("cancel")); return $form; }
function downloadExcSubFile() { global $ilUser; if ($_GET["ass"]) { include_once "Modules/Exercise/classes/class.ilExAssignment.php"; $ass = new ilExAssignment((int) $_GET["ass"]); $submitted = ilExAssignment::getDeliveredFiles($ass->getExerciseId(), $ass->getId(), $ilUser->getId()); if (count($submitted) > 0) { $submitted = array_pop($submitted); $user_data = ilObjUser::_lookupName($submitted["user_id"]); $title = ilObject::_lookupTitle($submitted["obj_id"]) . " - " . $ass->getTitle() . " - " . $user_data["firstname"] . " " . $user_data["lastname"] . " (" . $user_data["login"] . ").zip"; ilUtil::deliverFile($submitted["filename"], $title); } } }
/** * was: downloadSelectedFiles($array_file_id,$a_user_id)? */ function downloadSelectedFiles($a_exc_id, $a_ass_id, $a_user_id, $array_file_id) { global $ilDB; if (count($array_file_id)) { // #11785 $is_team = true; $user_ids = self::getTeamMembersByAssignmentId($a_ass_id, $a_user_id); if (!$user_ids) { $is_team = false; $user_ids = array($a_user_id); } $result = $ilDB->query("SELECT * FROM exc_returned WHERE " . $ilDB->in("returned_id", $array_file_id, false, "integer") . " AND " . $ilDB->in("user_id", $user_ids, "", "integer")); if ($ilDB->numRows($result)) { $array_found = array(); while ($row = $ilDB->fetchAssoc($result)) { $row["timestamp"] = $row["ts"]; array_push($array_found, $row); } if (count($array_found) == 1) { // blog/portfolio submission if (is_numeric($array_found[0]["filetitle"])) { $ass = new ilExAssignment($array_found[0]["ass_id"]); if ($ass->getType() == ilExAssignment::TYPE_BLOG || $ass->getType() == ilExAssignment::TYPE_PORTFOLIO) { $user_data = ilObjUser::_lookupName($array_found[0]["user_id"]); $array_found[0]["filetitle"] = ilObject::_lookupTitle($array_found[0]["obj_id"]) . " - " . $ass->getTitle() . " - " . $user_data["firstname"] . " " . $user_data["lastname"] . " (" . $user_data["login"] . ").zip"; } } ilExAssignment::downloadSingleFile($a_exc_id, $a_ass_id, $array_found[0]["user_id"], $array_found[0]["filename"], $array_found[0]["filetitle"]); } else { $filenames = array(); foreach ($array_found as $value) { $filenames[$value["user_id"]][] = basename($value["filename"]); } ilExAssignment::downloadMultipleFiles($a_exc_id, $a_ass_id, $filenames, $is_team ? null : $a_user_id, $is_team); } } } }
/** * Get current values for assignment from * */ public function getAssignmentValues() { $values = array(); $ass = new ilExAssignment($_GET["ass_id"]); $values["title"] = $ass->getTitle(); if ($ass->getStartTime() > 0) { $values["start_time_cb"] = true; } $values["mandatory"] = $ass->getMandatory(); $values["instruction"] = $ass->getInstruction(); $values["type"] = $ass->getType(); if ($ass->getDeadline() > 0) { $values["deadline_cb"] = true; } $this->form->setValuesByArray($values); if ($ass->getDeadline() > 0) { $edit_date = new ilDateTime($ass->getDeadline(), IL_CAL_UNIX); $ed_item = $this->form->getItemByPostVar("deadline"); $ed_item->setDate($edit_date); } if ($ass->getStartTime() > 0) { $edit_date = new ilDateTime($ass->getStartTime(), IL_CAL_UNIX); $ed_item = $this->form->getItemByPostVar("start_time"); $ed_item->setDate($edit_date); } // if there are any submissions we cannot change type anymore if (sizeof(ilExAssignment::getAllDeliveredFiles($this->object->getId(), $ass->getId()))) { $this->form->getItemByPostVar("type")->setDisabled(true); } }