//catalogvars(0,true); catalogvars(0, false); //zhaoyanmin 第二个参数为true时代表栏目跳转地址不为空的不选出来,false代表不管地址为空不为空都选出来 $cids = substr(catalogID(), 0, -1); if (empty($cids)) { _redirect("生成独立页面", "栏目更新完成", 'create&action=page&cid=all', 'catalog'); } else { _header('admincp.php?do=html&operation=create&action=catalog&cid=' . $cids . $QUERY_STRING); } } else { $cArray = explode(',', $cids); $_Ccount = count($cArray); $cpage = isset($_GET['cpage']) ? $_GET['cpage'] : 1; $k = isset($_GET['k']) ? $_GET['k'] : 0; $loop = isset($_GET['loop']) ? $_GET['loop'] : 0; $c = MakeCatalogHtm($cArray[$k], $cpage, $loop); //Array ( [name] => 栏目6 [page] => 51 [loop] => 3 [pagesize] => 101 ) //print_r($c); if ($c['loop'] > 0 && $c['page'] <= $c['pagesize']) { redirect($c['name'] . "共" . $c['pagesize'] . "页,已生成" . $c['page'] . "页", 'admincp.php?do=html&operation=create&action=catalog&cid=' . $cids . '&k=' . $k . '&cpage=' . $c['page'] . '&loop=' . ($c['loop'] - 1) . $QUERY_STRING, 2); //_header('admincp.php?do=html&operation=create&action=catalog&cid='.$cids.'&k='.$k.'&cpage='.$c['page'].'&loop='.($c['loop']-1).$QUERY_STRING); } elseif ($_Ccount > 1 && $k < $_Ccount) { redirect($c['name'] . " 更新完成", 'admincp.php?do=html&operation=create&action=catalog&cid=' . $cids . '&k=' . ($k + 1) . $QUERY_STRING, 1); // _header('admincp.php?do=html&operation=create&action=catalog&cid='.$cids.'&k='.($k+1).$QUERY_STRING); } else { _redirect("生成独立页面", "栏目更新完成", 'create&action=page&cid=all', 'catalog'); } } } if ($action == 'page') { $cids = $_GET['cid'];
function MakeCatalogHtm($cid, $p = 1, $loop = 0) { global $DreamCMS; //if(!$DreamCMS->config['ishtm']||empty($cid)) return false; //zhaoyanmin 静态判断 start //查询此栏目 $datas = $DreamCMS->db->get_row("SELECT `caturlset` FROM `#DC@__catalog` where `id`='{$cid}' LIMIT 1 ", ARRAY_A); $DreamCMS->config['ishtm'] = $datas['caturlset'] == 1 ? true : false; if (!$DreamCMS->config['ishtm'] || empty($cid)) { return false; } //zhaoyanmin 静态判断 end $rs = $DreamCMS->db->get_row("SELECT `name`,`dir` FROM #DC@__catalog WHERE id ='{$cid}' Limit 1"); if (empty($rs)) { return false; } $RootDir = DCPATH . $DreamCMS->config['htmdir'] . $rs->dir; createdir($RootDir); $DreamCMS->url = $DreamCMS->dir . $DreamCMS->config['htmdir'] . $rs->dir . '/list'; $GLOBALS['page'] = $p; $DreamCMS->mode = 'CreateHtml'; $htmldate = $DreamCMS->_List($cid); $p == 1 && writefile($RootDir . '/index' . $DreamCMS->config['htmlext'], $htmldate); writefile($RootDir . '/list_' . $p . $DreamCMS->config['htmlext'], $htmldate); $DreamCMS->pagesize > 0 && $p++; empty($loop) && ($loop = ceil($DreamCMS->pagesize / 25)); /*if($p<=$DreamCMS->pagesize && $DreamCMS->pagesize>0 && $loop==ceil(($DreamCMS->pagesize-$p)/25)){ MakeCatalogHtm($cid,&$p,&$loop); } return array('name'=>$rs->name,'page'=>$p,'loop'=>$loop,'pagesize'=>$DreamCMS->pagesize);*/ //zhaoyanmin if ($p <= $DreamCMS->pagesize && $DreamCMS->pagesize > 0 && $loop == ceil(($DreamCMS->pagesize - $p) / 25)) { return MakeCatalogHtm($cid, &$p, &$loop); } else { return array('name' => $rs->name, 'page' => $p, 'loop' => $loop, 'pagesize' => $DreamCMS->pagesize); } }
function MakeCatalogHtm($cid, $p = 1, $loop = 0, $cpn = 0) { global $iCMS; //,$Admin; if (!$iCMS->config['ishtm'] || empty($cid)) { return false; } $catalog = $iCMS->cache('catalog.cache', 'include/syscache', 0, true); $rs = $catalog[$cid]; if (empty($rs) || $rs['url']) { return false; } $cdir = $iCMS->cdir($rs); $RootDir = path(iPATH . $iCMS->config['listhtmdir'] . $cdir); createdir($RootDir); $iCMS->url = $iCMS->domain($rs['id']) . $iCMS->cper($rs); $GLOBALS['page'] = $p; $iCMS->mode = 'CreateHtml'; $htmldate = $iCMS->iList($cid); $GLOBALS['cpn'] = $cpn; $iCMS->pagesize < $cpn && ($GLOBALS['cpn'] = $cpn = $iCMS->pagesize); $p == 1 && writefile($RootDir . '/index' . $iCMS->config['htmlext'], $htmldate, false); writefile($RootDir . '/' . $iCMS->cper($rs) . $p . $iCMS->config['htmlext'], $htmldate, false); $iCMS->pagesize > 0 && $p++; empty($loop) && ($loop = ceil($iCMS->pagesize / 25)); if ($p < $cpn || empty($cpn)) { if ($p <= $iCMS->pagesize && $iCMS->pagesize > 0 && $loop == ceil(($iCMS->pagesize - $p) / 25)) { MakeCatalogHtm($cid, &$p, &$loop, $cpn); } return array('name' => $rs['name'], 'page' => $p, 'loop' => $loop, 'pagesize' => $iCMS->pagesize); } else { return array('name' => $rs['name'], 'page' => $p, 'loop' => 0, 'pagesize' => $iCMS->pagesize); } }