manage.ctrl.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <?php
  2. /**
  3. * [WeEngine System] Copyright (c) 2014 WE7.CC
  4. * WeEngine is NOT a free software, it under the license terms, visited http://www.we7.cc/ for more details.
  5. */
  6. defined('IN_IA') or exit('Access Denied');
  7. load()->func('file');
  8. load()->model('user');
  9. load()->model('message');
  10. $dos = array('display', 'delete');
  11. $do = in_array($_GPC['do'], $dos)? $do : 'display';
  12. $_W['page']['title'] = $account_typename . '列表 - ' . $account_typename;
  13. $account_info = permission_user_account_num();
  14. $role_type = in_array($_W['role'], array(ACCOUNT_MANAGE_NAME_FOUNDER, ACCOUNT_MANAGE_NAME_VICE_FOUNDER, ACCOUNT_MANAGE_NAME_OWNER, ACCOUNT_MANAGE_NAME_MANAGER));
  15. if ($do == 'display') {
  16. $message_id = safe_gpc_int($_GPC['message_id']);
  17. message_notice_read($message_id);
  18. $pindex = max(1, intval($_GPC['page']));
  19. $psize = 20;
  20. $account_table = table('account');
  21. $type_condition = array(
  22. ACCOUNT_TYPE_APP_NORMAL => array(ACCOUNT_TYPE_APP_NORMAL),
  23. ACCOUNT_TYPE_WEBAPP_NORMAL => array(ACCOUNT_TYPE_WEBAPP_NORMAL),
  24. ACCOUNT_TYPE_OFFCIAL_NORMAL => array(ACCOUNT_TYPE_OFFCIAL_NORMAL, ACCOUNT_TYPE_OFFCIAL_AUTH),
  25. ACCOUNT_TYPE_PHONEAPP_NORMAL => array(ACCOUNT_TYPE_PHONEAPP_NORMAL),
  26. );
  27. $account_table->searchWithType($type_condition[ACCOUNT_TYPE]);
  28. $keyword = trim($_GPC['keyword']);
  29. if (!empty($keyword)) {
  30. $account_table->searchWithKeyword($keyword);
  31. }
  32. if(isset($_GPC['letter']) && strlen($_GPC['letter']) == 1) {
  33. $account_table->searchWithLetter($_GPC['letter']);
  34. }
  35. $order = trim($_GPC['order']);
  36. $account_table->accountUniacidOrder($order);
  37. $type = trim($_GPC['type']);
  38. if ($type == 'noconnect') {
  39. $account_table->searchWithNoconnect();
  40. }
  41. $account_table->searchWithPage($pindex, $psize);
  42. if ($type == 'expire') {
  43. $list = $account_table->searchAccountList(true);
  44. } else {
  45. $list = $account_table->searchAccountList();
  46. }
  47. foreach($list as &$account) {
  48. $account = uni_fetch($account['uniacid']);
  49. $account['end'] = $account['endtime'] == 0 ? '永久' : date('Y-m-d', $account['starttime']) . '~'. date('Y-m-d', $account['endtime']);
  50. $account['role'] = permission_account_user_role($_W['uid'], $account['uniacid']);
  51. }
  52. $total = $account_table->getLastQueryTotal();
  53. $pager = pagination($total, $pindex, $psize);
  54. template('account/manage-display' . ACCOUNT_TYPE_TEMPLATE);
  55. }
  56. if ($do == 'delete') {
  57. $uniacid = intval($_GPC['uniacid']);
  58. $acid = intval($_GPC['acid']);
  59. $uid = $_W['uid'];
  60. $type = intval($_GPC['type']);
  61. $state = permission_account_user_role($uid, $uniacid);
  62. if (!in_array($state, array(ACCOUNT_MANAGE_NAME_OWNER, ACCOUNT_MANAGE_NAME_FOUNDER, ACCOUNT_MANAGE_NAME_VICE_FOUNDER))) {
  63. itoast('无权限操作!', url('account/manage'), 'error');
  64. }
  65. if (!empty($acid) && empty($uniacid)) {
  66. $account = account_fetch($acid);
  67. if (empty($account)) {
  68. itoast('子公众号不存在或是已经被删除', '', '');
  69. }
  70. $uniaccount = uni_fetch($account['uniacid']);
  71. if ($uniaccount['default_acid'] == $acid) {
  72. itoast('默认子公众号不能删除', '', '');
  73. }
  74. pdo_update('account', array('isdeleted' => 1), array('acid' => $acid));
  75. itoast('删除子公众号成功!您可以在回收站中回复公众号', referer(), 'success');
  76. }
  77. if (!empty($uniacid)) {
  78. $account = pdo_get('uni_account', array('uniacid' => $uniacid));
  79. if (empty($account)) {
  80. itoast('抱歉,帐号不存在或是已经被删除', url('account/manage', array('account_type' => ACCOUNT_TYPE)), 'error');
  81. }
  82. $state = permission_account_user_role($uid, $uniacid);
  83. if (!in_array($state, array(ACCOUNT_MANAGE_NAME_OWNER, ACCOUNT_MANAGE_NAME_FOUNDER, ACCOUNT_MANAGE_NAME_VICE_FOUNDER))) {
  84. itoast('没有该'. ACCOUNT_TYPE_NAME . '操作权限!', url('account/manage', array('account_type' => ACCOUNT_TYPE)), 'error');
  85. }
  86. pdo_update('account', array('isdeleted' => 1), array('uniacid' => $uniacid));
  87. if($_GPC['uniacid'] == $_W['uniacid']) {
  88. isetcookie('__uniacid', '');
  89. }
  90. cache_delete("uniaccount:{$uniacid}");
  91. cache_delete("unisetting:{$uniacid}");
  92. }
  93. itoast('停用成功!,您可以在回收站中恢复', url('account/manage', array('account_type' => ACCOUNT_TYPE)), 'success');
  94. }