コード例 #1
0
ファイル: Layouts.php プロジェクト: allrested/TastyIgniter
 public function edit()
 {
     $layout_info = $this->Layouts_model->getLayout((int) $this->input->get('id'));
     if ($layout_info) {
         $layout_id = $layout_info['layout_id'];
         $data['_action'] = site_url('layouts/edit?id=' . $layout_id);
     } else {
         $layout_id = 0;
         $data['_action'] = site_url('layouts/edit');
     }
     $title = isset($layout_info['name']) ? $layout_info['name'] : $this->lang->line('text_new');
     $this->template->setTitle(sprintf($this->lang->line('text_edit_heading'), $title));
     $this->template->setHeading(sprintf($this->lang->line('text_edit_heading'), $title));
     $this->template->setButton($this->lang->line('button_save'), array('class' => 'btn btn-primary', 'onclick' => '$(\'#edit-form\').submit();'));
     $this->template->setButton($this->lang->line('button_save_close'), array('class' => 'btn btn-default', 'onclick' => 'saveClose();'));
     $this->template->setButton($this->lang->line('button_icon_back'), array('class' => 'btn btn-default', 'href' => site_url('layouts')));
     if ($this->input->post() and $layout_id = $this->_saveLayout()) {
         if ($this->input->post('save_close') === '1') {
             redirect('layouts');
         }
         redirect('layouts/edit?id=' . $layout_id);
     }
     $data['layout_id'] = $layout_info['layout_id'];
     $data['name'] = $layout_info['name'];
     $theme_partials = get_theme_partials($this->config->item('main', 'default_themes'), 'main');
     foreach ($theme_partials as $partial) {
         $partial['id'] = isset($partial['id']) ? $partial['id'] : '';
         $deprecated_id = explode('_', $partial['id']);
         $partial['deprecated_id'] = isset($deprecated_id['1']) ? $deprecated_id['1'] : '';
         // support @DEPRECATED position key
         $partial['name'] = isset($partial['name']) ? $partial['name'] : '';
         $data['theme_partials'][] = $partial;
     }
     if ($this->input->post('modules')) {
         $layout_modules = $this->input->post('modules');
     } else {
         $layout_modules = $this->Layouts_model->getLayoutModules($layout_id);
     }
     $data['layout_modules'] = array();
     foreach ($layout_modules as $priority => $module) {
         $data['layout_modules'][] = array('module_code' => $module['module_code'], 'partial' => !empty($module['position']) ? $module['position'] : $module['partial'], 'priority' => !empty($module['priority']) ? $module['priority'] : $priority, 'status' => $module['status']);
     }
     if ($this->input->post('routes')) {
         $data['layout_routes'] = $this->input->post('routes');
     } else {
         $data['layout_routes'] = $this->Layouts_model->getLayoutRoutes($layout_id);
     }
     $data['modules'] = array();
     $results = $this->Extensions_model->getModules();
     foreach ($results as $result) {
         $data['modules'][] = array('extension_id' => $result['extension_id'], 'module_code' => $result['name'], 'title' => $result['title']);
     }
     $data['routes'] = array();
     $results = $this->Layouts_model->getRoutes(1);
     foreach ($results as $result) {
         $data['routes'][] = array('route_id' => $result['uri_route_id'], 'route' => $result['uri_route']);
     }
     $this->template->render('layouts_edit', $data);
 }
コード例 #2
0
 public function index($module = array())
 {
     $this->user->restrict('Module.BannersModule');
     if (!empty($module)) {
         $title = isset($module['title']) ? $module['title'] : $this->lang->line('_text_title');
         $this->template->setTitle('Module: ' . $title);
         $this->template->setHeading('Module: ' . $title);
         $this->template->setButton($this->lang->line('button_save'), array('class' => 'btn btn-primary', 'onclick' => '$(\'#edit-form\').submit();'));
         $this->template->setButton($this->lang->line('button_save_close'), array('class' => 'btn btn-default', 'onclick' => 'saveClose();'));
         $this->template->setButton($this->lang->line('button_banners'), array('class' => 'btn btn-default', 'href' => site_url('banners/edit')));
         $this->template->setButton($this->lang->line('button_icon_back'), array('class' => 'btn btn-default', 'href' => site_url('extensions')));
         $ext_data = (!empty($module['ext_data']) and is_array($module['ext_data'])) ? $module['ext_data'] : array();
         if ($this->input->post('banners')) {
             $ext_data['banners'] = $this->input->post('banners');
         }
         $this->load->model('Image_tool_model');
         $data['module_banners'] = array();
         if (!empty($ext_data['banners'])) {
             foreach ($ext_data['banners'] as $banner) {
                 $data['module_banners'][] = array('banner_id' => $banner['banner_id'], 'layout_partial' => isset($banner['layout_partial']) ? $banner['layout_partial'] : '', 'status' => isset($banner['status']) ? $banner['status'] : '1', 'width' => $banner['width'], 'height' => $banner['height'], 'edit' => admin_url('banners/edit/' . $banner['banner_id']));
             }
         }
         $data['banners'] = array();
         $results = $this->Banners_model->getBanners();
         foreach ($results as $result) {
             $data['banners'][] = array('banner_id' => $result['banner_id'], 'name' => $result['name']);
         }
         $data['layouts'] = array();
         $results = $this->Layouts_model->getModuleLayouts('banners_module');
         foreach ($results as $result) {
             $data['layouts'][] = array('value' => "{$result['layout_id']}|{$result['partial']}", 'name' => "{$result['name']} - {$result['partial']}");
         }
         $theme_partials = get_theme_partials($this->config->item('main', 'default_themes'), 'main');
         foreach ($theme_partials as $partial) {
             $partial['id'] = isset($partial['id']) ? $partial['id'] : '';
             $deprecated_id = explode('_', $partial['id']);
             $partial['deprecated_id'] = isset($deprecated_id['1']) ? $deprecated_id['1'] : '';
             // support @DEPRECATED position key
             $partial['name'] = isset($partial['name']) ? $partial['name'] : '';
             $data['theme_partials'][] = $partial;
         }
         if ($this->input->post() and $this->_updateModule() === TRUE) {
             if ($this->input->post('save_close') === '1') {
                 redirect('extensions');
             }
             redirect('extensions/edit/module/banners_module');
         }
         return $this->load->view('banners_module/admin_banners_module', $data, TRUE);
     }
 }
