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

72 lines
2.7KB

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