function showBarometerById($a_id = 0, $a_header = false) { global $ilAccess, $ilUser; include_once 'Services/Feedback/classes/class.ilFeedback.php'; $feedback = new ilFeedback(); $bid = $a_id ? $a_id : $_GET['barometer_id']; $feedback->setId($bid); $feedback->getBarometer(); if ($feedback->getId() && $feedback->canVote($ilUser->getId(), $feedback->getId()) == 1) { $tpl = new ilTemplate("tpl.feedback_vote.html", true, true, "Services/Feedback"); if ($a_header) { $tpl->setCurrentBlock("vote_head"); $tpl->setVariable("IMG_VHEAD", ilUtil::getImagePath("icon_crs.png")); $tpl->setVariable("TXT_CRS_TITLE", ilObject::_lookupTitle($feedback->getObjId())); $tpl->parseCurrentBlock(); } $tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this) . '&fb_id=' . $feedback->getId()); $tpl->setVariable("TXT_TITLE", $feedback->getTitle()); $tpl->setVariable("TXT_DESCRIPTION", $feedback->getDescription()); $votes = unserialize($feedback->getVotes()); $checked = 1; foreach ($votes as $vote => $votetext) { $radios .= ilUtil::formRadioButton($checked, 'vote', $vote) . $votetext . '<br>'; $checked = 0; } $tpl->setVariable("TXT_SAVE", $this->lng->txt('save_vote')); $tpl->setVariable("RADIO_VOTES", $radios); if ($feedback->getTextAnswer()) { $tpl->setCurrentBlock("text_answer"); $tpl->setVariable("TXT_NOTE", $this->lng->txt('note')); } $tpl->parseCurrentBlock(); return $tpl->get(); } }
/** * Fill data section */ function fillDataSection() { global $ilAccess, $ilUser, $tree; include_once 'Services/Feedback/classes/class.ilFeedback.php'; $feedback = new ilFeedback(); $feedbacks = $feedback->getAllBarometer(0); $this->feedbacks = array(); foreach ($feedbacks as $feedback) { if ($tree->isDeleted($feedback->getRefId())) { continue; } // do not show feedback for tutors/admins if (!$ilAccess->checkAccess("write", "", $feedback->getRefId()) && $feedback->canVote($ilUser->getId(), $feedback->getId()) == 1 && !$feedback->getAnonymous()) { $this->feedbacks[] = array("id" => $feedback->getId(), "title" => $feedback->getTitle()); } } $this->setData($this->feedbacks); if ($this->getCurrentDetailLevel() > 1 && count($this->feedbacks) > 0) { $this->setRowTemplate("tpl.feedback_pdbox.html", "Services/Feedback"); parent::fillDataSection(); } else { $this->setEnableNumInfo(false); $this->setDataSection($this->getOverview()); } }