public function actionCategory() { $category = OfficialdocCategory::model()->fetchAll(); $tmp = array(array()); $data = array_merge($tmp, $category); unset($data[0]); $params = StringUtil::getTree($data, "<li class='\$selected'><a href='#docs' onclick='docs.loadList(\$catid)'>\$spacer<i class='ao-file'></i>\$name</a></li>"); $this->ajaxReturn($params, "JSONP"); }
public function deleteApproval($id) { if (empty($id)) { return false; } $ret = $this->deleteByPk($id); if ($ret) { ArticleCategory::model()->updateAll(array("aid" => 0), "aid={$id}"); OfficialdocCategory::model()->updateAll(array("aid" => 0), "aid={$id}"); } return $ret; }
public function handleOfficialdocCategory($event) { $categorys = array(); Yii::import("application.modules.officialdoc.model.OfficialdocCategory"); $records = OfficialdocCategory::model()->findAll(array("order" => "sort ASC")); if (!empty($records)) { foreach ($records as $record) { $cat = $record->attributes; $categorys[$cat["catid"]] = $cat; } } Syscache::model()->modify("officialdoccategory", $categorys); }
protected function getCurApproval() { $catid = EnvUtil::getRequest("catid"); $category = OfficialdocCategory::model()->fetchByPk($catid); $approval = Approval::model()->fetchByPk($category["aid"]); $this->ajaxReturn(array("approval" => $approval)); }
public static function handleApproval($datas) { $allApprovals = Approval::model()->fetchAllSortByPk("id"); $allCategorys = OfficialdocCategory::model()->fetchAllSortByPk("catid"); $docApprovals = OfficialdocApproval::model()->fetchAllGroupByDocId(); $backDocIds = OfficialdocBack::model()->fetchAllBackDocId(); foreach ($datas as &$doc) { $doc["back"] = in_array($doc["docid"], $backDocIds) ? 1 : 0; $doc["approval"] = $doc["approvalStep"] = array(); $catid = $doc["catid"]; if (!empty($allCategorys[$catid]["aid"])) { $aid = $allCategorys[$catid]["aid"]; if (!empty($allApprovals[$aid])) { $doc["approval"] = $allApprovals[$aid]; } } if (!empty($doc["approval"])) { $doc["approvalName"] = !empty($doc["approval"]) ? $doc["approval"]["name"] : ""; $doc["docApproval"] = isset($docApprovals[$doc["docid"]]) ? $docApprovals[$doc["docid"]] : array(); $doc["stepNum"] = count($doc["docApproval"]); $step = array(); foreach ($doc["docApproval"] as $docApproval) { $step[$docApproval["step"]] = User::model()->fetchRealnameByUid($docApproval["uid"]); } for ($i = 1; $i <= $doc["approval"]["level"]; $i++) { if ($i <= $doc["stepNum"]) { $doc["approval"][$i]["approvaler"] = isset($step[$i]) ? $step[$i] : "未知"; } else { $levelName = Approval::model()->getLevelNameByStep($i); $approvalUids = $doc["approval"][$levelName]; $doc["approval"][$i]["approvaler"] = User::model()->fetchRealnamesByUids($approvalUids, "、"); } } } } return $datas; }
private function back() { $uid = Ibos::app()->user->uid; $docIds = trim(EnvUtil::getRequest("docids"), ","); $reason = StringUtil::filterCleanHtml(EnvUtil::getRequest("reason")); $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) { $doc = Officialdoc::model()->fetchByPk($docId); $categoryName = OfficialdocCategory::model()->fetchCateNameByCatid($doc["catid"]); if (!$this->checkIsApprovaler($doc, $uid)) { $this->ajaxReturn(array("isSuccess" => false, "info" => Ibos::lang("You do not have permission to verify the official"))); } $config = array("{sender}" => $sender, "{subject}" => $doc["subject"], "{category}" => $categoryName, "{content}" => $reason, "{url}" => $this->createUrl("officialdoc/index", array("type" => "notallow"))); Notify::model()->sendNotify($doc["author"], "official_back_message", $config, $uid); OfficialdocBack::model()->addBack($docId, $uid, $reason, TIMESTAMP); } $this->ajaxReturn(array("isSuccess" => true, "info" => Ibos::lang("Operation succeed", "message"))); }
public function getData($condition = "") { $categoryData = OfficialdocCategory::model()->fetchAll($condition); return $categoryData; }
public function fetchUnApprovalDocIds($catid, $uid) { $backDocIds = OfficialdocBack::model()->fetchAllBackDocId(); $backDocIdStr = implode(",", $backDocIds); $backCondition = empty($backDocIdStr) ? "" : "AND `docid` NOT IN({$backDocIdStr})"; if (empty($catid)) { $catids = OfficialdocCategory::model()->fetchAllApprovalCatidByUid($uid); $catidStr = implode(",", $catids); $condition = "((FIND_IN_SET( `catid`, '{$catidStr}' ) {$backCondition}) OR `author` = {$uid})"; } else { $isApproval = OfficialdocCategory::model()->checkIsApproval($catid, $uid); $condition = $isApproval ? "(`catid` = {$catid} {$backCondition})" : " (`catid` = {$catid} AND `author` = {$uid})"; } $record = $this->fetchAll(array("select" => array("docid"), "condition" => "`status` = 2 AND " . $condition)); $docIds = ConvertUtil::getSubByKey($record, "docid"); return $docIds; }