getAttributes($compiler, $args); $from = $_attr['from']; $item = $_attr['item']; if (!strncmp("\$_smarty_tpl->tpl_vars[$item]", $from, strlen($item) + 24)) { $compiler->trigger_template_error("item variable {$item} may not be the same variable as at 'from'", $compiler->lex->taglineno); } $OutputStr='global $db,$db_config,$config;$paramer='.ArrayToString($_attr,true).'; $ParamerArr = GetSmarty($paramer,$_GET,$_smarty_tpl); $paramer = $ParamerArr[arr]; $Purl = $ParamerArr[purl]; include PLUS_PATH."/group.cache.php"; $group = array(); if($paramer[\'classid\']){ $classid = @explode(\',\',$paramer[\'classid\']); if(is_array($classid)){ foreach($classid as $key=>$value){ $Info[\'id\'] = $value; $Info[\'name\'] = $group_name[$value]; $group[] = $Info; } } }else if($paramer[\'rec\']){ if(is_array($group_rec)){ foreach($group_rec as $key=>$value){ $Info[\'id\'] = $value; $Info[\'name\'] = $group_name[$value]; $group[] = $Info; } } }else if($paramer[\'r_news\']){ if(is_array($group_recnews)){ foreach($group_recnews as $key=>$value){ $Info[\'id\'] = $value; $Info[\'name\'] = $group_name[$value]; $group[] = $Info; } } }else{ if(is_array($group_index)){ foreach($group_index as $key=>$value){ $Info[\'id\'] = $value; $Info[\'name\'] = $group_name[$value]; $group[] = $Info; } } } if(is_array($group)){ foreach($group as $key=>$value){ if($paramer[r_list]){ if(is_array($group_type)){ foreach($group_type as $k=>$v){ if($value[\'id\']==strval($k)){ foreach($v as $ke=>$va){ $rs[\'id\']=$va; $rs[\'name\']=$group_name[$va]; if($config[sy_news_rewrite]=="2"){ $rs[url] = $config[\'sy_weburl\']."/news/".$va."/"; }else{ $rs[url]= Url(\'article\',array(\'c\'=>\'list\',"nid"=>$va),"1"); } $r_list[] = $rs; } } } } $group[$key][r_list] = $r_list; unset($r_list); } if(intval($paramer[len])>0){ $len = intval($paramer[len]); $group[$key][name] = mb_substr($value[name],0,$len,"utf-8"); } if($group_type[$value[\'id\']]){ $nids = $value[\'id\'].",".@implode(\',\',$group_type[$value[\'id\']]); }else{ $nids = $value[\'id\']; } if($config[sy_news_rewrite]=="2"){ $group[$key][url] = $config[\'sy_weburl\']."/news/".$value[id]."/"; }else{ $group[$key][url] = Url(\'article\',array(\'c\'=>\'list\',"nid"=>$value[id]),"1"); } if($config[did]){ $newswhere = " and (`did`=$config[did] OR `did` = -1)"; }else{ $newswhere = " and (`did`=-1 OR `did`=0 OR did=\'\')"; } if($paramer[arcpic]){ $query = $db->query("SELECT * FROM `$db_config[def]news_base` WHERE `nid` IN ($nids) AND `newsphoto`<>\'\' $newswhere ORDER BY `starttime` DESC limit $paramer[arcpic]"); while($rs = $db->fetch_array($query)){ if(intval($paramer[pt_len])>0){ $len = intval($paramer[pt_len]); $rs[title] = mb_substr($rs[title],0,$len,"utf-8"); } if($rs[color]){ $rs[title] = "".$rs[title].""; } if(intval($paramer[pd_len])>0){ $len = intval($paramer[pd_len]); $rs[description] = mb_substr($rs[description],0,$len,"utf-8"); } foreach($group as $k=>$v){ if($v[id]==$rs[nid]){ $rs[name] = $v[name]; } } if($config[sy_news_rewrite]=="2"){ $rs["url"]=$config[\'sy_weburl\']."/news/".date("Ymd",$rs["datetime"])."/".$rs[id].".html"; }else{ $rs["url"] = Url("article",array("c"=>"show","id"=>$rs[id]),"1"); } $picid[]=$rs[\'id\']; $arcpic[] = $rs; } $group[$key][arcpic] = $arcpic; unset($arcpic); } if($paramer[arclist]){ $query = $db->query("SELECT * FROM `$db_config[def]news_base` WHERE `nid` IN ($nids) $newswhere ORDER BY `starttime` DESC limit $paramer[arclist]"); while($rs = $db->fetch_array($query)){ if(intval($paramer[t_len])>0){ $len = intval($paramer[t_len]); $rs[title] = mb_substr($rs[title],0,$len,"utf-8"); } if($rs[color]){ $rs[title] = "".$rs[title].""; } if(intval($paramer[d_len])>0){ $len = intval($paramer[d_len]); $rs[description] = mb_substr($rs[description],0,$len,"utf-8"); } foreach($group as $k=>$v){ if($v[id]==$rs[nid]){ $rs[name] = $v[name]; } } if($config[sy_news_rewrite]=="2"){ $rs["url"]=$config[\'sy_weburl\']."/news/".date("Ymd",$rs["datetime"])."/".$rs[id].".html"; }else{ $rs["url"] = Url("article",array("c"=>"show","id"=>$rs[id]),"1"); } //去掉和图片资讯相同的一条,总条数是文字资讯条数加上图片资讯条数 if($paramer[arcpic]){ if(!in_array($rs[\'id\'],$picid)){ if(count($arclist)<($paramer[arclist]-1)){ $arclist[] = $rs; } } }else{ if(count($arclist)<($paramer[arclist]-1)){ $arclist[] = $rs; } } } $group[$key][arclist] = $arclist; unset($arclist); } } }'; return SmartyOutputStr($this,$compiler,$_attr,'articleclass','$group',$OutputStr,'$group'); } } class Smarty_Internal_Compile_Articleclasselse extends Smarty_Internal_CompileBase{ public function compile($args, $compiler, $parameter){ $_attr = $this->getAttributes($compiler, $args); list($openTag, $nocache, $item, $key) = $this->closeTag($compiler, array('articleclass')); $this->openTag($compiler, 'articleclasselse', array('articleclasselse', $nocache, $item, $key)); return "tpl_vars[$item]->_loop) {\n?>"; } } class Smarty_Internal_Compile_Articleclassclose extends Smarty_Internal_CompileBase{ public function compile($args, $compiler, $parameter){ $_attr = $this->getAttributes($compiler, $args); if ($compiler->nocache) { $compiler->tag_nocache = true; } list($openTag, $compiler->nocache, $item, $key) = $this->closeTag($compiler, array('articleclass', 'articleclasselse')); return ""; } }