コード例 #1
0
 /**
  * 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();
 }
コード例 #2
0
 /**
  * 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"));
 }
コード例 #4
0
 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;
 }
コード例 #5
0
 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);
         }
     }
 }
コード例 #6
0
 /**
  * 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);
             }
         }
     }
 }
コード例 #7
0
 /**
  * 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);
     }
 }