public function rest_put() { $snippet = new Model_File_Snippet($this->param('name', NULL, TRUE)); $snippet->content = $this->param('content', NULL); $status = $snippet->save(); if (!$status) { throw HTTP_API_Exception::factory(API::ERROR_UNKNOWN, 'Snippet :name has not been added!', array(':name' => $snippet->name)); } else { $this->json_redirect('snippet/edit/' . $snippet->name); $this->message('Snippet :name has been saved!', array(':name' => $snippet->name)); Observer::notify('snippet_after_add', $snippet); } $this->response(array('name' => $snippet->name, 'content' => $snippet->content)); }
private function _edit($snippet_name) { $data = $this->request->post(); $snippet = new Model_File_Snippet($snippet_name); $snippet->name = $data['name']; $snippet->content = $data['content']; try { $status = $snippet->save(); } catch (Validation_Exception $e) { Messages::errors($e->errors('validation')); $this->go_back(); } Kohana::$log->add(Log::INFO, 'Snippet :name has been changed by :user', array(':name' => $snippet->name))->write(); Messages::success(__('Snippet has been saved!')); Observer::notify('snippet_after_edit', $snippet); // save and quit or save and continue editing? if ($this->request->post('commit') !== NULL) { $this->go(); } else { $this->go(array('action' => 'edit', 'id' => $snippet->name)); } }