protected function _build_menu($values) { // need to resort by sort_order property $offset = 0; // it needs for process repeating sort numbers $tmp = $this->item_ids = array(); if (is_array($values)) { $rm = new AResourceManager(); $rm->setType('image'); $language_id = $this->registry->get('language')->getContentLanguageID(); foreach ($values as &$item) { if ($item['item_icon_rl_id']) { $r = $rm->getResource($item['item_icon_rl_id'], $language_id); $item['item_icon_code'] = $r['resource_code']; } if (isset($tmp[$item['parent_id']][$item['sort_order']])) { $offset++; } $tmp[$item['parent_id']][$item['sort_order'] + $offset] = $item; $this->item_ids[] = $item['item_id']; } } unset($item); $this->dataset_rows = $values; $menu = array(); foreach ($tmp as $key => $item) { ksort($item); $menu[$key] = $item; } return $menu; }
public function get_resource_details() { if (!$this->user->canModify('common/resource_library')) { $error = new AError(''); return $error->toJSONResponse('NO_PERMISSIONS_402', array('error_text' => sprintf($this->language->get('error_permission_modify'), 'common/resource_library'), 'reset_value' => true)); } //init controller data $this->extensions->hk_InitData($this, __FUNCTION__); $resource_id = (int) $this->request->get['resource_id']; $language_id = $this->language->getContentLanguageID(); $rm = new AResourceManager(); $info = $rm->getResource($resource_id, $language_id); if (!$info) { $info = null; } else { $rm->setType($info['type_name']); $info['thumbnail_url'] = $rm->getResourceThumb($resource_id, $this->thumb_sizes['width'], $this->thumb_sizes['height'], $language_id); } $this->load->library('json'); $this->response->addJSONHeader(); $this->response->setOutput(AJson::encode($info)); }
public function main() { //use to init controller data $this->extensions->hk_InitData($this, __FUNCTION__); $this->load->helper('html'); $this->view->assign('breadcrumbs', $this->document->getBreadcrumbs()); if ($this->request->is_POST() && isset($this->request->post['language_code'])) { unset($this->session->data['content_language']); $this->session->data['language'] = $this->request->post['language_code']; $this->cache->delete('admin_menu'); if (!empty($this->request->post['redirect'])) { $this->redirect($this->request->post['redirect']); } else { $this->redirect($this->html->getURL('index/home')); } } $this->view->assign('language_code', $this->session->data['language']); $this->view->assign('languages', array()); $this->view->assign('languages', $this->language->getActiveLanguages()); $this->view->assign('content_language_id', $this->language->getContentLanguageID()); $this->view->assign('language_settings', $this->html->getSecureURL('localisation/language')); $this->view->assign('new_messages', $this->messages->getShortList()); $this->view->assign('messages_link', $this->html->getSecureURL('tool/message_manager')); $this->view->assign('action', $this->html->getSecureURL('index/home')); $this->view->assign('search_action', $this->html->getSecureURL('tool/global_search')); //redirect after language change if (!$this->request->get['rt'] || $this->request->get['rt'] == 'index/home') { $this->view->assign('redirect', $this->html->getSecureURL('index/home')); $this->view->assign('home_page', true); } else { $this->view->assign('home_page', false); $this->view->assign('redirect', HTTPS_SERVER . '?' . $_SERVER['QUERY_STRING']); } if (!$this->user->isLogged() || !isset($this->request->get['token']) || !isset($this->session->data['token']) || $this->request->get['token'] != $this->session->data['token']) { $this->view->assign('logged', ''); $this->view->assign('home', $this->html->getSecureURL('index/login', '', true)); } else { $this->view->assign('home', $this->html->getSecureURL('index/home', '', true)); $this->view->assign('logged', sprintf($this->language->get('text_logged'), $this->user->getUserName())); $this->view->assign('avatar', $this->user->getAvatar()); $this->view->assign('username', $this->user->getUserName()); $this->view->assign('last_login', sprintf($this->language->get('text_last_login'), $this->user->getLastLogin())); $this->view->assign('account_edit', $this->html->getSecureURL('index/edit_details', '', true)); $stores = array(); $this->loadModel('setting/store'); $results = $this->model_setting_store->getStores(); foreach ($results as $result) { $stores[] = array('name' => $result['name'], 'href' => $result['config_url']); } $this->view->assign('stores', $stores); $this->view->assign('logout', $this->html->getSecureURL('index/logout')); $this->view->assign('store', HTTP_CATALOG); // add dynamic menu based on dataset scheme $this->addChild('common/menu', 'menu', 'common/menu.tpl'); //Get surrent menu item $menu = new AMenu('admin'); $current_menu = $menu->getMenuByRT($this->request->get['rt']); if ($current_menu['item_icon_rl_id']) { $rm = new AResourceManager(); $rm->setType('image'); $resource = $rm->getResource($current_menu['item_icon_rl_id']); $current_menu['icon'] = $resource['resource_code']; } unset($current_menu['item_icon_rl_id']); $this->view->assign('current_menu', $current_menu); } if ($this->user->isLogged()) { $ant_message = $this->messages->getANTMessage(); $this->view->assign('ant', $ant_message['html']); $this->view->assign('mark_read_url', $this->html->getSecureURL('common/common/antMessageRead', '&message_id=' . $ant_message['id'])); $this->view->assign('ant_viewed', $ant_message['viewed']); } $this->view->assign('config_voicecontrol', $this->config->get('config_voicecontrol')); $this->view->assign('voicecontrol_setting_url', $this->html->getSecureURL('setting/setting/system')); $this->view->assign('command_lookup_url', $this->html->getSecureURL('common/action_commands')); $this->view->assign('search_suggest_url', $this->html->getSecureURL('listing_grid/global_search_result/suggest')); $this->view->assign('search_everywhere', $this->language->get('search_everywhere')); $this->view->assign('text_all_matches', $this->language->get('text_all_matches')); $this->view->assign('dialog_title', $this->language->get('text_quick_edit_form')); $this->view->assign('button_go', $this->html->buildButton(array('name' => 'searchform_go', 'text' => $this->language->get('button_go'), 'style' => 'button5'))); //check if install dir existing. warn if (file_exists(DIR_ROOT . '/install')) { $this->messages->saveWarning($this->language->get('text_install_warning_subject'), $this->language->get('text_install_warning')); } //backwards compatability from 1.2.1. Can remove this check in the future. if (!defined('ENCRYPTION_KEY')) { $cmbody = "To be compatible with v" . VERSION . " add below line to configuration file: <br>\n" . DIR_ROOT . '/system/config.php'; $cmbody .= "<br>\n" . "define('ENCRYPTION_KEY', '" . $this->config->get('encryption_key') . "');\n"; $this->messages->saveWarning('Compatibility warning for v' . VERSION, $cmbody); } //prepare quick stats $this->loadModel('tool/online_now'); $online_new = $this->model_tool_online_now->getTotalTodayOnline('new'); $online_registered = $this->model_tool_online_now->getTotalTodayOnline('registered'); $this->view->assign('online_new', $online_new); $this->view->assign('online_registered', $online_registered); $this->loadModel('report/sale'); $data = array('filter' => array('date_start' => dateISO2Display(date('Y-m-d', time()), $this->language->get('date_format_short')), 'date_end' => dateISO2Display(date('Y-m-d', time()), $this->language->get('date_format_short')))); $today_orders = $this->model_report_sale->getSaleReportSummary($data); $today_order_count = $today_orders['orders']; $today_sales_amount = $this->currency->format($today_orders['total_amount'], $this->config->get('config_currency')); $this->view->assign('today_order_count', $today_order_count); $this->view->assign('today_sales_amount', $today_sales_amount); $this->loadModel('sale/customer'); $filter = array('date_added' => date('Y-m-d', time())); $today_customer_count = $this->model_sale_customer->getTotalCustomers(array('filter' => $filter)); $this->view->assign('today_customer_count', $today_customer_count); $this->loadModel('catalog/review'); $today_review_count = $this->model_catalog_review->getTotalToday(); $this->view->assign('today_review_count', $today_review_count); $this->processTemplate('common/header.tpl'); //use to update data before render $this->extensions->hk_UpdateData($this, __FUNCTION__); }
if (!defined('DIR_CORE')) { header('Location: static_pages/'); } $registry = Registry::getInstance(); //Current extension text id from extension maanger $extension_txt_id = $name; $language_list = $this->model_localisation_language->getLanguages(); $lm = new ALayoutManager(); // block with button $block_data = array('block_txt_id' => 'default_pp_express_button', 'controller' => 'blocks/default_pp_express_button', 'templates' => array(array('parent_block_txt_id' => 'header_bottom', 'template' => 'blocks/default_pp_express_button.tpl'), array('parent_block_txt_id' => 'header', 'template' => 'blocks/default_pp_express_button.tpl'), array('parent_block_txt_id' => 'column_left', 'template' => 'blocks/default_pp_express_button.tpl'), array('parent_block_txt_id' => 'column_right', 'template' => 'blocks/default_pp_express_button.tpl'), array('parent_block_txt_id' => 'content_top', 'template' => 'blocks/default_pp_express_button.tpl'), array('parent_block_txt_id' => 'content_bottom', 'template' => 'blocks/default_pp_express_button.tpl'), array('parent_block_txt_id' => 'footer_top', 'template' => 'blocks/default_pp_express_button.tpl'), array('parent_block_txt_id' => 'footer', 'template' => 'blocks/default_pp_express_button.tpl'))); $lm->saveBlock($block_data); // paypal banner block $block_data = array('block_txt_id' => 'default_pp_express_bml_button', 'controller' => 'blocks/default_pp_express_button', 'templates' => array(array('parent_block_txt_id' => 'column_left', 'template' => 'blocks/default_pp_express_bml_button_lr.tpl'), array('parent_block_txt_id' => 'column_right', 'template' => 'blocks/default_pp_express_bml_button_lr.tpl'), array('parent_block_txt_id' => 'footer_top', 'template' => 'blocks/default_pp_express_bml_button_fb.tpl'), array('parent_block_txt_id' => 'footer', 'template' => 'blocks/default_pp_express_bml_button_fb.tpl'), array('parent_block_txt_id' => 'header_bottom', 'template' => 'blocks/default_pp_express_bml_button_fb.tpl'))); $lm->saveBlock($block_data); $rm = new AResourceManager(); $rm->setType('image'); $result = copy(DIR_EXT . 'default_pp_express/image/secure_paypal_icon.jpg', DIR_RESOURCE . 'image/secure_paypal_icon.jpg'); $resource = array('language_id' => $this->config->get('storefront_language_id'), 'name' => array(), 'title' => array(), 'description' => array(), 'resource_path' => 'secure_paypal_icon.jpg', 'resource_code' => ''); foreach ($language_list as $lang) { $resource['name'][$lang['language_id']] = 'secure_paypal_icon.jpg'; $resource['title'][$lang['language_id']] = 'default_pp_express_default_storefront_icon'; $resource['description'][$lang['language_id']] = 'PayPal Express Checkout Default Storefront Icon'; } $resource_id = $rm->addResource($resource); if ($resource_id) { // get hexpath of resource (RL moved given file from rl-image-directory in own dir tree) $resource_info = $rm->getResource($resource_id, $this->config->get('admin_language_id')); // write it path in settings (array from parent method "install" of extension manager) $settings['default_pp_express_payment_storefront_icon'] = 'image/' . $resource_info['resource_path']; } $settings['default_pp_express_custom_logo'] = $this->config->get('config_logo');
private function _getChildItems($item_id, $menu_items) { $rm = new AResourceManager(); $rm->setType('image'); $result = array(); foreach ($menu_items as $item) { if ($item['parent_id'] == $item_id && isset($item['item_id'])) { if (isset($item['language'])) { $this->loadLanguage($item['language'], 'silent'); } $childen = $this->_getChildItems($item['item_id'], $menu_items); $rt = ''; $menu_link = ''; if (preg_match("/(http|https):/", $item['item_url'])) { $menu_link = $item['item_url']; } else { if ($item['item_url']) { //rt based link, need to save rt $menu_link = $this->html->getSecureURL($item['item_url'], '', true); $rt = $item['item_url']; } } $link_keyname = strpos($item['item_url'], "http") ? "onclick" : "href"; $icon = $rm->getResource($item['item_icon_rl_id']); $icon = $icon['resource_code'] ? $icon['resource_code'] : ''; $temp = array('id' => $item['item_id'], $link_keyname => $menu_link, 'text' => $this->language->get($item['item_text']), 'icon' => $icon); if ($rt) { $temp['rt'] = $rt; } if ($childen) { $temp['children'] = $childen; } $result[$item['item_id']] = $temp; } } return $result; }
public function get_resource_preview() { $rm = new AResourceManager(); $result = $rm->getResource($this->request->get['resource_id'], $this->config->get('storefront_language_id')); if (!empty($result)) { $rm->setType($result['type_name']); if (!empty($result['resource_code'])) { if (strpos($result['resource_code'], "http") === 0) { $this->redirect($result['resource_code']); } else { $this->response->setOutput($result['resource_code']); } } else { $file_path = DIR_RESOURCE . $rm->getTypeDir() . $result['resource_path']; $result['name'] = pathinfo($result['name'], PATHINFO_FILENAME); if (file_exists($file_path) && ($fd = fopen($file_path, "r"))) { $fsize = filesize($file_path); $path_parts = pathinfo($file_path); $this->response->addHeader('Content-type: ' . mime_content_type($path_parts["basename"])); $this->response->addHeader("Content-Disposition: filename=\"" . $result['name'] . '.' . $path_parts["extension"] . "\""); $this->response->addHeader("Content-length: {$fsize}"); $this->response->addHeader("Cache-control: private"); //use this to open files directly $buffer = ''; while (!feof($fd)) { $buffer .= fread($fd, 32768); } $this->response->setOutput($buffer); } else { $this->response->setOutput($this->language->get('text_no_resources')); } fclose($fd); } } else { $this->response->setOutput($this->language->get('text_no_resources')); } }