示例#1
0
 public function main()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $this->document->setTitle($this->language->get('heading_title'));
     $this->document->initBreadcrumb();
     $this->document->addBreadcrumb(array('href' => $this->html->getSecureURL('index/home'), 'text' => $this->language->get('text_home'), 'separator' => FALSE));
     $this->document->addBreadcrumb(array('href' => $this->html->getSecureURL('tool/message_manager'), 'text' => $this->language->get('heading_title'), 'separator' => ' :: '));
     $grid_settings = array('table_id' => 'message_grid', 'url' => $this->html->getSecureURL('listing_grid/message_grid'), 'editurl' => $this->html->getSecureURL('listing_grid/message_grid/update'), 'update_field' => $this->html->getSecureURL('listing_grid/message_grid/update_field'), 'sortname' => 'status', 'actions' => array(), 'columns_search' => false, 'sortable' => true, 'multiaction_options' => array('delete' => $this->language->get('text_delete_selected')));
     $grid_settings['colNames'] = array($this->language->get('column_status'), $this->language->get('column_title'), $this->language->get('column_create_date'), $this->language->get('column_action'));
     $grid_settings['colModel'] = array(array('name' => 'status', 'index' => 'status', 'width' => 50, 'align' => 'center', 'sorttype' => 'string'), array('name' => 'title', 'index' => 'title', 'width' => 250, 'align' => 'left', 'sorttype' => 'string'), array('name' => 'create_date', 'index' => 'create_date', 'width' => 70, 'align' => 'center', 'sorttype' => 'string'), array('name' => 'action', 'index' => 'action', 'width' => 70, 'align' => 'center', 'sorttype' => 'string'));
     $form = new AForm('ff');
     $grid = $this->dispatch('common/listing_grid', array($grid_settings));
     $this->view->assign('listing_grid', $grid->dispatchGetOutput());
     $this->view->assign('popup_action', $this->html->getSecureURL('listing_grid/message_grid/update'));
     $this->view->assign('notifier', $this->html->getSecureURL('listing_grid/message_grid/getNotify'));
     $this->view->assign('status', $this->language->get('text_status'));
     $this->view->assign('status_field', $form->getFieldHtml(array('type' => 'input', 'name' => 'msg_status', 'id' => 'msg_status', 'attr' => 'disabled readonly ')));
     $this->view->assign('create_date', $this->language->get('text_date'));
     $this->view->assign('create_date_field', $form->getFieldHtml(array('type' => 'input', 'name' => 'msg_create_date', 'id' => 'msg_create_date', 'attr' => 'disabled readonly ')));
     $this->view->assign('repeats', $this->language->get('text_repeats'));
     $this->view->assign('repeat_field', $form->getFieldHtml(array('type' => 'input', 'name' => 'msg_repeat', 'id' => 'msg_repeat', 'attr' => 'disabled readonly ')));
     $this->view->assign('delete', $this->language->get('text_delete'));
     $this->view->assign('close', $this->language->get('text_close'));
     $this->view->assign('confirm', $this->language->get('text_confirm'));
     $this->view->batchAssign($this->language->getASet());
     $this->view->assign('help_url', $this->gen_help_url());
     $this->processTemplate('pages/tool/message_manager.tpl');
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
示例#2
0
 public function main()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $this->document->setTitle($this->language->get('heading_title'));
     $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('tool/cache'), 'text' => $this->language->get('heading_title'), 'separator' => ' :: ', 'current' => true));
     $this->data['sections'] = array(array('id' => 'configuration', 'text' => $this->language->get('text_configuration'), 'description' => $this->language->get('desc_configuration'), 'keywords' => 'settings,store,stores,attribute,attributes,length_class,contents,tax_class,order_status,stock_status,weight_class,storefront_menu,tables'), array('id' => 'layout', 'text' => $this->language->get('text_layouts_blocks'), 'description' => $this->language->get('desc_layouts_blocks'), 'keywords' => 'layout'), array('id' => 'flexyforms', 'text' => $this->language->get('text_flexyforms'), 'description' => $this->language->get('desc_flexyforms'), 'keywords' => 'forms'), array('id' => 'translation', 'text' => $this->language->get('text_translations'), 'description' => $this->language->get('desc_translations'), 'keywords' => 'lang'), array('id' => 'image', 'text' => $this->language->get('text_images'), 'description' => $this->language->get('desc_images'), 'keywords' => 'image,resources'), array('id' => 'product', 'text' => $this->language->get('text_products'), 'description' => $this->language->get('desc_products'), 'keywords' => 'product'), array('id' => 'category', 'text' => $this->language->get('text_categories'), 'description' => $this->language->get('desc_categories'), 'keywords' => 'category'), array('id' => 'manufacturer', 'text' => $this->language->get('text_manufacturers'), 'description' => $this->language->get('desc_manufacturers'), 'keywords' => 'manufacturer'), array('id' => 'localisation', 'text' => $this->language->get('text_localisations'), 'description' => $this->language->get('desc_localisations'), 'keywords' => 'currency,country,zone,language'), array('id' => 'error_log', 'text' => $this->language->get('text_error_log'), 'description' => $this->language->get('desc_error_log'), 'keywords' => 'error_log'));
     $form = new AForm('ST');
     $form->setForm(array('form_name' => 'cacheFrm'));
     $this->data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'cacheFrm', 'action' => $this->html->getSecureURL('tool/cache/delete')));
     $this->data['form']['submit'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'submit', 'text' => $this->language->get('text_clear_cache'), 'style' => 'button1'));
     if (isset($this->error['warning'])) {
         $this->data['error_warning'] = $this->error['warning'];
     } else {
         $this->data['error_warning'] = '';
     }
     if (isset($this->session->data['success'])) {
         $this->data['success'] = $this->session->data['success'];
         unset($this->session->data['success']);
     } else {
         $this->data['success'] = '';
     }
     $this->view->batchAssign($this->data);
     $this->view->assign('help_url', $this->gen_help_url());
     $this->processTemplate('pages/tool/cache.tpl');
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
 public function main()
 {
     $this->loadModel('tool/developer_tools');
     $this->loadLanguage('developer_tools/developer_tools');
     $prj_id = func_get_arg(0);
     $prj_config = $this->model_tool_developer_tools->getProjectConfig($prj_id);
     $this->data['text_layout_xml_tab'] = $this->language->get('text_layout_xml_tab');
     $this->data['text_select_template'] = $this->language->get('text_select_template');
     $this->data['filepath'] = DIR_EXT . $prj_config['extension_txt_id'] . '/layout.xml';
     $this->data['relative_path'] = 'extensions/' . $prj_config['extension_txt_id'] . '/layout.xml';
     $exist = file_exists($this->data['filepath']) ? true : false;
     if ($exist) {
         $this->data['text_view_layout_xml'] = $this->language->get('text_view_layout_xml');
     }
     $result = $this->db->query("SELECT DISTINCT template_id\n\t\t\t\t\t\t\t\t\tFROM " . DB_PREFIX . "layouts");
     foreach ($result->rows as $row) {
         $templates[$row['template_id']] = $row['template_id'];
     }
     $form = new AForm('ST');
     $form->setForm(array('form_name' => 'extLayoutFrm', 'update' => ''));
     $this->data['form']['id'] = 'extLayoutFrm';
     $this->data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'extLayoutFrm', 'action' => $this->data['action']));
     $this->data['form']['submit'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'submit', 'text' => $this->language->get('text_save_layout_xml'), 'style' => 'button1'));
     $this->data['form']['template'] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => 'template_id', 'options' => $templates, 'value' => $prj_config['extension_txt_id']));
     $this->data['xml_build_url'] = $this->html->getSecureUrl('tool/developer_tools_other/savelayoutxml', '&prj_id=' . $prj_id);
     $this->data['text_save_layout_xml'] = $this->language->get('text_save_layout_xml');
     $this->view->batchAssign($this->data);
     $this->processTemplate('responses/tool/developer_tools_other.tpl');
 }
