protected function _edit_article($tok, $author, $id=False) { $t = \Plugins\Articles\Plugin::get_template('admin/edit.php'); $t->admin_url = "/admin"; $t->tok = $tok; try { if($id) { $t->title = "Edit Article"; $article = \Plugins\Articles\Article::container() ->get_by_id($id); } else { $t->title = "Create Article"; $t->new = True; $article = \Plugins\Articles\Article::create($_POST, True); } if($_POST['_do'] == '1' && $this->_confirmed_request) { $article->overwrite($_POST); $article->form_values(); $validator = \Core\Validator::validator('\Plugins\Articles\Article'); $validator->validate($_POST, \Plugins\Articles\Article::validation()); if($t->new) { $article->author = $author; } \Core\Storage::container() ->get_storage('Article') ->save($article); } $t->article = $article; } catch(\Core\ValidationError $e) { return $this->_return_message("Fail", "Validation error(s):", $e->get_errors(), $t); } return $t->render(); }