Example #1
0
 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));
 }
Example #2
0
 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));
     }
 }