示例#4
0
 public function main()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     if (!$this->customer->isLogged()) {
         $this->session->data['redirect'] = $this->html->getSecureURL('account/newsletter');
         $this->redirect($this->html->getSecureURL('account/login'));
     }
     $this->document->setTitle($this->language->get('heading_title'));
     if ($this->request->is_POST()) {
         $this->loadModel('account/customer');
         $this->model_account_customer->editNewsletter($this->request->post['newsletter']);
         $this->session->data['success'] = $this->language->get('text_success');
         $this->redirect($this->html->getURL('account/account'));
     }
     $this->document->resetBreadcrumbs();
     $this->document->addBreadcrumb(array('href' => $this->html->getURL('index/home'), 'text' => $this->language->get('text_home'), 'separator' => FALSE));
     $this->document->addBreadcrumb(array('href' => $this->html->getURL('account/account'), 'text' => $this->language->get('text_account'), 'separator' => $this->language->get('text_separator')));
     $this->document->addBreadcrumb(array('href' => $this->html->getURL('account/newsletter'), 'text' => $this->language->get('text_newsletter'), 'separator' => $this->language->get('text_separator')));
     $form = new AForm();
     $form->setForm(array('form_name' => 'newsFrm'));
     $this->data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'newsFrm', 'action' => $this->html->getSecureURL('account/newsletter')));
     $this->data['form']['newsletter'] = $form->getFieldHtml(array('type' => 'radio', 'name' => 'newsletter', 'value' => $this->customer->getNewsletter(), 'options' => array('1' => $this->language->get('text_yes'), '0' => $this->language->get('text_no'))));
     $this->data['form']['continue'] = $form->getFieldHtml(array('type' => 'submit', 'icon' => 'fa fa-check', 'name' => $this->language->get('button_continue')));
     $this->data['back'] = $this->html->getURL('account/account');
     $back = HtmlElementFactory::create(array('type' => 'button', 'name' => 'back', 'text' => $this->language->get('button_back'), 'icon' => 'fa fa-arrow-left', 'style' => 'button'));
     $this->data['form']['back'] = $back;
     $this->view->batchAssign($this->data);
     $this->processTemplate('pages/account/newsletter.tpl');
     //init controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
 public function main()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $this->document->setTitle($this->language->get('heading_title'));
     $this->document->initBreadcrumb();
     $this->document->addBreadcrumb(array('href' => $this->html->getSecureURL('index/home'), 'text' => $this->language->get('text_home'), 'separator' => FALSE));
     $this->document->addBreadcrumb(array('href' => $this->html->getSecureURL('tool/datasets_manager'), 'text' => $this->language->get('heading_title'), 'separator' => ' :: ', 'current' => true));
     $grid_settings = array('table_id' => 'dataset_grid', 'url' => $this->html->getSecureURL('listing_grid/datasets_grid'), 'editurl' => $this->html->getSecureURL('listing_grid/datasets_grid/update'), 'update_field' => $this->html->getSecureURL('listing_grid/datasets_grid/update_field'), 'sortname' => 'dataset_id', 'actions' => array('view' => array('text' => $this->language->get('text_show'), 'href' => $this->html->getSecureURL('listing_grid/datasets_grid/info', '&dataset_id=%ID%'))), 'columns_search' => false, 'sortable' => true, 'multiselect' => 'false', 'grid_ready' => 'grid_ready();');
     $grid_settings['colNames'] = array($this->language->get('column_id'), $this->language->get('column_name'), $this->language->get('column_key'));
     $grid_settings['colModel'] = array(array('name' => 'dataset_id', 'index' => 'dataset_id', 'width' => 30, 'align' => 'center', 'sorttype' => 'string'), array('name' => 'dataset_name', 'index' => 'dataset_name', 'width' => 450, 'align' => 'left', 'sorttype' => 'string'), array('name' => 'dataset_key', 'index' => 'dataset_key', 'width' => 150, 'align' => 'left', 'sorttype' => 'string'));
     $form = new AForm('ds');
     $grid = $this->dispatch('common/listing_grid', array($grid_settings));
     $this->view->assign('listing_grid', $grid->dispatchGetOutput());
     $this->view->assign('popup_action', $this->html->getSecureURL('listing_grid/datasets_grid/info'));
     $this->view->assign('popup_title', $this->language->get('text_popup_title'));
     $this->view->assign('date_added', $this->language->get('text_date'));
     $this->view->assign('create_date_field', $form->getFieldHtml(array('type' => 'input', 'name' => 'msg_create_date', 'id' => 'msg_create_date', 'attr' => 'readonly=true')));
     $this->view->assign('repeats', $this->language->get('text_repeats'));
     $this->view->assign('repeat_field', $form->getFieldHtml(array('type' => 'input', 'name' => 'msg_repeat', 'id' => 'msg_repeat', 'attr' => 'readonly=true')));
     //$this->view->assign ( 'delete', $this->language->get ( 'text_delete' ) );
     $this->view->assign('confirm', $this->language->get('text_confirm'));
     $this->view->batchAssign($this->language->getASet());
     $this->view->assign('help_url', $this->gen_help_url());
     $this->processTemplate('pages/tool/datasets_manager.tpl');
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
示例#6
0
 public function main()
 {
     $this->data = array();
     $run_level = $this->request->get['runlevel'];
     if (isset($run_level)) {
         if (!in_array((int) $run_level, array(1, 2, 3, 4, 5))) {
             $this->redirect(HTTP_SERVER . 'index.php?rt=activation' . '&admin_path=' . $this->request->post['admin_path']);
         }
         if (!$this->session->data['install_step_data'] && (int) $run_level == 1) {
             if (filesize(DIR_ABANTECART . 'system/config.php')) {
                 $this->redirect(HTTP_SERVER . 'index.php?rt=activation');
             } else {
                 $this->redirect(HTTP_SERVER . 'index.php?rt=license');
             }
         }
         echo $this->runlevel((int) $run_level);
         return null;
     }
     if ($this->request->is_POST() && $this->_validate()) {
         $this->session->data['install_step_data'] = $this->request->post;
         $this->redirect(HTTP_SERVER . 'index.php?rt=install&runlevel=1');
     }
     $this->data['error'] = $this->error;
     $this->data['action'] = HTTP_SERVER . 'index.php?rt=install';
     $fields = array('db_driver', 'db_host', 'db_user', 'db_password', 'db_name', 'db_prefix', 'username', 'password', 'password_confirm', 'email', 'admin_path');
     $defaults = array('', 'localhost', '', '', '', 'abc_', 'admin', '', '', '', '');
     $place_holder = array('Select Database Driver', 'Enter Database Hostname', 'Enter Database Username', 'Enter Password, if any', 'Enter Database Name', 'Add prefix to database tables', 'Enter new admin username', 'Enter Secret Admin Password', 'Repeat the password', 'Provide valid email of administrator', 'Enter your secret admin key');
     foreach ($fields as $k => $field) {
         if (isset($this->request->post[$field])) {
             $this->data[$field] = $this->request->post[$field];
         } else {
             $this->data[$field] = $defaults[$k];
         }
     }
     $form = new AForm('ST');
     $form->setForm(array('form_name' => 'form', 'update' => ''));
     $this->data['form']['id'] = 'form';
     $this->data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'editFrm', 'action' => $this->data['action']));
     foreach ($fields as $k => $field) {
         if ($field != 'db_driver') {
             $this->data['form'][$field] = $form->getFieldHtml(array('type' => in_array($field, array('password', 'password_confirm')) ? 'password' : 'input', 'name' => $field, 'value' => $this->data[$field], 'placeholder' => $place_holder[$k], 'required' => in_array($field, array('db_host', 'db_user', 'db_name', 'username', 'password', 'password_confirm', 'email', 'admin_path'))));
         } else {
             $options = array();
             //regular mysql is not supported on PHP 5.5.+
             if (extension_loaded('mysql') && version_compare(phpversion(), '5.5.0', '<') == TRUE) {
                 $options['mysql'] = 'MySQL';
             }
             if (extension_loaded('mysqli')) {
                 $options['amysqli'] = 'MySQLi';
             }
             $this->data['form'][$field] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => $field, 'value' => $this->data[$field], 'options' => $options, 'required' => true));
         }
     }
     $this->view->assign('back', HTTP_SERVER . 'index.php?rt=settings');
     $this->addChild('common/header', 'header', 'common/header.tpl');
     $this->addChild('common/footer', 'footer', 'common/footer.tpl');
     $this->view->batchAssign($this->data);
     $this->processTemplate('pages/install.tpl');
 }
