国内流行的内容管理系统(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.

216 lines
6.8KB

  1. <?php
  2. /**
  3. * 内容处理函数
  4. *
  5. * @version $Id: content_batch_up.php 1 14:31 2010年7月12日Z tianya $
  6. * @package DedeCMS.Administrator
  7. * @copyright Copyright (c) 2007 - 2019, DesDev, Inc.
  8. * @license http://help.dedecms.com/usersguide/license.html
  9. * @link http://www.dedecms.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. {
  28. $jumpurl = "makehtml_archives_action.php?endid=$endid&startid=$startid";
  29. $jumpurl .= "&typeid=$typeid&pagesize=20&seltime=$seltime";
  30. $jumpurl .= "&stime=".urlencode($starttime)."&etime=".urlencode($endtime);
  31. header("Location: $jumpurl");
  32. exit();
  33. }
  34. $gwhere = " WHERE 1 ";
  35. if($startid >0 ) $gwhere .= " AND id>= $startid ";
  36. if($endid > $startid) $gwhere .= " AND id<= $endid ";
  37. $idsql = '';
  38. if($typeid!=0)
  39. {
  40. $ids = GetSonIds($typeid);
  41. $gwhere .= " AND typeid IN($ids) ";
  42. }
  43. if($seltime==1)
  44. {
  45. $t1 = GetMkTime($starttime);
  46. $t2 = GetMkTime($endtime);
  47. $gwhere .= " AND (senddate >= $t1 AND senddate <= $t2) ";
  48. }
  49. if(!empty($userid))
  50. {
  51. $row = $dsql->GetOne("SELECT `mid` FROM #@__member WHERE `userid` LIKE '$userid'");
  52. if(is_array($row))
  53. {
  54. $gwhere .= " AND mid = {$row['mid']} ";
  55. }
  56. }
  57. //特殊操作
  58. if(!empty($heightdone)) $action=$heightdone;
  59. //指量审核
  60. if($action=='check')
  61. {
  62. if(empty($startid) || empty($endid) || $endid < $startid)
  63. {
  64. ShowMsg('该操作必须指定起始ID!','javascript:;');
  65. exit();
  66. }
  67. $jumpurl = "makehtml_archives_action.php?endid=$endid&startid=$startid";
  68. $jumpurl .= "&typeid=$typeid&pagesize=20&seltime=$seltime";
  69. $jumpurl .= "&stime=".urlencode($starttime)."&etime=".urlencode($endtime);
  70. $dsql->SetQuery("SELECT id,arcrank FROM `#@__arctiny` $gwhere");
  71. $dsql->Execute('c');
  72. while($row = $dsql->GetObject('c'))
  73. {
  74. if($row->arcrank==-1)
  75. {
  76. $dsql->ExecuteNoneQuery("UPDATE `#@__arctiny` SET arcrank=0 WHERE id='{$row->id}'");
  77. $dsql->ExecuteNoneQuery("UPDATE `#@__archives` SET arcrank=0 WHERE id='{$row->id}'");
  78. }
  79. }
  80. ShowMsg("完成数据库的审核处理,准备更新HTML...",$jumpurl);
  81. exit();
  82. }
  83. //批量删除
  84. else if($action=='del')
  85. {
  86. if(empty($startid) || empty($endid) || $endid < $startid)
  87. {
  88. ShowMsg('该操作必须指定起始ID!','javascript:;');
  89. exit();
  90. }
  91. $dsql->SetQuery("SELECT id FROM `#@__archives` $gwhere");
  92. $dsql->Execute('x');
  93. $tdd = 0;
  94. while($row = $dsql->GetObject('x'))
  95. {
  96. if(DelArc($row->id)) $tdd++;
  97. }
  98. ShowMsg("成功删除 $tdd 条记录!","javascript:;");
  99. exit();
  100. }
  101. //删除空标题文档
  102. else if($action=='delnulltitle')
  103. {
  104. $dsql->SetQuery("SELECT id FROM `#@__archives` WHERE trim(title)='' ");
  105. $dsql->Execute('x');
  106. $tdd = 0;
  107. while($row = $dsql->GetObject('x'))
  108. {
  109. if(DelArc($row->id)) $tdd++;
  110. }
  111. ShowMsg("成功删除 $tdd 条记录!","javascript:;");
  112. exit();
  113. }
  114. //删除空内容文章
  115. else if($action=='delnullbody')
  116. {
  117. $dsql->SetQuery("SELECT aid FROM `#@__addonarticle` WHERE LENGTH(body) < 10 ");
  118. $dsql->Execute('x');
  119. $tdd = 0;
  120. while($row = $dsql->GetObject('x'))
  121. {
  122. if(DelArc($row->aid)) $tdd++;
  123. }
  124. ShowMsg("成功删除 $tdd 条记录!","javascript:;");
  125. exit();
  126. }
  127. //修正缩略图错误
  128. else if($action=='modddpic')
  129. {
  130. $dsql->ExecuteNoneQuery("UPDATE `#@__archives` SET litpic='' WHERE trim(litpic)='litpic' ");
  131. ShowMsg("成功修正缩略图错误!","javascript:;");
  132. exit();
  133. }
  134. //批量移动
  135. else if($action=='move')
  136. {
  137. if(empty($typeid))
  138. {
  139. ShowMsg('该操作必须指定栏目!','javascript:;');
  140. exit();
  141. }
  142. $typeold = $dsql->GetOne("SELECT * FROM #@__arctype WHERE id='$typeid'; ");
  143. $typenew = $dsql->GetOne("SELECT * FROM #@__arctype WHERE id='$newtypeid'; ");
  144. if(!is_array($typenew))
  145. {
  146. ShowMsg("无法检测移动到的新栏目的信息,不能完成操作!", "javascript:;");
  147. exit();
  148. }
  149. if($typenew['ispart']!=0)
  150. {
  151. ShowMsg("你不能把数据移动到非最终列表的栏目!", "javascript:;");
  152. exit();
  153. }
  154. if($typenew['channeltype']!=$typeold['channeltype'])
  155. {
  156. ShowMsg("不能把数据移动到内容类型不同的栏目!","javascript:;");
  157. exit();
  158. }
  159. $gwhere .= " And channel='".$typenew['channeltype']."' And title like '%$keyword%'";
  160. $ch = $dsql->GetOne("SELECT addtable FROM `#@__channeltype` WHERE id={$typenew['channeltype']} ");
  161. $addtable = $ch['addtable'];
  162. $dsql->SetQuery("SELECT id FROM `#@__archives` $gwhere");
  163. $dsql->Execute('m');
  164. $tdd = 0;
  165. while($row = $dsql->GetObject('m'))
  166. {
  167. $rs = $dsql->ExecuteNoneQuery("UPDATE `#@__arctiny` SET typeid='$newtypeid' WHERE id='{$row->id}'");
  168. $rs = $dsql->ExecuteNoneQuery("UPDATE `#@__archives` SET typeid='$newtypeid' WHERE id='{$row->id}'");
  169. if($addtable!='')
  170. {
  171. $dsql->ExecuteNoneQuery("UPDATE `$addtable` SET typeid='$newtypeid' WHERE aid='{$row->id}' ");
  172. }
  173. if($rs) $tdd++;
  174. //DelArc($row->id,true); //2011.07.06根据论坛反馈,修正使用批量文档维护后文档被移动到回收站(by:织梦的鱼)
  175. }
  176. if($tdd>0)
  177. {
  178. $jumpurl = "makehtml_archives_action.php?endid=$endid&startid=$startid";
  179. $jumpurl .= "&typeid=$newtypeid&pagesize=20&seltime=$seltime";
  180. $jumpurl .= "&stime=".urlencode($starttime)."&etime=".urlencode($endtime);
  181. ShowMsg("成功移动 $tdd 条记录,准备重新生成HTML...",$jumpurl);
  182. }
  183. else
  184. {
  185. ShowMsg("完成操作,没移动任何数据...","javascript:;");
  186. }
  187. }
  188. //删除空标题内容
  189. else if($action=='delnulltitle')
  190. {
  191. $dsql->SetQuery("SELECT id FROM #@__archives WHERE trim(title)='' ");
  192. $dsql->Execute('x');
  193. $tdd = 0;
  194. while($row = $dsql->GetObject('x'))
  195. {
  196. if(DelArc($row->id)) $tdd++;
  197. }
  198. ShowMsg("成功删除 $tdd 条记录!","javascript:;");
  199. exit();
  200. }
  201. //修正缩略图错误
  202. else if($action=='modddpic')
  203. {
  204. $dsql->ExecuteNoneQuery("UPDATE #@__archives SET litpic='' WHERE trim(litpic)='litpic' ");
  205. ShowMsg("成功修正缩略图错误!","javascript:;");
  206. exit();
  207. }