private function update() { $uid = Ibos::app()->user->uid; $articleId = $_POST["articleid"]; $this->beforeSaveData($_POST); $this->addOrUpdateArticle("update", $_POST, $uid); if ($_POST["type"] == parent::ARTICLE_TYPE_PICTURE) { $pidids = $_POST["picids"]; if (!empty($pidids)) { ArticlePicture::model()->deleteAll("articleid=:articleid", array(":articleid" => $articleId)); AttachUtil::updateAttach($pidids); $attach = AttachUtil::getAttach($pidids, true, true, false, false, true); $this->addPicture($attach, $articleId); } } $attachmentid = trim($_POST["attachmentid"], ","); if (!empty($attachmentid)) { AttachUtil::updateAttach($attachmentid); Article::model()->modify($articleId, array("attachmentid" => $attachmentid)); } $dashboardConfig = $this->getDashboardConfig(); if (isset($_POST["votestatus"]) && $this->getVoteInstalled() && $dashboardConfig["articlevoteenable"]) { $voteItemType = $_POST["voteItemType"]; $type = $voteItemType == 1 ? "vote" : "imageVote"; if (!empty($voteItemType) && trim($_POST[$type]["subject"]) != "") { $this->updateVote($voteItemType, $type, $articleId, $uid); $rcord = Article::model()->fetch(array("select" => array("votestatus"), "condition" => "articleid=:articleid", "params" => array(":articleid" => $articleId))); if ($rcord["votestatus"] == 0) { Article::model()->modify($articleId, array("votestatus" => 1)); } } else { Article::model()->modify($articleId, array("votestatus" => 0)); } } $user = User::model()->fetchByUid($uid); $article = Article::model()->fetchByPk($articleId); $categoryName = ArticleCategory::model()->fetchCateNameByCatid($article["catid"]); if (!empty($_POST["msgRemind"]) && $article["status"] == 1) { $publishScope = array("deptid" => $article["deptid"], "positionid" => $article["positionid"], "uid" => $article["uid"]); $uidArr = ArticleUtil::getScopeUidArr($publishScope); $config = array("{sender}" => $user["realname"], "{category}" => $categoryName, "{subject}" => $article["subject"], "{content}" => $this->renderPartial("remindcontent", array("article" => $article, "author" => $user["realname"]), true), "{url}" => Ibos::app()->urlManager->createUrl("article/default/index", array("op" => "show", "articleid" => $article["articleid"]))); if (0 < count($uidArr)) { Notify::model()->sendNotify($uidArr, "article_message", $config, $uid); } } if ($article["status"] == 2) { $this->sendPending($article, $uid); } ArticleBack::model()->deleteAll("articleid = {$articleId}"); $this->success(Ibos::lang("Update succeed"), $this->createUrl("default/index")); }