示例#7
0
 public function main()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $this->loadLanguage('catalog/product');
     $this->document->setTitle($this->language->get('heading_title'));
     $this->loadModel('catalog/product');
     $this->loadModel('tool/image');
     if (isset($this->request->get['product_id'])) {
         $product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']);
         if (!$product_info) {
             $this->session->data['warning'] = $this->language->get('error_product_not_found');
             $this->redirect($this->html->getSecureURL('catalog/product'));
         }
     }
     if ($this->request->server['REQUEST_METHOD'] == 'POST') {
         $this->model_catalog_product->updateProductImages($this->request->get['product_id'], $this->request->post);
         $this->session->data['success'] = $this->language->get('text_success');
         $this->redirect($this->html->getSecureURL('catalog/product_images', '&product_id=' . $this->request->get['product_id']));
     }
     $this->data['product_description'] = $this->model_catalog_product->getProductDescriptions($this->request->get['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->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=' . $this->request->get['product_id']), 'text' => $this->language->get('text_edit') . '&nbsp;' . $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_images', '&product_id=' . $this->request->get['product_id']), 'text' => $this->language->get('tab_media'), 'separator' => ' :: '));
     $this->data['no_image'] = $this->model_tool_image->resize('no_image.jpg', 100, 100);
     $this->data['active'] = 'images';
     //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->data['button_add_image'] = $this->html->buildButton(array('text' => $this->language->get('button_add_image'), 'style' => 'button1'));
     $this->data['action'] = $this->html->getSecureURL('catalog/product_images', '&product_id=' . $this->request->get['product_id']);
     $this->data['form_title'] = $this->language->get('text_edit') . '&nbsp;' . $this->language->get('text_product');
     $this->data['update'] = '';
     $form = new AForm('HS');
     $form->setForm(array('form_name' => 'productFrm', 'update' => $this->data['update']));
     $this->data['form']['id'] = 'productFrm';
     $this->data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'productFrm', 'action' => $this->data['action']));
     $this->data['form']['submit'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'submit', 'text' => $this->language->get('button_save'), 'style' => 'button1'));
     $this->data['form']['cancel'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'cancel', 'text' => $this->language->get('button_cancel'), 'style' => 'button2'));
     $this->view->batchAssign($this->data);
     $this->view->assign('help_url', $this->gen_help_url('product_media'));
     $this->addChild('pages/catalog/product_summary', 'summary_form', 'pages/catalog/product_summary.tpl');
     $this->addChild('responses/common/resource_library/get_resources_html', 'resources_html', 'responses/common/resource_library_scripts.tpl');
     $resources_scripts = $this->dispatch('responses/common/resource_library/get_resources_scripts', array('object_name' => 'products', 'object_id' => $this->request->get['product_id'], 'types' => array('image', 'audio', 'video', 'pdf')));
     $this->view->assign('resources_scripts', $resources_scripts->dispatchGetOutput());
     $this->processTemplate('pages/catalog/product_images.tpl');
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
 public function main()
 {
     $this->loadLanguage('blocks/newsletter_signup');
     $form = new AForm();
     $this->data['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'subscribeFrm', 'method' => 'get', 'action' => $this->html->getSecureURL('account/subscriber', '', true)));
     $this->data['heading_title'] = $this->language->get('heading_title');
     $this->data['text_signup'] = $this->language->get('text_signup');
     $this->data['text_sign_in'] = $this->language->get('text_sign_in');
     $this->data['text_subscribe'] = $this->language->get('text_subscribe');
     $this->data['form_fields']['rt'] = 'account/subscriber';
     $this->view->batchAssign($this->data);
     $this->processTemplate();
 }
示例#9
0
 public function main()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $grid_settings = array('table_id' => 'report_sales_grid', 'url' => $this->html->getSecureURL('listing_grid/report_sale'), 'sortname' => 'date_end', 'columns_search' => false, 'multiselect' => 'false');
     $form = new AForm();
     $form->setForm(array('form_name' => 'report_sales_grid_search'));
     $this->data['grid_search_form'] = array();
     $this->data['grid_search_form']['id'] = 'report_sales_grid_search';
     $this->data['grid_search_form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'report_sales_grid_search', 'action' => ''));
     $this->data['grid_search_form']['submit'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'submit', 'text' => $this->language->get('button_go'), 'style' => 'button1'));
     $this->data['grid_search_form']['reset'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'reset', 'text' => $this->language->get('button_reset'), 'style' => 'button2'));
     $this->view->assign('js_date_format', format4Datepicker($this->language->get('date_format_short')));
     $this->data['grid_search_form']['fields']['date_start'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'date_start', 'default' => dateInt2Display(strtotime('-7 day'))));
     $this->data['grid_search_form']['fields']['date_end'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'date_end', 'default' => dateInt2Display(time())));
     $groups = array();
     $groups['year'] = $this->language->get('text_year');
     $groups['month'] = $this->language->get('text_month');
     $groups['week'] = $this->language->get('text_week');
     $groups['day'] = $this->language->get('text_day');
     $this->data['grid_search_form']['fields']['status'] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => 'group', 'options' => $groups, 'value' => "week"));
     $grid_settings['search_form'] = true;
     $grid_settings['colNames'] = array($this->language->get('column_date_start'), $this->language->get('column_date_end'), $this->language->get('column_orders'), $this->language->get('column_total'));
     $grid_settings['colModel'] = array(array('name' => 'date_start', 'index' => 'date_start', 'width' => 100, 'align' => 'center', 'sorttype' => 'string'), array('name' => 'date_end', 'index' => 'date_end', 'width' => 100, 'align' => 'center', 'sorttype' => 'string'), array('name' => 'orders', 'index' => 'orders', 'width' => 100, 'align' => 'center', 'sorttype' => 'string'), array('name' => 'total', 'index' => 'total', 'width' => 110, 'align' => 'right'));
     $grid = $this->dispatch('common/listing_grid', array($grid_settings));
     $this->view->assign('listing_grid', $grid->dispatchGetOutput());
     $this->view->assign('search_form', $this->data['grid_search_form']);
     $this->document->setTitle($this->language->get('heading_title'));
     $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('report/viewed'), 'text' => $this->language->get('heading_title'), 'separator' => ' :: '));
     $this->document->addScript(RDIR_TEMPLATE . 'javascript/jquery/ui/jquery.ui.datepicker.js');
     $this->processTemplate('pages/report/sale.tpl');
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
示例#10
0
 public function download()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     if ($this->user->canAccess('tool/files')) {
         $filename = str_replace(array('../', '..\\', '\\', '/'), '', $this->request->get['filename']);
         if ($this->request->get['attribute_type'] == 'field') {
             $this->loadModel('tool/file_uploads');
             $attribute_data = $this->model_tool_file_uploads->getField($this->request->get['attribute_id']);
         } elseif (strpos($this->request->get['attribute_type'], 'AForm:') === 0) {
             // for aform fields
             $form_info = explode(':', $this->request->get['attribute_type']);
             $aform = new AForm('ST');
             $aform->loadFromDb($form_info[1]);
             $attribute_data = $aform->getField($form_info[2]);
         } elseif ($this->request->get['order_option_id']) {
             $this->loadModel('sale/order');
             $attribute_data = $this->model_sale_order->getOrderOption($this->request->get['order_option_id']);
             $attribute_data['settings'] = unserialize($attribute_data['settings']);
         } else {
             $am = new AAttribute($this->request->get['attribute_type']);
             $attribute_data = $am->getAttribute($this->request->get['attribute_id']);
         }
         if (has_value($attribute_data['settings']['directory'])) {
             $file = DIR_APP_SECTION . 'system/uploads/' . $attribute_data['settings']['directory'] . '/' . $filename;
         } else {
             $file = DIR_APP_SECTION . 'system/uploads/' . $filename;
         }
         if (file_exists($file)) {
             header('Content-Description: File Transfer');
             header('Content-Type: application/x-gzip');
             header('Content-Disposition: attachment; filename=' . $filename);
             header('Content-Transfer-Encoding: binary');
             header('Expires: 0');
             header('Cache-Control: must-revalidate');
             header('Pragma: public');
             header('Content-Length: ' . filesize($file));
             ob_end_clean();
             flush();
             readfile($file);
             exit;
         } else {
             echo 'Error: File ' . $file . ' does not exists!';
             exit;
         }
     } else {
         return $this->dispatch('error/permission');
     }
 }
 public function main()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $this->document->setTitle($this->language->get('heading_title'));
     $this->loadModel('setting/setting');
     if ($this->request->is_POST() && $this->_validate()) {
         $this->model_setting_setting->editSetting('sub_total', $this->request->post);
         $this->session->data['success'] = $this->language->get('text_success');
         $this->redirect($this->html->getSecureURL('total/sub_total'));
     }
     if (isset($this->error['warning'])) {
         $this->data['error_warning'] = $this->error['warning'];
     } else {
         $this->data['error_warning'] = '';
     }
     $this->data['success'] = $this->session->data['success'];
     if (isset($this->session->data['success'])) {
         unset($this->session->data['success']);
     }
     $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('extension/total'), 'text' => $this->language->get('text_total'), 'separator' => ' :: '));
     $this->document->addBreadcrumb(array('href' => $this->html->getSecureURL('total/sub_total'), 'text' => $this->language->get('heading_title'), 'separator' => ' :: ', 'current' => true));
     foreach ($this->fields as $f) {
         if (isset($this->request->post[$f])) {
             $this->data[$f] = $this->request->post[$f];
         } else {
             $this->data[$f] = $this->config->get($f);
         }
     }
     $this->data['action'] = $this->html->getSecureURL('total/sub_total');
     $this->data['cancel'] = $this->html->getSecureURL('extension/total');
     $this->data['heading_title'] = $this->language->get('text_edit') . ' ' . $this->language->get('text_total');
     $this->data['form_title'] = $this->language->get('heading_title');
     $this->data['update'] = $this->html->getSecureURL('listing_grid/total/update_field', '&id=sub_total');
     $form = new AForm('HS');
     $form->setForm(array('form_name' => 'editFrm', 'update' => $this->data['update']));
     $this->data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'editFrm', 'action' => $this->data['action'], 'attr' => 'data-confirm-exit="true" class="aform form-horizontal"'));
     $this->data['form']['submit'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'submit', 'text' => $this->language->get('button_save')));
     $this->data['form']['cancel'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'cancel', 'text' => $this->language->get('button_cancel')));
     $this->data['form']['fields']['status'] = $form->getFieldHtml(array('type' => 'checkbox', 'name' => 'sub_total_status', 'value' => $this->data['sub_total_status'], 'style' => 'btn_switch status_switch'));
     $this->loadLanguage('extension/extensions');
     $options = array('subtotal' => $this->language->get('text_subtotal'), 'shipping' => $this->language->get('text_shipping'), 'fee' => $this->language->get('text_fee'), 'discount' => $this->language->get('text_discount'), 'total' => $this->language->get('text_total'), 'tax' => $this->language->get('text_tax'));
     $this->data['form']['fields']['total_type'] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => 'sub_total_total_type', 'options' => $options, 'value' => $this->data['sub_total_total_type']));
     $this->data['form']['fields']['sort_order'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'sub_total_sort_order', 'value' => $this->data['sub_total_sort_order']));
     $this->data['form']['fields']['calculation_order'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'sub_total_calculation_order', 'value' => $this->data['sub_total_calculation_order']));
     $this->view->assign('help_url', $this->gen_help_url('edit_sub_total'));
     $this->view->batchAssign($this->data);
     $this->processTemplate('pages/total/form.tpl');
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
 private function _getForm()
 {
     if (isset($this->error['warning'])) {
         $this->data['error_warning'] = $this->error['warning'];
     } else {
         $this->data['error_warning'] = '';
     }
     $this->data['error'] = $this->error;
     $this->data['cancel'] = $this->html->getSecureURL('localisation/language_definitions');
     if (!isset($this->request->get['language_definition_id'])) {
         $this->data['action'] = $this->html->getSecureURL($this->rt . '/update', '&target=' . $this->request->get['target']);
         $this->data['heading_title'] = $this->language->get('text_insert') . ' ' . $this->language->get('text_definition');
         $this->data['update'] = '';
         $form = new AForm('ST');
         $this->data['language_definition_id'] = (int) $this->request->get['language_definition_id'];
         $this->data['check_url'] = $this->html->getSecureURL('listing_grid/language_definitions/checkdefinition');
     } else {
         $this->data['action'] = $this->html->getSecureURL($this->rt . '/update', '&language_definition_id=' . $this->request->get['language_definition_id'] . '&target=' . $this->request->get['target']);
         $this->data['heading_title'] = $this->language->get('text_edit') . ' ' . $this->language->get('text_definition');
         $this->data['update'] = $this->html->getSecureURL('listing_grid/language_definitions/update_field', '&id=' . $this->request->get['language_definition_id']);
         $form = new AForm('HS');
     }
     $dispatch = $this->dispatch('responses/common/form_collector', array('form_id' => 'definitionQFrm', 'target' => $this->request->get['target']));
     $this->data['form_collector'] = $dispatch->dispatchGetOutput();
     $this->document->addBreadcrumb(array('href' => $this->data['action'], 'text' => $this->data['heading_title'], 'separator' => ' :: '));
     $form->setForm(array('form_name' => 'definitionQFrm', 'update' => $this->data['update']));
     $this->data['form']['id'] = 'definitionQFrm';
     $this->data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'definitionQFrm', 'action' => $this->data['action']));
     //build the rest of the form and data
     $ret_data = $this->model_localisation_language_definitions->buildFormData($this->request, $this->data, $form);
     if ($ret_data['redirect_params']) {
         $this->redirect($this->data['action'] . $ret_data['redirect_params']);
     }
     $this->view->assign('form_language_switch', $this->html->getContentLanguageFlags());
     $this->view->assign('ajax_wrapper_id', $this->request->get['target']);
     $this->view->assign('ajax_reload_url', $this->html->getSecureURL($this->rt . '/update', '&language_definition_id=' . $this->request->get['language_definition_id'] . '&target=' . $this->request->get['target']));
     $this->view->assign('help_url', $this->gen_help_url('language_definition_edit'));
     $this->view->batchAssign($this->data);
     $this->view->setTemplate('responses/localisation/language_definitions_form.tpl');
     $this->view->render();
     $output['html'] = $this->view->getOutput();
     $output['title'] = $this->data['heading_title'];
     $this->load->library('json');
     $this->response->setOutput(AJson::encode($output));
 }
