private function update() { if (EnvUtil::submitCheck("formhash")) { $docid = $_POST["docid"]; $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["approver"] = $uid; $data["docno"] = $_POST["docNo"]; $data["commentstatus"] = isset($data["commentstatus"]) ? $data["commentstatus"] : 0; $data["uptime"] = TIMESTAMP; $data["version"] = $data["version"] + 1; $version = Officialdoc::model()->fetchByPk($_POST["docid"]); $version["editor"] = $uid; $version["reason"] = $data["reason"]; $version["uptime"] = TIMESTAMP; OfficialdocVersion::model()->add($version); 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); Officialdoc::model()->modify($docid, array("attachmentid" => $attachmentid)); } $attributes = Officialdoc::model()->create($data); Officialdoc::model()->updateByPk($data["docid"], $attributes); $doc = Officialdoc::model()->fetchByPk($data["docid"]); $this->sendPending($doc, $uid); OfficialdocBack::model()->deleteAll("docid = {$docid}"); $this->success(Ibos::lang("Update succeed", "message"), $this->createUrl("officialdoc/index")); } }