예제 #1
0
 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"));
     }
 }