cms_navigation.php 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. <?php
  2. /**
  3. * cms文章分类
  4. *
  5. *
  6. *
  7. *
  8. */
  9. defined('InShopNC') or exit('Access Invalid!');
  10. class cms_navigationControl extends SystemControl{
  11. public function __construct(){
  12. parent::__construct();
  13. Language::read('cms');
  14. }
  15. public function indexOp() {
  16. $this->cms_navigation_listOp();
  17. }
  18. /**
  19. * cms文章分类列表
  20. **/
  21. public function cms_navigation_listOp() {
  22. $model = Model('cms_navigation');
  23. $list = $model->getList(TRUE);
  24. $this->show_menu('list');
  25. Tpl::output('list',$list);
  26. Tpl::showpage("cms_navigation.list");
  27. }
  28. /**
  29. * cms文章分类添加
  30. **/
  31. public function cms_navigation_addOp() {
  32. $this->show_menu('add');
  33. Tpl::showpage('cms_navigation.add');
  34. }
  35. /**
  36. * cms文章分类保存
  37. **/
  38. public function cms_navigation_saveOp() {
  39. $obj_validate = new Validator();
  40. $validate_array = array(
  41. array('input'=>$_POST['navigation_title'],'require'=>'true',"validator"=>"Length","min"=>"1","max"=>"20",'message'=>Language::get('navigation_title_error')),
  42. array('input'=>$_POST['navigation_link'],'require'=>'true',"validator"=>"Length","min"=>"1","max"=>"255",'message'=>Language::get('navigation_link_error')),
  43. array('input'=>$_POST['navigation_sort'],'require'=>'true','validator'=>'Range','min'=>0,'max'=>255,'message'=>Language::get('navigation_sort_error')),
  44. );
  45. $obj_validate->validateparam = $validate_array;
  46. $error = $obj_validate->validate();
  47. if ($error != ''){
  48. showMessage(Language::get('error').$error,'','','error');
  49. }
  50. $param = array();
  51. $param['navigation_title'] = trim($_POST['navigation_title']);
  52. $param['navigation_link'] = trim($_POST['navigation_link']);
  53. $param['navigation_sort'] = intval($_POST['navigation_sort']);
  54. if(intval($_POST['navigation_open_type']) === 2) {
  55. $param['navigation_open_type'] = 2;
  56. } else {
  57. $param['navigation_open_type'] = 1;
  58. }
  59. $model_class = Model('cms_navigation');
  60. $result = $model_class->save($param);
  61. if($result) {
  62. $this->log(Language::get('cms_log_navigation_save').$result, 1);
  63. showMessage(Language::get('navigation_add_success'),'index.php?act=cms_navigation&op=cms_navigation_list');
  64. } else {
  65. $this->log(Language::get('cms_log_navigation_save').$result, 0);
  66. showMessage(Language::get('navigation_add_fail'),'index.php?act=cms_navigation&op=cms_navigation_list','','error');
  67. }
  68. }
  69. /**
  70. * cms导航排序修改
  71. */
  72. public function update_navigation_sortOp() {
  73. $new_sort = intval($_GET['value']);
  74. if ($new_sort > 255){
  75. echo json_encode(array('result'=>FALSE,'message'=>Language::get('class_sort_error')));
  76. die;
  77. } else {
  78. $this->update_navigation('navigation_sort', $new_sort);
  79. }
  80. }
  81. /**
  82. * cms导航标题修改
  83. */
  84. public function update_navigation_titleOp() {
  85. $new_value = trim($_GET['value']);
  86. $obj_validate = new Validator();
  87. $obj_validate->validateparam = array(
  88. array('input'=>$new_value,'require'=>'true',"validator"=>"Length","min"=>"1","max"=>"10",'message'=>Language::get('navigation_title_error')),
  89. );
  90. $error = $obj_validate->validate();
  91. if ($error != ''){
  92. echo json_encode(array('result'=>FALSE,'message'=>Language::get('navigation_title_error')));
  93. die;
  94. } else {
  95. $this->update_navigation('navigation_title', $new_value);
  96. }
  97. }
  98. /**
  99. * cms导航链接修改
  100. */
  101. public function update_navigation_linkOp() {
  102. $new_value = trim($_GET['value']);
  103. $obj_validate = new Validator();
  104. $obj_validate->validateparam = array(
  105. array('input'=>$new_value,'require'=>'true',"validator"=>"Length","min"=>"1","max"=>"255",'message'=>Language::get('navigation_link_error')),
  106. );
  107. $error = $obj_validate->validate();
  108. if ($error != ''){
  109. echo json_encode(array('result'=>FALSE,'message'=>Language::get('navigation_link_error')));
  110. die;
  111. } else {
  112. $this->update_navigation('navigation_link', $new_value);
  113. }
  114. }
  115. /**
  116. * cms导航修改
  117. */
  118. private function update_navigation($column, $new_value) {
  119. $navigation_id = intval($_GET['id']);
  120. if($navigation_id <= 0) {
  121. echo json_encode(array('result'=>FALSE,'message'=>Language::get('param_error')));
  122. die;
  123. }
  124. $model = Model("cms_navigation");
  125. $result = $model->modify(array($column=>$new_value),array('navigation_id'=>$navigation_id));
  126. if($result) {
  127. echo json_encode(array('result'=>TRUE, 'message'=>'success'));
  128. die;
  129. } else {
  130. echo json_encode(array('result'=>FALSE, 'message'=>Language::get('nc_common_save_fail')));
  131. die;
  132. }
  133. }
  134. /**
  135. * cms导航删除
  136. **/
  137. public function cms_navigation_dropOp() {
  138. $navigation_id = trim($_POST['navigation_id']);
  139. $model = Model('cms_navigation');
  140. $condition = array();
  141. $condition['navigation_id'] = array('in',$navigation_id);
  142. $result = $model->drop($condition);
  143. if($result) {
  144. $this->log(Language::get('cms_log_navigation_drop').$_POST['navigation_id'], 1);
  145. showMessage(Language::get('navigation_drop_success'),'');
  146. } else {
  147. $this->log(Language::get('cms_log_navigation_drop').$_POST['navigation_id'], 0);
  148. showMessage(Language::get('navigation_drop_fail'),'','','error');
  149. }
  150. }
  151. /**
  152. * ajax操作
  153. */
  154. public function ajaxOp(){
  155. switch ($_GET['branch']){
  156. case 'navigation_open_type':
  157. if(intval($_GET['id']) > 0) {
  158. $model= Model('cms_navigation');
  159. $condition['navigation_id'] = intval($_GET['id']);
  160. $update[$_GET['column']] = trim($_GET['value']);
  161. $model->modify($update,$condition);
  162. echo 'true';die;
  163. } else {
  164. echo 'false';die;
  165. }
  166. break;
  167. }
  168. }
  169. private function show_menu($menu_key) {
  170. $menu_array = array(
  171. 'list'=>array('menu_type'=>'link','menu_name'=>Language::get('nc_list'),'menu_url'=>'index.php?act=cms_navigation&op=cms_navigation_list'),
  172. 'add'=>array('menu_type'=>'link','menu_name'=>Language::get('nc_new'),'menu_url'=>'index.php?act=cms_navigation&op=cms_navigation_add'),
  173. );
  174. $menu_array[$menu_key]['menu_type'] = 'text';
  175. Tpl::output('menu',$menu_array);
  176. }
  177. }