国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

187 lines
6.7KB

  1. <?php
  2. /**
  3. * 内容处理函数
  4. *
  5. * @version $Id: content_batch_up.php 1 14:31 2010年7月12日Z tianya $
  6. * @package DedeBIZ.Administrator
  7. * @copyright Copyright (c) 2021, DedeBIZ.COM
  8. * @license https://www.dedebiz.com/license
  9. * @link https://www.dedebiz.com
  10. */
  11. require_once(dirname(__FILE__) . "/config.php");
  12. CheckPurview('sys_ArcBatch');
  13. require_once(DEDEINC . "/typelink.class.php");
  14. require_once(DEDEADMIN . "/inc/inc_batchup.php");
  15. @set_time_limit(0);
  16. //typeid,startid,endid,seltime,starttime,endtime,action,newtypeid
  17. //批量操作
  18. //check del move makehtml
  19. //获取ID条件
  20. if (empty($startid)) $startid = 0;
  21. if (empty($endid)) $endid = 0;
  22. if (empty($seltime)) $seltime = 0;
  23. if (empty($typeid)) $typeid = 0;
  24. if (empty($userid)) $userid = '';
  25. //生成HTML操作由其它页面处理
  26. if ($action == "makehtml") {
  27. $jumpurl = "makehtml_archives_action.php?endid=$endid&startid=$startid";
  28. $jumpurl .= "&typeid=$typeid&pagesize=20&seltime=$seltime";
  29. $jumpurl .= "&stime=" . urlencode($starttime) . "&etime=" . urlencode($endtime);
  30. header("Location: $jumpurl");
  31. exit();
  32. }
  33. $gwhere = " WHERE 1 ";
  34. if ($startid > 0) $gwhere .= " AND id>= $startid ";
  35. if ($endid > $startid) $gwhere .= " AND id<= $endid ";
  36. $idsql = '';
  37. if ($typeid != 0) {
  38. $ids = GetSonIds($typeid);
  39. $gwhere .= " AND typeid IN($ids) ";
  40. }
  41. if ($seltime == 1) {
  42. $t1 = GetMkTime($starttime);
  43. $t2 = GetMkTime($endtime);
  44. $gwhere .= " AND (senddate >= $t1 AND senddate <= $t2) ";
  45. }
  46. if (!empty($userid)) {
  47. $row = $dsql->GetOne("SELECT `mid` FROM #@__member WHERE `userid` LIKE '$userid'");
  48. if (is_array($row)) {
  49. $gwhere .= " AND mid = {$row['mid']} ";
  50. }
  51. }
  52. //特殊操作
  53. if (!empty($heightdone)) $action = $heightdone;
  54. //指量审核
  55. if ($action == 'check') {
  56. if (empty($startid) || empty($endid) || $endid < $startid) {
  57. ShowMsg('该操作必须指定起始ID!', 'javascript:;');
  58. exit();
  59. }
  60. $jumpurl = "makehtml_archives_action.php?endid=$endid&startid=$startid";
  61. $jumpurl .= "&typeid=$typeid&pagesize=20&seltime=$seltime";
  62. $jumpurl .= "&stime=" . urlencode($starttime) . "&etime=" . urlencode($endtime);
  63. $dsql->SetQuery("SELECT id,arcrank FROM `#@__arctiny` $gwhere");
  64. $dsql->Execute('c');
  65. while ($row = $dsql->GetObject('c')) {
  66. if ($row->arcrank == -1) {
  67. $dsql->ExecuteNoneQuery("UPDATE `#@__arctiny` SET arcrank=0 WHERE id='{$row->id}'");
  68. $dsql->ExecuteNoneQuery("UPDATE `#@__archives` SET arcrank=0 WHERE id='{$row->id}'");
  69. }
  70. }
  71. ShowMsg("完成数据库的审核处理,准备更新HTML...", $jumpurl);
  72. exit();
  73. }
  74. //批量删除
  75. else if ($action == 'del') {
  76. if (empty($startid) || empty($endid) || $endid < $startid) {
  77. ShowMsg('该操作必须指定起始ID!', 'javascript:;');
  78. exit();
  79. }
  80. $dsql->SetQuery("SELECT id FROM `#@__archives` $gwhere");
  81. $dsql->Execute('x');
  82. $tdd = 0;
  83. while ($row = $dsql->GetObject('x')) {
  84. if (DelArc($row->id)) $tdd++;
  85. }
  86. ShowMsg("成功删除 $tdd 条记录!", "javascript:;");
  87. exit();
  88. }
  89. //删除空标题文档
  90. else if ($action == 'delnulltitle') {
  91. $dsql->SetQuery("SELECT id FROM `#@__archives` WHERE trim(title)='' ");
  92. $dsql->Execute('x');
  93. $tdd = 0;
  94. while ($row = $dsql->GetObject('x')) {
  95. if (DelArc($row->id)) $tdd++;
  96. }
  97. ShowMsg("成功删除 $tdd 条记录!", "javascript:;");
  98. exit();
  99. }
  100. //删除空内容文章
  101. else if ($action == 'delnullbody') {
  102. $dsql->SetQuery("SELECT aid FROM `#@__addonarticle` WHERE LENGTH(body) < 10 ");
  103. $dsql->Execute('x');
  104. $tdd = 0;
  105. while ($row = $dsql->GetObject('x')) {
  106. if (DelArc($row->aid)) $tdd++;
  107. }
  108. ShowMsg("成功删除 $tdd 条记录!", "javascript:;");
  109. exit();
  110. }
  111. //修正缩略图错误
  112. else if ($action == 'modddpic') {
  113. $dsql->ExecuteNoneQuery("UPDATE `#@__archives` SET litpic='' WHERE trim(litpic)='litpic' ");
  114. ShowMsg("成功修正缩略图错误!", "javascript:;");
  115. exit();
  116. }
  117. //批量移动
  118. else if ($action == 'move') {
  119. if (empty($typeid)) {
  120. ShowMsg('该操作必须指定栏目!', 'javascript:;');
  121. exit();
  122. }
  123. $typeold = $dsql->GetOne("SELECT * FROM #@__arctype WHERE id='$typeid'; ");
  124. $typenew = $dsql->GetOne("SELECT * FROM #@__arctype WHERE id='$newtypeid'; ");
  125. if (!is_array($typenew)) {
  126. ShowMsg("无法检测移动到的新栏目的信息,不能完成操作!", "javascript:;");
  127. exit();
  128. }
  129. if ($typenew['ispart'] != 0) {
  130. ShowMsg("你不能把数据移动到非最终列表的栏目!", "javascript:;");
  131. exit();
  132. }
  133. if ($typenew['channeltype'] != $typeold['channeltype']) {
  134. ShowMsg("不能把数据移动到内容类型不同的栏目!", "javascript:;");
  135. exit();
  136. }
  137. $gwhere .= " And channel='" . $typenew['channeltype'] . "' And title like '%$keyword%'";
  138. $ch = $dsql->GetOne("SELECT addtable FROM `#@__channeltype` WHERE id={$typenew['channeltype']} ");
  139. $addtable = $ch['addtable'];
  140. $dsql->SetQuery("SELECT id FROM `#@__archives` $gwhere");
  141. $dsql->Execute('m');
  142. $tdd = 0;
  143. while ($row = $dsql->GetObject('m')) {
  144. $rs = $dsql->ExecuteNoneQuery("UPDATE `#@__arctiny` SET typeid='$newtypeid' WHERE id='{$row->id}'");
  145. $rs = $dsql->ExecuteNoneQuery("UPDATE `#@__archives` SET typeid='$newtypeid' WHERE id='{$row->id}'");
  146. if ($addtable != '') {
  147. $dsql->ExecuteNoneQuery("UPDATE `$addtable` SET typeid='$newtypeid' WHERE aid='{$row->id}' ");
  148. }
  149. if ($rs) $tdd++;
  150. //DelArc($row->id,true);
  151. }
  152. if ($tdd > 0) {
  153. $jumpurl = "makehtml_archives_action.php?endid=$endid&startid=$startid";
  154. $jumpurl .= "&typeid=$newtypeid&pagesize=20&seltime=$seltime";
  155. $jumpurl .= "&stime=" . urlencode($starttime) . "&etime=" . urlencode($endtime);
  156. ShowMsg("成功移动 $tdd 条记录,准备重新生成HTML...", $jumpurl);
  157. } else {
  158. ShowMsg("完成操作,没移动任何数据...", "javascript:;");
  159. }
  160. }
  161. //删除空标题内容
  162. else if ($action == 'delnulltitle') {
  163. $dsql->SetQuery("SELECT id FROM #@__archives WHERE trim(title)='' ");
  164. $dsql->Execute('x');
  165. $tdd = 0;
  166. while ($row = $dsql->GetObject('x')) {
  167. if (DelArc($row->id)) $tdd++;
  168. }
  169. ShowMsg("成功删除 $tdd 条记录!", "javascript:;");
  170. exit();
  171. }
  172. //修正缩略图错误
  173. else if ($action == 'modddpic') {
  174. $dsql->ExecuteNoneQuery("UPDATE #@__archives SET litpic='' WHERE trim(litpic)='litpic' ");
  175. ShowMsg("成功修正缩略图错误!", "javascript:;");
  176. exit();
  177. }