navigation.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381
  1. <?php
  2. /**
  3. * 页面导航管理
  4. *
  5. *
  6. *
  7. ***/
  8. defined('InShopNC') or exit('Access Invalid!');
  9. class navigationControl extends SystemControl{
  10. public function __construct(){
  11. parent::__construct();
  12. Language::read('navigation');
  13. }
  14. /**
  15. * 页面导航
  16. */
  17. public function navigationOp(){
  18. $lang = Language::getLangContent();
  19. $model_navigation = Model('navigation');
  20. /**
  21. * 删除
  22. */
  23. if (chksubmit()){
  24. if (is_array($_POST['del_id']) && !empty($_POST['del_id'])){
  25. $del_str=implode(',',$_POST['del_id']);
  26. $where = "where nav_id in (".$del_str.")";
  27. Db::delete("navigation",$where);
  28. dkcache('nav');
  29. $this->log(L('navigation_index_del_succ').'[ID:'.$del_str.']',null);
  30. showMessage($lang['navigation_index_del_succ']);
  31. }else {
  32. showMessage($lang['navigation_index_choose_del']);
  33. }
  34. }
  35. /**
  36. * 检索条件
  37. */
  38. $condition['like_nav_title'] = trim($_GET['search_nav_title']);
  39. $condition['nav_location'] = trim($_GET['search_nav_location']);
  40. $condition['order'] = 'nav_sort asc';
  41. /**
  42. * 分页
  43. */
  44. $page = new Page();
  45. $page->setEachNum(10);
  46. $page->setStyle('admin');
  47. $navigation_list = $model_navigation->getNavigationList($condition,$page);
  48. /**
  49. * 整理内容
  50. */
  51. if (is_array($navigation_list)){
  52. foreach ($navigation_list as $k => $v){
  53. switch ($v['nav_location']){
  54. case '0':
  55. $navigation_list[$k]['nav_location'] = $lang['navigation_index_top'];
  56. break;
  57. case '1':
  58. $navigation_list[$k]['nav_location'] = $lang['navigation_index_center'];
  59. break;
  60. case '2':
  61. $navigation_list[$k]['nav_location'] = $lang['navigation_index_bottom'];
  62. break;
  63. }
  64. switch ($v['nav_new_open']){
  65. case '0':
  66. $navigation_list[$k]['nav_new_open'] = $lang['nc_no'];
  67. break;
  68. case '1':
  69. $navigation_list[$k]['nav_new_open'] = $lang['nc_yes'];
  70. break;
  71. }
  72. }
  73. }
  74. Tpl::output('navigation_list',$navigation_list);
  75. Tpl::output('page',$page->show());
  76. Tpl::output('search_nav_title',trim($_GET['search_nav_title']));
  77. Tpl::output('search_nav_location',trim($_GET['search_nav_location']));
  78. Tpl::showpage('navigation.index');
  79. }
  80. /**
  81. * 页面导航 添加
  82. */
  83. public function navigation_addOp(){
  84. $lang = Language::getLangContent();
  85. $model_navigation = Model('navigation');
  86. if (chksubmit()){
  87. /**
  88. * 验证
  89. */
  90. $obj_validate = new Validate();
  91. $obj_validate->validateparam = array(
  92. array("input"=>$_POST["nav_title"], "require"=>"true", "message"=>$lang['navigation_add_partner_null']),
  93. array("input"=>$_POST["nav_sort"], "require"=>"true", 'validator'=>'Number', "message"=>$lang['navigation_add_sort_int']),
  94. );
  95. switch ($_POST['nav_type']){
  96. /**
  97. * 自定义
  98. */
  99. case '0':
  100. //$obj_validate->setValidate(array("input"=>$_POST["nav_url"], 'validator'=>'Url', "message"=>$lang['navigation_add_url_wrong']));
  101. break;
  102. /**
  103. * 商品分类
  104. */
  105. case '1':
  106. $obj_validate->setValidate(array("input"=>$_POST["goods_class_id"], "require"=>"true", "message"=>$lang['navigation_add_goods_class_null']));
  107. break;
  108. /**
  109. * 文章分类
  110. */
  111. case '2':
  112. $obj_validate->setValidate(array("input"=>$_POST["article_class_id"], "require"=>"true", "message"=>$lang['navigation_add_article_class_null']));
  113. break;
  114. /**
  115. * 活动
  116. */
  117. case '3':
  118. $obj_validate->setValidate(array("input"=>$_POST["activity_id"], "require"=>"true", "message"=>$lang['navigation_add_activity_null']));
  119. break;
  120. }
  121. $error = $obj_validate->validate();
  122. if ($error != ''){
  123. showMessage($error);
  124. }else {
  125. $insert_array = array();
  126. $insert_array['nav_type'] = trim($_POST['nav_type']);
  127. $insert_array['nav_title'] = trim($_POST['nav_title']);
  128. $insert_array['nav_location'] = trim($_POST['nav_location']);
  129. $insert_array['nav_new_open'] = trim($_POST['nav_new_open']);
  130. $insert_array['nav_sort'] = trim($_POST['nav_sort']);
  131. switch ($_POST['nav_type']){
  132. /**
  133. * 自定义
  134. */
  135. case '0':
  136. $insert_array['nav_url'] = trim($_POST['nav_url']);
  137. break;
  138. /**
  139. * 商品分类
  140. */
  141. case '1':
  142. $insert_array['item_id'] = intval($_POST['goods_class_id']);
  143. break;
  144. /**
  145. * 文章分类
  146. */
  147. case '2':
  148. $insert_array['item_id'] = intval($_POST['article_class_id']);
  149. break;
  150. /**
  151. * 活动
  152. */
  153. case '3':
  154. $insert_array['item_id'] = intval($_POST['activity_id']);
  155. break;
  156. }
  157. $result = $model_navigation->add($insert_array);
  158. if ($result){
  159. dkcache('nav');
  160. $url = array(
  161. array(
  162. 'url'=>'index.php?act=navigation&op=navigation_add',
  163. 'msg'=>$lang['navigation_add_again'],
  164. ),
  165. array(
  166. 'url'=>'index.php?act=navigation&op=navigation',
  167. 'msg'=>$lang['navigation_add_back_to_list'],
  168. )
  169. );
  170. $this->log(L('navigation_add_succ').'['.$_POST['nav_title'].']',null);
  171. showMessage($lang['navigation_add_succ'],$url);
  172. }else {
  173. showMessage($lang['navigation_add_fail']);
  174. }
  175. }
  176. }
  177. /**
  178. * 商品分类
  179. */
  180. $model_goods_class = Model('goods_class');
  181. $goods_class_list = $model_goods_class->getTreeClassList(3);
  182. if (is_array($goods_class_list)){
  183. foreach ($goods_class_list as $k => $v){
  184. $goods_class_list[$k]['gc_name'] = str_repeat("&nbsp;",$v['deep']*2).$v['gc_name'];
  185. }
  186. }
  187. /**
  188. * 文章分类
  189. */
  190. $model_article_class = Model('article_class');
  191. $article_class_list = $model_article_class->getTreeClassList(2);
  192. if (is_array($article_class_list)){
  193. foreach ($article_class_list as $k => $v){
  194. $article_class_list[$k]['ac_name'] = str_repeat("&nbsp;",$v['deep']*2).$v['ac_name'];
  195. }
  196. }
  197. /**
  198. * 活动
  199. */
  200. $activity = Model('activity');
  201. $activity_list = $activity->getList(array('opening'=>true,'order'=>'activity.activity_sort'));
  202. Tpl::output('activity_list',$activity_list);
  203. Tpl::output('goods_class_list',$goods_class_list);
  204. Tpl::output('article_class_list',$article_class_list);
  205. Tpl::showpage('navigation.add');
  206. }
  207. /**
  208. * 页面导航 编辑
  209. */
  210. public function navigation_editOp(){
  211. $lang = Language::getLangContent();
  212. $model_navigation = Model('navigation');
  213. if (chksubmit()){
  214. /**
  215. * 验证
  216. */
  217. $obj_validate = new Validate();
  218. $obj_validate->validateparam = array(
  219. array("input"=>$_POST["nav_title"], "require"=>"true", "message"=>$lang['navigation_add_partner_null']),
  220. array("input"=>$_POST["nav_sort"], "require"=>"true", 'validator'=>'Number', "message"=>$lang['navigation_add_sort_int']),
  221. );
  222. switch ($_POST['nav_type']){
  223. /**
  224. * 自定义
  225. */
  226. case '0':
  227. //$obj_validate->setValidate(array("input"=>$_POST["nav_url"], 'validator'=>'Url', "message"=>$lang['navigation_add_url_wrong']));
  228. break;
  229. /**
  230. * 商品分类
  231. */
  232. case '1':
  233. $obj_validate->setValidate(array("input"=>$_POST["goods_class_id"], "require"=>"true", "message"=>$lang['navigation_add_goods_class_null']));
  234. break;
  235. /**
  236. * 文章分类
  237. */
  238. case '2':
  239. $obj_validate->setValidate(array("input"=>$_POST["article_class_id"], "require"=>"true", "message"=>$lang['navigation_add_article_class_null']));
  240. break;
  241. }
  242. $error = $obj_validate->validate();
  243. if ($error != ''){
  244. showMessage($error);
  245. }else {
  246. $update_array = array();
  247. $update_array['nav_id'] = intval($_POST['nav_id']);
  248. $update_array['nav_type'] = trim($_POST['nav_type']);
  249. $update_array['nav_title'] = trim($_POST['nav_title']);
  250. $update_array['nav_location'] = trim($_POST['nav_location']);
  251. $update_array['nav_new_open'] = trim($_POST['nav_new_open']);
  252. $update_array['nav_sort'] = trim($_POST['nav_sort']);
  253. switch ($_POST['nav_type']){
  254. /**
  255. * 自定义
  256. */
  257. case '0':
  258. $update_array['nav_url'] = trim($_POST['nav_url']);
  259. break;
  260. /**
  261. * 商品分类
  262. */
  263. case '1':
  264. $update_array['item_id'] = intval($_POST['goods_class_id']);
  265. break;
  266. /**
  267. * 文章分类
  268. */
  269. case '2':
  270. $update_array['item_id'] = intval($_POST['article_class_id']);
  271. break;
  272. /**
  273. * 活动
  274. */
  275. case '3':
  276. $update_array['item_id'] = intval($_POST['activity_id']);
  277. break;
  278. }
  279. $result = $model_navigation->update($update_array);
  280. if ($result){
  281. dkcache('nav');
  282. $url = array(
  283. array(
  284. 'url'=>'index.php?act=navigation&op=navigation_edit&nav_id='.intval($_POST['nav_id']),
  285. 'msg'=>$lang['navigation_edit_again'],
  286. ),
  287. array(
  288. 'url'=>'index.php?act=navigation&op=navigation',
  289. 'msg'=>$lang['navigation_add_back_to_list'],
  290. )
  291. );
  292. $this->log(L('navigation_edit_succ').'['.$_POST['nav_title'].']',null);
  293. showMessage($lang['navigation_edit_succ'],$url);
  294. }else {
  295. showMessage($lang['navigation_edit_fail']);
  296. }
  297. }
  298. }
  299. $navigation_array = $model_navigation->getOneNavigation(intval($_GET['nav_id']));
  300. if (empty($navigation_array)){
  301. showMessage($lang['param_error']);
  302. }
  303. /**
  304. * 商品分类
  305. */
  306. $model_goods_class = Model('goods_class');
  307. $goods_class_list = $model_goods_class->getTreeClassList(3);
  308. if (is_array($goods_class_list)){
  309. foreach ($goods_class_list as $k => $v){
  310. $goods_class_list[$k]['gc_name'] = str_repeat("&nbsp;",$v['deep']*2).$v['gc_name'];
  311. }
  312. }
  313. /**
  314. * 文章分类
  315. */
  316. $model_article_class = Model('article_class');
  317. $article_class_list = $model_article_class->getTreeClassList(2);
  318. if (is_array($article_class_list)){
  319. foreach ($article_class_list as $k => $v){
  320. $article_class_list[$k]['ac_name'] = str_repeat("&nbsp;",$v['deep']*2).$v['ac_name'];
  321. }
  322. }
  323. /**
  324. * 活动
  325. */
  326. $activity = Model('activity');
  327. $activity_list = $activity->getList(array('opening'=>true,'order'=>'activity.activity_sort'));
  328. Tpl::output('activity_list',$activity_list);
  329. Tpl::output('navigation_array',$navigation_array);
  330. Tpl::output('goods_class_list',$goods_class_list);
  331. Tpl::output('article_class_list',$article_class_list);
  332. Tpl::showpage('navigation.edit');
  333. }
  334. /**
  335. * 删除页面导航
  336. */
  337. public function navigation_delOp(){
  338. $lang = Language::getLangContent();
  339. $model_navigation = Model('navigation');
  340. if (intval($_GET['nav_id']) > 0){
  341. $model_navigation->del(intval($_GET['nav_id']));
  342. dkcache('nav');
  343. $this->log(L('navigation_edit_succ').'[ID:'.intval($_GET['nav_id']).']',null);
  344. showMessage($lang['navigation_index_del_succ'],'index.php?act=navigation&op=navigation');
  345. }else {
  346. showMessage($lang['navigation_index_choose_del'],'index.php?act=navigation&op=navigation');
  347. }
  348. }
  349. /**
  350. * ajax操作
  351. */
  352. public function ajaxOp(){
  353. switch ($_GET['branch']){
  354. /**
  355. * 页面导航 排序
  356. */
  357. case 'nav_sort':
  358. $model_navigation = Model('navigation');
  359. $update_array = array();
  360. $update_array['nav_id'] = intval($_GET['id']);
  361. $update_array[$_GET['column']] = trim($_GET['value']);
  362. $result = $model_navigation->update($update_array);
  363. dkcache('nav');
  364. echo 'true';exit;
  365. break;
  366. }
  367. }
  368. }