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));
 }
示例#3
0
 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');
示例#5
0
 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'));
     }
 }