article_class.php 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. <?php
  2. /**
  3. * 文章分类
  4. *
  5. *
  6. *
  7. ***/
  8. defined('InShopNC') or exit('Access Invalid!');
  9. class article_classControl extends SystemControl{
  10. public function __construct(){
  11. parent::__construct();
  12. Language::read('article_class');
  13. }
  14. /**
  15. * 文章管理
  16. */
  17. public function article_classOp(){
  18. $lang = Language::getLangContent();
  19. $model_class = Model('article_class');
  20. //删除
  21. if (chksubmit()){
  22. if (!empty($_POST['check_ac_id'])){
  23. if (is_array($_POST['check_ac_id'])){
  24. $del_array = $model_class->getChildClass($_POST['check_ac_id']);
  25. if (is_array($del_array)){
  26. foreach ($del_array as $k => $v){
  27. $model_class->del($v['ac_id']);
  28. }
  29. }
  30. }
  31. $this->log(l('nc_del,article_class_index_class'),1);
  32. showMessage($lang['article_class_index_del_succ']);
  33. }else {
  34. showMessage($lang['article_class_index_choose']);
  35. }
  36. }
  37. /**
  38. * 父ID
  39. */
  40. $parent_id = $_GET['ac_parent_id']?intval($_GET['ac_parent_id']):0;
  41. /**
  42. * 列表
  43. */
  44. $tmp_list = $model_class->getTreeClassList(2);
  45. if (is_array($tmp_list)){
  46. foreach ($tmp_list as $k => $v){
  47. if ($v['ac_parent_id'] == $parent_id){
  48. /**
  49. * 判断是否有子类
  50. */
  51. if ($tmp_list[$k+1]['deep'] > $v['deep']){
  52. $v['have_child'] = 1;
  53. }
  54. $class_list[] = $v;
  55. }
  56. }
  57. }
  58. if ($_GET['ajax'] == '1'){
  59. /**
  60. * 转码
  61. */
  62. if (strtoupper(CHARSET) == 'GBK'){
  63. $class_list = Language::getUTF8($class_list);
  64. }
  65. $output = json_encode($class_list);
  66. print_r($output);
  67. exit;
  68. }else {
  69. Tpl::output('class_list',$class_list);
  70. Tpl::showpage('article_class.index');
  71. }
  72. }
  73. /**
  74. * 文章分类 新增
  75. */
  76. public function article_class_addOp(){
  77. $lang = Language::getLangContent();
  78. $model_class = Model('article_class');
  79. if (chksubmit()){
  80. /**
  81. * 验证
  82. */
  83. $obj_validate = new Validator();
  84. $obj_validate->validateparam = array(
  85. array("input"=>$_POST["ac_name"], "require"=>"true", "message"=>$lang['article_class_add_name_null']),
  86. array("input"=>$_POST["ac_sort"], "require"=>"true", 'validator'=>'Number', "message"=>$lang['article_class_add_sort_int']),
  87. );
  88. $error = $obj_validate->validate();
  89. if ($error != ''){
  90. showMessage($error);
  91. }else {
  92. $insert_array = array();
  93. $insert_array['ac_name'] = trim($_POST['ac_name']);
  94. $insert_array['ac_parent_id'] = intval($_POST['ac_parent_id']);
  95. $insert_array['ac_sort'] = trim($_POST['ac_sort']);
  96. $result = $model_class->add($insert_array);
  97. if ($result){
  98. $url = array(
  99. array(
  100. 'url'=>'index.php?act=article_class&op=article_class_add&ac_parent_id='.intval($_POST['ac_parent_id']),
  101. 'msg'=>$lang['article_class_add_class'],
  102. ),
  103. array(
  104. 'url'=>'index.php?act=article_class&op=article_class',
  105. 'msg'=>$lang['article_class_add_back_to_list'],
  106. )
  107. );
  108. $this->log(l('nc_add,article_class_index_class').'['.$_POST['ac_name'].']',1);
  109. showMessage($lang['article_class_add_succ'],$url);
  110. }else {
  111. showMessage($lang['article_class_add_fail']);
  112. }
  113. }
  114. }
  115. /**
  116. * 父类列表,只取到第三级
  117. */
  118. $parent_list = $model_class->getTreeClassList(1);
  119. if (is_array($parent_list)){
  120. foreach ($parent_list as $k => $v){
  121. $parent_list[$k]['ac_name'] = str_repeat("&nbsp;",$v['deep']*2).$v['ac_name'];
  122. }
  123. }
  124. Tpl::output('ac_parent_id',intval($_GET['ac_parent_id']));
  125. Tpl::output('parent_list',$parent_list);
  126. Tpl::showpage('article_class.add');
  127. }
  128. /**
  129. * 文章分类编辑
  130. */
  131. public function article_class_editOp(){
  132. $lang = Language::getLangContent();
  133. $model_class = Model('article_class');
  134. if (chksubmit()){
  135. /**
  136. * 验证
  137. */
  138. $obj_validate = new Validator();
  139. $obj_validate->validateparam = array(
  140. array("input"=>$_POST["ac_name"], "require"=>"true", "message"=>$lang['article_class_add_name_null']),
  141. array("input"=>$_POST["ac_sort"], "require"=>"true", 'validator'=>'Number', "message"=>$lang['article_class_add_sort_int']),
  142. );
  143. $error = $obj_validate->validate();
  144. if ($error != ''){
  145. showMessage($error);
  146. }else {
  147. $update_array = array();
  148. $update_array['ac_id'] = intval($_POST['ac_id']);
  149. $update_array['ac_name'] = trim($_POST['ac_name']);
  150. // $update_array['ac_parent_id'] = intval($_POST['ac_parent_id']);
  151. $update_array['ac_sort'] =trim($_POST['ac_sort']);
  152. $result = $model_class->update($update_array);
  153. if ($result){
  154. $url = array(
  155. array(
  156. 'url'=>'index.php?act=article_class&op=article_class',
  157. 'msg'=>$lang['article_class_add_back_to_list'],
  158. ),
  159. array(
  160. 'url'=>'index.php?act=article_class&op=article_class_edit&ac_id='.intval($_POST['ac_id']),
  161. 'msg'=>$lang['article_class_edit_again'],
  162. ),
  163. );
  164. $this->log(l('nc_edit,article_class_index_class').'['.$_POST['ac_name'].']',1);
  165. showMessage($lang['article_class_edit_succ'],'index.php?act=article_class&op=article_class');
  166. }else {
  167. showMessage($lang['article_class_edit_fail']);
  168. }
  169. }
  170. }
  171. $class_array = $model_class->getOneClass(intval($_GET['ac_id']));
  172. if (empty($class_array)){
  173. showMessage($lang['param_error']);
  174. }
  175. Tpl::output('class_array',$class_array);
  176. Tpl::showpage('article_class.edit');
  177. }
  178. /**
  179. * 删除分类
  180. */
  181. public function article_class_delOp(){
  182. $lang = Language::getLangContent();
  183. $model_class = Model('article_class');
  184. if (intval($_GET['ac_id']) > 0){
  185. $array = array(intval($_GET['ac_id']));
  186. $del_array = $model_class->getChildClass($array);
  187. if (is_array($del_array)){
  188. foreach ($del_array as $k => $v){
  189. $model_class->del($v['ac_id']);
  190. }
  191. }
  192. $this->log(l('nc_add,article_class_index_class').'[ID:'.intval($_GET['ac_id']).']',1);
  193. showMessage($lang['article_class_index_del_succ'],'index.php?act=article_class&op=article_class');
  194. }else {
  195. showMessage($lang['article_class_index_choose'],'index.php?act=article_class&op=article_class');
  196. }
  197. }
  198. /**
  199. * ajax操作
  200. */
  201. public function ajaxOp(){
  202. switch ($_GET['branch']){
  203. /**
  204. * 分类:验证是否有重复的名称
  205. */
  206. case 'article_class_name':
  207. $model_class = Model('article_class');
  208. $class_array = $model_class->getOneClass(intval($_GET['id']));
  209. $condition['ac_name'] = trim($_GET['value']);
  210. $condition['ac_parent_id'] = $class_array['ac_parent_id'];
  211. $condition['no_ac_id'] = intval($_GET['id']);
  212. $class_list = $model_class->getClassList($condition);
  213. if (empty($class_list)){
  214. $update_array = array();
  215. $update_array['ac_id'] = intval($_GET['id']);
  216. $update_array['ac_name'] = trim($_GET['value']);
  217. $model_class->update($update_array);
  218. echo 'true';exit;
  219. }else {
  220. echo 'false';exit;
  221. }
  222. break;
  223. /**
  224. * 分类: 排序 显示 设置
  225. */
  226. case 'article_class_sort':
  227. $model_class = Model('article_class');
  228. $update_array = array();
  229. $update_array['ac_id'] = intval($_GET['id']);
  230. $update_array[$_GET['column']] = trim($_GET['value']);
  231. $result = $model_class->update($update_array);
  232. echo 'true';exit;
  233. break;
  234. /**
  235. * 分类:添加、修改操作中 检测类别名称是否有重复
  236. */
  237. case 'check_class_name':
  238. $model_class = Model('article_class');
  239. $condition['ac_name'] = trim($_GET['ac_name']);
  240. $condition['ac_parent_id'] = intval($_GET['ac_parent_id']);
  241. $condition['no_ac_id'] = intval($_GET['ac_id']);
  242. $class_list = $model_class->getClassList($condition);
  243. if (empty($class_list)){
  244. echo 'true';exit;
  245. }else {
  246. echo 'false';exit;
  247. }
  248. break;
  249. }
  250. }
  251. }