本文整理汇总了PHP中AResource::getResource方法的典型用法代码示例。如果您正苦于以下问题:PHP AResource::getResource方法的具体用法?PHP AResource::getResource怎么用?PHP AResource::getResource使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AResource
的用法示例。
在下文中一共展示了AResource::getResource方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: main
/**
* NOTE: main() is bootup method
*/
public function main()
{
// if embedding disabled or enabled maintenance mode - return empty
if (!$this->config->get('config_embed_status') || $this->config->get('config_maintenance')) {
return null;
}
$this->extensions->hk_InitData($this, __FUNCTION__);
//check is third-party cookie allowed
if (!isset($this->request->cookie[SESSION_ID])) {
$this->data['test_cookie'] = true;
}
if (isset($this->request->server['HTTPS']) && ($this->request->server['HTTPS'] == 'on' || $this->request->server['HTTPS'] == '1')) {
$this->view->assign('base', HTTPS_SERVER);
} else {
$this->view->assign('base', HTTP_SERVER);
}
$this->view->assign('store_name', $this->config->get('store_name'));
$icon_rl = $this->config->get('config_icon');
if ($icon_rl) {
//see if we have a resource ID or path
if (is_numeric($icon_rl)) {
$resource = new AResource('image');
$image_data = $resource->getResource($icon_rl);
if (is_file(DIR_RESOURCE . $image_data['image'])) {
$icon_rl = 'resources/' . $image_data['image'];
} else {
$icon_rl = $image_data['resource_code'];
}
} else {
if (!is_file(DIR_RESOURCE . $icon_rl)) {
$icon_rl = '';
}
}
}
$this->view->assign('icon', $icon_rl);
$this->data['abc_embed_test_cookie_url'] = $this->html->getURL('r/embed/js/testcookie', '×tamp=' . time());
$this->loadLanguage('common/header');
$this->data['account'] = $this->html->getSecureURL('r/account/account');
$this->data['logged'] = $this->customer->isLogged();
$this->data['login'] = $this->html->getSecureURL('r/account/login');
$this->data['logout'] = $this->html->getURL('r/account/logout');
$this->data['cart'] = $this->html->getURL('r/checkout/cart/embed');
$this->data['checkout'] = $this->html->getSecureURL('r/checkout/shipping');
$this->data['embed_click_action'] = $this->config->get('config_embed_click_action');
$this->view->setTemplate('embed/js.tpl');
$this->view->batchAssign($this->data);
$this->_set_js_http_headers();
$this->processTemplate();
//init controller data
$this->extensions->hk_UpdateData($this, __FUNCTION__);
}
示例2: main
public function main()
{
//init controller data
$this->extensions->hk_InitData($this, __FUNCTION__);
$this->loadLanguage('catalog/files');
$this->document->setTitle($this->language->get('heading_title'));
$this->loadModel('catalog/product');
$this->loadModel('catalog/download');
$product_id = $this->request->get['product_id'];
if (!$product_id) {
$this->redirect($this->html->getSecureURL('catalog/product'));
}
if (has_value($product_id) && $this->request->is_GET()) {
$product_info = $this->model_catalog_product->getProduct($product_id);
if (!$product_info) {
$this->session->data['warning'] = $this->language->get('error_product_not_found');
$this->redirect($this->html->getSecureURL('catalog/product'));
}
// remove
if (has_value($this->request->get['act']) && $this->request->get['act'] == 'delete') {
$download_info = $this->model_catalog_download->getDownload($this->request->get['download_id']);
$map_list = $this->model_catalog_download->getDownloadMapList($this->request->get['download_id']);
if (sizeof($map_list) == 1 && key($map_list) == $product_id || $download_info['shared'] != 1) {
$this->model_catalog_download->deleteDownload($this->request->get['download_id']);
} else {
$this->model_catalog_download->unmapDownload($this->request->get['download_id'], $product_id);
}
$this->session->data['success'] = $this->language->get('text_success_remove');
$this->redirect($this->html->getSecureURL('catalog/product_files', '&product_id=' . $product_id));
}
}
//Downloads disabled. Warn user
if (!$this->config->get('config_download')) {
$this->error['warning'] = $this->html->convertLinks($this->language->get('error_downloads_disabled'));
}
if ($this->request->is_POST() && $this->_validateForm()) {
foreach ($this->request->post['selected'] as $id) {
$this->model_catalog_download->mapDownload($id, $product_id);
}
$this->session->data['success'] = $this->language->get('text_map_success');
$this->redirect($this->html->getSecureURL('catalog/product_files', '&product_id=' . $product_id));
}
$this->view->assign('error_warning', $this->error['warning']);
$this->view->assign('success', $this->session->data['success']);
if (isset($this->session->data['success'])) {
unset($this->session->data['success']);
}
$this->data['product_description'] = $this->model_catalog_product->getProductDescriptions($product_id);
$this->document->initBreadcrumb(array('href' => $this->html->getSecureURL('index/home'), 'text' => $this->language->get('text_home'), 'separator' => FALSE));
$this->document->addBreadcrumb(array('href' => $this->html->getSecureURL('catalog/product'), 'text' => $this->language->get('heading_title'), 'separator' => ' :: '));
$this->document->addBreadcrumb(array('href' => $this->html->getSecureURL('catalog/product/update', '&product_id=' . $product_id), 'text' => $this->language->get('text_edit') . ' ' . $this->language->get('text_product') . ' - ' . $this->data['product_description'][$this->session->data['content_language_id']]['name'], 'separator' => ' :: '));
$this->document->addBreadcrumb(array('href' => $this->html->getSecureURL('catalog/product_files', '&product_id=' . $product_id), 'text' => $this->language->get('tab_files'), 'separator' => ' :: ', 'current' => true));
$this->data['active'] = 'files';
//load tabs controller
$tabs_obj = $this->dispatch('pages/catalog/product_tabs', array($this->data));
$this->data['product_tabs'] = $tabs_obj->dispatchGetOutput();
unset($tabs_obj);
$this->loadModel('catalog/download');
$this->data['downloads'] = array();
$this->data['product_files'] = $this->model_catalog_download->getProductDownloadsDetails($product_id);
$rl = new AResource('download');
$rl_dir = $rl->getTypeDir();
foreach ($this->data['product_files'] as &$file) {
$resource_id = $rl->getIdFromHexPath(str_replace($rl_dir, '', $file['filename']));
$resource_info = $rl->getResource($resource_id);
$thumbnail = $rl->getResourceThumb($resource_id, $this->config->get('config_image_grid_width'), $this->config->get('config_image_grid_height'));
if ($resource_info['resource_path']) {
$file['icon'] = $this->html->buildResourceImage(array('url' => $thumbnail, 'width' => $this->config->get('config_image_grid_width'), 'height' => $this->config->get('config_image_grid_height'), 'attr' => 'alt="' . $resource_info['title'] . '"'));
} else {
$file['icon'] = $resource_info['resource_code'];
}
$file['status'] = $file['status'] ? $this->language->get('text_enabled') : $this->language->get('text_disabled');
$file['button_edit'] = $this->html->buildElement(array('type' => 'button', 'text' => $this->language->get('button_edit'), 'href' => $this->html->getSecureURL('r/product/product/buildDownloadForm', '&product_id=' . $product_id . '&download_id=' . $file['download_id'])));
$map_list = $this->model_catalog_download->getDownloadMapList($file['download_id']);
if (sizeof($map_list) == 1 && key($map_list) == $product_id || $file['shared'] != 1) {
$text = $this->language->get('button_delete');
$icon = 'fa-trash-o';
} else {
$text = $this->language->get('button_unmap');
$icon = 'fa-chain-broken';
}
$file['button_delete'] = $this->html->buildElement(array('type' => 'button', 'text' => $text, 'href' => $this->html->getSecureURL('catalog/product_files', '&act=delete&product_id=' . $product_id . '&download_id=' . $file['download_id']), 'icon' => $icon));
$orders_count = $this->model_catalog_download->getTotalOrdersWithProduct($product_id);
if ($orders_count) {
$file['push_to_customers'] = $this->html->buildElement(array('type' => 'button', 'name' => 'push_to_customers', 'text' => sprintf($this->language->get('text_push_to_orders'), $orders_count), 'title' => $this->language->get('text_push'), 'icon' => 'fa-share-alt-square', 'href' => $this->html->getSecureURL('catalog/product_files/pushToCustomers', '&product_id=' . $product_id . '&download_id=' . $file['download_id']), 'attr' => 'data-orders-count="' . $orders_count . '"'));
}
}
unset($file);
$this->data['button_add_file'] = $this->html->buildElement(array('type' => 'button', 'text' => $this->language->get('text_add_file'), 'href' => $this->html->getSecureURL('r/product/product/buildDownloadForm', '&product_id=' . $product_id)));
if ($this->config->get('config_embed_status')) {
$this->data['embed_url'] = $this->html->getSecureURL('common/do_embed/product', '&product_id=' . $product_id);
}
$this->addChild('pages/catalog/product_summary', 'summary_form', 'pages/catalog/product_summary.tpl');
$this->view->assign('help_url', $this->gen_help_url('product_files'));
$this->view->assign('form_language_switch', $this->html->getContentLanguageSwitcher());
$this->view->batchAssign($this->data);
$this->processTemplate('pages/catalog/product_files.tpl');
//update controller data
$this->extensions->hk_UpdateData($this, __FUNCTION__);
}
示例3: main
public function main()
{
//init controller data
$this->extensions->hk_InitData($this, __FUNCTION__);
$language_id = $this->session->data['content_language_id'];
$this->loadLanguage('design/menu');
$this->loadModel('tool/image');
$model = $this->model_tool_image;
$page = $this->request->post['page'];
// get the requested page
if ((int) $page < 0) {
$page = 0;
}
$limit = $this->request->post['rows'];
// get how many rows we want to have into the grid
$sidx = $this->request->post['sidx'];
// get index row - i.e. user click to sort
$sord = $this->request->post['sord'];
// get the direction
$search_str = '';
//process custom search form
$this->menu = new AMenu_Storefront();
$menu_items = $this->menu->getMenuItems();
$new_level = 0;
$leafnodes = array();
//get all leave menus
$leafnodes = $this->menu->getLeafMenus();
//build parent id
$menu_parent_id = '';
if ($this->request->get['parent_id']) {
$menu_parent_id = $this->request->get['parent_id'];
} else {
if ($this->request->post['nodeid']) {
$menu_parent_id = $this->request->post['nodeid'];
$new_level = (int) $this->request->post["n_level"] + 1;
}
}
if (!empty($menu_parent_id)) {
$menu_items = $menu_items[$menu_parent_id];
} else {
$menu_items = $menu_items[""];
}
//sort
$allowedSort = array('item_id', 'item_text', 'sort_order');
$allowedDirection = array(SORT_ASC => 'asc', SORT_DESC => 'desc');
if (!in_array($sidx, $allowedSort)) {
$sidx = $allowedSort[0];
}
if (!in_array($sord, $allowedDirection)) {
$sord = SORT_ASC;
} else {
$sord = array_search($sord, $allowedDirection);
}
$sort = array();
$total = count($menu_items);
$response = new stdClass();
if ($total > 0) {
foreach ($menu_items as $item) {
if ($sidx == 'item_text') {
$sort[] = $item[$sidx][$language_id];
} else {
$sort[] = $item[$sidx];
}
}
array_multisort($sort, $sord, $menu_items);
$total_pages = ceil($total / $limit);
$results = array_slice($menu_items, ($page - 1) * -$limit, $limit);
$i = 0;
$ar = new AResource('image');
foreach ($results as $result) {
$resource = $ar->getResource($result['item_icon_rl_id']);
if ($resource['resource_path'] || !$resource['resource_code']) {
$thumb = $ar->getResourceThumb($result['item_icon_rl_id'], (int) $this->config->get('config_image_grid_width'), (int) $this->config->get('config_image_grid_height'));
$icon = '<img src="' . $thumb . '" alt="" />';
} elseif ($resource['resource_code']) {
$icon = '<i class="fa fa-code fa-2x"></i>';
}
$response->rows[$i]['id'] = $result['item_id'];
$response->rows[$i]['cell'] = array($icon, $result['item_id'], $result['item_text'][$language_id], $this->html->buildInput(array('name' => 'sort_order[' . $result['item_id'] . ']', 'value' => $result['sort_order'])), 'action', $new_level, $menu_parent_id ? $menu_parent_id : NULL, $result['item_id'] == $leafnodes[$result['item_id']] ? true : false, false);
$i++;
}
} else {
$total_pages = 0;
}
$response->page = $page;
$response->total = $total_pages;
$response->records = $total;
//update controller data
$this->extensions->hk_UpdateData($this, __FUNCTION__);
$this->load->library('json');
$this->response->setOutput(AJson::encode($response));
}
示例4: getDefaultSettings
public function getDefaultSettings()
{
$result = array();
if (isset($this->config->settings->item)) {
foreach ($this->config->settings->item as $item) {
if ((string) $item['id'] == $this->name . '_status') {
continue;
}
if (in_array((string) $item->type, array('checkboxgroup', 'multiselectbox'))) {
$value = (string) $item->default_value;
} else {
$value = $this->registry->get('html')->convertLinks(htmlentities((string) $item->default_value, ENT_QUOTES, 'UTF-8'));
}
if ((string) $item->type == 'resource' && $value) {
$resource = new AResource((string) $item->resource_type);
$resource_id = $resource->getIdFromHexPath(str_replace((string) $item->resource_type, '', $value));
$resource_info = $resource->getResource($resource_id);
$value = (string) $item->resource_type . '/' . $resource_info['resource_path'];
}
$result[(string) $item['id']] = $value;
}
}
return $result;
}
示例5: buildStoreFrontMenuTree
function buildStoreFrontMenuTree($menu_array, $level = 0)
{
$menu_array = (array) $menu_array;
if (!$menu_array) {
return '';
}
$result = '';
//for submenus build new UL node
if ($level > 0) {
$result .= "<ul class='sub_menu dropdown-menu'>\r\n";
}
$registry = Registry::getInstance();
$logged = $registry->get('customer')->isLogged();
$ar = new AResource('image');
foreach ($menu_array as $item) {
if ($logged && $item['id'] == 'login' || !$logged && $item['id'] == 'logout') {
continue;
}
//build appropriate menu id and classes for css controll
$id = empty($item['id']) ? '' : ' data-id="menu_' . $item['id'] . '" ';
// li ID
if ($level != 0) {
if (empty($item['children'])) {
$class = $item['icon'] ? ' class="top nobackground"' : ' class="sub menu_' . $item['id'] . '" ';
} else {
$class = $item['icon'] ? ' class="parent nobackground" ' : ' class="parent menu_' . $item['id'] . '" ';
}
} else {
$class = $item['icon'] ? ' class="top nobackground"' : ' class="top menu_' . $item['id'] . '" ';
}
$href = empty($item['href']) ? '' : ' href="' . $item['href'] . '" ';
//construct HTML
$current = '';
if ($item['current']) {
$current = 'current';
}
$result .= '<li ' . $id . ' class="dropdown ' . $current . '">';
$result .= '<a ' . $class . $href . '>';
//check icon rl type html, image or none.
$rl_id = $item['icon_rl_id'];
if ($rl_id) {
$resource = $ar->getResource($rl_id);
if ($resource['resource_path'] && is_file(DIR_RESOURCE . 'image/' . $resource['resource_path'])) {
$result .= '<img class="menu_image" src="' . HTTPS_DIR_RESOURCE . 'image/' . $resource['resource_path'] . '" alt="" />';
} elseif ($resource['resource_code']) {
$result .= $resource['resource_code'];
}
}
$result .= '<span class="menu_text">' . $item['text'] . '</span></a>';
//if children build inner clild tree
if (!empty($item['children'])) {
$result .= "\r\n" . buildStoreFrontMenuTree($item['children'], $level + 1);
}
$result .= "</li>\r\n";
}
if ($level > 0) {
$result .= "</ul>\r\n";
}
return $result;
}
示例6: main
public function main()
{
//init controller data
$this->extensions->hk_InitData($this, __FUNCTION__);
//run system check to make sure system is stable to run the request
//for storefront log messages. nothing is shown to users
run_system_check($this->registry, 'log');
$this->loadLanguage('common/header');
$this->view->assign('title', $this->document->getTitle());
$this->view->assign('keywords', $this->document->getKeywords());
$this->view->assign('description', $this->document->getDescription());
$this->view->assign('template', $this->config->get('config_storefront_template'));
$retina = $this->config->get('config_retina_enable');
$this->view->assign('retina', $retina);
//remove cookie for retina
if (!$retina) {
$this->request->deleteCookie('HTTP_IS_RETINA');
}
if (isset($this->request->server['HTTPS']) && ($this->request->server['HTTPS'] == 'on' || $this->request->server['HTTPS'] == '1')) {
$this->view->assign('base', HTTPS_SERVER);
} else {
$this->view->assign('base', HTTP_SERVER);
}
$icon_rl = $this->config->get('config_icon');
//see if we have a resource ID or path
if ($icon_rl) {
if (is_numeric($icon_rl)) {
$resource = new AResource('image');
$image_data = $resource->getResource($icon_rl);
if (is_file(DIR_RESOURCE . $image_data['image'])) {
$icon_rl = 'resources/' . $image_data['image'];
} else {
$icon_rl = $image_data['resource_code'];
}
} else {
if (!is_file(DIR_RESOURCE . $icon_rl)) {
$this->messages->saveWarning('Check favicon.', 'Warning: please check favicon in your store settings. Current path is "' . DIR_RESOURCE . $icon_rl . '" but file does not exists.');
$icon_rl = '';
}
}
}
$this->view->assign('icon', $icon_rl);
$this->view->assign('lang', $this->language->get('code'));
$this->view->assign('direction', $this->language->get('direction'));
$this->view->assign('links', $this->document->getLinks());
$this->view->assign('styles', $this->document->getStyles());
$this->view->assign('scripts', $this->document->getScripts());
$this->view->assign('breadcrumbs', $this->document->getBreadcrumbs());
$this->view->assign('store', $this->config->get('store_name'));
if (isset($this->request->server['HTTPS']) && ($this->request->server['HTTPS'] == 'on' || $this->request->server['HTTPS'] == '1')) {
$this->view->assign('ssl', 1);
}
$this->view->assign('cart_url', $this->html->getURL('checkout/cart'));
$this->view->assign('cart_ajax', (int) $this->config->get('config_cart_ajax'));
$this->view->assign('cart_ajax_url', $this->html->getURL('r/product/product/addToCart'));
$this->view->assign('search_url', $this->html->getURL('product/search'));
$this->view->assign('call_to_order_url', $this->html->getURL('content/contact'));
//load template debug resources if needed
$this->view->assign('template_debug_mode', $this->config->get('storefront_template_debug'));
$this->processTemplate('common/head.tpl');
//init controller data
$this->extensions->hk_UpdateData($this, __FUNCTION__);
}
示例7: main
public function main()
{
//init controller data
$this->extensions->hk_InitData($this, __FUNCTION__);
$this->data['title'] = $this->document->getTitle();
$this->data['template'] = $this->config->get('config_storefront_template');
$this->data['breadcrumbs'] = $this->document->getBreadcrumbs();
$this->data['store'] = $this->config->get('store_name');
$this->data['logo'] = $this->config->get('config_logo');
//see if we have a resource ID
if (is_numeric($this->data['logo'])) {
$resource = new AResource('image');
$image_data = $resource->getResource($this->data['logo']);
if (is_file(DIR_RESOURCE . $image_data['image'])) {
$this->data['logo'] = 'resources/' . $image_data['image'];
} else {
$this->data['logo'] = $image_data['resource_code'];
}
}
$this->data['text_special'] = $this->language->get('text_special');
$this->data['text_contact'] = $this->language->get('text_contact');
$this->data['text_sitemap'] = $this->language->get('text_sitemap');
$this->data['text_bookmark'] = $this->language->get('text_bookmark');
$this->data['text_category'] = $this->language->get('text_category');
$this->data['text_advanced'] = $this->language->get('text_advanced');
$this->data['entry_search'] = $this->language->get('entry_search');
$this->data['button_go'] = $this->language->get('button_go');
$this->data['homepage'] = HTTPS === true ? $this->config->get('config_ssl_url') : $this->config->get('config_url');
$this->data['special'] = $this->html->getURL('product/special');
$this->data['contact'] = $this->html->getURL('content/contact');
$this->data['sitemap'] = $this->html->getURL('content/sitemap');
$this->data['logged'] = $this->customer->isLogged();
$this->data['checkout'] = $this->html->getSecureURL('checkout/shipping');
if (isset($this->request->get['category_id'])) {
$this->data['category_id'] = $this->request->get['category_id'];
} elseif (isset($this->request->get['path'])) {
$path = explode('_', $this->request->get['path']);
$this->data['category_id'] = end($path);
} else {
$this->data['category_id'] = '';
}
$this->data['advanced'] = $this->html->getURL('product/search');
$this->data['action'] = $this->html->getURL('index/home');
if (!isset($this->request->get['rt'])) {
$this->data['redirect'] = $this->html->getURL('index/home');
} else {
$this->loadModel('tool/seo_url');
$data = $this->request->get;
unset($data['_route_']);
$route = $data['rt'];
unset($data['rt']);
$url = '';
if ($data) {
$url = '&' . urldecode(http_build_query($data));
}
$this->data['redirect'] = $this->html->getSEOURL($route, $url, '&encode');
}
$this->data['language_code'] = $this->session->data['language'];
$this->data['languages'] = array();
$this->data['languages'] = $this->language->getActiveLanguages();
$this->data['currency_code'] = $this->currency->getCode();
$this->loadModel('localisation/currency');
$this->data['currencies'] = array();
$this->data['search'] = $this->html->buildInput(array('name' => 'filter_keyword', 'value' => isset($this->request->get['keyword']) ? $this->request->get['keyword'] : $this->language->get('text_keyword'), 'attr' => !isset($this->request->get['keyword']) ? ' onclick="this.value=\'\'" ' : ''));
$results = $this->model_localisation_currency->getCurrencies();
foreach ($results as $result) {
if ($result['status']) {
$this->data['currencies'] = array('title' => $result['title'], 'code' => $result['code']);
}
}
$this->view->batchAssign($this->data);
$this->processTemplate('common/header.tpl');
//init controller data
$this->extensions->hk_UpdateData($this, __FUNCTION__);
}
示例8: main
public function main()
{
//init controller data
$this->extensions->hk_InitData($this, __FUNCTION__);
//if enabled system check for all 0 or for storefront only 2
if (!$this->config->get('config_system_check') || $this->config->get('config_system_check') == 2) {
//run system check to make sure system is stable to run the request
//for storefront log messages. nothing is shown to users
run_system_check($this->registry, 'log');
}
$this->loadLanguage('common/header');
$this->view->assign('title', $this->document->getTitle());
$this->view->assign('keywords', $this->document->getKeywords());
$this->view->assign('description', $this->document->getDescription());
$this->view->assign('template', $this->config->get('config_storefront_template'));
$this->view->assign('retina', $this->config->get('config_retina_enable'));
if (isset($this->request->server['HTTPS']) && ($this->request->server['HTTPS'] == 'on' || $this->request->server['HTTPS'] == '1')) {
$this->view->assign('base', HTTPS_SERVER);
} else {
$this->view->assign('base', HTTP_SERVER);
}
$icon_rl = $this->config->get('config_icon');
if ($icon_rl) {
//see if we have a resource ID or path
if (is_numeric($icon_rl)) {
$resource = new AResource('image');
$image_data = $resource->getResource($icon_rl);
if (is_file(DIR_RESOURCE . $image_data['image'])) {
$icon_rl = 'resources/' . $image_data['image'];
} else {
$icon_rl = $image_data['resource_code'];
}
} else {
if (!is_file(DIR_RESOURCE . $icon_rl)) {
$this->messages->saveWarning('Check favicon.', 'Warning: please check favicon in your store settings. Current path is "' . DIR_RESOURCE . $icon_rl . '" but file does not exists.');
$icon_rl = '';
}
}
}
$this->view->assign('icon', $icon_rl);
$this->view->assign('lang', $this->language->get('code'));
$this->view->assign('direction', $this->language->get('direction'));
$this->view->assign('links', $this->document->getLinks());
$this->view->assign('styles', $this->document->getStyles());
$this->view->assign('scripts', $this->document->getScripts());
$this->view->assign('breadcrumbs', $this->document->getBreadcrumbs());
$this->view->assign('store', $this->config->get('store_name'));
if (isset($this->request->server['HTTPS']) && ($this->request->server['HTTPS'] == 'on' || $this->request->server['HTTPS'] == '1')) {
$this->view->assign('ssl', 1);
}
$this->view->assign('cart_url', $this->html->getURL('checkout/cart'));
$this->view->assign('cart_ajax', (int) $this->config->get('config_cart_ajax'));
$this->view->assign('cart_ajax_url', $this->html->getURL('r/product/product/addToCart'));
$this->view->assign('search_url', $this->html->getURL('product/search'));
$this->view->assign('call_to_order_url', $this->html->getURL('content/contact'));
//load template debug resources if needed
$this->view->assign('template_debug_mode', $this->config->get('storefront_template_debug'));
$this->processTemplate('common/head.tpl');
//Log Online Customers
$ip = '';
if (isset($this->request->server['REMOTE_ADDR'])) {
$ip = $this->request->server['REMOTE_ADDR'];
}
$url = '';
if (isset($this->request->server['HTTP_HOST']) && isset($this->request->server['REQUEST_URI'])) {
$url = 'http://' . $this->request->server['HTTP_HOST'] . $this->request->server['REQUEST_URI'];
}
$referer = '';
if (isset($this->request->server['HTTP_REFERER'])) {
$referer = $this->request->server['HTTP_REFERER'];
}
$customer_id = '';
if (is_object($this->customer)) {
$customer_id = $this->customer->getId();
}
$this->loadModel('tool/online_now');
$this->model_tool_online_now->setOnline($ip, $customer_id, $url, $referer);
//init controller data
$this->extensions->hk_UpdateData($this, __FUNCTION__);
}
示例9: getResource
/**
* @param int $resource_id
* @param int $language_id
* @return array|null
*/
public function getResource($resource_id, $language_id = 0)
{
if (!$resource_id) {
return null;
}
if ($language_id) {
return parent::getResource($resource_id, $language_id);
}
$languages = $this->language->getAvailableLanguages();
$resource = parent::getResource($resource_id);
unset($resource['name'], $resource['title'], $resource['description']);
foreach ($languages as $lang) {
$result = parent::getResource($resource_id, $lang['language_id']);
$resource['name'][$lang['language_id']] = $result['name'];
$resource['title'][$lang['language_id']] = $result['title'];
$resource['description'][$lang['language_id']] = $result['description'];
}
return $resource;
}
示例10: getHtml
public function getHtml()
{
if (empty($this->rl_type)) {
throw new AException(AC_ERR_LOAD, 'Error: Could not load HTML element of resource library. Resource type not given!');
}
$data = array('id' => $this->element_id, 'wrapper_id' => $this->element_id . '_wrapper', 'name' => $this->name, 'resource_path' => $this->resource_path, 'resource_id' => $this->resource_id, 'object_name' => $this->object_name, 'object_id' => $this->object_id, 'rl_type' => $this->rl_type, 'hide' => $this->hide ? true : false);
if (!$data['resource_id'] && $data['resource_path']) {
$path = ltrim($data['resource_path'], $data['rl_type'] . '/');
$r = new AResource($data['rl_type']);
$data['resource_id'] = $r->getIdFromHexPath($path);
}
if ($data['resource_id'] && !$data['resource_path']) {
$r = new AResource($data['rl_type']);
$info = $r->getResource($data['resource_id']);
$data['resource_path'] = $data['rl_type'] . '/' . $info['resource_path'];
}
$this->view->batchAssign($data);
return $this->view->fetch('form/resource.tpl');
}
示例11: getSettingImage
public function getSettingImage($rl_image)
{
$image_data = array();
if (!has_value($rl_image)) {
return array();
}
$resource = new AResource('image');
if (is_numeric($rl_image)) {
// consider this is a pure image resource ID
$image_data = $resource->getResource($rl_image);
} else {
$image_data = $resource->getResource($resource->getIdFromHexPath(str_replace('image/', '', $rl_image)));
}
return $image_data;
}
示例12: _json_response
private function _json_response()
{
// json-response for jqgrid
$this->loadLanguage('catalog/download');
$this->loadModel('catalog/download');
$excludes = $this->session->data['multivalue_excludes'];
$grid_filter_params = array('name');
// if need to show all downloads of product
if ($this->request->get['product_id']) {
$additional_filter_string = sizeof($excludes) ? "AND p2d.download_id NOT IN (" . implode(', ', $excludes) . ")" : '';
if (isset($this->request->get['shared_only'])) {
$additional_filter_string .= 'AND shared=1';
}
$filter_grid = new AFilter(array('method' => 'post', 'grid_filter_params' => $grid_filter_params, 'additional_filter_string' => $additional_filter_string));
$results = $this->model_catalog_download->getProductDownloadsDetails($this->request->get['product_id'], $filter_grid->getFilterData());
$total = sizeof($results);
} else {
//Prepare filter config
$additional_filter_string = sizeof($excludes) ? " d.download_id NOT IN (" . implode(', ', $excludes) . ")" : '';
if (isset($this->request->get['shared_only'])) {
$additional_filter_string .= 'AND shared=1';
}
$filter_grid = new AFilter(array('method' => 'post', 'grid_filter_params' => $grid_filter_params, 'additional_filter_string' => $additional_filter_string));
$total = $this->model_catalog_download->getTotalDownloads($filter_grid->getFilterData());
$results = $this->model_catalog_download->getDownloads($filter_grid->getFilterData());
}
$response = new stdClass();
$response->page = $filter_grid->getParam('page');
$response->total = $filter_grid->calcTotalPages($total);
$response->records = $total;
$i = 0;
$response->userdata = (object) array('page' => $page);
$data_type = 'download_id';
$rl = new AResource('download');
$rl_dir = $rl->getTypeDir();
if ($results) {
foreach ($results as $result) {
$resource_id = $rl->getIdFromHexPath(str_replace($rl_dir, '', $result['filename']));
$resource_info = $rl->getResource($resource_id);
$thumbnail = $rl->getResourceThumb($resource_id, 27, 27);
if ($resource_info['resource_path']) {
$thumbnail = $this->html->buildResourceImage(array('url' => $thumbnail, 'width' => 27, 'height' => 27, 'attr' => 'alt="' . $resource_info['title'] . '"'));
} else {
$thumbnail = $resource_info['resource_code'];
}
$response->rows[$i]['id'] = $result['download_id'];
$response->rows[$i]['cell'] = array($thumbnail, $result['name'], '<a class="btn_action" href="JavaScript:void(0);"
onclick="showPopup(\'' . $this->html->getSecureURL('catalog/download/update', '&' . $data_type . '=' . $result[$data_type]) . '\')" title="' . $this->language->get('text_view') . '">' . '<img height="27" src="' . RDIR_TEMPLATE . 'image/icons/icon_grid_view.png" alt="' . $this->language->get('text_edit') . '" /></a>');
$i++;
}
}
$this->data['response'] = AJson::encode($response);
}
示例13: edit
//.........这里部分代码省略.........
$res = call_user_func(array($model, $method_name));
if ($res) {
$field1 = $item['field1'];
$field2 = $item['field2'];
foreach ($res as $opt) {
$data['options'][$opt[$field1]] = $opt[$field2];
}
}
}
}
if ($data['type'] == 'checkboxgroup' || $data['type'] == 'multiselectbox') {
#custom settings for multivalue
$data['scrollbox'] = 'true';
if (substr($item['name'], -2) != '[]') {
$data['name'] = $item['name'] . "[]";
}
}
break;
case 'resource':
$item['resource_type'] = (string) $item['resource_type'];
if (!$result['rl_scripts']) {
$scripts = $this->dispatch('responses/common/resource_library/get_resources_scripts', array('object_name' => '', 'object_id' => '', 'types' => $item['resource_type'], 'mode' => 'url'));
$result['rl_scripts'] = $scripts->dispatchGetOutput();
unset($scripts);
}
//preview of resource
$resource = new AResource($item['resource_type']);
$resource_id = $resource->getIdFromHexPath(str_replace($item['resource_type'] . '/', '', $item['value']));
$preview = $this->dispatch('responses/common/resource_library/get_resource_html_single', array('type' => 'image', 'wrapper_id' => $item['name'], 'resource_id' => $resource_id, 'field' => $item['name']));
$item['value'] = $preview->dispatchGetOutput();
if ($data['value']) {
$data = array('note' => $data['note'], 'name' => $item['name'], 'type' => 'hidden');
if ($resource_id) {
$resource_info = $resource->getResource($resource_id);
$data['value'] = $item['resource_type'] . '/' . $resource_info['resource_path'];
}
}
$result['resource_field_list'][$item['name']]['value'] = $item['value'];
$result['resource_field_list'][$item['name']]['resource_type'] = $item['resource_type'];
$result['resource_field_list'][$item['name']]['resource_id'] = $resource_id;
break;
default:
}
$item = HtmlElementFactory::create($data);
$result['html'][$data['name']] = array('note' => $data['note'], 'value' => $item->getHtml());
}
// end building aform
$this->data['settings'] = $result['html'];
$this->data['resource_field_list'] = $result['resource_field_list'];
$this->data['resource_edit_link'] = $this->data['resources_scripts'] = $result['rl_scripts'];
$this->data['target_url'] = $this->html->getSecureURL('extension/extensions/edit', '&extension=' . $extension . '&store_id=' . $store_id);
if (isset($this->request->get['restore']) && $this->request->get['restore']) {
$this->extension_manager->editSetting($extension, $ext->getDefaultSettings());
$this->cache->delete('settings.extension');
$this->session->data['success'] = $this->language->get('text_restore_success');
$this->redirect($this->data['target_url']);
}
if ($this->request->server['REQUEST_METHOD'] == 'POST' && $this->_validateSettings($extension, $store_id)) {
foreach ($settings as $item) {
if (!isset($this->request->post[$item['name']])) {
$this->request->post[$item['name']] = 0;
}
}
$this->extension_manager->editSetting($extension, $this->request->post);
$this->cache->delete('settings.extension');
$this->session->data['success'] = $this->language->get('text_success');
示例14: buildDownloadForm
/**
* @param array $file_data
* @param string $tpl
*/
public function buildDownloadForm($file_data, $tpl)
{
$this->data = array();
//init controller data
$this->extensions->hk_InitData($this, __FUNCTION__);
$this->loadLanguage('catalog/files');
$this->loadModel('localisation/order_status');
$this->loadModel('catalog/download');
$product_id = $file_data['product_id'];
$order_statuses = $this->model_localisation_order_status->getOrderStatuses();
$this->data['date_added'] = dateISO2Display($file_data['date_added'], $this->language->get('date_format_short') . ' ' . $this->language->get('time_format'));
$this->data['date_modified'] = dateISO2Display($file_data['date_modified'], $this->language->get('date_format_short') . ' ' . $this->language->get('time_format'));
$this->data['action'] = $this->html->getSecureURL('r/product/product/processDownloadForm', '&product_id=' . $product_id);
$this->data['form_title'] = $this->language->get('text_edit') . ' ' . $this->language->get('text_product');
$this->data['download_id'] = (int) $file_data['download_id'];
if ($this->data['download_id']) {
$form = new AForm('HS');
$this->data['update'] = $this->html->getSecureURL('listing_grid/download/update_field', '&id=' . $this->data['download_id']);
} else {
$form = new AForm('HT');
}
$form->setForm(array('form_name' => 'downloadFrm' . $file_data['download_id'], 'update' => $this->data['update']));
$this->data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'downloadFrm' . $file_data['download_id'], 'attr' => 'confirm-exit="true"', 'action' => $this->data['action']));
$this->data['form']['submit'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'submit', 'text' => (int) $this->data['download_id'] ? $this->language->get('button_save') : $this->language->get('text_add'), 'style' => 'button1'));
$this->data['form']['cancel'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'cancel', 'href' => $this->html->getSecureURL('catalog/product_files', '&product_id=' . $product_id), 'text' => $this->language->get('button_cancel'), 'style' => 'button2'));
$rl = new AResource('download');
$rl_dir = $rl->getTypeDir();
$resource_id = $rl->getIdFromHexPath(str_replace($rl_dir, '', $file_data['filename']));
$resource_info = $rl->getResource($resource_id);
$thumbnail = $rl->getResourceThumb($resource_id, 30, 30);
if ($resource_info['resource_path']) {
$this->data['icon'] = $this->html->buildResourceImage(array('url' => $thumbnail, 'width' => 30, 'height' => 30, 'attr' => 'alt="' . $resource_info['title'] . '"'));
} else {
$this->data['icon'] = $resource_info['resource_code'];
}
if ($resource_id) {
$this->data['preview']['href'] = $this->html->getSecureURL('common/resource_library/get_resource_preview', '&resource_id=' . $resource_id, true);
$this->data['preview']['path'] = 'resources/' . $file_data['filename'];
}
$r = $this->dispatch('responses/common/resource_library/get_resource_html_single', array('type' => 'download', 'wrapper_id' => 'download_' . (int) $this->data['download_id'], 'resource_id' => $resource_id, 'field' => 'download_rl_path_' . $this->data['download_id']));
$this->data['resource'] = $r->dispatchGetOutput();
$resources_scripts = $this->dispatch('responses/common/resource_library/get_resources_scripts', array('object_name' => 'downloads', 'object_id' => (int) $this->data['download_id'], 'types' => 'download', 'mode' => 'url'));
$this->data['resources_scripts'] = $resources_scripts->dispatchGetOutput();
$this->data['form']['fields']['download_rl_path'] = $form->getFieldHtml(array('type' => 'hidden', 'name' => 'download_rl_path_' . $this->data['download_id'], 'value' => htmlspecialchars($file_data['filename'], ENT_COMPAT, 'UTF-8')));
$this->data['form']['fields']['status'] = $form->getFieldHtml(array('type' => 'checkbox', 'name' => 'status', 'value' => 1, 'checked' => $file_data['status'] ? true : false, 'style' => 'btn_switch'));
$orders_count = $this->model_catalog_download->getTotalOrdersWithProduct($product_id);
if ($orders_count) {
$this->data['push_to_customers'] = $this->html->buildElement(array('type' => 'button', 'name' => 'push_to_customers', 'title' => sprintf($this->language->get('text_push_to_orders'), $orders_count), 'text' => $this->language->get('text_push'), 'href' => $this->html->getSecureURL('r/product/product/pushToCustomers', '&product_id=' . $product_id . '&download_id=' . $this->data['download_id']), 'style' => 'button2', 'attr' => 'data-orders-count="' . $orders_count . '"'));
}
$this->data['maplist'] = array();
$file_data['map_list'] = (array) $file_data['map_list'];
foreach ($file_data['map_list'] as $map_id => $map_name) {
if ($map_id == $product_id) {
continue;
}
$this->data['maplist'][] = array('href' => $this->html->getSecureURL('catalog/product_files', '&product_id=' . $map_id . '&download_id=' . $this->data['download_id'], true), 'text' => $map_name);
}
if (!sizeof($this->data['maplist'])) {
$this->data['already_shared'] = false;
} else {
$this->data['already_shared'] = true;
}
$this->data['delete_unmap_href'] = $this->html->getSecureURL('catalog/product_files', '&act=' . ($file_data['shared'] ? 'unmap' : 'delete') . '&product_id=' . $product_id . '&download_id=' . $this->data['download_id'], true);
$this->data['form']['fields']['shared'] = $form->getFieldHtml(array('type' => 'checkbox', 'name' => 'shared', 'value' => $file_data['shared'], 'attr' => $this->data['already_shared'] ? ' disabled=disabled' : ''));
if ($file_data['shared']) {
$this->data['text_attention_shared'] = $this->language->get('attention_shared');
}
$this->data['form']['fields']['download_id'] = $form->getFieldHtml(array('type' => 'hidden', 'name' => 'download_id', 'value' => $this->data['download_id']));
$this->data['form']['fields']['name'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'name', 'value' => $file_data['name'], 'attr' => ' maxlength="64" '));
$this->data['form']['fields']['mask'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'mask', 'value' => $file_data['mask']));
$this->data['form']['fields']['max_downloads'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'max_downloads', 'value' => $file_data['max_downloads'], 'style' => 'small-field'));
$this->data['form']['fields']['activate'] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => 'activate', 'value' => $file_data['activate'], 'options' => array('' => $this->language->get('text_select'), 'before_order' => $this->language->get('text_before_order'), 'immediately' => $this->language->get('text_immediately'), 'order_status' => $this->language->get('text_on_order_status'), 'manually' => $this->language->get('text_manually')), 'required' => true, 'style' => 'download_activate no-save'));
$options = array('' => $this->language->get('text_select'));
foreach ($order_statuses as $order_status) {
$options[$order_status['order_status_id']] = $order_status['name'];
}
$this->data['form']['fields']['order_statuses'] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => 'activate_order_status_id', 'value' => $file_data['activate_order_status_id'], 'options' => $options, 'required' => true, 'style' => 'no-save'));
$this->data['form']['fields']['sort_order'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'sort_order', 'style' => 'small-field', 'value' => $file_data['sort_order']));
$this->data['form']['fields']['expire_days'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'expire_days', 'style' => 'small-field', 'value' => $file_data['expire_days']));
/*
* DOWNLOAD ATTRIBUTES PIECE OF FORM
* */
$attributes = $this->model_catalog_download->getDownloadAttributes($this->data['download_id']);
$elements = HtmlElementFactory::getAvailableElements();
$html_multivalue_elements = HtmlElementFactory::getMultivalueElements();
$html_elements_with_options = HtmlElementFactory::getElementsWithOptions();
if (!$attributes) {
$attr_mng = new AAttribute_Manager('download_attribute');
$attr_type_id = $attr_mng->getAttributeTypeID('download_attribute');
$this->data['text_no_download_attributes_yet'] = sprintf($this->language->get('text_no_download_attributes_yet'), $this->html->getSecureURL('catalog/attribute/insert', '&attribute_type_id=' . $attr_type_id));
} else {
foreach ($attributes as $attribute) {
$html_type = $elements[$attribute['element_type']]['type'];
if (!$html_type || !$attribute['status']) {
continue;
}
//.........这里部分代码省略.........