Example #1
0
 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));
     }
 }
Example #2
0
 /**
  * 
  * @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;
 }
Example #3
0
 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();
 }
Example #4
0
 /**
  * Получение полного пути до файла шаблона
  * 
  * @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;
 }
Example #5
0
 /**
  * 
  * @return array
  */
 public static function html_select()
 {
     $choices = array(__('--- none ---'));
     $snippets = Model_File_Snippet::find_all();
     foreach ($snippets as $snippet) {
         $choices[$snippet->name] = $snippet->name;
     }
     return $choices;
 }
Example #6
0
 public function action_edit()
 {
     $id = $this->request->param('id');
     $widget = Widget_Manager::load($id);
     if (!$widget) {
         Messages::errors(__('Widget not found!'));
         $this->go_back();
     }
     $this->template->title = $widget->name;
     $this->breadcrumbs->add($widget->type(FALSE))->add($widget->name);
     // check if trying to save
     if (Request::current()->method() == Request::POST) {
         return $this->_edit($widget);
     }
     $roles = ORM::factory('role')->find_all()->as_array('name', 'name');
     $this->template->content = View::factory('widgets/edit', array('widget' => $widget, 'templates' => Model_File_Snippet::html_select(), 'content' => $widget->fetch_backend_content(), 'roles' => $roles, 'params' => Widget_Manager::get_params($widget->type())));
 }
Example #7
0
	$('body').on('put:backend:api-snippet', update_snippets_list);
});

function update_snippets_list(e, response) {
	var select = $('#snippet-select');
	
	select
		.append($('<option>', {value: response.name, text: response.name}))
		.select2('val', response.name)
		.change();
}
</script>

<?php 
if (empty($templates)) {
    $templates = Model_File_Snippet::html_select();
}
if (empty($template)) {
    $template = NULL;
}
if (empty($default)) {
    $default = NULL;
}
if (empty($select_name)) {
    $select_name = 'template';
}
$hidden = empty($template) ? 'hidden' : '';
?>

<?php 
if (!empty($header)) {
Example #8
0
 /**
  * Получение пути до файла шаблона виджета.
  * Сначала происходит поиск файла по названию Сниппета, если он не 
  * найден, то просходит поиск шаблона по умолчанию для виджета.
  * 
  * @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;
 }