mb_special.php 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764
  1. <?php
  2. /**
  3. * 手机专题
  4. *
  5. *
  6. *
  7. *
  8. */
  9. defined('InShopNC') or exit('Access Invalid!');
  10. require_once (BASE_ROOT_PATH . '/helper/util_helper.php');
  11. require_once (BASE_ROOT_PATH . '/helper/special/block_filter.php');
  12. require_once (BASE_ROOT_PATH . '/helper/special/upgrade_helper.php');
  13. require_once (BASE_ROOT_PATH . '/helper/search/tcp_client.php');
  14. require_once (BASE_ROOT_PATH . '/helper/search/util.php');
  15. require_once (BASE_ROOT_PATH . '/helper/search_param.php');
  16. require_once (BASE_ROOT_PATH . '/helper/area_helper.php');
  17. require_once (BASE_ROOT_PATH . '/helper/model_helper.php');
  18. require_once (BASE_ROOT_PATH . '/helper/ugc_helper.php');
  19. class mb_specialControl extends SystemControl
  20. {
  21. const mb_home_tab_id = 123;
  22. const def_item_bg_color = '#F7F7F7';
  23. const def_item_bg_type = 'color';
  24. const def_divider_bg_img= '/mobile/defimg/divider_bg.png';
  25. public function __construct()
  26. {
  27. parent::__construct();
  28. }
  29. public function area_uplastOp()
  30. {
  31. echo "area_uplast start";
  32. area_helper::uplast_country();
  33. echo "area_uplast end";
  34. }
  35. public function area_fixareaidOp()
  36. {
  37. echo "area_fixareaid start";
  38. area_helper::fix_areaid();
  39. echo "area_fixareaid end";
  40. }
  41. public function area_fixareainfoOp()
  42. {
  43. echo "fix_areainfo start";
  44. area_helper::fix_areainfo();
  45. echo "fix_areainfo end";
  46. }
  47. //升级专题数据
  48. public function upgradeOp()
  49. {
  50. $mod_mb_special = Model('mb_special');
  51. //$items = Model()->table('mb_special_item')->where(array('item_type' => 'home7','special_id' => array('gt',10)))->order('special_id desc')->field('*')->limit(2)->select();
  52. $items = Model()->table('mb_special_item')->field('*')->limit(false)->select();
  53. foreach ($items as $item)
  54. {
  55. $filter = new upgrade_helper($item['item_type'],$item['special_id'],unserialize($item['item_data']));
  56. $item_data = $filter->filter();
  57. if($item_data == false) continue;
  58. $result = $mod_mb_special->editMbSpecialItemByID(array('item_data' => $item_data), $item['item_id'], $item['special_id']);
  59. if($result == false) {
  60. echo "upgrade error special_id={$item['special_id']} item_id={$item['item_id']}</br>";
  61. } else {
  62. echo "upgrade success special_id={$item['special_id']} item_id={$item['item_id']}</br>";
  63. }
  64. }
  65. }
  66. /**
  67. * 专题列表
  68. */
  69. public function special_listOp()
  70. {
  71. $special_id = intval($_REQUEST['search_special_id']);
  72. $special_desc = trim($_REQUEST['special_desc']);
  73. if($special_id > 0) {
  74. $cond = array("special_id" => $special_id);
  75. }
  76. elseif(!empty($special_desc)) {
  77. $cond = array("special_desc" => array('like', "%{$special_desc}%"));
  78. } else {
  79. $cond = [];
  80. }
  81. $cond['from_user'] = 0;
  82. $model_mb_special = Model('mb_special');
  83. $mb_special_list = $model_mb_special->getMbSpecialList($cond, 50);
  84. Tpl::output('list', $mb_special_list);
  85. Tpl::output('page', $model_mb_special->showpage(2));
  86. $this->show_menu('special_list');
  87. Tpl::showpage('mb_special.list');
  88. }
  89. public function tab_listOp()
  90. {
  91. $mod_webcode = Model('web_code');
  92. $tabs = $mod_webcode->get_nocache(self::mb_home_tab_id);
  93. $this->show_menu('tab_list');
  94. Tpl::output('tabs', $tabs);
  95. Tpl::showpage('mb_special.tab');
  96. }
  97. /**
  98. * 保存专题
  99. */
  100. public function special_saveOp()
  101. {
  102. $model_mb_special = Model('mb_special');
  103. $param = array();
  104. $param['special_desc'] = $_POST['special_desc'];
  105. $result = $model_mb_special->addMbSpecial($param);
  106. if($result) {
  107. $this->log('添加手机专题' . '[ID:' . $result. ']', 1);
  108. showMessage(L('nc_common_save_succ'), urlAdmin('mb_special', 'special_list'));
  109. } else {
  110. $this->log('添加手机专题' . '[ID:' . $result. ']', 0);
  111. showMessage(L('nc_common_save_fail'), urlAdmin('mb_special', 'special_list'));
  112. }
  113. }
  114. /**
  115. * 编辑专题描述
  116. */
  117. public function update_special_descOp() {
  118. $model_mb_special = Model('mb_special');
  119. $param = array();
  120. $param['special_desc'] = $_GET['value'];
  121. $result = $model_mb_special->editMbSpecial($param, $_GET['id']);
  122. $data = array();
  123. if($result) {
  124. $this->log('保存手机专题' . '[ID:' . $result. ']', 1);
  125. $data['result'] = true;
  126. } else {
  127. $this->log('保存手机专题' . '[ID:' . $result. ']', 0);
  128. $data['result'] = false;
  129. $data['message'] = '保存失败';
  130. }
  131. echo json_encode($data);die;
  132. }
  133. /**
  134. * 删除专题
  135. */
  136. public function special_delOp()
  137. {
  138. $model_mb_special = Model('mb_special');
  139. $result = $model_mb_special->delMbSpecialByID($_POST['special_id']);
  140. if($result) {
  141. $this->log('删除手机专题' . '[ID:' . $_POST['special_id'] . ']', 1);
  142. showMessage(L('nc_common_del_succ'), urlAdmin('mb_special', 'special_list'));
  143. } else {
  144. $this->log('删除手机专题' . '[ID:' . $_POST['special_id'] . ']', 0);
  145. showMessage(L('nc_common_del_fail'), urlAdmin('mb_special', 'special_list'));
  146. }
  147. }
  148. /**
  149. * 编辑首页
  150. */
  151. public function index_editOp()
  152. {
  153. $model_mb_special = Model('mb_special');
  154. $special_item_list = $model_mb_special->getMbSpecialItemListByID($model_mb_special::INDEX_SPECIAL_ID);
  155. Tpl::output('list', $special_item_list);
  156. Tpl::output('page', $model_mb_special->showpage(2));
  157. Tpl::output('module_list', $model_mb_special->getMbSpecialModuleList());
  158. Tpl::output('special_id', $model_mb_special::INDEX_SPECIAL_ID);
  159. $this->show_menu('index_edit');
  160. Tpl::showpage('mb_special_item.list');
  161. }
  162. /**
  163. * 编辑专题
  164. */
  165. public function special_editOp() {
  166. $model_mb_special = Model('mb_special');
  167. $special_item_list = $model_mb_special->getMbSpecialItemListByID($_GET['special_id']);
  168. Tpl::output('list', $special_item_list);
  169. Tpl::output('page', $model_mb_special->showpage(2));
  170. Tpl::output('module_list', $model_mb_special->getMbSpecialModuleList());
  171. Tpl::output('special_id', $_GET['special_id']);
  172. $this->show_menu('special_item_list');
  173. Tpl::showpage('mb_special_item.list');
  174. }
  175. /**
  176. * 专题项目添加
  177. */
  178. public function special_item_addOp()
  179. {
  180. $item_info = $this->add_item($_POST['special_id'],$_POST['item_type']);
  181. if($item_info) {
  182. echo json_encode($item_info);die;
  183. } else {
  184. echo json_encode(array('error' => '添加失败'));die;
  185. }
  186. }
  187. private function add_item($special_id,$item_type)
  188. {
  189. $model_mb_special = Model('mb_special');
  190. $param = array();
  191. $param['special_id'] = $special_id;
  192. $param['item_type'] = $item_type;
  193. $param['bg_type'] = self::def_item_bg_type;
  194. $param['bg_data'] = self::def_item_bg_color;
  195. $param['has_margin'] = 0;
  196. $param['bg_image'] = '';
  197. if($item_type == 'divider')
  198. {
  199. $filter = new block_filter($item_type,$special_id,null);
  200. $image = RESOURCE_SITE_URL . self::def_divider_bg_img;
  201. if($filter->to_local($image)) {
  202. $param['bg_image'] = $image;
  203. }
  204. }
  205. $item_info = $model_mb_special->addMbSpecialItem($param);
  206. return $item_info;
  207. }
  208. //专题项目插入分割线
  209. public function add_frontOp()
  210. {
  211. $item_type = $_POST['item_type'];
  212. $special_id = intval($_POST['special_id']);
  213. $item_info = $this->add_item($special_id,$item_type);
  214. if($item_info == false) {
  215. echo json_encode(array('error' => '添加失败'));die;
  216. }
  217. $sel_item_id = intval($_POST['sel_item_id']);
  218. $insert_item_id = intval($item_info['item_id']);
  219. $model_mb_special = Model('mb_special');
  220. $special_item_list = $model_mb_special->getMbSpecialItemListByID($special_id);
  221. $item_ids = [];
  222. foreach ($special_item_list as $item)
  223. {
  224. $item_id = intval($item['item_id']);
  225. if($item_id == $sel_item_id) {
  226. $item_ids[] = $insert_item_id;
  227. $item_ids[] = $item_id;
  228. }
  229. elseif($item_id == $insert_item_id) {
  230. continue;
  231. }
  232. else {
  233. $item_ids[] = $item_id;
  234. }
  235. }
  236. $index = 0;
  237. foreach ($item_ids as $item_id) {
  238. $result = $model_mb_special->editMbSpecialItemByID(array('item_sort' => $index), $item_id, $special_id);
  239. $index++;
  240. }
  241. $data = array();
  242. $data['message'] = '操作成功';
  243. echo json_encode($data);
  244. }
  245. public function move_itemOp()
  246. {
  247. $special_id = intval($_POST['special_id']);
  248. $src_id = intval($_POST['src_id']);
  249. $desc_id = intval($_POST['dest_id']);
  250. $href = urlAdmin('mb_special', 'special_edit', array('special_id' => $_POST['special_id']));
  251. if($src_id == $desc_id || $src_id <= 0 || $desc_id <= 0) {
  252. showMessage(L('nc_common_save_fail'), $href);
  253. }
  254. else
  255. {
  256. $model_mb_special = Model('mb_special');
  257. $special_item_list = $model_mb_special->getMbSpecialItemListByID($special_id);
  258. $nfind = 0;
  259. $item_ids = [];
  260. foreach ($special_item_list as $item)
  261. {
  262. $item_id = intval($item['item_id']);
  263. if($item_id == $desc_id) {
  264. $item_ids[] = $src_id;
  265. $item_ids[] = $desc_id;
  266. $nfind += 1;
  267. }
  268. elseif($item_id == $src_id) {
  269. $nfind += 1;
  270. continue;
  271. }
  272. else {
  273. $item_ids[] = $item_id;
  274. }
  275. }
  276. if($nfind == 2)
  277. {
  278. $index = 0;
  279. foreach ($item_ids as $item_id) {
  280. $result = $model_mb_special->editMbSpecialItemByID(array('item_sort' => $index), $item_id, $special_id);
  281. $index++;
  282. }
  283. showMessage(L('nc_common_save_succ'),$href);
  284. }
  285. else {
  286. showMessage(L('nc_common_save_fail'), $href);
  287. }
  288. }
  289. }
  290. /**
  291. * 专题项目删除
  292. */
  293. public function special_item_delOp() {
  294. $model_mb_special = Model('mb_special');
  295. $condition = array();
  296. $condition['item_id'] = $_POST['item_id'];
  297. $result = $model_mb_special->delMbSpecialItem($condition, $_POST['special_id']);
  298. if($result) {
  299. echo json_encode(array('message' => '删除成功'));die;
  300. } else {
  301. echo json_encode(array('error' => '删除失败'));die;
  302. }
  303. }
  304. /**
  305. * 专题项目编辑
  306. */
  307. public function special_item_editOp()
  308. {
  309. $model_mb_special = Model('mb_special');
  310. $item_info = $model_mb_special->getMbSpecialItemInfoByID($_GET['item_id']);
  311. if($item_info['has_margin'] == 1) {
  312. $item_info['has_margin'] = 'true';
  313. } else {
  314. $item_info['has_margin'] = 'false';
  315. }
  316. Tpl::output('item_info', $item_info);
  317. if($item_info['special_id'] == 0) {
  318. $this->show_menu('index_edit');
  319. } else {
  320. $this->show_menu('special_item_list');
  321. }
  322. Tpl::showpage('mb_special_item.edit');
  323. }
  324. /**
  325. * 专题项目保存
  326. */
  327. public function special_item_saveOp()
  328. {
  329. $model_mb_special = Model('mb_special');
  330. $bg_type = $_POST['bg_type'];
  331. if($bg_type == 'image') {
  332. $bg_data = $_POST['bg_image_name'];
  333. } else {
  334. $bg_data = $_POST['bg_data'];
  335. if(empty($bg_data)) $bg_data = self::def_item_bg_color;
  336. }
  337. if($_POST['has_margin'] == "true") {
  338. $has_margin = 1;
  339. } else {
  340. $has_margin = 0;
  341. }
  342. $filter = new block_filter($_POST['item_type'],$_POST['special_id'],$_POST['item_data']);
  343. $item_data = $filter->filter();
  344. if($item_data == false) $item_data = $_POST['item_data'];
  345. $updata = array('item_data' => $item_data,'bg_type' => $bg_type,'bg_data' => $bg_data,'bg_image' => $_POST['bg_image_name'],'has_margin' => $has_margin);
  346. $result = $model_mb_special->editMbSpecialItemByID($updata, $_POST['item_id'], $_POST['special_id']);
  347. if($result) {
  348. if($_POST['special_id'] == $model_mb_special::INDEX_SPECIAL_ID) {
  349. showMessage(L('nc_common_save_succ'), urlAdmin('mb_special', 'index_edit'));
  350. } else {
  351. showMessage(L('nc_common_save_succ'), urlAdmin('mb_special', 'special_edit', array('special_id' => $_POST['special_id'])));
  352. }
  353. } else {
  354. showMessage(L('nc_common_save_succ'), '');
  355. }
  356. }
  357. /**
  358. * 图片上传
  359. */
  360. public function special_image_uploadOp() {
  361. $data = array();
  362. if(!empty($_FILES['special_image']['name'])) {
  363. $prefix = 's' . $_POST['special_id'];
  364. $upload = new UploadFile();
  365. $upload->set('default_dir', ATTACH_MOBILE . DS . 'special' . DS . $prefix);
  366. $upload->set('fprefix', $prefix);
  367. $upload->set('allow_type', array('gif', 'jpg', 'jpeg', 'png'));
  368. $result = $upload->upfile('special_image');
  369. if(!$result) {
  370. $data['error'] = $upload->error;
  371. }
  372. $data['image_name'] = $upload->file_name;
  373. $data['image_url'] = getMbSpecialImageUrl($data['image_name']);
  374. }
  375. echo json_encode($data);
  376. }
  377. /**
  378. * 商品列表
  379. */
  380. public function goods_listOp()
  381. {
  382. $p['keyword'] = urlencode($_REQUEST['keyword']);
  383. $param = new search_param($p);
  384. $params = $param->format();
  385. $result = search\search_client::instance()->get_result($params);
  386. $model_goods = Model('goods');
  387. $goods_list = $model_goods->getGoodsListByColorDistinct(array('goods_commonid' => array('in',$result['cids'])),
  388. 'goods_id,goods_name,goods_promotion_price,goods_image,goods_storage', '', 10);
  389. Tpl::output('goods_list', $goods_list);
  390. Tpl::output('keyword', $_REQUEST['keyword']);
  391. Tpl::output('show_page', $model_goods->showpage());
  392. Tpl::showpage('mb_special_widget.goods', 'null_layout');
  393. }
  394. /**
  395. * 更新项目排序
  396. */
  397. public function update_item_sortOp() {
  398. $item_id_string = $_POST['item_id_string'];
  399. $special_id = $_POST['special_id'];
  400. if(!empty($item_id_string)) {
  401. $model_mb_special = Model('mb_special');
  402. $item_id_array = explode(',', $item_id_string);
  403. $index = 0;
  404. foreach ($item_id_array as $item_id) {
  405. $result = $model_mb_special->editMbSpecialItemByID(array('item_sort' => $index), $item_id, $special_id);
  406. $index++;
  407. }
  408. }
  409. $data = array();
  410. $data['message'] = '操作成功';
  411. echo json_encode($data);
  412. }
  413. /**
  414. * 更新项目启用状态
  415. */
  416. public function update_item_usableOp() {
  417. $model_mb_special = Model('mb_special');
  418. $result = $model_mb_special->editMbSpecialItemUsableByID($_POST['usable'], $_POST['item_id'], $_POST['special_id']);
  419. $data = array();
  420. if($result) {
  421. $data['message'] = '操作成功';
  422. } else {
  423. $data['error'] = '操作失败';
  424. }
  425. echo json_encode($data);
  426. }
  427. public function add_tabOp()
  428. {
  429. $tab_name = $_POST['tab_name'];
  430. $special_id = intval($_POST['special_id']);
  431. $sort = intval($_POST['tab_sort']);
  432. $result = true;
  433. if ($special_id >= 0 && !empty($tab_name) && $sort > 0)
  434. {
  435. $mod_webcode = Model('web_code');
  436. $tabs = $mod_webcode->get_nocache(self::mb_home_tab_id);
  437. foreach ($tabs as $tab)
  438. {
  439. if($tab['special_id'] == $special_id) {
  440. $result = false;
  441. break;
  442. }
  443. }
  444. if($result == true) {
  445. $tabs[] = array('special_id' => $special_id, 'name' => $tab_name, 'sort' => $sort);
  446. $mod_webcode->edit(self::mb_home_tab_id,serialize($tabs));
  447. } else {
  448. $result = false;
  449. }
  450. }
  451. else {
  452. $result = false;
  453. }
  454. if($result) {
  455. $this->log('添加首页标签' . '[ID:' . $result. ']', 1);
  456. showMessage(L('nc_common_save_succ'), urlAdmin('mb_special', 'tab_list'));
  457. } else {
  458. $this->log('添加首页标签' . '[ID:' . $result. ']', 0);
  459. showMessage(L('nc_common_save_fail'), urlAdmin('mb_special', 'tab_list'));
  460. }
  461. }
  462. public function del_tabOp()
  463. {
  464. $special_id = $_POST['special_id'];
  465. $result = false;
  466. if ($special_id >= 0)
  467. {
  468. $mod_webcode = Model('web_code');
  469. $tabs = $mod_webcode->get_nocache(self::mb_home_tab_id);
  470. $tabs_new = [];
  471. foreach ($tabs as $key => $val)
  472. {
  473. if($val['special_id'] != $special_id) {
  474. $tabs_new[] = $val;
  475. } else {
  476. $result = true;
  477. }
  478. }
  479. if($result == true) {
  480. $mod_webcode->edit(self::mb_home_tab_id,serialize($tabs_new));
  481. }
  482. }
  483. if($result) {
  484. $this->log('删除首页标签' . '[ID:' . $_POST['special_id'] . ']', 1);
  485. showMessage(L('nc_common_del_succ'), urlAdmin('mb_special', 'tab_list'));
  486. } else {
  487. $this->log('删除首页标签' . '[ID:' . $_POST['special_id'] . ']', 0);
  488. showMessage(L('nc_common_del_fail'), urlAdmin('mb_special', 'tab_list'));
  489. }
  490. }
  491. public function update_tab_nameOp()
  492. {
  493. $tab_name = $_GET['value'];
  494. $special_id = intval($_GET['id']);
  495. $data = array();
  496. $data['result'] = false;
  497. if ($special_id >= 0 && !empty($tab_name))
  498. {
  499. $mod_webcode = Model('web_code');
  500. $tabs = $mod_webcode->get_nocache(self::mb_home_tab_id);
  501. foreach ($tabs as &$tab)
  502. {
  503. if($tab['special_id'] == $special_id) {
  504. $tab['name'] = $tab_name;
  505. $data['result'] = true;
  506. break;
  507. }
  508. }
  509. if($data['result'] == true) {
  510. $mod_webcode->edit(self::mb_home_tab_id,serialize($tabs));
  511. }
  512. }
  513. if($data['result'] == true) {
  514. $data['message'] = '操作成功';
  515. } else {
  516. $data['error'] = '操作失败';
  517. }
  518. echo json_encode($data);die;
  519. }
  520. public function update_tab_sortOp()
  521. {
  522. $tab_sort = $_GET['value'];
  523. $special_id = intval($_GET['id']);
  524. $data = array();
  525. $data['result'] = false;
  526. if ($special_id >= 0 && $tab_sort > 0)
  527. {
  528. $mod_webcode = Model('web_code');
  529. $tabs = $mod_webcode->get_nocache(self::mb_home_tab_id);
  530. foreach ($tabs as &$tab)
  531. {
  532. if($tab['special_id'] == $special_id) {
  533. $tab['sort'] = $tab_sort;
  534. $data['result'] = true;
  535. break;
  536. }
  537. }
  538. if($data['result'] == true) {
  539. $mod_webcode->edit(self::mb_home_tab_id,serialize($tabs));
  540. }
  541. }
  542. if($data['result'] == true) {
  543. $data['message'] = '操作成功';
  544. } else {
  545. $data['error'] = '操作失败';
  546. }
  547. echo json_encode($data);die;
  548. }
  549. /**
  550. * 专题审核
  551. */
  552. public function ugc_listOp()
  553. {
  554. $special_id = intval($_REQUEST['search_special_id']);
  555. $special_desc = trim($_REQUEST['special_desc']);
  556. $state_sel = intval($_REQUEST['state_sel']);
  557. if($special_id > 0) {
  558. $cond = ["special_id" => $special_id];
  559. }
  560. elseif(!empty($special_desc)) {
  561. $cond = ["special_desc" => array('like', "%{$special_desc}%")];
  562. } else {
  563. $cond = [];
  564. }
  565. $cond['from_user'] = 1;
  566. if($state_sel == 1) {
  567. $cond['check_time'] = 0;
  568. $cond['state'] = 0;
  569. }
  570. elseif($state_sel == 2) {
  571. $cond['check_time'] = ['gt',0];
  572. $cond['state'] = 1;
  573. }
  574. elseif($state_sel == 3) {
  575. $cond['check_time'] = ['gt',0];
  576. $cond['state'] = 0;
  577. }
  578. else {
  579. }
  580. $model_mb_special = Model('mb_special');
  581. $items = $model_mb_special->getMbSpecialList($cond, 50);
  582. $uids = [];
  583. foreach ($items as $item) {
  584. $sender = intval($item['member_id']);
  585. $uids[] = $sender;
  586. }
  587. $members = $this->users($uids);
  588. foreach ($items as &$item) {
  589. $userid = intval($item['member_id']);
  590. $item['nickname'] = $members[$userid]['nickname'];
  591. }
  592. Tpl::output('list', $items);
  593. Tpl::output('page', $model_mb_special->showpage(2));
  594. $this->show_menu('ugc_list');
  595. tpl::output('item_title', '用户内容审核');
  596. Tpl::showpage('mb_special.review');
  597. }
  598. private function users($user_ids)
  599. {
  600. if(empty($user_ids)) return [];
  601. $mod_member = Model('member');
  602. $members = $mod_member->getMemberList(array('member_id' => ['in',$user_ids]));
  603. if(empty($members)) return [];
  604. $result = [];
  605. foreach ($members as $item)
  606. {
  607. $member = new member_info($item);
  608. $mid = $member->member_id();
  609. $val['avatar'] = $member->avatar();
  610. $val['nickname'] = $member->nickname();
  611. $result[$mid] = $val;
  612. }
  613. return $result;
  614. }
  615. /**
  616. * 页面内导航菜单
  617. * @param string $menu_key 当前导航的menu_key
  618. * @param array $array 附加菜单
  619. * @return
  620. */
  621. private function show_menu($menu_key='') {
  622. $menu_array = array();
  623. if($menu_key == 'index_edit') {
  624. $menu_array[] = array('menu_key'=>'index_edit', 'menu_name'=>'编辑', 'menu_url'=>'javascript:;');
  625. }
  626. elseif($menu_key == 'special_list' || $menu_key == 'tab_list') {
  627. $menu_array[] = array('menu_key'=>'special_list','menu_name'=>'列表', 'menu_url'=>urlAdmin('mb_special', 'special_list'));
  628. $menu_array[] = array('menu_key'=>'tab_list','menu_name'=>'首页标签', 'menu_url'=>urlAdmin('mb_special', 'tab_list'));
  629. }
  630. else {
  631. $menu_array[] = array('menu_key'=>'ugc_list','menu_name'=>'用户内容列表', 'menu_url'=>urlAdmin('mb_special', 'ugc_list'));
  632. }
  633. if($menu_key == 'special_item_list') {
  634. $menu_array[] = array('menu_key'=>'special_item_list', 'menu_name'=>'编辑专题', 'menu_url'=>'javascript:;');
  635. }
  636. if($menu_key == 'index_edit') {
  637. tpl::output('item_title', '首页编辑');
  638. } else {
  639. tpl::output('item_title', '专题设置');
  640. }
  641. Tpl::output('menu', $menu_array);
  642. Tpl::output('menu_key', $menu_key);
  643. }
  644. public function check_ugcOp()
  645. {
  646. $state = $_GET['state'];
  647. $special_id = intval($_GET['special_id']);
  648. if($special_id > 0)
  649. {
  650. $mod_special = Model('mb_special');
  651. $special_info = $mod_special->getMbSpecialByID($special_id,'*');
  652. $special = new ugc\special($special_info);
  653. if($state == 'pass') {
  654. $mod_special->editUserSpecial($special_id,['special_id' => $special_id], ['state' => 0,'check_time' => time()]);
  655. QueueClient::push('onPublishSpecial',['user_id' => $special->memberid(),'specials'=> array(['type' => $special->reader_type(),'spid' => $special_id])]);
  656. }
  657. elseif($state == 'unpass') {
  658. $mod_special = Model('mb_special');
  659. $mod_special->editUserSpecial($special_id,['special_id' => $special_id], ['state' => 1,'check_time' => time()]);
  660. QueueClient::push('onDelSpecial',['user_id' => $special->memberid(),'specials'=> array(['type' => $special->reader_type(),'spid' => $special_id])]);
  661. }
  662. else {
  663. }
  664. }
  665. showMessage(L('nc_common_save_succ'), urlAdmin('mb_special', 'ugc_list'));
  666. }
  667. }