示例#13
0
 public function main()
 {
     $this->load->model('checkout/order');
     $order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);
     $data['action'] = '';
     $form = new AForm();
     $form->setForm(array('form_name' => 'checkout'));
     $data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'checkout', 'action' => 'https://www.liqpay.com/?do=clickNbuy'));
     $xml = '<response>';
     $xml .= '	<version>1.2</version>';
     $xml .= '	<result_url>' . $this->html->getSecureURL('checkout/success') . '</result_url>';
     $xml .= '	<server_url>' . $this->html->getSecureURL('extension/liqpay/callback') . '</server_url>';
     $xml .= '	<merchant_id>' . $this->config->get('default_liqpay_merchant') . '</merchant_id>';
     $xml .= '	<order_id>' . $this->session->data['order_id'] . '</order_id>';
     $xml .= '	<amount>' . $this->currency->format($order_info['total'], $order_info['currency'], $order_info['value'], FALSE) . '</amount>';
     $xml .= '	<currency>' . $order_info['currency'] . '</currency>';
     $xml .= '	<description>' . $this->config->get('store_name') . ' ' . $order_info['payment_firstname'] . ' ' . $order_info['payment_address_1'] . ' ' . $order_info['payment_address_2'] . ' ' . $order_info['payment_city'] . ' ' . $order_info['email'] . '</description>';
     $xml .= '	<sender_phone></sender_phone>';
     $xml .= '	<pay_way>' . $this->config->get('default_liqpay_type') . '</pay_way>';
     $xml .= '</response>';
     $data['form']['xml'] = $form->getFieldHtml(array('type' => 'hidden', 'name' => 'xml', 'value' => base64_encode($xml)));
     $data['form']['signature'] = $form->getFieldHtml(array('type' => 'hidden', 'name' => 'signature', 'value' => base64_encode(sha1($this->config->get('default_liqpay_signature') . $xml . $this->config->get('default_liqpay_signature'), TRUE))));
     $back = $this->request->get['rt'] != 'checkout/guest_step_3' ? $this->html->getSecureURL('checkout/payment') : $this->html->getSecureURL('checkout/guest_step_2');
     $data['form']['back'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'back', 'text' => $this->language->get('button_back'), 'style' => 'button', 'href' => $back));
     $data['form']['submit'] = $form->getFieldHtml(array('type' => 'submit', 'name' => $this->language->get('button_confirm')));
     $this->view->batchAssign($data);
     $this->processTemplate('responses/default_liqpay.tpl');
 }
示例#14
0
 /**
  * @return bool
  */
 private function _validate()
 {
     $this->error = array_merge($this->form->validateFormData($this->request->post), $this->error);
     if (!$this->error) {
         return TRUE;
     } else {
         $this->form->setErrors($this->error);
         return FALSE;
     }
 }
示例#15
0
 /**
  * @return bool
  */
 private function _validate()
 {
     $this->error = array_merge($this->form->validateFormData($this->request->post), $this->error);
     $this->extensions->hk_ValidateData($this);
     if (!$this->error) {
         return true;
     } else {
         $this->form->setErrors($this->error);
         return false;
     }
 }
 public function main()
 {
     $action = func_get_arg(0);
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $this->loadLanguage('checkout/payment');
     if (!$this->config->get('coupon_status')) {
         return null;
     }
     $this->data['coupon_status'] = $this->config->get('coupon_status');
     $entereted_cpn = isset($this->request->post['coupon']) ? $this->request->post['coupon'] : $this->session->data['coupon'];
     $form = new AForm();
     $form->setForm(array('form_name' => 'coupon'));
     $this->data['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'coupon', 'action' => $action));
     $this->data['coupon'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'coupon', 'value' => $entereted_cpn));
     $this->data['submit'] = $form->getFieldHtml(array('type' => 'submit', 'name' => $this->language->get('button_coupon')));
     $this->view->batchAssign($this->data);
     $this->processTemplate('blocks/coupon_form.tpl');
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
 public function main()
 {
     $this->loadModel('tool/developer_tools');
     $this->loadLanguage('developer_tools/developer_tools');
     $prj_id = $this->session->data['dev_tools_prj_id'];
     $prj_config = $this->model_tool_developer_tools->getProjectConfig($prj_id);
     $this->data['text_layout_xml_title'] = $this->language->get('text_layout_xml_title');
     $this->data['text_select_template'] = $this->language->get('text_select_template');
     $this->data['filepath'] = DIR_EXT . $prj_config['extension_txt_id'] . '/layout.xml';
     if (!is_file($this->data['filepath']) || !is_readable($this->data['filepath'])) {
         $this->data['filepath'] = null;
     }
     $this->data['relative_path'] = 'extensions/' . $prj_config['extension_txt_id'] . '/layout.xml';
     $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('tool/developer_tools'), 'text' => $this->language->get('developer_tools_name'), 'separator' => ' :: ', 'current' => true));
     //load tabs controller
     $tabs_obj = $this->dispatch('pages/tool/developer_tools_tabs', array('project'));
     $this->data['dev_tabs'] = $tabs_obj->dispatchGetOutput();
     $tabs_obj = $this->dispatch('pages/tool/developer_tools_tabs/prjtabs', array('other'));
     $this->data['prj_tabs'] = $tabs_obj->dispatchGetOutput();
     $exist = file_exists($this->data['filepath']) ? true : false;
     if ($exist) {
         $this->data['text_view_layout_xml'] = $this->language->get('text_view_layout_xml');
     }
     $result = $this->db->query("SELECT DISTINCT template_id\n\t\t\t\t\t\t\t\t\tFROM " . $this->db->table("layouts"));
     foreach ($result->rows as $row) {
         $templates[$row['template_id']] = $row['template_id'];
     }
     $form = new AForm('ST');
     $form->setForm(array('form_name' => 'extLayoutFrm', 'update' => ''));
     $this->data['form']['id'] = 'extLayoutFrm';
     $this->data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'extLayoutFrm', 'action' => $this->data['action']));
     $this->data['form']['submit'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'submit', 'text' => $this->language->get('developer_tools_text_save_layout_xml'), 'style' => 'button1'));
     $this->data['form']['template'] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => 'template_id', 'options' => $templates, 'value' => $prj_config['extension_txt_id']));
     $this->data['xml_build_url'] = $this->html->getSecureUrl('r/tool/developer_tools_other/savelayoutxml', '&prj_id=' . $prj_id);
     $this->data['text_save_layout_xml'] = $this->language->get('text_save_layout_xml');
     $this->data['info'] = $this->language->get('developer_tools_info_about_layouts');
     $this->view->batchAssign($this->data);
     $this->processTemplate('pages/tool/developer_tools_other.tpl');
 }
 public function main()
 {
     $fields = array();
     $this->load->model('checkout/order');
     $this->loadLanguage('default_skrill/default_skrill');
     $cancel_url = $this->request->get['rt'] != 'checkout/guest_step_3' ? $this->html->getSecureURL('checkout/payment') : $this->html->getSecureURL('checkout/guest_step_2');
     if (is_file(DIR_RESOURCE . $this->config->get('config_logo'))) {
         $logo = HTTPS_DIR_RESOURCE . $this->config->get('config_logo');
     } else {
         $logo = $this->config->get('config_logo');
     }
     $order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);
     $products = '';
     foreach ($this->cart->getProducts() as $product) {
         $products .= $product['quantity'] . ' x ' . $product['name'] . ', ';
     }
     $this->load->library('encryption');
     $encryption = new AEncryption($this->config->get('encryption_key'));
     $skrill_url = 'https://pay.skrill.com';
     //$skrill_url = 'https://sandbox.dev.skrillws.net/pay';
     $fields = array('rid' => '53571612', 'ext_ref_id' => 'abantecart', 'pay_to_email' => $this->config->get('default_skrill_email'), 'recipient_description' => $this->config->get('store_name'), 'transaction_id' => $this->session->data['order_id'] . '_' . UNIQUE_ID, 'return_url' => $this->html->getSecureURL('checkout/success'), 'cancel_url' => $cancel_url, 'status_url' => $this->html->getSecureURL('extension/default_skrill/callback'), 'language' => $this->session->data['language'], 'logo_url' => $logo, 'pay_from_email' => $order_info['email'], 'firstname' => $order_info['payment_firstname'], 'lastname' => $order_info['payment_lastname'], 'address' => $order_info['payment_address_1'], 'address2' => $order_info['payment_address_2'], 'phone_number' => $order_info['telephone'], 'postal_code' => substr($order_info['payment_postcode'], 0, 9), 'city' => $order_info['payment_city'], 'state' => $order_info['payment_zone'], 'country' => $order_info['payment_iso_code_3'], 'amount' => $this->currency->format($order_info['total'], $order_info['currency'], $order_info['value'], FALSE), 'currency' => $order_info['currency'], 'detail1_text' => $products, 'merchant_fields' => 'order_id', 'order_id' => $encryption->encrypt($this->session->data['order_id']));
     $form = new AForm();
     $form->setForm(array('form_name' => 'checkout'));
     $data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'checkout', 'action' => $skrill_url));
     foreach ($fields as $key => $value) {
         $data['form'][$key] = $form->getFieldHtml(array('type' => 'hidden', 'name' => $key, 'value' => $value));
     }
     $data['form']['back'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'back', 'text' => $this->language->get('button_back'), 'style' => 'button', 'href' => $back));
     $data['form']['submit'] = $form->getFieldHtml(array('type' => 'submit', 'name' => $this->language->get('button_confirm')));
     $this->view->batchAssign($data);
     $this->processTemplate('responses/default_skrill.tpl');
 }
 protected function getBlockContent($instance_id)
 {
     $block_info = $this->layout->getBlockDetails($instance_id);
     $custom_block_id = $block_info['custom_block_id'];
     $descriptions = $this->layout->getBlockDescriptions($custom_block_id);
     if ($descriptions[$this->config->get('storefront_language_id')]) {
         $key = $this->config->get('storefront_language_id');
     } else {
         $key = $descriptions ? key($descriptions) : null;
     }
     if ($descriptions[$key]['content']) {
         $content = unserialize($descriptions[$key]['content']);
     } else {
         $content = array('form_id' => null);
     }
     $this->loadModel('tool/forms_manager');
     $form_data = $this->model_tool_forms_manager->getForm($content['form_id']);
     if (empty($form_data)) {
         return array();
     }
     $field_types = $this->model_tool_forms_manager->getFieldTypes($content['form_id']);
     $form = new AForm();
     $form->loadFromDb($form_data['form_name']);
     $form_info = $form->getForm();
     $form_info['controller'] = $form_info['controller'] . '&form_id=' . $content['form_id'];
     $form->setForm($form_info);
     if (isset($this->session->data['custom_form_' . $content['form_id']]['errors'])) {
         $form->setErrors($this->session->data['custom_form_' . $content['form_id']]['errors']);
         unset($this->session->data['custom_form_' . $content['form_id']]['errors']);
     }
     $output = array('title' => $key ? $descriptions[$key]['title'] : '', 'content' => $form->getFormHtml(), 'block_wrapper' => $key ? $descriptions[$key]['block_wrapper'] : 0, 'block_framed' => $key ? (int) $descriptions[$key]['block_framed'] : 0);
     return $output;
 }
