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])); }