/** * Edit screen for single feedback item. */ function edit() { include_once 'Services/Feedback/classes/class.ilFeedback.php'; $ilFB = new ilFeedback($_REQUEST['barometer_id']); $tpl = new ilTemplate("tpl.feedback_edit.html", true, true, "Services/Feedback"); $data['title'] = $_POST['title'] ? $_POST['title'] : $ilFB->getTitle(); $data['description'] = $_POST['text'] ? $_POST['text'] : $ilFB->getDescription(); $data['anonymous'] = $_POST['anonymous'] != '' ? $_POST['anonymous'] : $ilFB->getAnonymous(); $data['required'] = $_POST['required'] != '' ? $_POST['required'] : $ilFB->getRequired(); $data['show_on'] = $_POST['show_on'] ? $_POST['show_on'] : $ilFB->getShowOn(); $data['vote'] = $_POST['vote'] ? $_POST['vote'] : unserialize($ilFB->getVotes()); if ($_POST['extra_votes'] == '') { $_POST['extra_votes'] = count($data['votes']); } $data['text_answer'] = $_POST['text_answer'] != '' ? $_POST['text_answer'] : $ilFB->getTextAnswer(); if ($ilFB->getStarttime() >= 0 || isset($_POST['start_day'])) { $data['start_day'] = $_POST['start_day'] ? $_POST['start_day'] : date('d', $ilFB->getStarttime()); $data['start_month'] = $_POST['start_month'] ? $_POST['start_month'] : date('m', $ilFB->getStarttime()); $data['start_year'] = $_POST['start_year'] ? $_POST['start_year'] : date('Y', $ilFB->getStarttime()); $data['start_hour'] = $_POST['start_hour'] ? $_POST['start_hour'] : date('H', $ilFB->getStarttime()); $data['start_minute'] = $_POST['start_minute'] ? $_POST['start_minute'] : date('i', $ilFB->getStarttime()); } if ($ilFB->getEndtime() >= 0 || isset($_POST['end_day'])) { $data['end_day'] = $_POST['end_day'] ? $_POST['end_day'] : date('d', $ilFB->getEndtime()); $data['end_month'] = $_POST['end_month'] ? $_POST['end_month'] : date('m', $ilFB->getEndtime()); $data['end_year'] = $_POST['end_year'] ? $_POST['end_year'] : date('Y', $ilFB->getEndtime()); $data['end_hour'] = $_POST['end_hour'] ? $_POST['end_hour'] : date('H', $ilFB->getEndtime()); $data['end_minute'] = $_POST['end_minute'] ? $_POST['end_minute'] : date('i', $ilFB->getEndtime()); } $data['interval'] = $_POST['interval'] ? $_POST['interval'] : $ilFB->getInterval(); $data['interval_unit'] = $_POST['interval_unit'] ? $_POST['interval_unit'] : $ilFB->getIntervalUnit(); $data['first_vote_best'] = $_POST['first_vote_best'] != '' ? $_POST['first_vote_best'] : $ilFB->getFirstVoteBest(); $this->ctrl->setParameter($this, "barometer_id", $_GET['barometer_id']); $tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this)); $tpl->setVariable("TXT_HEADER", $this->lng->txt("feedb_edit_feedback")); $tpl->setVariable("IMG_FEEDB", ilUtil::getImagePath("icon_feedb.png")); $tpl->setVariable("ALT_FEEDB", $this->lng->txt("feedb_edit_feedback")); $tpl->setVariable("TXT_TITLE", $this->lng->txt("title")); $tpl->setVariable("VALUE_TITLE", $data['title']); $tpl->setVariable("TXT_TOP_TEXT", $this->lng->txt("text")); $tpl->setVariable("TXT_TIME", $this->lng->txt("feedb_time")); $tpl->setVariable("VALUE_TEXT", $data['description']); $tpl->setVariable("TXT_ANONYMOUS", $this->lng->txt("anonymous")); if ($data["anonymous"] == "0") { $tpl->setVariable("ANONYMOUS_NO", " checked"); } else { $tpl->setVariable("ANONYMOUS_YES", " checked"); } $tpl->setVariable("TXT_YES", $this->lng->txt("yes")); $tpl->setVariable("TXT_NO", $this->lng->txt("no")); $tpl->setVariable("TXT_TYPE", $this->lng->txt("type")); $typeSB[0] = $this->lng->txt('optional'); $typeSB[1] = $this->lng->txt('required'); $tpl->setVariable("SELECT_TYPE", ilUtil::formSelect($data['required'], 'type', $typeSB, false, true)); $tpl->setVariable("TXT_REQUIRED", $this->lng->txt("required")); if ($data["show_on"] == "course") { $tpl->setVariable("SHOW_CHANGE_COURSE_SELECTED", "selected"); } else { $tpl->setVariable("SHOW_LOGIN_SELECTED", "selected"); } $tpl->setVariable("TXT_LOGIN", $this->lng->txt("login")); $tpl->setVariable("TXT_CHANGE_COURSE", $this->lng->txt("change_course")); if ($data["text_answer"] == "1") { $tpl->setVariable("TEXT_ANSWER_YES", " checked"); } else { $tpl->setVariable("TEXT_ANSWER_NO", " checked"); } $tpl->setVariable("TXT_TEXT_ANSWER", $this->lng->txt("text_answer")); $tpl->setVariable("TXT_VOTES", $this->lng->txt("votes")); $extra_votes = $_POST["extra_votes"] ? $_POST["extra_votes"] + 1 : count($data["vote"]) - 2; if ($extra_votes < 1) { $extra_votes = 1; } $tpl->setVariable("VALUE_EXTRA_VOTES", $extra_votes); for ($i = 1; $i < 3 + $extra_votes; $i++) { $tpl->setCurrentBlock("vote"); $tpl->setVariable("TXT_TEXT", $this->lng->txt("text")); $tpl->setVariable("VALUE_VOTE_TEXT", $data["vote"][$i]); $tpl->setVariable("VOTE_NUM", $i); $tpl->parseCurrentBlock(); } $tpl->setVariable("TXT_DAY", $this->lng->txt("day")); $tpl->setVariable("SELECT_ACTIVATION_START_DAY", $this->getDateSelect('day', 'start_day', $data['start_day'])); $tpl->setVariable("SELECT_ACTIVATION_START_MONTH", $this->getDateSelect('month', 'start_month', $data['start_month'])); $tpl->setVariable("SELECT_ACTIVATION_START_YEAR", $this->getDateSelect('year', 'start_year', $data['start_year'])); $tpl->setVariable("SELECT_ACTIVATION_START_HOUR", $this->getDateSelect('hour', 'start_hour', $data['start_hour'])); $tpl->setVariable("SELECT_ACTIVATION_START_MINUTE", $this->getDateSelect('minute', 'start_minute', $data['start_minute'])); $tpl->setVariable("SELECT_ACTIVATION_END_DAY", $this->getDateSelect('day', 'end_day', $data['end_day'])); $tpl->setVariable("SELECT_ACTIVATION_END_MONTH", $this->getDateSelect('month', 'end_month', $data['end_month'])); $tpl->setVariable("SELECT_ACTIVATION_END_YEAR", $this->getDateSelect('year', 'end_year', $data['end_year'])); $tpl->setVariable("SELECT_ACTIVATION_END_HOUR", $this->getDateSelect('hour', 'end_hour', $data['end_hour'])); $tpl->setVariable("SELECT_ACTIVATION_END_MINUTE", $this->getDateSelect('minute', 'end_minute', $data['end_minute'])); $tpl->setVariable("TXT_MONTH", $this->lng->txt("month")); $tpl->setVariable("TXT_YEAR", $this->lng->txt("year")); $tpl->setVariable("TXT_FROM", $this->lng->txt("from")); $tpl->setVariable("TXT_UNTIL", $this->lng->txt("until")); $tpl->setVariable("TXT_DURATION", $this->lng->txt("duration")); $tpl->setVariable("TXT_HOURS", $this->lng->txt("hours")); $tpl->setVariable("TXT_DAYS", $this->lng->txt("days")); $tpl->setVariable("TXT_WEEKS", $this->lng->txt("weeks")); $tpl->setVariable("TXT_MONTHS", $this->lng->txt("months")); $tpl->setVariable("TXT_REPEAT", $this->lng->txt("repeat")); $tpl->setVariable("TXT_FTEXT", $this->lng->txt("text")); for ($i = 0; $i < 25; $i++) { $interval[$i] = $i; } $tpl->setVariable("SELECT_INTERVAL", ilUtil::formSelect($data['interval'], 'interval', $interval, false, true)); $interval_unitSB[0] = $this->lng->txt('hours'); $interval_unitSB[1] = $this->lng->txt('days'); $interval_unitSB[2] = $this->lng->txt('weeks'); $interval_unitSB[3] = $this->lng->txt('months'); $tpl->setVariable("SELECT_INTERVAL_UNIT", ilUtil::formSelect($data['interval_unit'], 'interval_unit', $interval_unitSB, false, true)); $tpl->setVariable("TXT_FIRST_VOTE", $this->lng->txt("first_vote")); $tpl->setVariable("TXT_BEST", $this->lng->txt("best")); $tpl->setVariable("TXT_WORST", $this->lng->txt("worst")); if ($data["first_vote_best"] == 1) { $tpl->setVariable("BEST_CHECKED", "checked"); } else { $tpl->setVariable("WORST_CHECKED", "checked"); } $tpl->setVariable("TXT_VOTE", $this->lng->txt("vote")); $tpl->setVariable("TXT_NEW_VOTE", $this->lng->txt("new_vote")); $tpl->setVariable("CMD_ADDVOTE", 'edit'); $tpl->setVariable("TXT_SUBMIT", $this->lng->txt("save")); $tpl->setVariable("CMD_SUBMIT", "update"); $tpl->parseCurrentBlock(); return $tpl->get(); }