| 
							- <?php
 - /**
 -  * 任务操作
 -  *
 -  * @version        $Id: task_do.php 1 23:07 2010年7月20日Z tianya $
 -  * @package        DedeBIZ.Administrator
 -  * @copyright      Copyright (c) 2022, DedeBIZ.COM
 -  * @license        https://www.dedebiz.com/license
 -  * @link           https://www.dedebiz.com
 -  */
 - require(dirname(__FILE__).'/config.php');
 - $dopost = (!isset($dopost) ? '' : $dopost);
 - /******************************
 - 返回到下一任务的URL
 - 特殊变量,除非知道作用,否则不能在任务传递中占用
 - f 临时,仅为了方便网址结构
 - dopost 当前任务(指向下一个任务), 由用户自行处理或在 nextdo 中自动获得
 - del 上一次任务删除的变量
 - morejob ,设定后,表示当前任务需请求多次,会把 dopost 和 nextdo 处理后转为 doposttmp, nextdotmp,然后由用户自行处理
 -  ******************************/
 - function GetNextUrl($notallowArr = array('dopost', 'f', 'del'))
 - {
 -     $reurl = "task_do.php?f=0";
 -     foreach ($_GET as $k => $v) {
 -         if ($k == 'nextdo') {
 -             $nextdo = '';
 -             $nextdos = explode(',', $GLOBALS[$k]);
 -             if (isset($nextdos[1])) {
 -                 for ($i = 1; $i < count($nextdos); $i++) {
 -                     if (trim($nextdos[$i]) == '') continue;
 -                     $nextdo .= ($nextdo == '' ? $nextdos[$i] : ','.$nextdos[$i]);
 -                 }
 -             }
 -             //如果系统有多重任务, 把下一任务和任务列表参数提交给程序处理
 -             if (in_array('morejob', $notallowArr)) {
 -                 $reurl .= "&doposttmp=".$nextdos[0];
 -                 if ($nextdo != '') $reurl .= "&nextdotmp=$nextdo";
 -             } else {
 -                 $reurl .= "&dopost=".$nextdos[0];
 -                 if ($nextdo != '') $reurl .= "&nextdo=$nextdo";
 -             }
 -         } else if (in_array($k, $notallowArr)) {
 -             continue;
 -         } else {
 -             $reurl .= "&{$k}=".urlencode($GLOBALS[$k]);
 -         }
 -     }
 -     return $reurl;
 - }
 - /******************************
 - //更新上一篇和下一篇
 - function makeprenext() {  }
 -  ******************************/
 - if ($dopost == 'makeprenext') {
 -     require_once(DEDEINC.'/archive/archives.class.php');
 -     $aid = intval($aid);
 -     $preRow =  $dsql->GetOne("SELECT id FROM `#@__arctiny` WHERE id<$aid AND arcrank>-1 AND typeid='$typeid' ORDER BY id DESC");
 -     $nextRow = $dsql->GetOne("SELECT id FROM `#@__arctiny` WHERE id>$aid AND arcrank>-1 AND typeid='$typeid' ORDER BY id ASC");
 -     if (is_array($preRow)) {
 -         $envs['aid'] = $preRow['id'];
 -         $arc = new Archives($preRow['id']);
 -         $arc->MakeHtml();
 -     }
 -     if (is_array($nextRow)) {
 -         $envs['aid'] = $nextRow['id'];
 -         $arc = new Archives($nextRow['id']);
 -         $arc->MakeHtml();
 -     }
 -     if (empty($nextdo)) {
 -         ShowMsg("完成上下篇文档更新任务完成所有更新任务", "close::tgtable");
 -         exit();
 -     } else {
 -         $jumpurl = GetNextUrl();
 -         ShowMsg("完成下篇文档更新任务 继续执行其它任务", $jumpurl, 0, 500);
 -         exit();
 -     }
 - }
 - /******************************
 - //更新主页的任务
 - function makeindex() {  }
 -  ******************************/
 - if ($dopost == 'makeindex') {
 -     require_once(DEDEINC.'/archive/partview.class.php');
 -     $envs = $_sys_globals = array();
 -     $envs['aid'] = 0;
 -     $pv = new PartView();
 -     $row = $pv->dsql->GetOne('SELECT * FROM `#@__homepageset`');
 -     $templet = str_replace("{style}", $cfg_df_style, $row['templet']);
 -     $homeFile = dirname(__FILE__).'/'.$row['position'];
 -     $homeFile = str_replace("//", "/", str_replace("\\", "/", $homeFile));
 -     $fp = fopen($homeFile, 'w') or die("无法更新网站主页到:$homeFile 位置");
 -     fclose($fp);
 -     $tpl = $cfg_basedir.$cfg_templets_dir.'/'.$templet;
 -     if (!file_exists($tpl)) {
 -         $tpl = $cfg_basedir.$cfg_templets_dir.'/default/index.htm';
 -         if (!file_exists($tpl)) exit("无法找到主页模板:$tpl ");
 -     }
 -     $GLOBALS['_arclistEnv'] = 'index';
 -     $pv->SetTemplet($tpl);
 -     $pv->SaveToHtml($homeFile);
 -     $pv->Close();
 -     if (empty($nextdo)) {
 -         ShowMsg("完成主页更新任务完成所有更新任务", "close::tgtable");
 -         exit();
 -     } else {
 -         $jumpurl = GetNextUrl();
 -         ShowMsg("完成主页更新 现在跳转到其它更新任务", $jumpurl, 0, 500);
 -         exit();
 -     }
 - }
 - /******************************
 - //更新所有关连的栏目
 - function makeparenttype() {  }
 - ******************************/
 - else if ($dopost == 'makeparenttype') {
 -     require_once(DEDEDATA."/cache/inc_catalog_base.inc");
 -     require_once(DEDEINC.'/archive/listview.class.php');
 -     $notallowArr = array('dopost', 'f', 'del', 'curpage', 'morejob');
 - 
 -     $jumpurl = GetNextUrl($notallowArr);
 - 
 -     if (empty($typeid)) {
 -         ShowMsg("完成栏目更新任务完成所有更新任务", "close::tgtable");
 -         exit();
 -     }
 -     $topids = explode(',', GetTopids($typeid));
 -     if (empty($curpage)) $curpage = 0;
 -     $tid = $topids[$curpage];
 - 
 -     if (isset($cfg_Cs[$tid]) && $cfg_Cs[$tid][1] > 0) {
 -         require_once(DEDEINC."/archive/listview.class.php");
 -         $lv = new ListView($tid);
 -         $lv->CountRecord();
 -         $lv->MakeHtml();
 -         $lv->Close();
 -     } else {
 -         require_once(DEDEINC."/archive/sglistview.class.php");
 -         $lv = new SgListView($tid);
 -         $lv->CountRecord();
 -         $lv->MakeHtml();
 -         $lv->Close();
 -     }
 - 
 -     if ($curpage >= count($topids) - 1) {
 -         if (!empty($doposttmp)) {
 -             $jumpurl = preg_replace("#doposttmp|nextdotmp#", 'del', $jumpurl);
 -             $jumpurl .= "&dopost={$doposttmp}&nextdo={$nextdotmp}";
 -             ShowMsg("完成栏目:{$tid}  更新<br>完成栏目更新任务,继续执行后续任务", $jumpurl, 0, 500);
 -             exit();
 -         } else {
 -             ShowMsg("完成栏目:{$tid}  更新<br>完成栏目更新任务,完成所有更新任务", "close::tgtable");
 -             exit();
 -         }
 -     } else {
 -         $curpage++;
 -         $jumpurl .= "&curpage={$curpage}&dopost=makeparenttype";
 -         ShowMsg("完成栏目:{$tid}  更新,继续更新其它栏目", $jumpurl, 0, 500);
 -         exit();
 -     }
 - }
 
 
  |