Beispiel #1
0
 private function _getForm()
 {
     $view = new AView($this->registry, 0);
     $view->batchAssign($this->language->getASet('tool/rl_manager'));
     $view->assign('error_warning', $this->error['warning']);
     $view->assign('success', $this->session->data['success']);
     if (isset($this->session->data['success'])) {
         unset($this->session->data['success']);
     }
     $this->data = array();
     $this->data['error'] = $this->error;
     $rm = new AResourceManager();
     if (isset($this->request->get['rl_type'])) {
         $type_data = $rm->getResourceTypeByName($this->request->get['rl_type']);
     }
     $fields = array('type_id', 'type_name', 'default_directory', 'default_icon', 'file_types', 'access_type');
     foreach ($fields as $f) {
         if (isset($this->request->post[$f])) {
             $this->data[$f] = $this->request->post[$f];
         } elseif (isset($type_data)) {
             $this->data[$f] = $type_data[$f];
         } else {
             $this->data[$f] = '';
         }
     }
     if (!isset($this->data['type_id'])) {
         return null;
     } else {
         $this->data['action'] = $this->html->getSecureURL('r/tool/rl_manager/save', '&rl_type=' . $this->data['type_name']);
         $this->data['heading_title'] = $this->data['form_title'] = $this->language->get('text_edit') . ' ' . $this->data['type_name'] . ' ' . $this->language->get('text_rl_type');
         $form = new AForm('ST');
     }
     $this->document->addBreadcrumb(array('href' => $this->data['action'], 'text' => $this->data['form_title'], 'separator' => ' :: '));
     $form->setForm(array('form_name' => 'rl_typeFrm', 'update' => $this->data['update']));
     $this->data['form']['id'] = 'rl_typeFrm';
     $this->data['form']['form_open'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'rl_typeFrm', 'action' => $this->data['action'], 'attr' => 'data-confirm-exit="true"  class="aform form-horizontal"')) . ($this->data['form']['fields']['type_id'] = $form->getFieldHtml(array('type' => 'hidden', 'name' => 'type_id', 'value' => $this->data['type_id'])));
     $this->data['form']['fields']['type_name'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'type_name', 'value' => $this->data['type_name'], 'style' => 'tiny-field', 'attr' => 'readonly'));
     $this->data['form']['fields']['default_icon'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'default_icon', 'value' => $this->data['default_icon'], 'style' => 'small-field'));
     $this->data['form']['fields']['default_directory'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'default_directory', 'value' => $this->data['default_directory'], 'style' => 'small-field', 'attr' => 'readonly'));
     $this->data['form']['fields']['file_types'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'file_types', 'value' => $this->data['file_types'], 'style' => 'small-field'));
     $this->data['button_save'] = $this->language->get('button_save');
     $this->data['button_close'] = $this->language->get('button_close');
     $this->data['button_save_and_close'] = $this->language->get('button_save_and_close');
     $view->assign('help_url', $this->gen_help_url('resource_library_types'));
     $view->batchAssign($this->data);
     $this->data['response'] = $view->fetch('responses/tool/rl_types_form.tpl');
     $this->response->setOutput($this->data['response']);
 }
 private function _common()
 {
     $rm = new AResourceManager();
     if ($this->request->get['mode'] == 'single') {
         $this->data['types'] = array($rm->getResourceTypeByName($this->request->get['type']));
     } else {
         $this->data['types'] = isset($this->session->data['rl_types']) ? $this->session->data['rl_types'] : $rm->getResourceTypes();
     }
     $this->data['type'] = $this->request->get['type'];
     if (($this->data['type'] == 'undefined' || empty($this->data['type'])) && $this->request->post_or_get('resource_id')) {
         $info = $rm->getResource($this->request->post_or_get('resource_id'), $this->language->getContentLanguageID());
         $this->data['type'] = $info['type_name'];
     } elseif ($this->data['type'] == 'undefined' || empty($this->data['type'])) {
         $this->data['type'] = is_array($this->data['types']) ? (string) $this->data['types'][0] : $this->data['types'];
     }
     $this->data['object_name'] = $this->data['name'] = (string) $this->request->get['object_name'];
     $this->data['object_id'] = $this->request->get['object_id'];
     $this->data['object_title'] = $this->request->get['object_title'];
     if ($this->data['object_title']) {
         $this->data['object_title'] = mb_substr($this->data['object_title'], 0, 60);
     } else {
         $this->data['object_title'] = mb_substr($this->_getObjectTitle($this->data['object_name'], $this->data['object_id']), 0, 60);
     }
     //search form
     $form = new AForm('HS');
     $this->data['search_form'] = $form->getFieldHtml(array('type' => 'form', 'name' => 'rlsearchform', 'action' => ''));
     $this->data['search_field_input'] = $form->getFieldHtml(array('type' => 'input', 'name' => 'search', 'value' => $this->request->get['keyword'], 'placeholder' => $this->language->get('text_search'), 'icon' => 'icon-search'));
     $rm->setType($this->data['type']);
     $options = array();
     foreach ($this->data['types'] as $type) {
         $options[$type['type_name']] = $type['type_name'];
     }
     $this->data['rl_types'] = $form->getFieldHtml(array('type' => 'selectbox', 'name' => 'rl_types', 'placeholder' => $this->language->get('text_type'), 'options' => $options, 'value' => $this->data['type']));
     $this->data['languages'] = array();
     $result = $this->language->getAvailableLanguages();
     foreach ($result as $lang) {
         $this->data['languages'][$lang['language_id']] = $lang;
         $languages[$lang['language_id']] = $lang['name'];
     }
     $this->data['language'] = $this->html->buildSelectbox(array('id' => 'language_id', 'name' => 'language_id', 'options' => $languages, 'value' => $language_id));
 }
 /**
  * @return null | void
  */
 public function add()
 {
     if (!$this->user->canModify('common/resource_library')) {
         $error = new AError('');
         return $error->toJSONResponse('NO_PERMISSIONS_402', array('error_text' => sprintf($this->language->get('error_permission_modify'), 'common/resource_library'), 'reset_value' => true));
     }
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     if ($this->request->is_POST()) {
         return $this->add_code();
     }
     $this->data['languages'] = array();
     $result = $this->language->getAvailableLanguages();
     foreach ($result as $lang) {
         $this->data['languages'][$lang['language_id']] = $lang;
     }
     $rm = new AResourceManager();
     if ($this->request->get['mode'] == 'single') {
         $this->data['types'] = array($rm->getResourceTypeByName($this->request->get['type']));
     } else {
         $this->data['types'] = $this->session->data['rl_types'] ? $this->session->data['rl_types'] : $rm->getResourceTypes();
     }
     if (!$this->data['types']) {
         $error = new AError('');
         return $error->toJSONResponse('VALIDATION_ERROR_406', array('error_text' => 'Incorrect resource library type list!', 'reset_value' => true));
     }
     $this->data['type'] = $this->request->get['type'];
     $this->data['wrapper_id'] = $this->request->get['wrapper_id'] ? $this->request->get['wrapper_id'] : false;
     $this->data['field_id'] = $this->request->get['field_id'] ? $this->request->get['field_id'] : false;
     $this->data['language_id'] = $this->config->get('storefront_language_id');
     $this->data['image_width'] = $this->config->get('config_image_grid_width');
     $this->data['image_height'] = $this->config->get('config_image_grid_height');
     $params = '&mode=' . $this->request->get['mode'] . '&type=' . $this->request->get['type'] . '&object_name=' . $this->request->get['object_name'] . '&object_id=' . $this->request->get['object_id'];
     $this->data['rl_add_code'] = $this->html->getSecureURL('common/resource_library/add_code', $params);
     $this->data['rl_get_info'] = $this->html->getSecureURL('common/resource_library/get_resource_details');
     $this->data['rl_upload'] = $this->html->getSecureURL('common/resource_library/upload', $params);
     if ((int) ini_get('post_max_size') <= 2) {
         // because 2Mb is default value for php
         $this->data['attention'] = sprintf($this->language->get('error_file size'), ini_get('post_max_size'));
     }
     $this->view->assign('form_language_switch', $this->html->getContentLanguageSwitcher());
     $this->view->assign('help_url', $this->gen_help_url('global_attributes_listing'));
     $this->_buildForm();
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
     $this->view->batchAssign($this->data);
     $this->processTemplate('responses/common/resource_library_add.tpl');
 }