protected static function load_article($id = null) { if (!$id) { $id = $_GET['article_id']; } $object = Article::find_by_id($id); if ($object) { return $object; } else { Error404(); } }
public function __construct() { parent::__construct(); if (!(($id = $this->uri->rsegments(3, 0)) && (is_numeric($id) ? $this->tag = ArticleTag::find_by_id($id) : ($this->tag = ArticleTag::find_by_name(trim(urldecode($id))))))) { return redirect_message(array('articles'), array('_flash_message' => '找不到該筆資料。')); } if (in_array($this->uri->rsegments(2, 0), array('edit', 'update', 'destroy', 'sort'))) { if (!(($id = $this->uri->rsegments(4, 0)) && ($this->article = Article::find_by_id($id)))) { return redirect_message(array('articles', $this->tag->id, 'articles'), array('_flash_message' => '找不到該筆資料。')); } } $this->add_js(resource_url('resource', 'javascript', 'jquery-timeago_v1.3.1', 'jquery.timeago.js'))->add_js(resource_url('resource', 'javascript', 'jquery-timeago_v1.3.1', 'locales', 'jquery.timeago.zh-TW.js')); }
public function is_visibled($id = 0) { if (!($id && ($article = Article::find_by_id($id, array('select' => 'id, is_visibled, updated_at'))))) { return $this->output_json(array('status' => false, 'message' => '當案不存在,或者您的權限不夠喔!')); } $posts = OAInput::post(); if ($msg = $this->_validation_is_visibled_posts($posts)) { return $this->output_json(array('status' => false, 'message' => $msg, 'content' => Article::$visibleNames[$article->is_visibled])); } if ($columns = array_intersect_key($posts, $article->table()->columns)) { foreach ($columns as $column => $value) { $article->{$column} = $value; } } $update = Article::transaction(function () use($article) { return $article->save(); }); if (!$update) { return $this->output_json(array('status' => false, 'message' => '更新失敗!', 'content' => Article::$visibleNames[$article->is_visibled])); } $this->_clean_cell($article); return $this->output_json(array('status' => true, 'message' => '更新成功!', 'content' => Article::$visibleNames[$article->is_visibled])); }