"Jan", 2 => "Feb",3 => "Mar",4 => "Apr",5 => "May",6 => "Jun",7 => "Jul", 8 => "Aug", 9 => "Sep",10 => "Oct",11 => "Nov", 12 => "Dec");
//核对URL是否有敏感词
if(url_check($url)){
exit;
}
$u_arr=explode("/",$url);
if (file_exists(substr($url,1))||file_exists(substr($url.'index.html',1))) {
$pstr=file_get_contents(substr($url,1));
if($pstr==""){
$pstr=file_get_contents(substr($url.'index.html',1));
}
if($pstr==""){$pstr=file_get_contents(substr($url,1)."Index.html");}
echo $pstr;
exit;
}
$archive=get_darchive($mydomain);
$ititle=$archive['ititle'];
$idescription=$archive['idescription'];
$thdir =$archive['themes']; //模板目录
$path = "/themes/$thdir/"; //模板文件路径
$islist=$archive['islist'];
$isdes=$archive['isdes'];
$dbc=cf($archive['dbc']);
$db=$dbc[0];
$db2=$dbc[1];
$link=$archive['url'];
$spf=$archive['spf'];
$linkspf=$archive['linkspf'];
$image_list = getFile(DIR .'/pics/');
//栏目列表
//$list1="";
foreach($db2 as $dbv){
$v1=explode("+",$dbv);
$v1[0]=trim($v1[0]);
$v1[1]=trim($v1[1]);
$list1.="
$v1[0]";
}
$list1="";
//栏目、数据库查确定
$url_arr=explode("/",$url);
preg_match("/sitemap(.*).xml/",$url_arr[1],$xml);
if(count($xml)!=""){
if($xml[1]==""){
$lastmod=get_endtime($dbc[0][0]);
$content="{$http_type}{$mydomain}/sitemapindex.xml$lastmod";
$h=0;
foreach($db2 as $dbv){
$v1=explode("+",$dbv);
$v1[0]=trim($v1[0]);
$v1[1]=trim($v1[1]);
$lastmod=get_endtime($dbc[0][$h]);
$content.="{$http_type}$mydomain/sitemap$v1[1].xml$lastmod";
$h++;
}
header("Content-type: text/xml");
header('HTTP/1.1 200 OK');
echo '';
echo '';
echo $content;
echo "";
exit;
}elseif($xml[1]=="index"){
$lastmod=get_endtime($dbc[0][0]);
$content.="{$http_type}$mydomain$linkall/$lastmoddaily1.0";
header("Content-type: text/xml");
header('HTTP/1.1 200 OK');
echo '';
echo '';
echo $content;
echo "";
exit;
}else{
$h=0;
foreach($db2 as $dbv){
$v1=explode("+",$dbv);
$v1[0]=trim($v1[0]);
$v1[1]=trim($v1[1]);
if($xml[1]==$v1[1]){
$xml_list=geturllist($db[$h]);
$content="";
foreach($xml_list as $tav){
$linkall=str_replace('%category%',$xml[1],$link);
$pubdate=substr($tav['时间'],0,10);
$linkall=str_replace('%pubdate%',$pubdate,$linkall);
$timestamp=strtotime($tav['时间']);
$linkall=str_replace('%timestamp%',$timestamp,$linkall);
$year=substr($tav['时间'],0,4);
$linkall=str_replace('%year%',$year,$linkall);
$month=substr($tav['时间'],5,2);
$linkall=str_replace('%month%',$month,$linkall);
$linkall=str_replace('%Month%',$Month_E[preg_replace('/^0+/','',$month)],$linkall);
$day=substr($tav['时间'],8,2);
$linkall=str_replace('%day%',$day,$linkall);
$linkall=str_replace('%postid%',trim($tav[0]),$linkall );
$tav[1]=str_replace('-','',$tav[1] ); //替换标题中的- + _
$tav[1]=str_replace('+','',$tav[1] );
$tav[1]=str_replace('_','',$tav[1] );
$tav[1]=str_replace('.','',$tav[1] );
$tav2[1]=str_replace(' ',$spf,$tav[1] );
$linkall=str_replace('%postname%',trim($tav2[1]),$linkall );
$linkall=str_replace('%shorturl%',trim($tav['shorturl']),$linkall );
$content.="{$http_type}{$mydomain}$linkall{$tav['时间']}monthly0.2";
}
header("Content-type: text/xml");
header('HTTP/1.1 200 OK');
echo '';
echo '';
echo $content;
echo "";
exit;
}
$h++;
}
}
}
$categroy="";
$list_p=0;
$i=0;
foreach($db2 as $dbv){
$v1=explode("+",$dbv);
if($url_arr[1]==trim($v1[1])){
$categroy[0] = $v1[0];
$categroy[1] = $v1[1];
$list_p=1;
$dbname=$db[$i];
break;
}
$i++;
}
$categroyurl=trim($categroy[1]);
preg_match("/page(\d+)/i",$url_arr[2],$pnum);
$page=$pnum[1];//列表页码
if($list_p&&$islist&&($url_arr[2]==""||$page>1)){ //列表URL,列表页启用
if($url_arr[2]=="") $page=1;
$moban = file_get_contents(DIR."/themes/$thdir/list.html");
$moban = str_replace('',$categroy[0],$moban );
$moban = str_replace('',$path,$moban );
$moban = str_replace('',$list1,$moban );
//20201117 begin列表页列表
$pattern="/([\s\S]*)<\/fxp_list_list>/iU";
preg_match($pattern,$moban,$m1);
$row=$m1[2];
$listv= getlilist($dbname,$m1[2],$m1[3],$m1[1],$page);
$dlname = $m1[1];
$lc='';
foreach($listv as $lvv){
$loopstr=$m1[4];
$pattern = "/联\s*( )*\s*系\s*( )*\s*人\s*(?::|:)|电\s*( )*\s*话\s*(?::|:)?|手\s*( )*\s*机\s*(?::|:)?|传\s*( )*\s*真\s*(?::|:)?|邮\s*( )*\s*(?:箱|件)\s*(?::|:)|地\s*( )*\s*址\s*(?::|:)|网\s*( )*\s*(?:站|址)\s*(?::|:)|号\s*( )*\s*码\s*(?::|:)|[Qq]\s*( )*\s*[Qq]\s*(?::|:)?|[Ee]mail|([a-zA-Z0-9]+([-_.][a-zA-Z0-9]+)*@([a-zA-Z0-9]+[-.])+([a-z]{2,5}))|((http(s)?:\/\/)?(w{3}\.)?\w+\.(?:com|net|cn|org))|(\d{4}-\d{7,8})|\d{6,11}|(400-\d{3,4}-\d{3,4})|(\d{4}-\d{1,2}-\d{1,2})|([\._-])|( · )/i";
$description = preg_replace($pattern,'',$lvv['description']);
$loopstr=str_replace('[fxp:title]',$lvv[1],$loopstr);
$loopstr=str_replace('[fxp:pubdate]',substr($lvv['pubdate'],0,10),$loopstr);
$loopstr=str_replace('[fxp:description]',$description,$loopstr);
$loopstr=str_replace('[fxp:year]',substr($lvv['pubdate'],0,4),$loopstr);
$loopstr=str_replace('[fxp:month]',substr($lvv['pubdate'],5,2),$loopstr);
$loopstr=str_replace('[fxp:day]',substr($lvv['pubdate'],8,2),$loopstr);
$linkall=str_replace('%category%',trim($categroyurl),$link);
$pubdate=substr($lvv['pubdate'],0,10);
$linkall=str_replace('%pubdate%',$lvv['pubdate'],$linkall);
$timestamp=strtotime($lvv['pubdate']);
$linkall=str_replace('%timestamp%',$timestamp,$linkall);
$year=substr($lvv['pubdate'],0,4);
$linkall=str_replace('%year%',$year,$linkall);
$month=substr($lvv['pubdate'],5,2);
$linkall=str_replace('%month%',$month,$linkall);
$linkall=str_replace('%Month%',$Month_E[preg_replace('/^0+/','',$month)],$linkall);
$day=substr($lvv['pubdate'],8,2);
$linkall=str_replace('%day%',$day,$linkall);
$linkall=str_replace( '%postid%',trim($lvv[0]),$linkall );
$lvv[1]=str_replace( '-','',$lvv[1]); //替换标题中的- + _
$lvv[1]=str_replace( '+','',$lvv[1]);
$lvv[1]=str_replace( '_','',$lvv[1]);
$lvv[1]=str_replace( '.','',$lvv[1]);
$tav2[1]=str_replace( ' ',$spf,$lvv[1] );
$linkall=str_replace( '%postname%',trim($tav2[1]),$linkall );
$linkall=str_replace('%shorturl%',trim($lvv['shorturl']),$linkall );
$loopstr=str_replace('[fxp:aurl]',$linkall,$loopstr);
$lc .= $loopstr;
}
$moban = str_replace($m1[0],$lc,$moban);
//20201117 end
//20201117 begin 列表页随机
$pattern="/([\s\S]*)<\/fxp_list_rand>/iU";
preg_match_all($pattern,$moban,$m1);
if(count($m1[4])){
foreach($m1[0] as $m1k=>$m1v){
$listv= getlilist($dbname,$m1[2][$m1k],$m1[3][$m1k],$m1[1][$m1k],1);
$dlname = $m1[1][$m1k];
$lc='';
foreach($listv as $lvv){
$loopstr=$m1[4][$m1k];
$pattern = "/联\s*( )*\s*系\s*( )*\s*人\s*(?::|:)|电\s*( )*\s*话\s*(?::|:)?|手\s*( )*\s*机\s*(?::|:)?|传\s*( )*\s*真\s*(?::|:)?|邮\s*( )*\s*(?:箱|件)\s*(?::|:)|地\s*( )*\s*址\s*(?::|:)|网\s*( )*\s*(?:站|址)\s*(?::|:)|号\s*( )*\s*码\s*(?::|:)|[Qq]\s*( )*\s*[Qq]\s*(?::|:)?|[Ee]mail|([a-zA-Z0-9]+([-_.][a-zA-Z0-9]+)*@([a-zA-Z0-9]+[-.])+([a-z]{2,5}))|((http(s)?:\/\/)?(w{3}\.)?\w+\.(?:com|net|cn|org))|(\d{4}-\d{7,8})|\d{6,11}|(400-\d{3,4}-\d{3,4})|(\d{4}-\d{1,2}-\d{1,2})|([\._-])|( · )/i";
$description = preg_replace($pattern,'',$lvv['description']);
$loopstr=str_replace('[fxp:title]',$lvv[1],$loopstr);
$loopstr=str_replace('[fxp:pubdate]',substr($lvv['pubdate'],0,10),$loopstr);
$loopstr=str_replace('[fxp:description]',$description,$loopstr);
$loopstr=str_replace('[fxp:year]',substr($lvv['pubdate'],0,4),$loopstr);
$loopstr=str_replace('[fxp:month]',substr($lvv['pubdate'],5,2),$loopstr);
$loopstr=str_replace('[fxp:day]',substr($lvv['pubdate'],8,2),$loopstr);
$linkall=str_replace('%category%',trim($categroyurl),$link);
$pubdate=substr($lvv['pubdate'],0,10);
$linkall=str_replace('%pubdate%',$lvv['pubdate'],$linkall);
$timestamp=strtotime($lvv['pubdate']);
$linkall=str_replace('%timestamp%',$timestamp,$linkall);
$year=substr($lvv['pubdate'],0,4);
$linkall=str_replace('%year%',$year,$linkall);
$month=substr($lvv['pubdate'],5,2);
$linkall=str_replace('%month%',$month,$linkall);
$linkall=str_replace('%Month%',$Month_E[preg_replace('/^0+/','',$month)],$linkall);
$day=substr($lvv['pubdate'],8,2);
$linkall=str_replace('%day%',$day,$linkall);
$linkall=str_replace( '%postid%',trim($lvv[0]),$linkall );
$lvv[1]=str_replace( '-','',$lvv[1]); //替换标题中的- + _
$lvv[1]=str_replace( '+','',$lvv[1]);
$lvv[1]=str_replace( '_','',$lvv[1]);
$lvv[1]=str_replace( '.','',$lvv[1]);
$tav2[1]=str_replace( ' ',$spf,$lvv[1] );
$linkall=str_replace( '%postname%',trim($tav2[1]),$linkall );
$linkall=str_replace('%shorturl%',trim($lvv['shorturl']),$linkall );
$loopstr=str_replace('[fxp:aurl]',$linkall,$loopstr);
$lc .= $loopstr;
}
$moban = str_replace_limit($m1[0][$m1k],$lc,$moban,1);
}
}
//20201117 end
//计算分页
$dbcount=getcount($dbname);
if($dbcount){
if( $dbcount < $row ){ $pagecount = 1; }
if( $dbcount % $row ){
$pagecount = (int)($dbcount / $row) + 1;
}else{
$pagecount = $dbcount / $row;
}
} else {
$pagecount = 0;
}
if($pagecount>1&&$page!=1){
$list_page="1";
}
if($pagecount>1&&$page==1){
$list_page="1";
}
if($pagecount<=10){
for($j=2; $j<=$pagecount;$j++){
if($j==$page){
$list_page.="$j";
}else{
$list_page.="$j";
}
}
}else{
if($page<=8){
for($j=2; $j<=10;$j++){
if($j==$page){
$list_page.="$j";
}else{
$list_page.="$j";
}
}
}else{
if($page<$pagecount-2){
$list_page.="...";
$list_page.="".($page-2)."";
$list_page.="".($page-1)."";
$list_page.="".($page)."";
$list_page.="".($page+1)."";
$list_page.="".($page+2)."";
$list_page.="...";
$list_page.="".($pagecount)."";
}else{
$list_page.="...";
for($m=$pagecount-5; $m<=$pagecount;$m++){
if($m==$page){
$list_page.="$m";
}else{
$list_page.="$m";
}
}
}
}
}
$list_page="";
$moban = str_replace('',$list_page,$moban );
$tupian = count(explode('',$moban)) -1;
for ($tui=0;$tui<$tupian;$tui++) {
$moban = preg_replace('//','/pics/'.varray_rand( $image_list ),$moban,1);
}
$moban = txt_replace($moban);
echo $moban;
exit;
} else{ //内页
$moban = file_get_contents(DIR."/themes/$thdir/article.html");
$link_arr=preg_split("/[\/]/", $link);
$u_arr=preg_split("/[\/]/", $url);
for($i=0;$i',$arcdes,$moban );
}
$moban = str_replace('',$typeurl,$moban );
$moban = str_replace('',$typename,$moban );
$moban = str_replace('',$pubdate,$moban );
$moban = str_replace('',$addtitle,$moban );
$moban = str_replace('',$arctitle,$moban );
$arcbody = str_replace( ' · ','',$arcbody);
$arcbody = str_replace( '','
',$arcbody);
$moban = str_replace('',$arcbody,$moban );
$moban = str_replace('',$path,$moban );
$moban = str_replace('',$list1,$moban );
//20201117 begin 列表页随机
$pattern="/([\s\S]*)<\/fxp_list_rand>/iU";
preg_match_all($pattern,$moban,$m1);
if(count($m1[4])){
//查找所有列表
foreach($m1[0] as $m1k=>$m1v){
$listv= getlilist($dbname,$m1[2][$m1k],$m1[3][$m1k],$m1[1][$m1k],1);
$lc='';
foreach($listv as $lvv){
$loopstr=$m1[4][$m1k];
$pattern = "/联\s*( )*\s*系\s*( )*\s*人\s*(?::|:)|电\s*( )*\s*话\s*(?::|:)?|手\s*( )*\s*机\s*(?::|:)?|传\s*( )*\s*真\s*(?::|:)?|邮\s*( )*\s*(?:箱|件)\s*(?::|:)|地\s*( )*\s*址\s*(?::|:)|网\s*( )*\s*(?:站|址)\s*(?::|:)|号\s*( )*\s*码\s*(?::|:)|[Qq]\s*( )*\s*[Qq]\s*(?::|:)?|[Ee]mail|([a-zA-Z0-9]+([-_.][a-zA-Z0-9]+)*@([a-zA-Z0-9]+[-.])+([a-z]{2,5}))|((http(s)?:\/\/)?(w{3}\.)?\w+\.(?:com|net|cn|org))|(\d{4}-\d{7,8})|\d{6,11}|(400-\d{3,4}-\d{3,4})|(\d{4}-\d{1,2}-\d{1,2})|([\._-])|( · )/i";
$description = preg_replace($pattern,'',$lvv['description']);
$loopstr=str_replace('[fxp:title]',$lvv[1],$loopstr);
$loopstr=str_replace('[fxp:pubdate]',substr($lvv['pubdate'],0,10),$loopstr);
$loopstr=str_replace('[fxp:description]',$description,$loopstr);
$loopstr=str_replace('[fxp:year]',substr($lvv['pubdate'],0,4),$loopstr);
$loopstr=str_replace('[fxp:month]',substr($lvv['pubdate'],5,2),$loopstr);
$loopstr=str_replace('[fxp:day]',substr($lvv['pubdate'],8,2),$loopstr);
$linkall=str_replace('%category%',trim($typeurl),$link);
$pubdate=substr($lvv['pubdate'],0,10);
$linkall=str_replace('%pubdate%',$lvv['pubdate'],$linkall);
$timestamp=strtotime($lvv['pubdate']);
$linkall=str_replace('%timestamp%',$timestamp,$linkall);
$year=substr($lvv['pubdate'],0,4);
$linkall=str_replace('%year%',$year,$linkall);
$month=substr($lvv['pubdate'],5,2);
$linkall=str_replace('%month%',$month,$linkall);
$linkall=str_replace('%Month%',$Month_E[preg_replace('/^0+/','',$month)],$linkall);
$day=substr($lvv['pubdate'],8,2);
$linkall=str_replace('%day%',$day,$linkall);
$linkall=str_replace( '%postid%',trim($lvv[0]),$linkall );
$lvv[1]=str_replace( '-','',$lvv[1]); //替换标题中的- + _
$lvv[1]=str_replace( '+','',$lvv[1]);
$lvv[1]=str_replace( '_','',$lvv[1]);
$lvv[1]=str_replace( '.','',$lvv[1]);
$tav2[1]=str_replace( ' ',$spf,$lvv[1] );
$linkall=str_replace( '%postname%',trim($tav2[1]),$linkall );
$linkall=str_replace('%shorturl%',trim($lvv['shorturl']),$linkall );
$loopstr=str_replace('[fxp:aurl]',$linkall,$loopstr);
$lc .= $loopstr;
}
$moban = str_replace_limit($m1v,$lc,$moban,1);
}
}
//20201117 end
$tupian = count(explode('',$moban)) -1;
for ($tui=0;$tui<$tupian;$tui++) {
$moban = preg_replace('//','/pics/'.varray_rand( $image_list ),$moban,1);
}
$moban = txt_replace($moban);
$article_url=$http_type.$mydomain.$url;
$moban = str_replace('',$article_url,$moban );
echo $moban;
exit;
}
?>