DedeV6移动版
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

130 行
4.9KB

  1. <?php
  2. /**
  3. * 更新手机端列表栏目操作
  4. *
  5. * @version $id:makehtml_m_list_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(DEDEDATA."/cache/inc_catalog_base.inc");
  14. require_once(DEDEINC."/channelunit.func.php");
  15. if (!isset($upnext)) $upnext = 1;
  16. if (empty($gotype)) $gotype = '';
  17. if (empty($pageno)) $pageno = 0;
  18. if (empty($mkpage)) $mkpage = 1;
  19. if (empty($typeid)) $typeid = 0;
  20. if (!isset($uppage)) $uppage = 0;
  21. if (empty($maxpagesize)) $maxpagesize = 30;
  22. $adminID = $cuserLogin->getUserID();
  23. $isremote = (empty($isremote) ? 0 : $isremote);
  24. $serviterm = empty($serviterm)? "" : $serviterm;
  25. //检测获取所有栏目id,普通更新或一键更新时更新所有栏目
  26. if ($gotype == '' || $gotype == 'mkallct') {
  27. if ($upnext == 1 || $typeid == 0) {
  28. if ($typeid > 0) {
  29. $tidss = GetSonIds($typeid, 0);
  30. $idArray = explode(',', $tidss);
  31. } else {
  32. foreach ($cfg_Cs as $k => $v) $idArray[] = $k;
  33. }
  34. } else {
  35. $idArray = array();
  36. $idArray[] = $typeid;
  37. }
  38. }
  39. //一键更新带缓存的情况
  40. else if ($gotype == 'mkall') {
  41. $uppage = 1;
  42. $mkcachefile = DEDEDATA."/mkall_cache_{$adminID}.php";
  43. $idArray = array();
  44. if (file_exists($mkcachefile)) require_once($mkcachefile);
  45. }
  46. if (!$idArray) {
  47. ShowMsg("暂无栏目,请添加栏目", "javascript:;");
  48. exit;
  49. }
  50. //当前更新栏目id
  51. $totalpage = count($idArray);
  52. if (isset($idArray[$pageno])) {
  53. $tid = $idArray[$pageno];
  54. } else {
  55. if ($gotype == '') {
  56. ShowMsg("完成所有栏目更新", "javascript:;");
  57. exit();
  58. } else if ($gotype == 'mkall' || $gotype == 'mkallct') {
  59. ShowMsg("完成所有栏目更新,数据已优化", "makehtml_m_all.php?action=make&step=10");
  60. exit();
  61. }
  62. }
  63. if ($pageno == 0 && $mkpage == 1) //清空缓存
  64. {
  65. $dsql->ExecuteNoneQuery("DELETE FROM `#@__arccache`");
  66. }
  67. $reurl = '';
  68. //更新数组所记录栏目
  69. if (!empty($tid)) {
  70. if (!isset($cfg_Cs[$tid])) {
  71. ShowMsg('没有该栏目数据,缓存文件没有更新,请检查是否有写入权限', 'javascript:;');
  72. exit();
  73. }
  74. if ($cfg_Cs[$tid][1] > 0) {
  75. require_once(DEDEINC."/archive/listview.m.class.php");
  76. $lv = new ListViewMobile($tid);
  77. $position = MfTypedir($lv->Fields['typedir']);
  78. } else {
  79. require_once(DEDEINC."/archive/sglistview.class.php");
  80. $lv = new SgListView($tid);
  81. }
  82. //这里统一统计
  83. $lv->CountRecord();
  84. if ($lv->TypeLink->TypeInfos['ispart'] == 0 && $lv->TypeLink->TypeInfos['isdefault'] != -1) $ntotalpage = $lv->TotalPage;
  85. else $ntotalpage = 1;
  86. if ($cfg_remote_site=='Y' && $isremote=="1") {
  87. if ($serviterm!="") {
  88. list($servurl, $servuser, $servpwd) = explode(',',$serviterm);
  89. $config = array('hostname' => $servurl, 'username' => $servuser, 'password' => $servpwd,'debug' => 'TRUE');
  90. } else {
  91. $config=array();
  92. }
  93. if (!$ftp->connect($config)) exit('Error:None FTP Connection!');
  94. }
  95. //如果栏目的文档太多,分多批次更新
  96. if ($ntotalpage <= $maxpagesize || $lv->TypeLink->TypeInfos['ispart'] != 0 || $lv->TypeLink->TypeInfos['isdefault'] == -1) {
  97. $reurl = $lv->MakeHtml('', '', $isremote);
  98. $finishType = TRUE;
  99. } else {
  100. $reurl = $lv->MakeHtml($mkpage, $maxpagesize, $isremote);
  101. $finishType = FALSE;
  102. $mkpage = $mkpage + $maxpagesize;
  103. if ($mkpage >= ($ntotalpage + 1)) $finishType = TRUE;
  104. }
  105. }
  106. $nextpage = $pageno + 1;
  107. if ($nextpage >= $totalpage && $finishType) {
  108. if ($gotype == '') {
  109. if (empty($reurl)) {
  110. $reurl = '../m/list.php?tid='.$tid;
  111. }
  112. ShowMsg("完成所有栏目更新,<a href='$reurl' target='_blank'>浏览栏目</a>", "javascript:;");
  113. exit();
  114. } else if ($gotype == 'mkall' || $gotype == 'mkallct') {
  115. ShowMsg("完成所有栏目更新,数据已优化", "makehtml_m_all.php?action=make&step=10");
  116. exit();
  117. }
  118. } else {
  119. $typename = isset($cfg_Cs[$tid][3])? base64_decode($cfg_Cs[$tid][3]) : "";
  120. if ($finishType) {
  121. $gourl = "makehtml_list_action.php?gotype={$gotype}&uppage=$uppage&maxpagesize=$maxpagesize&typeid=$typeid&pageno=$nextpage";
  122. ShowMsg("更新栏目<span class='text-primary'>(id:".$tid."){$typename}</span>,继续更新栏目", $gourl, 0, 100);
  123. exit();
  124. } else {
  125. $gourl = "makehtml_list_action.php?gotype={$gotype}&uppage=$uppage&mkpage=$mkpage&maxpagesize=$maxpagesize&typeid=$typeid&pageno=$pageno";
  126. ShowMsg("更新栏目<span class='text-primary'>(id:".$tid."){$typename}</span>,继续更新栏目", $gourl, 0, 100);
  127. exit();
  128. }
  129. }
  130. ?>