Пример #1
0
 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");
 }
Пример #2
0
 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);
 }
Пример #4
0
 protected function getCurApproval()
 {
     $catid = EnvUtil::getRequest("catid");
     $category = OfficialdocCategory::model()->fetchByPk($catid);
     $approval = Approval::model()->fetchByPk($category["aid"]);
     $this->ajaxReturn(array("approval" => $approval));
 }
Пример #5
0
 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;
 }
Пример #6
0
 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")));
 }
Пример #7
0
 public function getData($condition = "")
 {
     $categoryData = OfficialdocCategory::model()->fetchAll($condition);
     return $categoryData;
 }
Пример #8
0
 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;
 }