本人是學習不足,拿到一個源碼,但是發現有webshell後門,至於是哪些代碼,辨別不出來,煩請哪位大神指點一下。
0 && @$val['ifshownav'])) { $newchannel[]=$val; $計數; } 如果($count==$num){ 返回 $newchannel; } } 返回 $newchannel; } } foreach($channel as $val){ if($fid==$val['fid']) { if($shownav==0 || ($shownav>0 && $val['ifshownav'])) { 如果($kind==0){ $newchannel[]=$val; $計數; $newchannel[count($newchannel)-1]['key']=$count; }elseif($val['ckind']==$kind) { $newchannel[]=$val; $計數; $newchannel[count($newchannel)-1]['key']=$count; } } } 如果($count==$num){ 休息; } } $fidarray=@cnav(cid,1); foreach($newchannel as $key=>$val){ $newchannel[$key]['onstyle']=''; foreach($fidarray as $fidkey=>$fidval){ if($val['cid']==$fidval['cid']) { $newchannel[$key]['onstyle']='on'; 休息; } } } 返回 $newchannel; } 函數 b($cid='',$return=false,$linktag=' > ',$homepage=SystemDir) { 返回 cnav($cid,$return,$linktag,$homepage); } 函數 i($kind='',$cid=0){ 如果($cid===0){ if(!define('cid')) {回傳 false;} $cid=cid; } $channel=getchannelcache($cid); if(!$channel) { 返回 false; } 如果(空($kind)){ 返回$頻道; }elseif($kind=='name' && isset($channel['cname'])) { 返回 $channel['cname']; }elseif($kind=='topfid') { $breadcrumb=b($channel['cid'],1); if(isset($breadcrumb[0]['cid'])) { 返回$breadcrumb[0]['cid']; } }elseif($kind=='url') { 返回 u($channel['cid']); }elseif($kind=='域') { 返回 @$channel['csetting']['channel_domain']; }別的 { if(isset($channel[$kind])) { 返回 $channel[$kind]; } } 返回 false; } 函數 uri($uri){ $uri=ltrim($uri,'/'); 如果(網址重寫){ 返回 SystemDir.$uri; }別的 { 返回 SystemDir.IndexFile.'/'.$uri; } } 函數 f($file){ 需要(SystemRoot.TemplateDir.DIRECTORY_SEPARATOR.$file); } 函數t($file='',$echo=1){ 如果($echo==1){ echo(SystemDir.TemplateDir.'/'.$file); } 返回 SystemDir.TemplateDir.'/'.$file; } 函數列表($where=''){ if(isset($where['page']) && !is_numeric($where['page'])) { if(isset($_GET[$where['page']]) && $_GET[$where['page']]>0) { $where['page']=intval($_GET[$where['page']]); }別的 { $where['page']=1; } } $nullarticle=array('list'=>array(),'pagecount'=>0,'pagesize'=>1,'page'=>1,); if(!isset($where['cid']) && !define('cid') && !isset($where['tablename']) && !isset($where['cids'])))(Return && !isset($where['cids'])) ;} if(!isset($where['tablename']) && !isset($where['cid']) && !isset($where['cids']) && define('cid')) {$where[' cid']=cid;} if(!isset($where['cid'])) {$where['cid']=0;} if(is_numeric($where['cid'])) {$where['cid']=intval($where['cid']);} if(SiteCache && isset($where['cache']) && $where['cache']>0) { $快取位置=$位置; $cachehash=md5(json_encode($where)); $res =cacheget($cachehash,$where['cache'],'alist'); if ($res) {return json_decode($res,1);} } $sql=''; if($where['cid']!==0) { $thischannelcache=getchannelcache($where['cid']); if(!$thischannelcache) {Return $nullarticle;} $where['cid']=$thischannelcache['cid']; } if(!isset($where['tablename'])) {$where['tablename']='';} if(!isset($where['all']) || $where['all']==1) { if(!isset($where['cids'])) {$where['cids']='';} $clistsetting=alist_getson($where['cid'],$where['tablename'],$where['cids']); if(!isset($clistsetting['sql'])) {Return $nullarticle;}$where['cidsql']=$clistsetting['sql']; $where['tablename']=$clistsetting['tablename']; $defaultsetting=getchannelcache($clistsetting['default']); if(!isset($where['pageurl']) && !isset($clistsetting['pageurl'])) { 取消設定($defaultsetting['csetting']['channel_pageurl']); } }別的 { if(!isset($where['cidsql'])) { $where['cidsql']=" 和 (cid='".$where['cid']."')"; } if($where['cid']) { $defaultsetting=getchannelcache($where['cid']); if(empty($where['tablename']) && isset($defaultsetting['csetting']['articletable'])) { $where['tablename']=$defaultsetting['csetting']['articletable']; } } } $sql.=$where['cidsql']; if(!isset($where['pagesize'])) { if(isset($defaultsetting['csetting']['temppage_size']) && !empty($defaultsetting['csetting']['temppage_size'])) { $where['pagesize']=$defaultsetting['csetting']['temppage_size']; } } if(!isset($where['order'])) { if(isset($defaultsetting['csetting']['temppage_order']) && !empty($defaultsetting['csetting']['temppage_order'])) { $where['order']=$defaultsetting['csetting']['temppage_order']; } } isset($where['addslashes']) ? $ifaddslashes=$where['addslashes']:$ifaddslashes=1; isset($where['表名']) ? $where['tablename']=$where['tablename']:die('no tablename'); isset($where['pagesize']) ? $where['pagesize']=intval($where['pagesize']):$where['pagesize']=9; isset($where['order']) ? $where['order']='order by '.$where['order']:$where['order']='order by id desc'; isset($where['start']) ? $where['start']=intval($where['start']):$where['start']=0; isset($where['column']) ? $where['column']=$where['column']:$where['column']='*'; isset($where['rowidstyle']) && !isset($where['rowidname'])? $where['rowidname']='id' :''; isset($where['linktime']) ? 1==1 : $where['linktime']='posttime'; isset($where['link']) ? 1==1 : $where['link']=''; isset($where['domain']) ? 1==1 : $where['domain']=''; if(trim($where['column'])<>'*') {$where['column'].=',cid';}if(isset($where['where'])) { if(is_array($where['where'])) { foreach($where['where'] as $key=>$val) { $key=addslashes_str($key,$ifaddslashes); if(is_array($val) && count($val)>0) { $sql.=" 和 ("; foreach($val 作為 $value){ $sql.=$key."='".addslashes_str($value,$ifaddslashes)."' 或"; } $sql=substr($sql,0,strlen($sql)-4); $sql.=")"; }別的 { $sql.=" 和 ".$key."='".addslashes_str($val,$ifaddslashes)."'"; } } }別的 { $sql.=" 和 ".$where['where']; } } if(isset($where['inwhere'])) { foreach($where['inwhere'] as $key=>$val) { if(!is_array($val)) { $val=數組(); $val[]=$where['inwhere'][$key]; } $key=addslashes_str($key,$ifaddslashes); foreach($val as $val1){ if(is_numeric($val1) && $val1>0) { $sql.=" 和(".$key."='[".$val1."]' 或".$key." 像'%,".$val1.",%' 或".$key. " "像'[".$val1.",%'或".$key."像'%,".$val1."]')"; }別的 { 取消設定($where['inwhere'][$key]); } } } } if(isset($where['無處'])) { foreach($where['nowhere'] as $key=>$val) { $key=addslashes_str($key,$ifaddslashes); if(is_array($val) && count($val)>0) { foreach($val 作為 $value){ $sql.=" 和 ".$key."<>'".addslashes_str($value,$ifaddslashes).'\''; } }別的 { $sql.=" 和 ".$key."<>'".addslashes_str($val,$ifaddslashes)."'"; } } } if(isset($where['other']) && !empty($where['other'])) { $sql.=" 和 ".$where['other']; } if(isset($where['keyword']) && !empty($where['keyword'])) { if(!isset($where['searchcolumn'])) {$where['searchcolumn']='title';} if(!is_array($where['searchcolumn'])) {$where['searchcolumn']=explode(',',$where['searchcolumn']);} if(!is_array($where['keyword'])) {$where['keyword']=explode('|',$where['keyword']);} $sql.=" 和 ("; foreach($where['searchcolumn'] as $key=>$searchcolumn) { foreach($where['keyword'] as $keywordkey=>$keywordval) { if($key==0&&$keywordkey==0){ $sql.="$searchcolumn 就像'%".addslashes_str($keywordval,$ifaddslashes)."%'"; }別的 { $sql.=" 或 $searchcolumn like '%".addslashes_str($keywordval,$ifaddslashes)."%'"; } } } $sql.=" )"; } if(!empty($sql)) { $sql='where'.ltrim($sql,'and'); } if(isset($where['page'])) { $where['page']=intval($where['page']); $where['pagecount'] = $GLOBALS['db'] -> fetchcount("SELECT count(id) FROM".$where['tablename']."$sql"); $where['articlecount']=$where['pagecount']; $where['start']=($where['page']-1)*$where['pagesize']; if($where['articlecount']%$where['pagesize']==0) { $where['pages']=($where['articlecount']/$where['pagesize']); }別的 { $where['pages']=intval($where['articlecount']/$where['pagesize']) 1; } if(isset($defaultsetting['csetting']['channel_pageurl']) && !empty($defaultsetting['csetting']['channel_pageurl']) && !isset($where['pageurl'])) { $allpageurl=explode(';',$defaultsetting['csetting']['channel_pageurl']); 如果(網址重寫){ $where['pageurl']=$allpageurl[0]; }別的 { $where['pageurl']=SystemDir.IndexFile.$allpageurl[0]; } } } if(!isset($where['sql'])) { $where['sql_id']='SELECT id FROM'.$where['tablename'].' '.$sql。' '.$where['order'].'限制'.$where['start'].','.$where['pagesize']; $idquery=$GLOBALS['db'] ->查詢($where['sql_id']); $ids=$GLOBALS['db']-> fetchall($idquery); $sql='id in('; if(count($ids)>0) { foreach($ids as $key=>$val){ $sql.=$val[0].','; } }別的 { $sql.='0,'; } $sql=rtrim($sql,','); $sql.=')'; $where['sql']='SELECT '.$where['column'].' FROM '.$where['表名'].'其中“.$sql”。 '.$where['訂單']; } $query = $GLOBALS['db'] ->;查詢($where['sql']); $articles = $GLOBALS['db'] ->; fetchall($查詢); $i=0; foreach($文章為$值) { $i ; $value['key']=$i; if(isset($where['stepstyle'])) { foreach($where['stepstyle'] as $key=>$val) {if($i%$key==0) {$value['stepstyle']=$where['stepstyle'][$key] ; }} if(!isset($value['stepstyle'])) {$value['stepstyle']='';} }if(isset($where['rowstyle'])) { foreach($where['rowstyle'] as $key=>$val) {if($i==$key) {$value['rowstyle']=$where['rowstyle'][$key];} } if(!isset($value['rowstyle'])) {$value['rowstyle']='';} } if(isset($where['rowidstyle'])) { foreach($where['rowidstyle'] as $key=>$val) { if($value[$where['rowidname']]==$key) { $value['rowidstyle']=$val; } } if(!isset($value['rowidstyle'])) {$value['rowidstyle']='';} } if(!isset($value[$where['linktime']])) {$value[$where['linktime']]=0;} $value['link']=aurl($value,$where['link'],$value[$where['linktime']],$where['domain']); $where['list'][]=$value; } if(!isset($where['list'])) {$where['list']=array();} if(SiteCache && isset($where['cache']) && $where['cache']>0) { 快取集($cachehash,json_encode($where),$where['cache'],'alist'); } 返回 $where; } 函數 getkinds($cid,$fid) { $fid=intval($fid); $kindsarray=數組($fid); 如果(is_numeric($cid)){ $thichannelcache=getchannelcache($cid); $defaultsetting=$thichannelcache['csetting']; if(isset($defaultsetting['articletable']) &&!empty($defaultsetting['articletable'])) { $kindtable=$defaultsetting['articletable']; }其他{返回$kindsarray;} }別的 { $kindtable=$cid; } $query = $GLOBALS['db'] ->;查詢(“從$ kindtable中選擇id,其中fid ='$ fid';”); $link = $GLOBALS['db'] -> fetchall($查詢); foreach($link 作為$value) { $thisallkinds=getkinds($kindtable,$value['id']); foreach($thisallkinds 作為 $thisvalue) { $kindsarray[]=$thisvalue; } } 返回$kindsarray; } 函數 alist_getson($cid,$tablename,$cids,$first=1) { if($cid==0 && 空($tablename)) { $表名=文章表; } $數組=數組(); $array['list']=array(); $channels=getchannelscache(); 如果($第一個){ if(!is_array($cids)) {$cids=explode(';',$cids);} $thischannel=getchannelcache($cid); if($thischannel && @$thischannel['ckind']==2 && (in_array($cid,$cids) || 空($cids[0]))) { if(isset($thischannel['csetting']['articletable']) && !empty($thischannel['csetting']['articletable']) && empty($tablename)) { $tablename=$thischannel['csetting']['articletable']; }if($tablename==$thischannel['csetting']['articletable']) { $array['list'][]=$thischannel; if(isset($thischannel['csetting']['channel_pageurl']) && !empty($thischannel['csetting']['channel_pageurl'])) { $array['pageurl']=$thischannel['csetting']['channel_pageurl']; } } } $array['表名']=$表名; } foreach($channels as $key=>$val) { if($val['fid']==$cid) { $thischannel=getchannelcache($val['cid']); 如果(空($表名)){ if($thischannel['ckind']==2 && isset($thischannel['csetting']['articletable']) && (in_array($val['cid'],$cids) || 空($cids[ 0]))) { $array['list'][]=$val; $tablename=$thischannel['csetting']['articletable']; $array['表名']=$表名; } }別的 { if($thischannel['ckind']==2 && isset($thischannel['csetting']['articletable']) && $thischannel['csetting']['articletable']==$tablename && (in_array( (in_array()$ val['cid'],$cids) || 空($cids[0]))) { $array['list'][]=$val; } } $sonarray=alist_getson($val['cid'],$tablename,$cids,0); foreach($sonarray['list'] as $key1=>$val1) { $array['list'][]=$val1; } } } 如果($第一個){ $cids=數組(); $sql=''; foreach($array['list'] as $key=>$val) { 如果($key==0){ $sql.=" 和 (cid='".$val['cid']."'"; }elseif($key==(count($array['list'])-1)) { $sql.=" 或 cid='".$val['cid']."'"; }別的 { $sql.=" 或 cid='".$val['cid']."'"; } } if(count($array['list'])>0) {$array['sql']=$sql.')';} if(isset($array['list'][0])) { $array['default']=$array['list'][0]['cid']; }別的 { $數組['預設']=0; } 返回$數組; }別的 { 返回$數組; } } 函數aurl($value,$rowurl,$rowurltime,$domain=''){ $thissetting=getchannelcache($value['cid']); 如果(空($網域)){ if(isset($thissetting['csetting']['channel_domain']) && !empty($thissetting['csetting']['channel_domain'])) { $domains=explode(';',$thissetting['csetting']['channel_domain']); $域名=$域名[0]; foreach($domains 作為 $key){ if($key==server_name()) { $域=空; 休息; } } } } 如果(空($rowurl)){ if(空($thissetting['csetting']['channel_articleurl'])) { 返回 ''; } $rowurl=$thissetting['csetting']['channel_articleurl']; }if(!empty($where['domain'])) { $domains=explode(';',$where['domain']); $where['domain']=$domains[0]; foreach($domains 作為 $domain){ if($domain==server_name()) { $where['domain']=null; 休息; } } } 取消設定($這個設定); $rowurls=explode(';',$rowurl); $rowurl=$rowurls[0]; preg_match_all("/{(.*)}|\[(.*)\]|\((.*)\)/isU",$rowurl,$match); if(count($match[0])>0) { foreach($match[0] as $key=>$val) { if($rowurltime>0 && ($val=='(y)' || $val=='(m)' || $val=='(d)')) { isset($value['y']) ? 1==1 : $value['y']=date('Y',$rowurltime); isset($value['m']) ? 1==1 : $value['m']=date('m',$rowurltime); isset($value['d']) ? 1==1 : $value['d']=date('d',$rowurltime); } if(isset($value[$match[1][$key]])) { if(is_numeric($value[$match[1][$key]])) {$rowurl=str_replace($val,$value[$match[1][$key]],$rowurl);}else {$ rowurl=str_replace($val,urlencode($value[$match[1][$key]]),$rowurl);} } if(isset($value[$match[2][$key]])) { if(is_numeric($value[$match[2][$key]])) {$rowurl=str_replace($val,$value[$match[2][$key]],$rowurl); }其他{$rowurl=str_replace($val,urlencode($value[$match[2][$key]]),$rowurl); } } if(isset($value[$match[3][$key]])) { if(is_numeric($value[$match[3][$key]])) {$rowurl=str_replace($val,$value[$match[3][$key]],$rowurl); }其他{$rowurl=str_replace($val,urlencode($value[$match[3][$key]]),$rowurl); } } } } if(!empty($domain)) { $domain='//'.$domain.server_port(); } 如果(網址重寫){ $rowurl=$domain.$rowurl; }別的 { $rowurl=$domain.SystemDir.IndexFile.$rowurl; } 返回$rowurl; } 函數 all_list($where=array(),$pagesize=10,$cid='') { if(!isset($where['cache'])) {$where['cache']=3600;} $cachehash=md5(json_encode($where).$pagesize.json_encode($cid)); $res =cacheget($cachehash,$where['cache'],'alist'); if ($res) {return json_decode($res,1);} 如果(空($cid)){ $cid=數組(); $allchannels=getchannelscache(); foreach($allchannels as $channel){ if($channel['ckin']==2) { $cid[]=$channel['cid']; } } }elseif(is_numeric($cid)) { $cid=數組($cid); } $文章=陣列(); foreach($cid as $thiscid) { $where['cid']=$thiscid; $where['pagesize']=$pagesize; $where['all']=0; $thisarticles=alist($where); foreach($thisarticles['list'] as $thisarticle) { $文章[]=$這篇文章; } } $posttime=陣列(); foreach($articles as $article){ $posttime[] = $article['posttime']; }$orderarticles=array_multisort($posttime, SORT_DESC, $articles); $returnarticles=陣列(); $i=0; foreach($articles as $key=>$val) { $i ; $val['key']=$i; $returnarticles[]=$val; if($key==($pagesize-1)) { 休息; } } if(SiteCache && $where['cache']>0) { 快取集($cachehash,json_encode($returnarticles),$where['cache'],'alist'); } 返回$returnarticles; } 函數 ainsert($article,$setting='') { if(!is_array($article)) {回傳 false;} if(空($setting)) {$setting=array();} if(!isset($setting['cid']) && !isset($article['cid'])) { 如果(已定義('cid')){ $setting['cid']=cid; }別的 { return '設定無 cid'; } } if(!isset($setting['addslashes'])) {$setting['addslashes']=1;} if(!isset($setting['default'])) {$setting['default']=1;} if(!isset($setting['check'])) {$setting['check']=1;} if(!isset($setting['cid'])) {$setting['cid']=$article['cid'];} if(isset($article['cid'])) {unset($article['cid']);} $channel = getchannelcache($setting['cid']); if(!$channel) {Return '頻道不存在';} $setting['cid']=$channel['cid']; $csetting=$channel['csetting']; if(!isset($setting['tablename']) || empty($setting['tablename'])) {$setting['tablename']=$csetting['articletable'];} if(count($article)==0) { return 'where 文章列'; } foreach($article as $key=>$val){ $article[$key]=addslashes_str($article[$key],$setting['addslashes']); } if($setting['檢查']) { $columns=$GLOBALS['db']-> all("select mname,mkind,ifonly,strdefault,msetting from".tableex('moudle')." where cid=".$setting['cid']." order by morder asc;"); foreach($columns as $thiscolumn){ $key=$thiscolumn['mname']; if(!isset($article[$key]) && $setting['default']) { $article[$key]=$thiscolumn['strdefault']; if($thiscolumn['mkind']==9) { if($thiscolumn['strdefault']=='now') { $文章[$key]=時間(); }別的{ $thiscolumn['strdefault']=@strtotime($thiscolumn['strdefault']); if($thiscolumn['strdefault']) { $article[$key]=$thiscolumn['strdefault']; }別的 { $文章[$鍵]=0; } } } }if(isset($article[$key])) { $thismsetting=json_decode($thiscolumn['msetting'],1); $thismsetting['ifonly']=$thiscolumn['ifonly']; $thismsetting['表名']=$setting['表名']; $thismoudlevalue=$article[$key]; if($thismsetting['filterhtml']==1) { require_once(SystemRoot.AdminDir.'/input/kses.php'); $thisismoudlevalue= kses($thisismoudlevalue); }elseif($thismsetting['filterhtml']==2) { $thisismoudlevalue=htmlspecialchars($thisismoudlevalue); } $acheck=acheck($key,$thisismoudlevalue,$setting['cid'],$thismsetting); if($acheck==='error') {返回$key。'錯誤';} if($acheck==='short') {返回 $key。'短的';} if($acheck==='long') {返回 $key。'長的';} if($acheck==='exist') {返回$key。'存在';} $article[$key]=$thismoudlevalue; } } } $article['cid']=$setting['cid']; if(!isset($article['posttime'])) {$article['posttime']=time();} if(!isset($article['adminuid'])) {$article['adminuid']=0;} $結果 = $GLOBALS['db'] ->插入($setting['表名'],$article); if($result) {回傳 $result;}else {回傳 false;} } 函數 aedit($article,$setting='') { if(!isset($article['id']) || !is_numeric($article['id']) || $article['id']<1) { 返回“id 錯誤”; } $id=$article['id']; 取消設定($article['id']); if(!is_array($article)) {回傳 false;} if(空($setting)) {$setting=array();} if(!isset($setting['cid']) && !isset($article['cid'])) { 如果(已定義('cid')){ $setting['cid']=cid; }別的 { return '設定無 cid'; } } if(!isset($setting['addslashes'])) {$setting['addslashes']=1;} if(!isset($setting['check'])) {$setting['check']=1;} if(!isset($setting['cid'])) {$setting['cid']=$article['cid'];} if(isset($article['cid'])) {unset($article['cid']);} $channel = getchannelcache($setting['cid']); if(!$channel) {Return '頻道不存在';} $setting['cid']=$channel['cid']; $csetting=$channel['csetting']; if(!isset($setting['tablename']) || empty($setting['tablename'])) {$setting['tablename']=$csetting['articletable'];} if(count($article)==0) { return 'where 文章列'; } foreach($article as $key=>$val){ $article[$key]=addslashes_str($article[$key],$setting['addslashes']); }if($setting['檢查']) { $columns=$GLOBALS['db']-> all("select mname,ifonly,strdefault,msetting from".tableex('moudle')." where cid=".$setting['cid']." order by morder asc;"); foreach($columns as $thiscolumn){ $key=$thiscolumn['mname']; if(isset($article[$key])) { $thismsetting=json_decode($thiscolumn['msetting'],1); $thismsetting['ifonly']=$thiscolumn['ifonly']; $thismsetting['表名']=$setting['表名']; $thismoudlevalue=$article[$key]; if($thismsetting['filterhtml']==1) { require_once(SystemRoot.AdminDir.'/input/kses.php'); $thisismoudlevalue= kses($thisismoudlevalue); }elseif($thismsetting['filterhtml']==2) { $thisismoudlevalue=htmlspecialchars($thisismoudlevalue); } $acheck=acheck($key,$thisismoudlevalue,$setting['cid'],$thismsetting,$id); if($acheck==='error') {返回$key。'錯誤';} if($acheck==='short') {返回 $key。'短的';} if($acheck==='long') {返回 $key。'長的';} if($acheck==='exist') {返回$key。'存在';} $article[$key]=$thismoudlevalue; } } } $結果 = $GLOBALS['db'] -> update($setting['tablename'],"id='$id'",$article); if($result) {回傳 true;}else {回傳 false;} } 函數 adel($cid,$id,$tablename='') { if(空($cid) && 空($tablename)) { 如果(已定義('cid')){ $cid=cid; }別的 { 返回“無 cid”; } } if(empty($id)) {Return 'no id';}else {$id=intval($id);} 如果(空($表名)){ $channel = getchannelcache($cid); if(!$channel) {Return '頻道不存在';} $cid=$channel['cid']; $csetting=$channel['csetting']; $tablename=$csetting['articletable']; } $query = $GLOBALS['db'] ->;查詢(“從`$tablename`WHERE id='$id'刪除”); 如果($查詢){ 傳回 true; }別的 { 返回 false; } } 函數acheck($mname,$value,$cid='',$thismsetting='',$id=0){ 如果($cid==''){ 如果(已定義('cid')){ $cid=cid; }別的 { 返回“無 cid”; } }if($thismsetting=='') { $column = $GLOBALS['db'] ->; one("select mname,ifonly,msetting from".tableex('moudle')." where cid='".$cid."' and mname='".$mname."' limit 1;"); $thismsetting=json_decode($column['msetting'],1); $thismsetting['ifonly']=$column['ifonly']; } if(isset($thismsetting['regular']) && strlen($thismsetting['regular'])>3 && !empty($value)) { if(!preg_match($thismsetting['regular'],$value)){ 返回“錯誤”; } } if(isset($thismsetting['lenmin']) && is_numeric($thismsetting['lenmin']) && $thismsetting['lenmin']>0) { if(strlen($value)<$thismsetting['lenmin']) { 返回“短”; } } if(isset($thismsetting['lenmax']) && is_numeric($thismsetting['lenmax']) && $thismsetting['lenmax']>0) { if(strlen($value)>$thismsetting['lenmax']) { 返回“長”; } } if($thismsetting['ifonly']==1) { if(!isset($thismsetting['tablename'])) { $channel = getchannelcache($cid); $thismsetting['tablename']=$channel['csetting']['articletable']; } 如果($id>0){ $pagecount = $GLOBALS['db'] ->; fetchcount("SELECT id FROM".$thismsetting['tablename']." where $mname='$value' and cid='".$cid."' and id<>'$id' limit 1;") ; }別的 { $pagecount = $GLOBALS['db'] ->; fetchcount("SELECT id FROM".$thismsetting['tablename']." where $mname='$value' and cid='".$cid."' limit 1;"); } if($pagecount) { 返回「存在」; } } 傳回 true; } 函數addslashes_str($val,$addslashes){ 如果($addslashes){ 返回 dbstr($val); }別的 { 返回$val; } } 函數 pagelist($alist,$url='',$returnarray=0) { if(!isset($alist['pagecount']) || !isset($alist['page'])) { 返回 false; } $recordcount=$alist['pagecount']; $pagesize=$alist['pagesize']; $curpage=$alist['頁面']; $pages=isset($alist['showpages']) ? $alist['showpages'] :3 ; if(empty($url) && isset($alist['pageurl']) && !empty($alist['pageurl'])) { $url=$alist['pageurl']; if(isset($alist['cid'])) { $url=str_replace('(cid)',$alist['cid'],$url); } }別的 { 如果(網址重寫){ $url=$_SERVER['REQUEST_URI']; }別的 { $url=$_SERVER['SCRIPT_NAME'].$_SERVER['REQUEST_URI']; } } if(stripes($url,'page=')===false) { if(stripes($url,'?')===false) { $url=$url."?page=(頁)"; }別的 { $url=$url."&page=(頁)"; } } } } $url = preg_replace("/page=([0-9] )/is", "page=(page)", $url); } } if($pagesize<1) { $頁面大小=1; } } $pagearray=數組(); $totalpage = max(ceil($recordcount/$pagesize),1); if($curpage<0 || $curpage>$totalpage) $curpage=1; $outhtml = ""; $pageno = $curpage; if($page<0 || $page>$totalpage) $page=1; 如果($pageno==1){ $pagearray[]=array('url'=>str_replace('(page)','1',$url),'title'=>'<<','class'=>'已停用'); }別的 { $pagearray[]=array('url'=>str_replace('(page)','1',$url),'title'=>'<<','class'=>' ) ; } } if($pages>$totalpage){ $ 起始頁 = 1 ; $endpage=min($startpage $pages,$totalpage); }別的{ $startpage=max($totalpage-$pages,1); $startpage=min($startpage,$curpage); $endpage=min($startpage $pages,$totalpage); } } if($page>1){ $pagearray[]=array('url'=>str_replace('(page)',$pageno-1,$url),'title'=>'<','class'=>'') ; }別的{ $pagearray[]=array('url'=>str_replace('(page)',1,$url),'title'=>'<','class'=>'停用'); } } for($i=$startpage;$i<=$endpage;$i) { 如果($curpage==$i){ $pagearray[]=array('url'=>str_replace('(page)',$i,$url),'title'=>$i,'class'=>'on'); }別的{ $pagearray[]=array('url'=>str_replace('(page)',$i,$url),'title'=>$i,'class'=>''); } } } } if($pageno<$totalpage){ $pagearray[]=array('url'=>str_replace('(page)',$pageno1,$url),'title'=>'>','class'=>''); }別的{ $pagearray[]=array('url'=>str_replace('(page)',$totalpage,$url),'title'=>'>','class'=>'停用'); } } if($page==$totalpage) { $pagearray[]=array('url'=>str_replace('(page)',$totalpage,$url),'title'=>'>>','class'=>'停用' ); }別的 { $pagearray[]=array('url'=>str_replace('(page)',$totalpages,$url),'title'=>'>>','class'=>'') ; } } 如果($returnray){ 返回 $pagearray ; } }別的 { $outhtml=''; foreach($pagesarray as $val){ if(!empty($val['class'])) { $val['class']=' class="'.$val['class'].'"'; } $outhtml.='
七字铺2021-03-26 11:14:39
貼文無法重新編輯,由於程式碼太長,好像顯示不全,這裡用網盤傳文件了,
#下載:https://wwa.lanzous.com/iTtK9nbjdja 密碼:f2p0