Exemplo n.º 1
0
 public function actionEdit()
 {
     $op = EnvUtil::getRequest("op");
     $option = empty($op) ? "default" : $op;
     $routes = array("default", "update", "verify", "move", "top", "highLight", "clickVote", "back");
     if (!in_array($option, $routes)) {
         $this->error(Ibos::lang("Can not find the path"));
     }
     if ($option == "default") {
         $articleId = EnvUtil::getRequest("articleid");
         if (empty($articleId)) {
             $this->error(Ibos::lang("Parameters error", "error"));
         }
         $data = Article::model()->fetchByPk($articleId);
         if (empty($data)) {
             $this->error(Ibos::lang("No permission or article not exists"));
         }
         $data["publishScope"] = ArticleUtil::joinSelectBoxValue($data["deptid"], $data["positionid"], $data["uid"]);
         $allowPublish = ArticleCategory::model()->checkIsAllowPublish($data["catid"], Ibos::app()->user->uid);
         $params = array("data" => $data, "categoryOption" => $this->getCategoryOption(), "uploadConfig" => AttachUtil::getUploadConfig(), "dashboardConfig" => $this->getDashboardConfig(), "allowPublish" => $allowPublish);
         if (!empty($data["attachmentid"])) {
             $params["attach"] = AttachUtil::getAttach($data["attachmentid"]);
         }
         if ($data["type"] == parent::ARTICLE_TYPE_PICTURE) {
             $params["pictureData"] = ArticlePicture::model()->fetchPictureByArticleId($articleId);
             $params["picids"] = "";
             foreach ($params["pictureData"] as $k => $value) {
                 $params["pictureData"][$k]["filepath"] = FileUtil::fileName($value["filepath"]);
                 $params["picids"] .= $value["aid"] . ",";
             }
             $params["picids"] = substr($params["picids"], 0, -1);
         }
         $this->setPageTitle(Ibos::lang("Edit Article"));
         $this->setPageState("breadCrumbs", array(array("name" => Ibos::lang("Information center")), array("name" => Ibos::lang("Article"), "url" => $this->createUrl("default/index")), array("name" => Ibos::lang("Edit Article"))));
         $this->render("edit", $params);
     } else {
         $this->{$option}();
     }
 }