public function rest_delete() { $snippet_name = $this->param('name', NULL, TRUE); $snippet = new Model_File_Snippet($snippet_name); if (!$snippet->is_exists()) { throw HTTP_API_Exception::factory(API::ERROR_PAGE_NOT_FOUND, 'Snippet :name not found!', array(':name' => $snippet_name)); } if ($snippet->delete()) { $this->response($snippet); } else { throw HTTP_API_Exception::factory(API::ERROR_UNKNOWN, 'Snippet :name has not been deleted!', array(':name' => $snippet_name)); } }
/** * * @param string $snippet_name * @param array $vars * @return null|View_Front */ public static function get($snippet_name, $vars = NULL) { $snippet = new Model_File_Snippet($snippet_name); if (!$snippet->is_exists()) { if (($found_file = $snippet->find_file()) !== FALSE) { $snippet = new Model_File_Snippet($found_file); } else { return NULL; } } $view = View_Front::factory($snippet->get_file(), $vars); if (isset($view->page_object)) { $view->page = $view->page_object; } return $view; }
public function action_delete() { $this->auto_render = FALSE; $snippet_name = $this->request->param('id'); $snippet = new Model_File_Snippet($snippet_name); // find the user to delete if ($snippet->is_exists()) { if ($snippet->delete()) { Kohana::$log->add(Log::INFO, 'Snippet :name has been deleted by :user', array(':name' => $snippet_name))->write(); Messages::success(__('Snippet has been deleted!')); Observer::notify('snippet_after_delete', $snippet_name); } else { Messages::errors(__('Something went wrong!')); } } else { Messages::errors(__('Snippet not found!')); } $this->go(); }
/** * Получение полного пути до файла шаблона * * @return string */ public function template() { $snippet = new Model_File_Snippet($this->template); $template = NULL; if ($snippet->is_exists()) { $template = $snippet->get_file(); } else { if (($template = $snippet->find_file()) === FALSE) { $template = NULL; } } return $template; }
/** * Получение пути до файла шаблона виджета. * Сначала происходит поиск файла по названию Сниппета, если он не * найден, то просходит поиск шаблона по умолчанию для виджета. * * @return string */ protected function _fetch_template() { if (empty($this->template)) { $this->template = $this->default_template(); } else { $snippet = new Model_File_Snippet($this->template); if ($snippet->is_exists()) { $this->template = $snippet->get_file(); } else { if (($this->template = $snippet->find_file()) === FALSE) { $this->template = $this->default_template(); } } } return $this->template; }