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

88 lines
2.7KB

  1. <?php
  2. /**
  3. * 开始采集指定节点操作
  4. *
  5. * @version $Id: co_gather_start_action.php$
  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('co_PlayNote');
  14. require_once(DEDEINC.'/dedecollection.class.php');
  15. if($totalnum==0)
  16. {
  17. ShowMsg('获取到的网址为零:可能是规则不对或没发现新内容!','javascript:;');
  18. exit();
  19. }
  20. if(!isset($oldstart)) $oldstart = $startdd;
  21. if(empty($notckpic)) $notckpic = 0;
  22. if($totalnum > $startdd+$pagesize) $limitSql = " LIMIT $startdd,$pagesize ";
  23. else $limitSql = " LIMIT $startdd,".($totalnum - $startdd);
  24. if($totalnum - $startdd < 1)
  25. {
  26. if(empty($nid))
  27. {
  28. $dsql->ExecuteNoneQuery("UPDATE `#@__co_note` SET cotime='".time()."'; ");
  29. }
  30. else
  31. {
  32. $dsql->ExecuteNoneQuery("UPDATE `#@__co_note` SET cotime='".time()."' WHERE nid='$nid'; ");
  33. }
  34. ShowMsg('完成当前下载任务!','javascript:;');
  35. exit();
  36. }
  37. $co = new DedeCollection();
  38. if(!empty($nid)) $co->LoadNote($nid);
  39. //没指定采集ID时下载所有内容
  40. if(!empty($nid))
  41. {
  42. $dsql->SetQuery("SELECT aid,nid,url,isdown,litpic FROM `#@__co_htmls` WHERE nid=$nid $limitSql ");
  43. }
  44. else
  45. {
  46. $dsql->SetQuery("SELECT aid,nid,url,isdown,litpic FROM `#@__co_htmls` $limitSql ");
  47. }
  48. $dsql->Execute(99);
  49. $tjnum = $startdd;
  50. while($row = $dsql->GetObject(99))
  51. {
  52. if($row->isdown==0)
  53. {
  54. if(empty($nid)) $co->LoadNote($row->nid);
  55. $co->DownUrl($row->aid,$row->url,$row->litpic);
  56. }
  57. $tjnum++;
  58. if($sptime>0) sleep($sptime);
  59. }
  60. if($totalnum-$oldstart!=0)
  61. {
  62. $tjlen = ceil( (($tjnum-$oldstart)/($totalnum-$oldstart)) * 100 );
  63. $dvlen = $tjlen * 2;
  64. $tjsta = "<div style='width:200;height:15;border:1px solid #898989;text-align:left'><div style='width:$dvlen;height:15;background-color:#829D83'></div></div>";
  65. $tjsta .= "<br/>完成当前任务的:$tjlen %,继续执行任务...";
  66. }
  67. if($tjnum < $totalnum)
  68. {
  69. ShowMsg($tjsta, "co_gather_start_action.php?notckpic=$notckpic&sptime=$sptime&nid=$nid&oldstart=$oldstart&totalnum=$totalnum&startdd=".($startdd+$pagesize)."&pagesize=$pagesize","",0);
  70. exit();
  71. }
  72. else
  73. {
  74. if(empty($nid))
  75. {
  76. $dsql->ExecuteNoneQuery("UPDATE `#@__co_note` SET cotime='".time()."'; ");
  77. }
  78. else
  79. {
  80. $dsql->ExecuteNoneQuery("UPDATE `#@__co_note` SET cotime='".time()."' WHERE nid='$nid'; ");
  81. }
  82. ShowMsg("完成当前下载任务!","javascript:;");
  83. exit();
  84. }