コード例 #3
0
ファイル: Layouts.php プロジェクト: tastyigniter/tastyigniter
 public function edit()
 {
     $layout_info = $this->Layouts_model->getLayout((int) $this->input->get('id'));
     if ($layout_info) {
         $layout_id = $layout_info['layout_id'];
         $data['_action'] = site_url('layouts/edit?id=' . $layout_id);
     } else {
         $layout_id = 0;
         $data['_action'] = site_url('layouts/edit');
     }
     $title = isset($layout_info['name']) ? $layout_info['name'] : $this->lang->line('text_new');
     $this->template->setTitle(sprintf($this->lang->line('text_edit_heading'), $title));
     $this->template->setHeading(sprintf($this->lang->line('text_edit_heading'), $title));
     $this->template->setButton($this->lang->line('button_save'), array('class' => 'btn btn-primary', 'onclick' => '$(\'#edit-form\').submit();'));
     $this->template->setButton($this->lang->line('button_save_close'), array('class' => 'btn btn-default', 'onclick' => 'saveClose();'));
     $this->template->setButton($this->lang->line('button_icon_back'), array('class' => 'btn btn-default', 'href' => site_url('layouts')));
     $this->template->setScriptTag(assets_url('js/jquery-sortable.js'), 'jquery-sortable-js');
     if ($this->input->post() and $layout_id = $this->_saveLayout()) {
         if ($this->input->post('save_close') === '1') {
             redirect('layouts');
         }
         redirect('layouts/edit?id=' . $layout_id);
     }
     $data['layout_id'] = $layout_info['layout_id'];
     $data['name'] = $layout_info['name'];
     $theme_partials = get_theme_partials($this->config->item('main', 'default_themes'), 'main');
     foreach ($theme_partials as $partial) {
         $partial['id'] = isset($partial['id']) ? $partial['id'] : '';
         $deprecated_id = explode('_', $partial['id']);
         $partial['deprecated_id'] = isset($deprecated_id['1']) ? $deprecated_id['1'] : '';
         // support @DEPRECATED position key
         $partial['name'] = isset($partial['name']) ? $partial['name'] : '';
         $data['theme_partials'][] = $partial;
     }
     $data['modules'] = array();
     $results = $this->Extensions_model->getModules();
     foreach ($results as $result) {
         $config = $this->extension->loadConfig($result['name'], FALSE, TRUE);
         if (empty($config['layout_ready'])) {
             continue;
         }
         $meta = $this->extension->getMeta($result['name'], $config);
         $data['modules'][$result['name']] = array('extension_id' => $result['extension_id'], 'module_code' => $result['name'], 'title' => $result['title'], 'description' => strlen($meta['description']) > 70 ? substr($meta['description'], 0, 70) . '...' : $meta['description']);
     }
     if ($this->input->post('modules')) {
         $modules = $this->input->post('modules');
     } else {
         $modules = $this->Layouts_model->getLayoutModules($layout_id);
     }
     $data['layout_modules'] = array();
     $data['partial_modules'] = array();
     foreach ($modules as $partial => $partial_modules) {
         $partial_modules = is_numeric($partial) ? $partial_modules : $partial_modules;
         foreach ($partial_modules as $priority => $module) {
             $data['partial_modules'][$partial][] = array('module_code' => $module['module_code'], 'name' => isset($data['modules'][$module['module_code']]['title']) ? $data['modules'][$module['module_code']]['title'] : $module['module_code'], 'partial' => !empty($module['partial']) ? $module['partial'] : $partial, 'priority' => !empty($module['priority']) ? $module['priority'] : $priority, 'title' => $module['title'], 'fixed' => isset($module['fixed']) ? $module['fixed'] : '0', 'fixed_top_offset' => $module['fixed_top_offset'], 'fixed_bottom_offset' => $module['fixed_bottom_offset'], 'status' => isset($module['status']) ? $module['status'] : '1');
         }
     }
     if ($this->input->post('routes')) {
         $data['layout_routes'] = $this->input->post('routes');
     } else {
         $data['layout_routes'] = $this->Layouts_model->getLayoutRoutes($layout_id);
     }
     $data['routes'] = array();
     $results = $this->Layouts_model->getRoutes(1);
     foreach ($results as $result) {
         $data['routes'][] = array('route_id' => $result['uri_route_id'], 'route' => $result['uri_route']);
     }
     $this->template->render('layouts_edit', $data);
 }