admin_packages_model.php 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <?php
  2. class admin_packages_model extends Model {
  3. public function getBoxes($filter='') {
  4. if ($filter == '0') $filter = '';
  5. if ($filter != '') {
  6. $result = $this->query("select * from azonics_packages where box_status<>'0' AND parent_event='".$filter."';");
  7. }
  8. else {
  9. $result = $this->query("select * from azonics_packages where box_status<>'0';");
  10. }
  11. return $result;
  12. }
  13. public function loadBox() {
  14. $box_id = $this->escapeString($_REQUEST['id']);
  15. $row = $this->query("select * from azonics_packages where box_id='".$box_id."';");
  16. return $row[0];
  17. }
  18. public function saveBox() {
  19. $data = $this->escapeArray($_REQUEST);
  20. if ($data['box_id']!='') {
  21. $this->execute("update azonics_packages set "
  22. . "box_title='".$data['box_title']."', "
  23. . "box_title_en='".$data['box_title_en']."', "
  24. . "parent_service='".$data['parent_service']."', "
  25. . "parent_event='".$data['parent_event']."', "
  26. . "parent_menu='".$data['parent_menu']."', "
  27. . "box_subtitle='".$data['box_subtitle']."', "
  28. . "box_subtitle_en='".$data['box_subtitle_en']."', "
  29. . "box_order='".$data['box_order']."' "
  30. . "where box_id='".$data['box_id']."';");
  31. return true;
  32. }
  33. else {
  34. $this->execute("insert into azonics_packages set "
  35. . "box_title='".$data['box_title']."', "
  36. . "box_title_en='".$data['box_title_en']."', "
  37. . "box_subtitle='".$data['box_subtitle']."', "
  38. . "box_subtitle_en='".$data['box_subtitle_en']."', "
  39. . "box_status='1', "
  40. . "parent_service='".$data['parent_service']."', "
  41. . "parent_event='".$data['parent_event']."', "
  42. . "parent_menu='".$data['parent_menu']."', "
  43. . "box_order='".$data['box_order']."', "
  44. . "box_user='".$_SESSION['admin_user']->admin_id."';");
  45. return true;
  46. }
  47. }
  48. public function deleteBox() {
  49. $box_id = $this->escapeString($_REQUEST['id']);
  50. $this->execute("update azonics_packages set box_status='0' where box_id='".$box_id."';");
  51. return true;
  52. }
  53. public function getPackageBlocks($id='') {
  54. if ($id == '') $id = $_REQUEST['id'];
  55. $result = $this->query("select * from azonics_package_blocks where block_status<>'0' and box_id='".$id."' order by block_order asc;");
  56. return $result;
  57. }
  58. public function loadBlock($block_id) {
  59. $block_id = $this->escapeString($block_id);
  60. $row = $this->query("select * from azonics_package_blocks where block_id='".$block_id."';");
  61. return $row[0];
  62. }
  63. public function updateBlock() {
  64. $data = $this->escapeArray($_REQUEST);
  65. if ($data['block_id']!='') {
  66. $this->execute("update azonics_package_blocks set "
  67. . "h1_text='".$data['h1_text']."', "
  68. . "h2_text='".$data['h2_text']."', "
  69. . "p_text='".$data['p_text']."', "
  70. . "note_text='".$data['note_text']."' "
  71. . "where block_id='".$data['block_id']."';");
  72. if ($_FILES['image_content']['tmp_name']!=='' && $data['block_type'] == 5) {
  73. $fname = 'banner_'.time().'.jpg';
  74. $path = 'static/uploads/thumbs/';
  75. move_uploaded_file($_FILES['image_content']['tmp_name'],$path.$fname);
  76. $this->execute("UPDATE azonics_package_blocks SET image_content='".$path.$fname."' WHERE block_id='".$data['block_id']."';");
  77. }
  78. return true;
  79. }
  80. }
  81. public function addBlock() {
  82. $data = $this->escapeArray($_REQUEST);
  83. $data['block_order'] = $this->getMaxBlockOrder() + 1;
  84. $this->execute("insert into azonics_package_blocks set "
  85. . "box_id='".$data['id']."', "
  86. . "block_type='".$data['block_type']."', "
  87. . "h1_text='".$data['h1_text']."', "
  88. . "h2_text='".$data['h2_text']."', "
  89. . "p_text='".$data['p_text']."', "
  90. . "note_text='".$data['note_text']."', "
  91. . "block_status='1', block_order='".$data['block_order']."';");
  92. $lastid = $this->getLastInsertID();
  93. if ($_FILES['image_content']['tmp_name']!=='' && $data['block_type'] == 5) {
  94. $fname = 'banner_'.time().'.jpg';
  95. $path = 'static/uploads/thumbs/';
  96. move_uploaded_file($_FILES['image_content']['tmp_name'],$path.$fname);
  97. $this->execute("UPDATE azonics_package_blocks SET image_content='".$path.$fname."' WHERE block_id='".$lastid."';");
  98. }
  99. return true;
  100. }
  101. public function deleteBlock() {
  102. $block_id = $this->escapeString($_REQUEST['block_id']);
  103. $this->execute("delete from azonics_package_blocks where block_id='".$block_id."';");
  104. return true;
  105. }
  106. public function getPrevBlock($block_id) {
  107. $block_id = $this->escapeString($block_id);
  108. $row = $this->query("select * from azonics_package_blocks where block_order < (select block_order from azonics_package_blocks where block_id='".$block_id."') and box_id='".$_REQUEST['id']."' order by block_order desc limit 1;");
  109. return isset($row[0]) ? $row[0] : null;
  110. }
  111. public function getNextBlock($block_id) {
  112. $block_id = $this->escapeString($block_id);
  113. $row = $this->query("select * from azonics_package_blocks where block_order > (select block_order from azonics_package_blocks where block_id='".$block_id."') and box_id='".$_REQUEST['id']."' order by block_order asc limit 1;");
  114. return isset($row[0]) ? $row[0] : null;
  115. }
  116. public function getMaxBlockOrder() {
  117. $row = $this->query("select max(block_order) as max_order from azonics_package_blocks where box_id='".$_REQUEST['id']."';");
  118. return isset($row[0]) ? $row[0]->max_order : 0;
  119. }
  120. public function moveBlock($direction) {
  121. $block_id = $this->escapeString($_REQUEST['block_id']);
  122. $block = $this->loadBlock($block_id);
  123. if ($direction == 'up') {
  124. $prevBlock = $this->getPrevBlock($block_id);
  125. if ($prevBlock != null) {
  126. $this->execute("update azonics_package_blocks set block_order='".$block->block_order."' where block_id='".$prevBlock->block_id."';");
  127. $this->execute("update azonics_package_blocks set block_order='".$prevBlock->block_order."' where block_id='".$block_id."';");
  128. }
  129. } else if ($direction == 'down') {
  130. $nextBlock = $this->getNextBlock($block_id);
  131. if ($nextBlock != null) {
  132. $this->execute("update azonics_package_blocks set block_order='".$block->block_order."' where block_id='".$nextBlock->block_id."';");
  133. $this->execute("update azonics_package_blocks set block_order='".$nextBlock->block_order."' where block_id='".$block_id."';");
  134. }
  135. }
  136. return true;
  137. }
  138. }