private function save() { $uid = Ibos::app()->user->uid; $data = $_POST; $publicScope = OfficialdocUtil::handleSelectBoxData(StringUtil::getId($data["publishScope"], true)); $data["uid"] = $publicScope["uid"]; $data["positionid"] = $publicScope["positionid"]; $data["deptid"] = $publicScope["deptid"]; $ccScope = OfficialdocUtil::handleSelectBoxData(StringUtil::getId($data["ccScope"], true), false); $data["ccuid"] = $ccScope["uid"]; $data["ccpositionid"] = $ccScope["positionid"]; $data["ccdeptid"] = $ccScope["deptid"]; $data["author"] = $uid; $data["docno"] = $_POST["docNo"]; $data["approver"] = $uid; $data["addtime"] = TIMESTAMP; $data["uptime"] = TIMESTAMP; if ($data["status"] == 2) { $catid = intval($data["catid"]); $category = OfficialdocCategory::model()->fetchByPk($catid); $data["status"] = empty($category["aid"]) ? 1 : 2; $data["approver"] = !empty($category["aid"]) ? 0 : $uid; } $attachmentid = trim($_POST["attachmentid"], ","); if (!empty($attachmentid)) { AttachUtil::updateAttach($attachmentid); } $docId = Officialdoc::model()->add($data, true); $user = User::model()->fetchByUid($uid); $officialdoc = Officialdoc::model()->fetchByPk($docId); $categoryName = OfficialdocCategory::model()->fetchCateNameByCatid($officialdoc["catid"]); if ($data["status"] == "1") { $publishScope = array("deptid" => $officialdoc["deptid"], "positionid" => $officialdoc["positionid"], "uid" => $officialdoc["uid"]); $uidArr = OfficialdocUtil::getScopeUidArr($publishScope); $config = array("{sender}" => $user["realname"], "{category}" => $categoryName, "{subject}" => $officialdoc["subject"], "{content}" => $this->renderPartial("remindcontent", array("doc" => $officialdoc, "author" => $user["realname"]), true), "{url}" => Ibos::app()->urlManager->createUrl("officialdoc/officialdoc/show", array("docid" => $docId))); if (0 < count($uidArr)) { Notify::model()->sendNotify($uidArr, "officialdoc_message", $config, $uid); } $wbconf = WbCommonUtil::getSetting(true); if (isset($wbconf["wbmovement"]["article"]) && $wbconf["wbmovement"]["article"] == 1) { $publishScope = array("deptid" => $officialdoc["deptid"], "positionid" => $officialdoc["positionid"], "uid" => $officialdoc["uid"]); $data = array("title" => Ibos::lang("Feed title", "", array("{subject}" => $officialdoc["subject"], "{url}" => Ibos::app()->urlManager->createUrl("officialdoc/officialdoc/show", array("docid" => $docId)))), "body" => $officialdoc["subject"], "actdesc" => Ibos::lang("Post officialdoc"), "userid" => $publishScope["uid"], "deptid" => $publishScope["deptid"], "positionid" => $publishScope["positionid"]); WbfeedUtil::pushFeed($uid, "officialdoc", "officialdoc", $docId, $data); } UserUtil::updateCreditByAction("addofficialdoc", $uid); } elseif ($data["status"] == "2") { $this->SendPending($officialdoc, $uid); } $this->success(Ibos::lang("Save succeed", "message"), $this->createUrl("officialdoc/index")); }