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

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