/admin/controller/module/bestseller.php

https://github.com/smadi/arabian-land · PHP · 120 lines · 92 code · 28 blank · 0 comment · 14 complexity · ae5a4490b775341f5fbbed53362835ce MD5 · raw file

  1. <?php
  2. class ControllerModuleBestSeller extends Controller {
  3. private $error = array();
  4. public function index() {
  5. $this->load->language('module/bestseller');
  6. $this->document->setTitle($this->language->get('heading_title'));
  7. $this->load->model('setting/setting');
  8. if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
  9. $this->model_setting_setting->editSetting('bestseller', $this->request->post);
  10. $this->cache->delete('product');
  11. $this->session->data['success'] = $this->language->get('text_success');
  12. $this->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'));
  13. }
  14. $this->data['heading_title'] = $this->language->get('heading_title');
  15. $this->data['text_enabled'] = $this->language->get('text_enabled');
  16. $this->data['text_disabled'] = $this->language->get('text_disabled');
  17. $this->data['text_content_top'] = $this->language->get('text_content_top');
  18. $this->data['text_content_bottom'] = $this->language->get('text_content_bottom');
  19. $this->data['text_column_left'] = $this->language->get('text_column_left');
  20. $this->data['text_column_right'] = $this->language->get('text_column_right');
  21. $this->data['entry_limit'] = $this->language->get('entry_limit');
  22. $this->data['entry_image'] = $this->language->get('entry_image');
  23. $this->data['entry_layout'] = $this->language->get('entry_layout');
  24. $this->data['entry_position'] = $this->language->get('entry_position');
  25. $this->data['entry_status'] = $this->language->get('entry_status');
  26. $this->data['entry_sort_order'] = $this->language->get('entry_sort_order');
  27. $this->data['button_save'] = $this->language->get('button_save');
  28. $this->data['button_cancel'] = $this->language->get('button_cancel');
  29. $this->data['button_add_module'] = $this->language->get('button_add_module');
  30. $this->data['button_remove'] = $this->language->get('button_remove');
  31. if (isset($this->error['warning'])) {
  32. $this->data['error_warning'] = $this->error['warning'];
  33. } else {
  34. $this->data['error_warning'] = '';
  35. }
  36. if (isset($this->error['image'])) {
  37. $this->data['error_image'] = $this->error['image'];
  38. } else {
  39. $this->data['error_image'] = array();
  40. }
  41. $this->data['breadcrumbs'] = array();
  42. $this->data['breadcrumbs'][] = array(
  43. 'text' => $this->language->get('text_home'),
  44. 'href' => $this->url->link('common/home', 'token=' . $this->session->data['token'], 'SSL'),
  45. 'separator' => false
  46. );
  47. $this->data['breadcrumbs'][] = array(
  48. 'text' => $this->language->get('text_module'),
  49. 'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'),
  50. 'separator' => ' :: '
  51. );
  52. $this->data['breadcrumbs'][] = array(
  53. 'text' => $this->language->get('heading_title'),
  54. 'href' => $this->url->link('module/bestseller', 'token=' . $this->session->data['token'], 'SSL'),
  55. 'separator' => ' :: '
  56. );
  57. $this->data['action'] = $this->url->link('module/bestseller', 'token=' . $this->session->data['token'], 'SSL');
  58. $this->data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL');
  59. $this->data['modules'] = array();
  60. if (isset($this->request->post['bestseller_module'])) {
  61. $this->data['modules'] = $this->request->post['bestseller_module'];
  62. } elseif ($this->config->get('bestseller_module')) {
  63. $this->data['modules'] = $this->config->get('bestseller_module');
  64. }
  65. $this->load->model('design/layout');
  66. $this->data['layouts'] = $this->model_design_layout->getLayouts();
  67. $this->template = 'module/bestseller.tpl';
  68. $this->children = array(
  69. 'common/header',
  70. 'common/footer',
  71. );
  72. $this->response->setOutput($this->render());
  73. }
  74. private function validate() {
  75. if (!$this->user->hasPermission('modify', 'module/bestseller')) {
  76. $this->error['warning'] = $this->language->get('error_permission');
  77. }
  78. if (isset($this->request->post['bestseller_module'])) {
  79. foreach ($this->request->post['bestseller_module'] as $key => $value) {
  80. if (!$value['image_width'] || !$value['image_height']) {
  81. $this->error['image'][$key] = $this->language->get('error_image');
  82. }
  83. }
  84. }
  85. if (!$this->error) {
  86. return true;
  87. } else {
  88. return false;
  89. }
  90. }
  91. }
  92. ?>