示例#20
0
 public function main()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $grid_settings = array('table_id' => 'report_purchased_grid', 'url' => $this->html->getSecureURL('listing_grid/report_purchased'), 'sortname' => 'quantity', 'columns_search' => false, 'multiselect' => 'false', 'search_form' => true);
     $grid_settings['colNames'] = array($this->language->get('column_name'), $this->language->get('column_model'), $this->language->get('column_quantity'), $this->language->get('column_total'));
     $grid_settings['colModel'] = array(array('name' => 'name', 'index' => 'name', 'width' => 300, 'align' => 'left', 'sortable' => false), array('name' => 'model', 'index' => 'model', 'width' => 80, 'align' => 'center', 'sortable' => false), array('name' => 'quantity', 'index' => 'quantity', 'width' => 50, 'align' => 'center', 'sortable' => false), array('name' => 'total', 'index' => 'total', 'width' => 90, 'align' => 'center', 'sortable' => false));
     $grid = $this->dispatch('common/listing_grid', array($grid_settings));
     $this->view->assign('listing_grid', $grid->dispatchGetOutput());
     //prepare the filter form
     //Note: External search form needs to be named [grid_name]_search
     //		In this case it will be auto submited to filter grid
     $form = new AForm();
     $form->setForm(array('form_name' => 'report_purchased_grid_search'));
     $this->data['grid_search_form'] = array();
     $this->data['grid_search_form']['id'] = 'report_purchased_grid_search';
     $this->data['grid_search_form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'report_purchased_grid_search', 'action' => ''));
     $this->data['grid_search_form']['submit'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'submit', 'text' => $this->language->get('button_go'), 'style' => 'button1'));
     $this->view->assign('js_date_format', format4Datepicker($this->language->get('date_format_short')));
     $this->data['grid_search_form']['fields']['date_start'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'date_start', 'default' => dateInt2Display(strtotime('-30 day'))));
     $this->data['grid_search_form']['fields']['date_end'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'date_end', 'default' => dateInt2Display(time())));
     $this->view->assign('search_form', $this->data['grid_search_form']);
     $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('report/purchased'), 'text' => $this->language->get('heading_title'), 'separator' => ' :: ', 'current' => true));
     $this->document->setTitle($this->language->get('heading_title'));
     $this->processTemplate('pages/report/purchased.tpl');
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
示例#21
0
 public function main()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $this->document->setTitle($this->language->get('heading_title'));
     $this->loadModel('setting/setting');
     if ($this->request->server['REQUEST_METHOD'] == 'POST' && $this->_validate()) {
         $this->model_setting_setting->editSetting('balance', $this->request->post);
         $this->session->data['success'] = $this->language->get('text_success');
         $this->redirect($this->html->getSecureURL('total/balance'));
     }
     if (isset($this->error['warning'])) {
         $this->data['error_warning'] = $this->error['warning'];
     } else {
         $this->data['error_warning'] = '';
     }
     $this->data['success'] = $this->session->data['success'];
     if (isset($this->session->data['success'])) {
         unset($this->session->data['success']);
     }
     $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('extension/total'), 'text' => $this->language->get('text_total'), 'separator' => ' :: '));
     $this->document->addBreadcrumb(array('href' => $this->html->getSecureURL('total/balance'), 'text' => $this->language->get('heading_title'), 'separator' => ' :: '));
     foreach ($this->fields as $f) {
         if (isset($this->request->post[$f])) {
             $this->data[$f] = $this->request->post[$f];
         } else {
             $this->data[$f] = $this->config->get($f);
         }
     }
     $this->data['action'] = $this->html->getSecureURL('total/balance');
     $this->data['cancel'] = $this->html->getSecureURL('extension/total');
     $this->data['heading_title'] = $this->language->get('text_edit') . ' ' . $this->language->get('text_total');
     $this->data['form_title'] = $this->language->get('heading_title');
     $this->data['update'] = $this->html->getSecureURL('listing_grid/total/update_field', '&id=balance');
     $form = new AForm('HS');
     $form->setForm(array('form_name' => 'editFrm', 'update' => $this->data['update']));
     $this->data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'editFrm', 'action' => $this->data['action']));
     $this->data['form']['submit'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'submit', 'text' => $this->language->get('button_save'), 'style' => 'button1'));
     $this->data['form']['cancel'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'cancel', 'text' => $this->language->get('button_cancel'), 'style' => 'button2'));
     $this->data['form']['fields']['status'] = $form->getFieldHtml(array('type' => 'checkbox', 'name' => 'balance_status', 'value' => $this->data['balance_status'], 'style' => 'btn_switch'));
     $this->data['form']['fields']['sort_order'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'balance_sort_order', 'value' => $this->data['balance_sort_order']));
     $this->data['form']['fields']['calculation_order'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'balance_calculation_order', 'value' => $this->data['balance_calculation_order']));
     $this->view->assign('help_url', $this->gen_help_url('edit_balance'));
     $this->view->batchAssign($this->data);
     $this->processTemplate('pages/total/form.tpl');
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
 private function _getCloneForm()
 {
     $this->view->assign('cancel', $this->html->getSecureURL('developer_tools_name'));
     $this->data['action'] = $this->html->getSecureURL('r/tool/developer_tools/doCloneTemplate');
     $this->data['heading_title'] = $this->language->get('developer_tools_name');
     $this->data['update'] = '';
     $form = new AForm('ST');
     $form->setForm(array('form_name' => 'extFrm', 'update' => $this->data['update']));
     $this->data['form']['id'] = 'extFrm';
     $this->data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'extFrm', 'action' => $this->data['action'], 'attr' => 'data-confirm-exit="true" class="aform form-horizontal"'));
     $this->data['form']['submit'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'submit', 'text' => $this->language->get('developer_tools_tab_clone_template'), 'style' => 'button1'));
     $this->data['form']['cancel'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'cancel', 'text' => $this->language->get('button_cancel'), 'style' => 'button2'));
     $template_list = glob(DIR_STOREFRONT . '/view/*', GLOB_ONLYDIR);
     foreach ($template_list as $t) {
         $tname = basename($t);
         $options[$tname] = $tname;
     }
     $this->data['form']['fields']['common']['proto_template'] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => 'proto_template', 'options' => $options, 'value' => $this->request->get['proto_template'], 'required' => true, 'style' => 'large-field'));
     $this->data['form']['fields']['common']['clone_to'] = $form->getFieldHtml(array('type' => 'radio', 'name' => 'clone_to', 'options' => array('extension' => $this->language->get('developer_tools_entry_clone_to_extension'), 'core_template' => $this->language->get('developer_tools_entry_clone_to_core_template')), 'value' => 'extension', 'style' => 'large-field'));
     $this->data['form']['fields']['common']['clone_method'] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => 'clone_method', 'value' => '', 'options' => array('' => $this->language->get('text_select'), 'full_clone' => $this->language->get('developer_tools_text_full_clone'), 'jscss_clone' => $this->language->get('developer_tools_text_jscss_clone')), 'required' => true, 'style' => 'large-field'));
     $this->data['form']['fields']['common']['template_title'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'extension_title', 'value' => $this->data['extension_title'], 'required' => true, 'style' => 'large-field'));
     $this->data['form']['fields']['common']['template_txt_id'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'extension_txt_id', 'value' => $this->data['extension_txt_id'], 'required' => true, 'style' => 'large-field'));
 }
 public function main()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $grid_settings = array('table_id' => 'report_shipping_grid', 'url' => $this->html->getSecureURL('listing_grid/report_sale/shipping'), 'sortname' => 'date_end', 'columns_search' => false, 'multiselect' => 'false');
     $form = new AForm();
     $form->setForm(array('form_name' => 'report_shipping_grid_search'));
     $this->data['grid_search_form'] = array();
     $this->data['grid_search_form']['id'] = 'report_shipping_grid_search';
     $this->data['grid_search_form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'report_shipping_grid_search', 'action' => ''));
     $this->data['grid_search_form']['submit'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'submit', 'text' => $this->language->get('button_go'), 'style' => 'button1'));
     $this->view->assign('js_date_format', format4Datepicker($this->language->get('date_format_short')));
     $this->data['grid_search_form']['fields']['date_start'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'date_start', 'default' => dateInt2Display(strtotime('-7 day'))));
     $this->data['grid_search_form']['fields']['date_end'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'date_end', 'default' => dateInt2Display(time())));
     $groups = array();
     $groups['year'] = $this->language->get('text_year');
     $groups['month'] = $this->language->get('text_month');
     $groups['week'] = $this->language->get('text_week');
     $groups['day'] = $this->language->get('text_day');
     $this->data['grid_search_form']['fields']['group'] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => 'group', 'options' => $groups, 'value' => "week"));
     $this->loadModel('localisation/order_status');
     $results = $this->model_localisation_order_status->getOrderStatuses();
     $statuses = array('' => $this->language->get('text_all_orders'));
     foreach ($results as $item) {
         $statuses[$item['order_status_id']] = $item['name'];
     }
     $this->data['grid_search_form']['fields']['status'] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => 'order_status', 'options' => $statuses, 'placeholder' => $this->language->get('text_select_status')));
     $grid_settings['search_form'] = true;
     $grid_settings['colNames'] = array($this->language->get('column_date_start'), $this->language->get('column_date_end'), $this->language->get('column_orders'), $this->language->get('column_total'));
     $grid_settings['colModel'] = array(array('name' => 'date_start', 'index' => 'date_start', 'width' => 100, 'align' => 'center', 'sorttype' => 'string'), array('name' => 'date_end', 'index' => 'date_end', 'width' => 100, 'align' => 'center', 'sorttype' => 'string'), array('name' => 'orders', 'index' => 'orders', 'width' => 100, 'align' => 'center'), array('name' => 'total', 'index' => 'total', 'width' => 110, 'align' => 'center'));
     $grid = $this->dispatch('common/listing_grid', array($grid_settings));
     $this->view->assign('listing_grid', $grid->dispatchGetOutput());
     $this->view->assign('search_form', $this->data['grid_search_form']);
     $this->document->setTitle($this->language->get('heading_title'));
     $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('report/sale/shipping'), 'text' => $this->language->get('heading_title'), 'separator' => ' :: ', 'current' => true));
     $this->processTemplate('pages/report/sale/shipping.tpl');
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
示例#24
0
 public function main()
 {
     $this->load->model('checkout/order');
     $order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);
     $order_id = $this->session->data['order_id'];
     $description = 'Order #' . $order_id;
     $order_id .= '#' . time();
     $return_url = $this->html->getSecureURL('checkout/success');
     $callback_url = $this->html->getSecureURL('extension/default_liqpay/callback');
     $private_key = $this->config->get('default_liqpay_private_key');
     $public_key = $this->config->get('default_liqpay_public_key');
     $currency = $order_info['currency'];
     if ($currency == 'RUR') {
         $currency = 'RUB';
     }
     $amount = $this->currency->format($order_info['total'], $order_info['currency_code'], $order_info['currency_value'], false);
     $language = $this->language->getCurrentLanguage();
     $language_code = $language['code'] == 'ru' ? 'ru' : 'en';
     $fields = array();
     $fields['version'] = 3;
     $fields['public_key'] = $public_key;
     $fields['amount'] = $amount;
     $fields['currency'] = $currency;
     $fields['description'] = $description;
     $fields['order_id'] = $order_id;
     $fields['result_url'] = $return_url;
     $fields['server_url'] = $callback_url;
     $fields['type'] = 'buy';
     $fields['pay_way'] = 'card,liqpay';
     $fields['language'] = $language_code;
     $fields['sandbox'] = (int) $this->config->get('default_liqpay_test_mode');
     //data - result of base64_encode( $json_string )
     //signature - result of base64_encode( sha1( $private_key . $data . $private_key ) )
     $params = array();
     $params['data'] = base64_encode(json_encode($fields));
     $params['signature'] = base64_encode(sha1($private_key . $params['data'] . $private_key, 1));
     $form = new AForm();
     $form->setForm(array('form_name' => 'checkout'));
     $data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'checkout', 'action' => 'https://www.liqpay.com/api/checkout'));
     foreach ($params as $k => $val) {
         $data['form']['fields'][$k] = $form->getFieldHtml(array('type' => 'hidden', 'name' => $k, 'value' => $val));
     }
     $back = $this->request->get['rt'] != 'checkout/guest_step_3' ? $this->html->getSecureURL('checkout/payment') : $this->html->getSecureURL('checkout/guest_step_2');
     $data['form']['back'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'back', 'text' => $this->language->get('button_back'), 'style' => 'button', 'href' => $back));
     $data['form']['submit'] = $form->getFieldHtml(array('type' => 'submit', 'name' => $this->language->get('button_confirm')));
     $this->view->batchAssign($data);
     $this->processTemplate('responses/default_liqpay.tpl');
 }
 public function main()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $this->loadModel('user/user');
     $this->loadLanguage('user/user');
     $this->document->setTitle($this->language->get('text_edit_details'));
     $this->document->addBreadcrumb(array('href' => $this->html->getSecureURL('index/home'), 'text' => $this->language->get('text_home'), 'separator' => FALSE));
     $this->document->addBreadcrumb(array('href' => $this->html->getSecureURL('index/edit_details'), 'text' => $this->language->get('text_edit_details'), 'separator' => ' :: ', 'current' => true));
     $this->view->assign('success', $this->session->data['success']);
     if (isset($this->session->data['success'])) {
         unset($this->session->data['success']);
     }
     if ($this->request->is_POST() && $this->_validate()) {
         $this->model_user_user->editUser($this->user->getId(), $this->request->post);
         $this->session->data['success'] = $this->language->get('text_success_details');
         $this->redirect($this->html->getSecureURL('index/edit_details'));
     }
     if ($this->request->is_POST() && $this->_validate()) {
         $this->redirect($this->html->getSecureURL('index/edit_details'));
     }
     $this->data['login'] = $this->html->getSecureURL('index/login');
     $this->data['error'] = $this->error;
     $user_info = $this->model_user_user->getUser($this->user->getId());
     $fields = array('firstname', 'lastname', 'email');
     foreach ($fields as $f) {
         if (isset($this->request->post[$f])) {
             $this->data[$f] = $this->request->post[$f];
         } else {
             $this->data[$f] = $user_info[$f];
         }
     }
     $this->data['action'] = $this->html->getSecureURL('index/edit_details');
     $this->data['update'] = $this->html->getSecureURL('listing_grid/user/update_field', '&id=' . $this->user->getId());
     $form = new AForm('HS');
     $form->setForm(array('form_name' => 'editFrm', 'update' => $this->data['update']));
     $this->data['form']['id'] = 'editFrm';
     $this->data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'editFrm', 'attr' => 'data-confirm-exit="true"', 'action' => $this->data['action']));
     $this->data['form']['submit'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'submit', 'text' => $this->language->get('button_save'), 'style' => 'button3'));
     foreach ($fields as $f) {
         $this->data['form']['fields'][$f] = $form->getFieldHtml(array('type' => 'input', 'name' => $f, 'value' => $this->data[$f], 'required' => true));
     }
     $this->data['form']['fields']['password'] = $form->getFieldHtml(array('type' => 'passwordset', 'name' => 'password', 'value' => $this->data['password']));
     $this->view->batchAssign($this->data);
     $this->processTemplate('pages/index/edit_details.tpl');
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
示例#26
0
 public function main()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     if (!$this->customer->isLogged()) {
         $this->session->data['redirect'] = $this->html->getSecureURL('account/password');
         $this->redirect($this->html->getSecureURL('account/login'));
     }
     $this->document->setTitle($this->language->get('heading_title'));
     if ($this->request->server['REQUEST_METHOD'] == 'POST' && $this->_validate()) {
         $this->loadModel('account/customer');
         $this->model_account_customer->editPassword($this->customer->getLoginName(), $this->request->post['password']);
         $this->session->data['success'] = $this->language->get('text_success');
         $this->redirect($this->html->getSecureURL('account/account'));
     }
     $this->document->resetBreadcrumbs();
     $this->document->addBreadcrumb(array('href' => $this->html->getURL('index/home'), 'text' => $this->language->get('text_home'), 'separator' => FALSE));
     $this->document->addBreadcrumb(array('href' => $this->html->getURL('account/account'), 'text' => $this->language->get('text_account'), 'separator' => $this->language->get('text_separator')));
     $this->document->addBreadcrumb(array('href' => $this->html->getURL('account/password'), 'text' => $this->language->get('heading_title'), 'separator' => $this->language->get('text_separator')));
     $this->view->assign('error_warning', $this->error['warning']);
     $this->view->assign('error_current_password', $this->error['current_password']);
     $this->view->assign('error_password', $this->error['password']);
     $this->view->assign('error_confirm', $this->error['confirm']);
     $form = new AForm();
     $form->setForm(array('form_name' => 'PasswordFrm'));
     $form_open = $form->getFieldHtml(array('type' => 'form', 'name' => 'PasswordFrm', 'action' => $this->html->getSecureURL('account/password')));
     $this->view->assign('form_open', $form_open);
     $current_password = $form->getFieldHtml(array('type' => 'password', 'name' => 'current_password', 'value' => '', 'required' => true));
     $password = $form->getFieldHtml(array('type' => 'password', 'name' => 'password', 'value' => '', 'required' => true));
     $confirm = $form->getFieldHtml(array('type' => 'password', 'name' => 'confirm', 'value' => '', 'required' => true));
     $submit = $form->getFieldHtml(array('type' => 'submit', 'name' => $this->language->get('button_continue'), 'icon' => 'icon-check'));
     $this->view->assign('current_password', $current_password);
     $this->view->assign('password', $password);
     $this->view->assign('submit', $submit);
     $this->view->assign('confirm', $confirm);
     $this->view->assign('back', $this->html->getSecureURL('account/account'));
     $back = HtmlElementFactory::create(array('type' => 'button', 'name' => 'back', 'text' => $this->language->get('button_back'), 'icon' => 'icon-arrow-left', 'style' => 'button'));
     $this->view->assign('button_back', $back);
     $this->processTemplate('pages/account/password.tpl');
     //init controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
 public function main()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $this->view->assign('success', $this->session->data['success']);
     if (isset($this->session->data['success'])) {
         unset($this->session->data['success']);
     }
     $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($this->rt), 'text' => $this->language->get('heading_title'), 'separator' => ' :: ', 'current' => true));
     $this->request->get['language_id'] = !isset($this->request->get['language_id']) ? $this->config->get('storefront_language_id') : (int) $this->request->get['language_id'];
     $grid_settings = array('table_id' => 'lang_definition_grid', 'url' => $this->html->getSecureURL('listing_grid/language_definitions', '&language_id=' . $this->request->get['language_id']), 'editurl' => $this->html->getSecureURL('listing_grid/language_definitions/update'), 'update_field' => $this->html->getSecureURL('listing_grid/language_definitions/update_field'), 'sortname' => 'date_modified', 'actions' => array('edit' => array('text' => $this->language->get('text_edit'), 'href' => $this->html->getSecureURL('localisation/language_definition_form/update', '&view_mode=all&language_definition_id=%ID%')), 'save' => array('text' => $this->language->get('button_save')), 'delete' => array('text' => $this->language->get('button_delete'))), 'grid_ready' => 'grid_ready(data);');
     $form = new AForm();
     $form->setForm(array('form_name' => 'lang_definition_grid_search'));
     $grid_search_form = array();
     $grid_search_form['id'] = 'lang_definition_grid_search';
     $grid_search_form['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'lang_definition_grid_search', 'action' => ''));
     $grid_search_form['submit'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'submit', 'text' => $this->language->get('button_go'), 'style' => 'button1'));
     $grid_search_form['reset'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'reset', 'text' => $this->language->get('button_reset'), 'style' => 'button2'));
     $languages = $this->language->getAvailableLanguages();
     $options = array(-1 => $this->language->get('text_all_languages'));
     foreach ($languages as $lang) {
         $options[$lang['language_id']] = $lang['name'];
     }
     $grid_search_form['fields']['language_id'] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => 'language_id', 'options' => $options, 'value' => $this->request->get['language_id']));
     $grid_search_form['fields']['section'] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => 'section', 'options' => array('' => $this->language->get('text_all_section'), 'admin' => $this->language->get('text_admin'), 'storefront' => $this->language->get('text_storefront'))));
     $grid_settings['search_form'] = true;
     $grid_settings['colNames'] = array($this->language->get('column_block'), $this->language->get('column_key'), $this->language->get('column_translation'), $this->language->get('column_update_date'));
     $grid_settings['colModel'] = array(array('name' => 'block', 'index' => 'block', 'align' => 'left', 'sorttype' => 'string', 'width' => 200), array('name' => 'language_key', 'index' => 'language_key', 'align' => 'left', 'sorttype' => 'string', 'width' => 200), array('name' => 'language_value', 'index' => 'language_value', 'align' => 'left', 'sorttype' => 'string', 'sortable' => false, 'width' => 260), array('name' => 'date_modified', 'index' => 'date_modified', 'align' => 'center', 'sorttype' => 'string', 'search' => false, 'width' => 90));
     $grid = $this->dispatch('common/listing_grid', array($grid_settings));
     $this->view->assign('listing_grid', $grid->dispatchGetOutput());
     $this->view->assign('search_form', $grid_search_form);
     $this->document->setTitle($this->language->get('heading_title'));
     $this->view->assign('insert', $this->html->getSecureURL('localisation/language_definition_form/update', '&view_mode=all'));
     $this->view->assign('help_url', $this->gen_help_url('language_definitions_listing'));
     $this->processTemplate('pages/localisation/language_definitions_list.tpl');
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
 private function _getForm()
 {
     if (isset($this->error['warning'])) {
         $output['error_text'] = $this->error['warning'];
     } else {
         $this->data['error_warning'] = '';
     }
     $this->data['error'] = $this->error;
     $languages = $this->language->getAvailableLanguages();
     foreach ($languages as $lang) {
         $this->data['languages'][$lang['language_id']] = $lang;
     }
     $this->data['action'] = $this->html->getSecureURL('setting/setting_quick_form', '&target=' . $this->request->get['target'] . '&active=' . $this->request->get['active']);
     $this->data['heading_title'] = $this->language->get('text_edit') . ' ' . $this->language->get('text_setting');
     $form = new AForm('HT');
     $this->data['setting_id'] = (int) $this->request->get['setting_id'];
     $form->setForm(array('form_name' => 'qsFrm', 'update' => $this->data['update']));
     $this->data['form']['id'] = 'qsFrm';
     $this->data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'qsFrm', 'action' => $this->data['action'], 'attr' => 'class="aform form-horizontal"'));
     $this->data['form']['submit'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'submit', 'text' => $this->language->get('button_save'), 'style' => 'button1'));
     $this->data['form']['cancel'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'cancel', 'text' => $this->language->get('button_cancel'), 'style' => 'button2'));
     require_once DIR_CORE . 'lib/config_manager.php';
     $conf_mngr = new AConfigManager();
     $data = $this->model_setting_setting->getSetting($this->data['group'], $this->data['store_id']);
     $this->data['form']['fields'] = $conf_mngr->getFormField($this->data['setting_key'], $form, $data, $this->data['store_id'], $this->data['group']);
     $this->data['form_store_switch'] = $this->html->getStoreSwitcher();
     $this->data['template_image'] = $this->html->getSecureURL('setting/template_image');
     $this->data['form_title'] = $this->language->get('tab_' . $this->data['group']);
     $this->data['help_url'] = $this->gen_help_url('setting_edit');
     $this->data['active'] = $this->request->get['active'];
     $this->data['title'] = $this->data['heading_title'];
     $this->view->batchAssign($this->data);
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
     $this->processTemplate('responses/setting/setting_quick_form.tpl');
 }
 public function main()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $this->loadLanguage('catalog/product');
     $this->document->setTitle($this->language->get('heading_title'));
     $this->loadModel('catalog/product');
     $this->attribute_manager = new AAttribute_Manager();
     if ($this->request->is_POST() && $this->_validateForm()) {
         $this->model_catalog_product->addProductOption($this->request->get['product_id'], $this->request->post);
         $this->session->data['success'] = $this->language->get('text_success');
         $this->redirect($this->html->getSecureURL('catalog/product_options', '&product_id=' . $this->request->get['product_id']));
     }
     $product_info = $this->model_catalog_product->getProduct($this->request->get['product_id']);
     if (!$product_info) {
         $this->session->data['warning'] = $this->language->get('error_product_not_found');
         $this->redirect($this->html->getSecureURL('catalog/product'));
     }
     $this->data['attributes'] = array('new' => $this->language->get('text_add_new_option'));
     $results = $this->attribute_manager->getAttributes(array('search' => " ga.attribute_type_id = '" . $this->attribute_manager->getAttributeTypeID('product_option') . "'\n\t\t\t\tAND ga.status = 1\n\t\t\t\tAND ga.attribute_parent_id = 0 ", 'sort' => 'sort_order', 'order' => 'ASC', 'limit' => 1000), $this->session->data['content_language_id']);
     foreach ($results as $type) {
         $this->data['attributes'][$type['attribute_id']] = $type['name'];
     }
     $this->data['product_description'] = $this->model_catalog_product->getProductDescriptions($this->request->get['product_id']);
     $product_options = $this->model_catalog_product->getProductOptions($this->request->get['product_id']);
     $content_language_id = $this->language->getContentLanguageID();
     $default_language_id = $this->language->getDefaultLanguageID();
     foreach ($product_options as &$option) {
         $option_name = trim($option['language'][$content_language_id]['name']);
         $option['language'][$content_language_id]['name'] = $option_name ? $option_name : 'n/a';
         $option_name = trim($option['language'][$default_language_id]['name']);
         $option['language'][$default_language_id]['name'] = $option_name ? $option_name : 'n/a';
     }
     unset($option);
     $this->data['product_options'] = $product_options;
     $this->data['language_id'] = $this->session->data['content_language_id'];
     $this->data['url']['load_option'] = $this->html->getSecureURL('product/product/load_option', '&product_id=' . $this->request->get['product_id']);
     $this->data['url']['update_option'] = $this->html->getSecureURL('product/product/update_option', '&product_id=' . $this->request->get['product_id']);
     $this->data['url']['get_options_list'] = $this->html->getSecureURL('product/product/get_options_list', '&product_id=' . $this->request->get['product_id']);
     $this->view->assign('error', $this->error);
     $this->view->assign('success', $this->session->data['success']);
     if (isset($this->session->data['success'])) {
         unset($this->session->data['success']);
     }
     $this->document->initBreadcrumb(array('href' => $this->html->getSecureURL('index/home'), 'text' => $this->language->get('text_home')));
     $this->document->addBreadcrumb(array('href' => $this->html->getSecureURL('catalog/product'), 'text' => $this->language->get('heading_title')));
     $this->document->addBreadcrumb(array('href' => $this->html->getSecureURL('catalog/product/update', '&product_id=' . $this->request->get['product_id']), 'text' => $this->language->get('text_edit') . '&nbsp;' . $this->language->get('text_product') . ' - ' . $this->data['product_description'][$this->session->data['content_language_id']]['name']));
     $this->document->addBreadcrumb(array('href' => $this->html->getSecureURL('catalog/product_options', '&product_id=' . $this->request->get['product_id']), 'text' => $this->language->get('tab_option'), 'current' => true));
     $this->data['active'] = 'options';
     //load tabs controller
     $tabs_obj = $this->dispatch('pages/catalog/product_tabs', array($this->data));
     $this->data['product_tabs'] = $tabs_obj->dispatchGetOutput();
     unset($tabs_obj);
     $results = HtmlElementFactory::getAvailableElements();
     $element_types = array('' => $this->language->get('text_select'));
     foreach ($results as $key => $type) {
         // allowed field types
         if (in_array($key, array('I', 'T', 'S', 'M', 'R', 'C', 'G', 'H', 'U'))) {
             $element_types[$key] = $type['type'];
         }
     }
     $this->data['button_add_option'] = $this->html->buildButton(array('text' => $this->language->get('button_add_option'), 'style' => 'button1'));
     $this->data['button_add_option_value'] = $this->html->buildButton(array('text' => $this->language->get('button_add_option_value'), 'style' => 'button1'));
     $this->data['button_remove'] = $this->html->buildButton(array('text' => $this->language->get('button_remove'), 'style' => 'button1'));
     $this->data['button_reset'] = $this->html->buildButton(array('text' => $this->language->get('button_reset'), 'style' => 'button2'));
     $this->data['action'] = $this->html->getSecureURL('catalog/product_options', '&product_id=' . $this->request->get['product_id']);
     $this->data['form_title'] = $this->language->get('text_edit') . '&nbsp;' . $this->language->get('text_product');
     $this->data['update'] = '';
     $form = new AForm('HT');
     $product_opt = array();
     foreach ($product_options as $option) {
         $product_opt[$option['product_option_id']] = $option['language'][$content_language_id]['name'];
     }
     $this->data['options'] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => 'option', 'value' => $this->data['product_option_id'], 'options' => $product_opt));
     $form->setForm(array('form_name' => 'product_form', 'update' => $this->data['update']));
     $this->data['form']['id'] = 'product_form';
     $this->data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'product_form', 'action' => $this->data['action'], 'attr' => 'data-confirm-exit="true"  class="form-horizontal"'));
     $this->data['form']['submit'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'submit', 'text' => $this->language->get('button_add'), 'style' => 'button1'));
     $this->data['form']['cancel'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'cancel', 'text' => $this->language->get('button_cancel'), 'style' => 'button2'));
     $form->setForm(array('form_name' => 'new_option_form', 'update' => ''));
     $this->data['attributes'] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => 'attribute_id', 'options' => $this->data['attributes'], 'style' => 'chosen'));
     $this->data['option_name'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'option_name', 'required' => true));
     $this->data['status'] = $form->getFieldHtml(array('type' => 'checkbox', 'name' => 'status', 'value' => 1, 'style' => 'btn_switch'));
     $this->data['sort_order'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'sort_order', 'style' => 'small-field'));
     $this->data['required'] = $form->getFieldHtml(array('type' => 'checkbox', 'name' => 'required', 'style' => 'btn_switch'));
     $this->data['element_type'] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => 'element_type', 'required' => true, 'options' => $element_types));
     $this->addChild('pages/catalog/product_summary', 'summary_form', 'pages/catalog/product_summary.tpl');
     $object_title = $this->language->get('text_product') . ' ' . $this->language->get('text_option_value');
     $params = '&object_name=product_option_value&object_title=' . $object_title;
     $this->data['rl_resource_library'] = $this->html->getSecureURL('common/resource_library', $params);
     $this->data['rl_resources'] = $this->html->getSecureURL('common/resource_library/resources', $params);
     $this->data['rl_resource_single'] = $this->html->getSecureURL('common/resource_library/get_resource_details', $params);
     $this->data['rl_delete'] = $this->html->getSecureURL('common/resource_library/delete');
     $this->data['rl_unmap'] = $this->html->getSecureURL('common/resource_library/unmap', $params);
     $this->data['rl_map'] = $this->html->getSecureURL('common/resource_library/map', $params);
     $this->data['rl_download'] = $this->html->getSecureURL('common/resource_library/get_resource_preview');
     $this->data['rl_upload'] = $this->html->getSecureURL('common/resource_library/upload', $params);
     $resources_scripts = $this->dispatch('responses/common/resource_library/get_resources_scripts', array('object_name' => 'product_option_value', 'object_id' => '', 'types' => array('image'), 'onload' => false));
     if ($this->config->get('config_embed_status')) {
         $this->data['embed_url'] = $this->html->getSecureURL('common/do_embed/product', '&product_id=' . $this->request->get['product_id']);
     }
     $this->view->assign('resources_scripts', $resources_scripts->dispatchGetOutput());
     $this->view->assign('help_url', $this->gen_help_url('product_options'));
     $this->view->assign('form_language_switch', $this->html->getContentLanguageSwitcher());
     $this->view->batchAssign($this->data);
     $this->processTemplate('pages/catalog/product_options.tpl');
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
 }
