/**
  * 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();
 }