public function insert_block() { //init controller data $this->extensions->hk_InitData($this, __FUNCTION__); $this->loadLanguage('design/blocks'); $this->loadLanguage('banner_manager/banner_manager'); $this->document->setTitle($this->language->get('banner_manager_name')); $this->data['heading_title'] = $this->language->get('text_banner_block'); $lm = new ALayoutManager(); $block = $lm->getBlockByTxtId('banner_block'); $this->data['block_id'] = $block['block_id']; if ($this->request->is_POST() && $this->_validateBlockForm()) { if (isset($this->session->data['layout_params'])) { $layout = new ALayoutManager($this->session->data['layout_params']['tmpl_id'], $this->session->data['layout_params']['page_id'], $this->session->data['layout_params']['layout_id']); $blocks = $layout->getLayoutBlocks(); if ($blocks) { foreach ($blocks as $block) { if ($block['block_id'] == $this->session->data['layout_params']['parent_block_id']) { $parent_instance_id = $block['instance_id']; $position = 0; if ($block['children']) { foreach ($block['children'] as $child) { $position = $child['position'] > $position ? $child['position'] : $position; } } break; } } } $savedata = $this->session->data['layout_params']; $savedata['parent_instance_id'] = $parent_instance_id; $savedata['position'] = $position + 10; $savedata['status'] = 1; } else { $layout = new ALayoutManager(); } $content = ''; if ($this->request->post['banner_group_name']) { $content = serialize(array('banner_group_name' => $this->request->post['banner_group_name'])); } $custom_block_id = $layout->saveBlockDescription($this->data['block_id'], 0, array('name' => $this->request->post['block_name'], 'title' => $this->request->post['block_title'], 'description' => $this->request->post['block_description'], 'content' => $content, 'status' => (int) $this->request->post['block_status'], 'block_wrapper' => $this->request->post['block_wrapper'], 'block_framed' => $this->request->post['block_framed'], 'language_id' => $this->session->data['content_language_id'])); // save custom_block in layout if (isset($this->session->data['layout_params'])) { $savedata['custom_block_id'] = $custom_block_id; $savedata['block_id'] = $this->data['block_id']; $layout->saveLayoutBlocks($savedata); unset($this->session->data['layout_params']); } // save list if it is custom if ($this->request->post['block_banners']) { $listing_manager = new AListingManager($custom_block_id); $listing_manager->deleteCustomListing(); foreach ($this->request->post['block_banners'] as $k => $id) { $listing_manager->saveCustomListItem(array('data_type' => 'banner_id', 'id' => (int) $id, 'sort_order' => (int) $k)); } } $this->session->data['success'] = $this->language->get('text_banner_success'); $this->redirect($this->html->getSecureURL('extension/banner_manager/edit_block', '&custom_block_id=' . $custom_block_id)); } foreach ($this->request->post as $k => $v) { $this->data[$k] = $v; } $blocks = array(); $custom_block_types = array('html_block', 'listing_block'); foreach ($custom_block_types as $txt_id) { $block = $lm->getBlockByTxtId($txt_id); if ($block['block_id']) { $blocks[$block['block_id']] = $this->language->get('text_' . $txt_id); } } foreach ($blocks as $block_text) { $this->data['tabs'][] = array('href' => $this->html->getSecureURL('design/blocks/insert', '&block_id=' . $this->data['block_id']), 'text' => $block_text, 'active' => false); } $this->data['tabs'][] = array('href' => $this->html->getSecureURL('extension/banner_manager/insert_block', '&block_id=' . $this->data['block_id']), 'text' => $this->language->get('text_banner_block'), 'active' => true); $this->_getBlockForm(); //update controller data $this->extensions->hk_UpdateData($this, __FUNCTION__); }
public function insert() { //init controller data $this->extensions->hk_InitData($this, __FUNCTION__); $this->document->setTitle($this->language->get('heading_title')); $block_id = (int) $this->request->get['block_id'] ? (int) $this->request->get['block_id'] : (int) $this->request->post['block_id']; // now need to know what custom block is this $lm = new ALayoutManager(); $blocks = $lm->getAllBlocks(); foreach ($blocks as $block) { if ($block['block_id'] == $block_id) { $block_txt_id = $block['block_txt_id']; break; } } if ($this->request->is_POST() && $this->_validateForm()) { if (isset($this->session->data['layout_params'])) { $layout = new ALayoutManager($this->session->data['layout_params']['tmpl_id'], $this->session->data['layout_params']['page_id'], $this->session->data['layout_params']['layout_id']); $blocks = $layout->getLayoutBlocks(); if ($blocks) { foreach ($blocks as $block) { if ($block['block_id'] == $this->session->data['layout_params']['parent_block_id']) { $parent_instance_id = $block['instance_id']; $position = 0; if ($block['children']) { foreach ($block['children'] as $child) { $position = $child['position'] > $position ? $child['position'] : $position; } } break; } } } $savedata = $this->session->data['layout_params']; $savedata['parent_instance_id'] = $parent_instance_id; $savedata['position'] = $position + 10; $savedata['status'] = 1; } else { $layout = new ALayoutManager(); } switch ($block_txt_id) { case 'listing_block': $content = array('listing_datasource' => $this->request->post['listing_datasource']); if (strpos($content['listing_datasource'], 'custom_') === FALSE) { $content['limit'] = $this->request->post['limit']; } if ($content['listing_datasource'] == 'media') { $content['resource_type'] = $this->request->post['resource_type']; } $content = serialize($content); break; case 'html_block': $content = $this->request->post['block_content']; break; default: $this->redirect($this->html->getSecureURL('design/blocks')); break; } $custom_block_id = $layout->saveBlockDescription($block_id, 0, array('name' => $this->request->post['block_name'], 'title' => $this->request->post['block_title'], 'description' => $this->request->post['block_description'], 'content' => $content, 'status' => (int) $this->request->post['block_status'], 'block_wrapper' => $this->request->post['block_wrapper'], 'block_framed' => (int) $this->request->post['block_framed'], 'language_id' => $this->session->data['content_language_id'])); // save custom_block in layout if (isset($this->session->data['layout_params'])) { $savedata['custom_block_id'] = $custom_block_id; $savedata['block_id'] = $block_id; $layout->saveLayoutBlocks($savedata); unset($this->session->data['layout_params']); } // save list if it is custom if (strpos($this->request->post['listing_datasource'], 'custom_') !== FALSE) { $listing_manager = new AListingManager($custom_block_id); if ($this->request->post['selected']) { $listing_manager->deleteCustomListing(); $k = 0; foreach ($this->request->post['selected'] as $id) { $listing_manager->saveCustomListItem(array('listing_datasource' => $this->request->post['listing_datasource'], 'id' => $id, 'limit' => $this->request->post['limit'], 'sort_order' => (int) $k)); $k++; } } } $this->session->data['success'] = $this->language->get('text_success'); unset($this->session->data['custom_list_changes'][$custom_block_id], $this->session->data['layout_params']); $this->redirect($this->html->getSecureURL('design/blocks/edit', '&custom_block_id=' . $custom_block_id)); } // if we need to save new block in layout - keep parameters in session if (!isset($this->session->data['layout_params']) && isset($this->request->get['layout_id'])) { $this->session->data['layout_params']['layout_id'] = $this->request->get['layout_id']; $this->session->data['layout_params']['page_id'] = $this->request->get['page_id'] ? $this->request->get['page_id'] : 1; $this->session->data['layout_params']['tmpl_id'] = $this->request->get['tmpl_id']; $this->session->data['layout_params']['parent_block_id'] = $this->request->get['parent_block_id']; } $this->initTabs(); switch ($block_txt_id) { case 'listing_block': $this->_getListingForm(); break; case 'html_block': default: $this->_getHTMLForm(); } //update controller data $this->extensions->hk_UpdateData($this, __FUNCTION__); }
public function insert_block() { //init controller data $this->extensions->hk_InitData($this, __FUNCTION__); $this->loadLanguage('design/blocks'); $this->loadLanguage('forms_manager/forms_manager'); $this->document->setTitle($this->language->get('forms_manager_name')); $this->data['heading_title'] = $this->language->get('custom_forms_block'); $lm = new ALayoutManager(); $block = $lm->getBlockByTxtId('custom_form_block'); $this->data['block_id'] = $block['block_id']; if ($this->request->is_POST() && $this->_validateBlockForm()) { if (isset($this->session->data['layout_params'])) { $layout = new ALayoutManager($this->session->data['layout_params']['tmpl_id'], $this->session->data['layout_params']['page_id'], $this->session->data['layout_params']['layout_id']); $blocks = $layout->getLayoutBlocks(); if ($blocks) { foreach ($blocks as $block) { if ($block['block_id'] == $this->session->data['layout_params']['parent_block_id']) { $parent_instance_id = $block['instance_id']; $position = 10; if ($block['children']) { foreach ($block['children'] as $child) { $position = $position > $child['position'] ? $child['position'] : $position; } } break; } } } else { $position = 0; } $savedata = $this->session->data['layout_params']; $savedata['parent_instance_id'] = $parent_instance_id; $savedata['position'] = $position + 10; $savedata['status'] = 1; } else { $layout = new ALayoutManager(); } $content = isset($this->request->post['form_id']) ? serialize(array('form_id' => $this->request->post['form_id'])) : array(); $custom_block_id = $layout->saveBlockDescription($this->data['block_id'], 0, array('name' => $this->request->post['block_name'], 'title' => $this->request->post['block_title'], 'description' => $this->request->post['block_description'], 'content' => $content, 'block_wrapper' => $this->request->post['block_wrapper'], 'block_framed' => (int) $this->request->post['block_framed'] > 0 ? 1 : 0, 'language_id' => $this->language->getContentLanguageID())); $layout->editBlockStatus((int) $this->request->post['block_status'], $this->data['block_id'], $custom_block_id); // save custom_block in layout if (isset($this->session->data['layout_params'])) { $savedata['custom_block_id'] = $custom_block_id; $savedata['block_id'] = $this->data['block_id']; $layout->saveLayoutBlocks($savedata); unset($this->session->data['layout_params']); } // save list if it is custom $this->request->post['selected'] = json_decode(html_entity_decode($this->request->post['selected'][0]), true); if ($this->request->post['selected']) { $listing_manager = new AListingManager($custom_block_id); foreach ($this->request->post['selected'] as $id => $info) { if ($info['status']) { $listing_manager->saveCustomListItem(array('data_type' => 'form_id', 'id' => $id, 'sort_order' => (int) $info['sort_order'])); } else { $listing_manager->deleteCustomListItem(array('data_type' => 'form_id', 'id' => $id)); } } } $this->session->data['success'] = $this->language->get('text_success'); $this->redirect($this->html->getSecureURL('tool/forms_manager/edit_block', '&custom_block_id=' . $custom_block_id)); } foreach ($this->request->post as $k => $v) { $this->data[$k] = $v; } $this->_init_tabs(); $this->_getBlockForm(); //update controller data $this->extensions->hk_UpdateData($this, __FUNCTION__); }
public function insert_block() { $this->loadLanguage('design/blocks'); $this->loadLanguage('developer_tools/developer_tools'); if ($this->request->is_POST() && $this->_validateBlockForm()) { if (isset($this->session->data['layout_params'])) { $layout = new ALayoutManager($this->session->data['layout_params']['tmpl_id'], $this->session->data['layout_params']['page_id'], $this->session->data['layout_params']['layout_id']); $blocks = $layout->getLayoutBlocks(); if ($blocks) { foreach ($blocks as $block) { if ($block['block_id'] == $this->session->data['layout_params']['parent_block_id']) { $parent_instance_id = $block['instance_id']; $position = 10; if ($block['children']) { foreach ($block['children'] as $child) { $position = $position > $child['position'] ? $child['position'] : $position; } } break; } } } $savedata = $this->session->data['layout_params']; $savedata['parent_instance_id'] = $parent_instance_id; $savedata['position'] = $position + 10; $savedata['status'] = 1; } else { $layout = new ALayoutManager(); } //prepare data $data = $this->request->post; foreach ($data['templates'] as $i => $tpl) { if (!$tpl['template']) { unset($data['templates'][$i]); } } //check is templates already in main.php file of extension $this->_check4NewTemplates($data); // saving block $block_id = $layout->saveBlock($data); // save block in layout if (isset($this->session->data['layout_params'])) { $savedata['block_id'] = $block_id; $layout->saveLayoutBlocks($savedata); unset($this->session->data['layout_params']); } $this->session->data['success'] = $this->language->get('developer_tools_text_success_block_save'); $this->redirect($this->html->getSecureURL('tool/developer_tools/edit_block', '&block_id=' . $block_id)); } $this->document->setTitle($this->language->get('developer_tools_text_create_block')); $this->data['heading_title'] = $this->language->get('developer_tools_text_create_block'); foreach ($this->request->post as $k => $v) { $this->data[$k] = $v; } $this->_check4NewTemplates($data); $this->_getBlockForm(); }