infomanage.php 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <?php
  2. //decode by http://dezend.qiling.org QQ 2859470
  3. define('CURSCRIPT', 'infomanage');
  4. define('IN_AJAX', true);
  5. require_once dirname(__FILE__) . '/global.php';
  6. require_once MYMPS_INC . '/db.class.php';
  7. if (!submit_check(CURSCRIPT . '_submit') && $action != 'viewresult') {
  8. chk_admin_purview('purview_批量管理');
  9. $here = '批量管理';
  10. include mymps_tpl(CURSCRIPT);
  11. } else {
  12. if ($step != 'submit' && !$catid && !$userid && !$areaid && !$starttime && !$endtime && !$ip && !$keywords && !$ismember && !istimed) {
  13. write_msg('您没有指定任何搜索条件,无法完成此次操作!');
  14. }
  15. $where = ' WHERE 1';
  16. $where .= $catid ? ' AND ' . get_children($catid, 'catid') : '';
  17. $where .= $areaid ? ' AND ' . get_area_children($areaid, 'areaid') : '';
  18. $where .= $tel ? ' AND tel LIKE \'%' . $tel . '%\'' : '';
  19. if (in_array($istimed, array('yes', 'no'))) {
  20. $where .= $istimed == 'yes' ? ' AND endtime < \'' . $timestamp . '\' AND endtime != \'0\'' : ' AND (endtime > \'' . $timestamp . '\' OR endtime = \'0\')';
  21. }
  22. if (in_array($ismember, array('yes', 'no'))) {
  23. $where .= $ismember == 'yes' ? ' AND ismember = \'1\'' : '';
  24. }
  25. if (trim($userid)) {
  26. $where .= ' AND userid IN (\'' . str_replace(',', '\',\'', str_replace(' ', '', $userid)) . '\')';
  27. }
  28. $starttime = $starttime ? strtotime($starttime) : 0;
  29. $where .= $starttime ? ' AND begintime >= \'' . $starttime . '\'' : '';
  30. $where .= $info_level != '' ? ' AND info_level = \'' . $info_level . '\'' : '';
  31. $endtime = $endtime ? strtotime($endtime) : 0;
  32. $where .= $endtime ? ' AND begintime <= \'' . $endtime . '\'' : '';
  33. if ($keywords != '') {
  34. $keyword = $keywords;
  35. $sqlkeywords = '';
  36. $or = '';
  37. $keywords = explode(',', str_replace(' ', '', $keywords));
  38. for ($i = 0; $i < count($keywords); $i++) {
  39. if (preg_match('/\\{(\\d+)\\}/', $keywords[$i])) {
  40. $keywords[$i] = preg_replace('/\\\\{(\\d+)\\\\}/', '.{0,\\1}', preg_quote($keywords[$i], '/'));
  41. $sqlkeywords .= ' ' . $or . ' title REGEXP \'' . $keywords[$i] . '\' OR content REGEXP \'' . $keywords[$i] . '\'';
  42. } else {
  43. $sqlkeywords .= ' ' . $or . ' title LIKE \'%' . $keywords[$i] . '%\' OR content LIKE \'%' . $keywords[$i] . '%\'';
  44. }
  45. $or = 'OR';
  46. }
  47. $where .= ' AND (' . $sqlkeywords . ')';
  48. $keywords = $keyword;
  49. }
  50. $where .= $ip != '' ? ' AND ip LIKE \'' . str_replace('*', '%', $ip) . '\'' : '';
  51. if ($lengthlimit != '') {
  52. $lengthlimit = intval($lengthlimit);
  53. $sql .= ' AND LENGTH(content) < ' . $lengthlimit;
  54. }
  55. if ($action == 'viewresult' && $detail == 'yes') {
  56. require_once MYMPS_DATA . '/info.level.inc.php';
  57. $here = '批量主题管理';
  58. $starttime = $starttime ? date('Y-m-d', $starttime) : '';
  59. $endtime = $endtime ? date('Y-m-d', $endtime) : '';
  60. $rows_num = mymps_count('information', $where);
  61. $param = setParam(array('part', 'detail', 'action', 'istimed', 'ismember', 'userid', 'starttime', 'endtime', 'catid', 'areaid', 'ip', 'keywords', 'lengthlimit', 'info_level', 'tel'));
  62. $information = page1('SELECT * FROM `' . $db_mymps . 'information` ' . $where . ' ORDER BY id DESC', 10);
  63. include mymps_tpl(CURSCRIPT);
  64. } else {
  65. if (empty($part)) {
  66. write_msg('您没有选择要进行的操作,无法完成此次操作!');
  67. }
  68. if (is_array($optionids) && $step == 'submit') {
  69. $count = count($optionids);
  70. empty($count) && write_msg('您没有选中需要执行操作的信息记录!');
  71. foreach ($optionids as $key => $val) {
  72. $ids .= $val . ',';
  73. }
  74. $selectedids = substr($ids, 0, -1);
  75. } else {
  76. if (!is_array($optionids) && $step != 'submit') {
  77. $count = $db->getOne('SELECT count(id) FROM `' . $db_mymps . 'information` AS a ' . $where);
  78. $query = $db->query('SELECT a.id FROM `' . $db_mymps . 'information` AS a ' . $where);
  79. while ($post = $db->fetchRow($query)) {
  80. $ids .= $post['id'] . ',';
  81. }
  82. $selectedids = substr($ids, 0, -1);
  83. } else {
  84. write_msg('您没有选择要进行操作的信息记录!');
  85. }
  86. }
  87. $starttime = $starttime ? date('Y-m-d', $starttime) : '';
  88. $endtime = $endtime ? date('Y-m-d', $endtime) : '';
  89. if (empty($selectedids) || $selectedids == ',') {
  90. write_msg('没有找到符合搜索条件的相关分类信息主题!');
  91. }
  92. switch ($part) {
  93. case 'delinfo':
  94. $query = $db->query('SELECT * FROM `' . $db_mymps . 'information` WHERE id IN (' . $selectedids . ')');
  95. while ($row = $db->fetchRow($query)) {
  96. 1 < $row[modid] && mymps_delete('information_' . $row[modid], 'WHERE id = \'' . $row['id'] . '\'');
  97. }
  98. mymps_delete('information', 'WHERE id IN(' . $selectedids . ')');
  99. $query = $db->query('SELECT * FROM `' . $db_mymps . 'info_img` WHERE infoid IN (' . $selectedids . ')');
  100. while ($row = $db->fetchRow($query)) {
  101. @unlink(MYMPS_ROOT . $row['imgpath']);
  102. @unlink(MYMPS_ROOT . $row['pre_imgpath']);
  103. }
  104. mymps_delete('info_img', 'WHERE infoid IN (' . $selectedids . ')');
  105. mymps_delete('comment', 'WHERE typeid IN (' . $selectedids . ') AND type = \'information\'');
  106. $act = '删除信息';
  107. break;
  108. case 'delcomment':
  109. $count = mymps_count('info_comment', 'WHERE infoid IN (' . $selectedids . ')');
  110. mymps_delete('info_comment', 'WHERE infoid IN (' . $selectedids . ')');
  111. $act = '删除信息评论';
  112. break;
  113. case 'delattach':
  114. $query = $db->query('SELECT * FROM `' . $db_mymps . 'info_img` WHERE infoid IN (' . $selectedids . ')');
  115. $count = 0;
  116. while ($row = $db->fetchRow($query)) {
  117. @unlink(MYMPS_ROOT . $row['imgpath']);
  118. @unlink(MYMPS_ROOT . $row['pre_imgpath']);
  119. $count++;
  120. }
  121. mymps_delete('info_img', 'WHERE infoid IN (' . $selectedids . ')');
  122. $db->query('UPDATE `' . $db_mymps . 'information` SET img_path = \'\' WHERE id IN (' . $selectedids . ')');
  123. $act = '删除信息图片';
  124. break;
  125. case 'delhtml':
  126. $query = $db->query('SELECT * FROM `' . $db_mymps . 'information` WHERE id IN (' . $selectedids . ')');
  127. $count = 0;
  128. while ($row = $db->fetchRow($query)) {
  129. @unlink(MYMPS_ROOT . $row['html_path']);
  130. $count++;
  131. }
  132. $act = '删除信息HTML文件';
  133. break;
  134. case 'refresh':
  135. foreach (explode(',', $selectedids) as $kids => $vids) {
  136. $activetime = $db->getOne('SELECT activetime FROM `' . $db_mymps . 'information` WHERE id = \'' . $vids . '\'');
  137. $endtime = $activetime == 0 ? 0 : $activetime * 3600 * 24 + $timestamp;
  138. $db->query('UPDATE `' . $db_mymps . 'information` SET begintime = \'' . $timestamp . '\',endtime=\'' . $endtime . '\' WHERE id = \'' . $vids . '\'');
  139. }
  140. $act = '刷新信息';
  141. break;
  142. case 'level0':
  143. $db->query('UPDATE `' . $db_mymps . 'information` SET info_level = \'0\' WHERE id IN (' . $selectedids . ')');
  144. $act = '设为待审信息';
  145. break;
  146. case 'level1':
  147. $db->query('UPDATE `' . $db_mymps . 'information` SET info_level = \'1\' WHERE id IN (' . $selectedids . ')');
  148. $act = '设为正常信息';
  149. break;
  150. case 'level2':
  151. $db->query('UPDATE `' . $db_mymps . 'information` SET info_level = \'2\' WHERE id IN (' . $selectedids . ')');
  152. $act = '设置推荐信息';
  153. break;
  154. case 'ifred':
  155. $db->query('UPDATE `' . $db_mymps . 'information` SET ifred = \'1\' WHERE id IN (' . $selectedids . ')');
  156. $act = '信息标题套红';
  157. break;
  158. case 'ifbold':
  159. $db->query('UPDATE `' . $db_mymps . 'information` SET ifbold = \'1\' WHERE id IN (' . $selectedids . ')');
  160. $act = '信息标题加粗';
  161. break;
  162. }
  163. }
  164. !empty($act) && write_msg('共 ' . $act . ' ' . $count . ' 条', $return_url, 'write_record');
  165. }
  166. is_object($db) && $db->Close();
  167. $db = $mymps_global = $part = $action = $here = $where = $selectedids = $step = NULL;