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); }
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); } }
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); }