国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

178 lines
6.5KB

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