/admin/controller/module/slideshow.php

https://github.com/smadi/arabian-land · PHP · 122 lines · 93 code · 29 blank · 0 comment · 14 complexity · 096fd3bd64e26d188104494d5603a49d MD5 · raw file

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