public function actionShow() { $repid = EnvUtil::getRequest("repid"); $uid = Ibos::app()->user->uid; if (empty($repid)) { $this->error(Ibos::lang("Parameters error", "error"), $this->createUrl("default/index")); } $report = Report::model()->fetchByPk($repid); if (empty($report)) { $this->error(Ibos::lang("File does not exists", "error"), $this->createUrl("default/index")); } if ($report["uid"] != $uid) { $this->error(Ibos::lang("Request tainting", "error"), $this->createUrl("default/index")); } $record = ReportRecord::model()->fetchAllRecordByRep($report); $attachs = $readers = array(); if (!empty($report["attachmentid"])) { $attachments = AttachUtil::getAttach($report["attachmentid"], true, true, false, false, true); $attachs = array_values($attachments); } if (!empty($report["readeruid"])) { $readerArr = explode(",", $report["readeruid"]); $readers = User::model()->fetchAllByPk($readerArr); } $stampUrl = ""; if (!empty($report["stamp"])) { $stampUrl = Stamp::model()->fetchStampById($report["stamp"]); } $params = array("report" => $report, "preAndNextRep" => Report::model()->fetchPreAndNextRep($report), "orgPlanList" => $record["orgPlanList"], "outSidePlanList" => $record["outSidePlanList"], "nextPlanList" => $record["nextPlanList"], "attachs" => $attachs, "readers" => $readers, "stampUrl" => $stampUrl, "realname" => User::model()->fetchRealnameByUid($report["uid"]), "departmentName" => Department::model()->fetchDeptNameByUid($report["uid"]), "isInstallCalendar" => ModuleUtil::getIsEnabled("calendar")); if (!empty($params["nextPlanList"])) { $reportType = ReportType::model()->fetchByPk($report["typeid"]); $firstPlan = $params["nextPlanList"][0]; $params["nextSubject"] = ICReport::handleShowSubject($reportType, $firstPlan["begindate"], $firstPlan["enddate"], 1); } $this->setPageTitle(Ibos::lang("Show report")); $this->setPageState("breadCrumbs", array(array("name" => Ibos::lang("Personal Office")), array("name" => Ibos::lang("Work report"), "url" => $this->createUrl("default/index")), array("name" => Ibos::lang("Show report")))); $this->render("show", $params); }
public function actionShow() { $repid = intval(EnvUtil::getRequest("repid")); $uid = Ibos::app()->user->uid; if (empty($repid)) { $this->error(Ibos::lang("Parameters error", "error"), $this->createUrl("review/index")); } $report = Report::model()->fetchByPk($repid); if (empty($report)) { $this->error(Ibos::lang("No data found", "error"), $this->createUrl("review/index")); } if ($report["uid"] == $uid) { $this->redirect($this->createUrl("default/show", array("repid" => $repid))); } $permission = ICReport::checkPermission($report, $uid); if (!$permission) { $this->error(Ibos::lang("You do not have permission to view the report"), $this->createUrl("review/index")); } $record = ReportRecord::model()->fetchAllRecordByRep($report); $attachs = $readers = array(); if (!empty($report["attachmentid"])) { $attachments = AttachUtil::getAttach($report["attachmentid"], true, true, false, false, true); $attachs = array_values($attachments); } if (!empty($report["readeruid"])) { $readerArr = explode(",", $report["readeruid"]); $readers = User::model()->fetchAllByPk($readerArr); } $stampUrl = ""; if (!empty($report["stamp"])) { $stampUrl = Stamp::model()->fetchStampById($report["stamp"]); } $params = array("report" => $report, "preAndNextRep" => Report::model()->fetchPreAndNextRep($report), "orgPlanList" => $record["orgPlanList"], "outSidePlanList" => $record["outSidePlanList"], "nextPlanList" => $record["nextPlanList"], "attachs" => $attachs, "readers" => $readers, "stampUrl" => $stampUrl, "realname" => User::model()->fetchRealnameByUid($report["uid"]), "departmentName" => Department::model()->fetchDeptNameByUid($report["uid"])); if (!empty($params["nextPlanList"])) { $reportType = ReportType::model()->fetchByPk($report["typeid"]); $firstPlan = $params["nextPlanList"][0]; $params["nextSubject"] = ICReport::handleShowSubject($reportType, $firstPlan["begindate"], $firstPlan["enddate"], 1); } $dashboardConfig = $this->getReportConfig(); if ($dashboardConfig["stampenable"] && $dashboardConfig["autoreview"]) { $this->changeIsreview($repid); } $this->setPageTitle(Ibos::lang("Show subordinate report")); $this->setPageState("breadCrumbs", array(array("name" => Ibos::lang("Personal Office")), array("name" => Ibos::lang("Work report"), "url" => $this->createUrl("default/index")), array("name" => Ibos::lang("Show subordinate report")))); $this->render("show", $params); }