public function actionShow() { $uid = Ibos::app()->user->uid; $docid = EnvUtil::getRequest("id"); $version = EnvUtil::getRequest("version"); if (empty($docid)) { $this->ajaxReturn("", "JSONP"); } $officialDocEntity = new ICOfficialdoc($docid); $officialDoc = $officialDocEntity->getAttributes(); if ($version) { $versionData = OfficialdocVersion::model()->fetchByAttributes(array("docid" => $docid, "version" => $version)); $officialDoc = array_merge($officialDoc, $versionData); } if (!empty($officialDoc)) { if (!OfficialdocUtil::checkReadScope($uid, $officialDoc)) { $this->error(Ibos::lang("You do not have permission to read the officialdoc"), $this->createUrl("default/index")); } $data = ICOfficialdoc::getShowData($officialDoc); OfficialdocReader::model()->addReader($docid, $uid); Officialdoc::model()->updateClickCount($docid, $data["clickcount"]); $page = EnvUtil::getRequest("page"); $criteria = new CDbCriteria(); $pages = new CPagination(OfficialdocUtil::getCharacterLength($data["content"])); $pages->pageSize = 2000; $pages->applyLimit($criteria); $tmpContent = OfficialdocUtil::subHtml($data["content"], $pages->getCurrentPage() * $pages->getPageSize(), ($pages->getCurrentPage() + 1) * $pages->getPageSize()); $data["content"] = $tmpContent; if (!empty($page) && $page != 1) { $data["content"] = "<div><div style=\"border-bottom:4px solid #e26f50;margin-top:60px;\"></div><div style=\"border-top:1px solid #e26f50;margin-top:4px;\"><div><p style=\"text-align:center;\"></p><div id=\"original-content\" style=\"min-height:400px;font:16px/2 fangsong,simsun;color:#666;\"><table cellspacing=\"0\" cellpadding=\"0\" width=\"95%\" align=\"center\"><tbody><tr><td class=\"p1\"><span><p>" . $tmpContent . "</p>"; $data["content"] = OfficialdocUtil::subHtml($data["content"], 0, $pages->pageSize * 2); } $params = array("data" => $data, "pages" => $pages, "dashboardConfig" => Yii::app()->setting->get("setting/docconfig")); if ($data["rcid"]) { $params["rcType"] = RcType::model()->fetchByPk($data["rcid"]); } } else { $params = ""; } $this->ajaxReturn($params, "JSONP"); }
private function verify() { if (Ibos::app()->request->isAjaxRequest) { $uid = Ibos::app()->user->uid; $docids = trim(EnvUtil::getRequest("docids"), ","); $ids = explode(",", $docids); if (empty($ids)) { $this->ajaxReturn(array("isSuccess" => false, "info" => Ibos::lang("Parameters error", "error"))); } $sender = User::model()->fetchRealnameByUid($uid); foreach ($ids as $docid) { $docApproval = OfficialdocApproval::model()->fetchLastStep($docid); if (empty($docApproval)) { $this->verifyComplete($docid, $uid); } else { $doc = Officialdoc::model()->fetchByPk($docApproval["docid"]); $category = OfficialdocCategory::model()->fetchByPk($doc["catid"]); $approval = Approval::model()->fetch("id={$category["aid"]}"); $curApproval = Approval::model()->fetchNextApprovalUids($approval["id"], $docApproval["step"]); $nextApproval = Approval::model()->fetchNextApprovalUids($approval["id"], $docApproval["step"] + 1); if (!in_array($uid, $curApproval["uids"])) { $this->ajaxReturn(array("isSuccess" => false, "info" => Ibos::lang("You do not have permission to verify the official"))); } if (!empty($nextApproval)) { if ($nextApproval["step"] == "publish") { $this->verifyComplete($docid, $uid); } else { OfficialdocApproval::model()->recordStep($docid, $uid); $config = array("{sender}" => $sender, "{subject}" => $doc["subject"], "{category}" => $category["name"], "{content}" => $this->renderPartial("remindcontent", array("doc" => $doc, "author" => $sender), true), "{url}" => $this->createUrl("officialdoc/index", array("type" => "notallow"))); foreach ($nextApproval["uids"] as $k => $approvalUid) { if (!OfficialdocUtil::checkReadScope($approvalUid, $doc)) { unset($nextApproval["uids"][$k]); } } Notify::model()->sendNotify($nextApproval["uids"], "officialdoc_verify_message", $config, $uid); Officialdoc::model()->updateAllStatusByDocids($docid, 2, $uid); } } } } $this->ajaxReturn(array("isSuccess" => true, "info" => Ibos::lang("Verify succeed", "message"))); } }