DedeV6移动版
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.

113 line
4.7KB

  1. <?php
  2. /**
  3. * 更新手机端文档操作
  4. *
  5. * @version $id:makehtml_m_archives_action.php 10:46 2023年1月10日 xushubieli $
  6. * @package DedeBIZ.Administrator
  7. * @copyright Copyright (c) 2022 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('sys_m_MakeHtml');
  13. require_once(DEDEINC."/archive/archives.m.class.php");
  14. $est1 = ExecTime();
  15. $startid = (empty($startid) ? -1 : $startid);
  16. $endid = (empty($endid) ? 0 : $endid);
  17. $startdd = (empty($startdd) ? 0 : $startdd);
  18. $pagesize = (empty($pagesize) ? 30 : $pagesize);
  19. $totalnum = (empty($totalnum) ? 0 : $totalnum);
  20. $typeid = (empty($typeid) ? 0 : $typeid);
  21. $seltime = (empty($seltime) ? 0 : $seltime);
  22. $stime = (empty($stime) ? '' : $stime);
  23. $etime = (empty($etime) ? '' : $etime);
  24. $sstime = (empty($sstime) ? 0 : $sstime);
  25. $mkvalue = (empty($mkvalue) ? 0 : $mkvalue);
  26. $isremote = (empty($isremote)? 0 : $isremote);
  27. $serviterm = empty($serviterm)? "" : $serviterm;
  28. //一键更新传递的参数
  29. if (!empty($uptype)) {
  30. if ($uptype != 'time') $startid = $mkvalue;
  31. else $t1 = $mkvalue;
  32. } else {
  33. $uptype = '';
  34. }
  35. //获取条件
  36. $idsql = '';
  37. $gwhere = ($startid == -1 ? " WHERE arcrank=0 " : " WHERE id>=$startid AND arcrank=0 ");
  38. if ($endid > $startid && $startid > 0) $gwhere .= " AND id <= $endid ";
  39. if ($typeid != 0) {
  40. $ids = GetSonIds($typeid);
  41. $gwhere .= " AND typeid in($ids) ";
  42. }
  43. if ($idsql == '') $idsql = $gwhere;
  44. if ($seltime == 1) {
  45. $t1 = GetMkTime($stime);
  46. $t2 = GetMkTime($etime);
  47. $idsql .= " And (senddate >= $t1 And senddate <= $t2) ";
  48. } else if (isset($t1) && is_numeric($t1)) {
  49. $idsql .= " And senddate >= $t1 ";
  50. }
  51. //统计记录总数
  52. if ($totalnum == 0) {
  53. $row = $dsql->GetOne("SELECT COUNT(*) AS dd FROM `#@__arctiny` $idsql");
  54. $totalnum = $row['dd'];
  55. //清空缓存
  56. $dsql->ExecuteNoneQuery("DELETE FROM `#@__arccache`");
  57. }
  58. //获取记录,并更新网页
  59. if ($totalnum > $startdd + $pagesize) {
  60. $limitSql = " LIMIT $startdd,$pagesize";
  61. } else {
  62. $limitSql = " LIMIT $startdd,".($totalnum - $startdd);
  63. }
  64. $tjnum = $startdd;
  65. if (empty($sstime)) $sstime = time();
  66. //如果更新数量大于500,并且没选栏目,按栏目排序更新
  67. if ($totalnum > 500 && empty($typeid)) {
  68. $dsql->Execute('out', "SELECT id FROM `#@__arctiny` $idsql ORDER BY typeid ASC $limitSql");
  69. } else {
  70. $dsql->Execute('out', "SELECT id FROM `#@__arctiny` $idsql $limitSql");
  71. }
  72. if ($cfg_remote_site=='Y' && $isremote=="1") {
  73. if ($serviterm!="") {
  74. list($servurl, $servuser, $servpwd) = explode(',', $serviterm);
  75. $config = array( 'hostname' => $servurl, 'username' => $servuser, 'password' => $servpwd,'debug' => 'TRUE');
  76. } else {
  77. $config=array();
  78. }
  79. if(!$ftp->connect($config)) exit('Error:None FTP Connection!');
  80. }
  81. while ($row = $dsql->GetObject('out')) {
  82. $tjnum++;
  83. $id = $row->id;
  84. $ac = new ArchivesMobile($id);
  85. $rurl = $ac->MakeHtml($isremote);
  86. }
  87. $t2 = ExecTime();
  88. $t2 = ($t2 - $est1);
  89. $ttime = time() - $sstime;
  90. $ttime = number_format(($ttime / 60), 2);
  91. //返回提示信息
  92. $tjlen = $totalnum > 0 ? ceil(($tjnum / $totalnum) * 100) : 100;
  93. $tjsta = "<div style='margin:0 auto 20px;width:360px;height:16px;text-align:left;border:1px solid #1eb867;border-radius:.35rem'><div style='max-width:360px;width:$tjlen%;height:16px;background:#1eb867;border-radius:.35rem'></div></div>";
  94. $tjsta .= "到达位置<span class='text-primary'>".($startdd + $pagesize)."</span>,用时<span class='text-primary'>{$ttime}</span>分钟,完成更新文档总数<span class='text-primary'>$tjlen</span>%";
  95. //速度测试
  96. if ($tjnum < $totalnum) {
  97. $nurl = "makehtml_m_archives_action.php?endid=$endid&startid=$startid&typeid=$typeid";
  98. $nurl .= "&totalnum=$totalnum&startdd=".($startdd + $pagesize)."&pagesize=$pagesize";
  99. $nurl .= "&seltime=$seltime&sstime=$sstime&stime=".urlencode($stime)."&etime=".urlencode($etime)."&uptype=$uptype&mkvalue=$mkvalue";
  100. ShowMsg($tjsta, $nurl, 0, 100);
  101. exit();
  102. } else {
  103. if ($typeid != '') {
  104. ShowMsg("更新文档<span class='text-primary'>$totalnum</span>,用时<span class='text-primary'>{$ttime}</span>分钟,开始更新栏目", "makehtml_m_list_action.php?typeid=$typeid&uptype=all&maxpagesize=50&upnext=1");
  105. } else {
  106. if ($uptype == '') {
  107. ShowMsg("更新文档<span class='text-primary'>$totalnum</span>,用时<span class='text-primary'>{$ttime}</span>分钟,完成所有文档更新", "javascript:;");
  108. } else {
  109. ShowMsg("完成所有文档更新,开始更新首页", "makehtml_m_all.php?action=make&step=3&uptype=$uptype&mkvalue=$mkvalue");
  110. }
  111. }
  112. }
  113. ?>