www.gusucode.com > 08CMS空白站群系统 3.3 繁体 UTF-8 > upload/include/parse/cnode.php
<?php !defined('M_COM') && exit('No Permission'); function onecnode(&$tag,$temparr){//@@@ global $acatalogs,$cotypes,$btags,$sid; parse_str(cnstr($temparr),$midarr); $nsid = $sid; foreach($midarr as $k => $v){ if($k == 'caid'){ $nsid = empty($acatalogs[$v]['sid']) ? $sid : $acatalogs[$v]['sid']; if($tag['casource'] != 'active') unset($midarr[$k]); }elseif(@$tag['cosource'.str_replace('ccid','',$k)] != 'active'){ unset($midarr[$k]); } } if($tag['listby'] == 'ca'){ foreach($cotypes as $k => $cotype){//先处理非列表项目 ($cotype['sortable'] && !empty($tag['cosource'.$k]) && is_numeric($tag['cosource'.$k])) && $midarr['ccid'.$k] = $tag['cosource'.$k]; } if(empty($tag['casource'])){ return ''; }elseif($tag['casource'] == 'active'){//列表项id要放在最后 if(empty($midarr['caid'])) return ''; if(!$item = read_cache('catalog',$midarr['caid'],'',$nsid)) return ''; unset($midarr['caid']); $midarr['caid'] = $temparr['caid']; }else{ if(!$item = read_cache('catalog',$tag['casource'],'',$nsid)) return ''; $midarr['caid'] = $tag['casource']; } }else{ $coid = str_replace('co','',$tag['listby']); (!empty($tag['casource']) && is_numeric($tag['casource'])) && $midarr['caid'] = $tag['casource']; foreach($cotypes as $k => $cotype){ (($k != $coid) && $cotype['sortable'] && !empty($tag['cosource'.$k]) && is_numeric($tag['cosource'.$k])) && $midarr['ccid'.$k] = $tag['cosource'.$k]; } if($tag['cosource'.$coid] == 'active'){ if(empty($midarr['ccid'.$coid])) return ''; if(!$item = read_cache('coclass',$coid,$midarr['ccid'.$coid])) return ''; unset($midarr['ccid'.$coid]); $midarr['ccid'.$coid] = $temparr['ccid'.$coid]; }else{ if(empty($tag['cosource'.$coid])) return ''; if(!$item = read_cache('coclass',$coid,$tag['cosource'.$coid])) return ''; $midarr['ccid'.$coid] = $tag['cosource'.$coid]; } } if(empty($item)) return ''; (!empty($tag['urlmode']) && !empty($midarr[$tag['urlmode']])) && $midarr = array_merge(array($tag['urlmode'] => $midarr[$tag['urlmode']]),$midarr); $cnstr = cnstr($midarr); $cnode = cnodearr($cnstr,$nsid); re_cnode($item,$cnstr,$cnode); $template = $tag['template']; nreplace($template,'c',$midarr); nreplace($template,'u',$item); nreplace($template,'b',$item); return $template; } ?>