示例#30
0
 /**
  * Form to edit product from order
  */
 public function orderProductForm()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $this->loadModel('catalog/product');
     $this->loadModel('sale/order');
     $this->loadLanguage('catalog/product');
     $this->loadLanguage('sale/order');
     $this->load->library('json');
     $elements_with_options = HtmlElementFactory::getElementsWithOptions();
     $order_product_id = (int) $this->request->get['order_product_id'];
     $order_id = (int) $this->request->get['order_id'];
     $order_info = $this->model_sale_order->getOrder($order_id);
     $tax = new ATax($this->registry);
     $tax->setZone($order_info['country_id'], $order_info['zone_id']);
     $product_id = (int) $this->request->get['product_id'];
     $preset_values = array();
     if ($order_product_id) {
         //if unknown product_id but order_product_id we know
         $order_product_info = $this->model_sale_order->getOrderProducts($order_id, $order_product_id);
         $preset_values['price'] = $this->currency->format($order_product_info[0]['price'], $order_info['currency'], $order_info['value'], false);
         $preset_values['total'] = $this->currency->format($order_product_info[0]['price'] * $order_product_info[0]['quantity'], $order_info['currency'], $order_info['value'], false);
         $preset_values['quantity'] = $order_product_info[0]['quantity'];
         if (!$product_id) {
             $product_id = $order_product_info[0]['product_id'];
         }
         $product_info = $this->model_catalog_product->getProduct($product_id);
         $order_product_options = $this->model_sale_order->getOrderOptions($order_id, $order_product_id);
         foreach ($order_product_options as $v) {
             if ($v['element_type'] == 'R') {
                 $preset_values[$v['product_option_id']] = $v['product_option_value_id'];
             } elseif (in_array($v['element_type'], $elements_with_options)) {
                 $preset_values[$v['product_option_id']][] = $v['product_option_value_id'];
             } else {
                 $preset_values[$v['product_option_id']] = $v['value'];
             }
         }
         $this->data['text_title'] = $this->language->get('text_edit_order_product');
         $form_action = $this->html->getSecureURL('sale/order/update', '&order_id=' . $order_id . '&order_product_id=' . $order_product_id);
     } else {
         $product_info = $this->model_catalog_product->getProduct($product_id);
         $this->data['text_title'] = sprintf($this->language->get('text_add_product_to_order'), $order_id);
         $preset_values['quantity'] = $product_info['minimum'] ? $product_info['minimum'] : 1;
         $preset_values['price'] = $this->currency->format($product_info['price'], $order_info['currency'], $order_info['value'], false);
         $preset_values['total'] = $this->currency->format($product_info['price'] * $preset_values['quantity'], $order_info['currency'], $order_info['value'], false);
         $form_action = $this->html->getSecureURL('sale/order/update', '&order_id=' . $order_id . '&product_id=' . $product_id);
     }
     $this->data['product_href'] = $this->html->getSecureURL('catalog/product/update', '&product_id=' . $product_id);
     $form = new AForm('HT');
     $form->setForm(array('form_name' => 'orderProductFrm'));
     $this->data['form']['id'] = 'orderProductFrm';
     $this->data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'orderProductFrm', 'attr' => 'data-confirm-exit="true" class="aform form-horizontal"', 'action' => $form_action));
     $this->data['text_title'] .= ' - ' . $product_info['name'];
     // Prepare options and values for display
     $product_options = $this->model_catalog_product->getOrderProductOptions($product_id);
     $option_values_prices = array();
     foreach ($product_options as $option) {
         if (in_array($option['element_type'], array('U'))) {
             continue;
         }
         //skip files for now. TODO: add edit file-option in the future
         $values = $prices = array();
         $price = $preset_value = $default_value = '';
         foreach ($option['option_value'] as $option_value) {
             //default value
             $default_value = $option_value['default'] && !$order_product_id ? $option_value['product_option_value_id'] : $default_value;
             //early saved value
             $preset_value = $preset_values[$option['product_option_id']];
             //when adds new product in the order
             if (!$order_product_id) {
                 if ($option_value['default'] == 1) {
                     $preset_value = $option_value['product_option_value_id'];
                 } elseif (!in_array($option['element_type'], $elements_with_options)) {
                     $preset_value = $option_value['name'];
                 }
             }
             //Apply option price modifier
             if ($option_value['prefix'] == '%') {
                 $price = $tax->calculate($product_info['price'] * $option_value['price'] / 100, $product_info['tax_class_id'], (bool) $this->config->get('config_tax'));
             } else {
                 $price = $tax->calculate($option_value['price'], $product_info['tax_class_id'], (bool) $this->config->get('config_tax'));
             }
             if ($price != 0) {
                 $price = $this->currency->format($price);
             } else {
                 $price = '';
             }
             //Check stock and status
             $opt_stock_message = '';
             if ($option_value['subtract']) {
                 if ($option_value['quantity'] <= 0) {
                     //show out of stock message
                     $opt_stock_message = ' (' . $this->language->get('text_product_out_of_stock') . ')';
                 } else {
                     if ($this->config->get('config_stock_display')) {
                         $opt_stock_message = ' (' . $option_value['quantity'] . " " . $this->language->get('text_product_in_stock') . ')';
                     }
                 }
             }
             $values[$option_value['product_option_value_id']] = $option_value['name'] . ' ' . $price . ' ' . $opt_stock_message;
         }
         //if not values are build, nothing to show
         if (count($values)) {
             //add price to option name if it is not element with options
             if (!in_array($option['element_type'], $elements_with_options)) {
                 $option['name'] .= ' <small>' . $price . '</small>';
                 if ($opt_stock_message) {
                     $option['name'] .= '<br />' . $opt_stock_message;
                 }
             }
             //set default selection is nothing selected
             if (!has_value($preset_value) && $option['element_type'] != 'C') {
                 if (has_value($default_value)) {
                     $preset_value = $default_value;
                 }
             }
             //show hidden option for admin
             if ($option['html_type'] == 'hidden') {
                 $option['html_type'] = 'input';
             }
             $value = $preset_value;
             //for checkbox with empty value
             if ($value == '' && $option['element_type'] == 'C') {
                 $value = $default_value;
                 $value = $value == '' ? 1 : $value;
             }
             $option_data = array('type' => $option['html_type'], 'name' => !in_array($option['element_type'], HtmlElementFactory::getMultivalueElements()) ? 'product[0][option][' . $option['product_option_id'] . ']' : 'product[0][option][' . $option['product_option_id'] . '][]', 'value' => $value, 'options' => $values, 'placeholder' => $option['option_placeholder'], 'regexp_pattern' => $option['regexp_pattern'], 'error_text' => $option['error_text'], 'attr' => ' data-option-id ="' . $option['product_option_id'] . '"');
             if ($option['element_type'] == 'C') {
                 // note: 0 and 1 must be stirng to prevent collision with 'yes'. (in php 'yes'==1) ;-)
                 $option_data['label_text'] = !in_array($value, array('0', '1')) ? $value : '';
                 $option_data['checked'] = $preset_value ? true : false;
             }
             $options[] = array('name' => $option['name'], 'html' => $form->getFieldHtml($option_data));
         }
     }
     $this->data['options'] = $options;
     // main product image
     $resource = new AResource('image');
     $thumbnail = $resource->getMainThumb('products', $product_id, $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'), true);
     $this->data['image'] = $thumbnail;
     $this->data['form']['submit'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'submit', 'text' => $order_product_id ? $this->language->get('button_save') : $this->language->get('button_add')));
     $this->data['form']['cancel'] = $form->getFieldHtml(array('type' => 'button', 'name' => 'cancel', 'text' => $this->language->get('button_cancel')));
     $this->data['form']['fields']['price'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'product[0][price]', 'value' => $preset_values['price'], 'attr' => ' readonly'));
     if (!$options && $product_info['subtract']) {
         if ($product_info['quantity']) {
             $this->data['column_quantity'] = $this->language->get('column_quantity') . ' (' . $this->language->get('text_product_in_stock') . ': ' . $product_info['quantity'] . ')';
         } else {
             $this->data['column_quantity'] = $this->language->get('column_quantity') . ' (' . $this->language->get('text_product_out_of_stock') . ')';
         }
     }
     $this->data['form']['fields']['quantity'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'product[0][quantity]', 'value' => $preset_values['quantity'], 'attr' => ' size="4"'));
     $this->data['form']['fields']['total'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'product[0][total]', 'value' => $preset_values['total'], 'attr' => 'readonly'));
     $this->data['form']['fields']['product_id'] = $form->getFieldHtml(array('type' => 'hidden', 'name' => 'product_id', 'value' => $product_id));
     $this->data['form']['fields']['order_product_id'] = $form->getFieldHtml(array('type' => 'hidden', 'name' => 'order_product_id', 'value' => (int) $order_product_id));
     //url to storefront response controller. Note: if admin under ssl - use https for url and otherwise
     $order_store_id = $order_info['store_id'];
     $this->loadModel('setting/store');
     $store_info = $this->model_setting_store->getStore($order_store_id);
     if (HTTPS === true && $store_info['config_ssl_url']) {
         $total_calc_url = $store_info['config_ssl_url'] . 'index.php?rt=r/product/product/calculateTotal';
     } elseif (HTTPS === true && !$store_info['config_ssl_url']) {
         $total_calc_url = str_replace('http://', 'https://', $store_info['config_url']) . 'index.php?rt=r/product/product/calculateTotal';
     } else {
         $total_calc_url = $store_info['config_url'] . 'index.php?rt=r/product/product/calculateTotal';
     }
     $this->data['total_calc_url'] = $total_calc_url;
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
     $this->view->batchAssign($this->data);
     $this->processTemplate('responses/product/product_form.tpl');
 }