")) { $where=''; $comment_flag=1; break; } next($names); } } if ($comment_flag) continue; if ($where=='variables') { if (ereg("^#",$str)) continue; if (preg_match("/^([^\s\t]+)[\s\t]+(.+)/",$str,$param)) { $var=$param[1]; $value=$param[2]; $var=strtolower($var); $var=trim($var); $value=trim($value); if ($var=='affix') { if (preg_match("/([^\s\t]+)[\s\t]+(.+)/",$value,$param)) { $lang=trim($param[1]); $file=trim($param[2]); $affix_file[$lang]=$file; } } elseif ($var=='spell') { if (preg_match("/([^\s\t]+)[\s\t]+(.+)/",$value,$param)) { $lang=trim($param[1]); $file=trim($param[2]); $spell_file[$lang][]=$file; } } elseif ($var=='r') { $rand=0+substr($var,1); $frand=rand(); $frand=$frand/getrandmax()*$value; $Randoms[$rand]=floor($frand); } else { $GLOBALS["$var"]="$value"; } } } else if ($where!=''){ $templates["$where"][count($templates["$where"])-1] .= $str; } } while (!feof($fp)); fclose($fp); } // ----------------------------------------------- // print_template($t,$echo=1) // ----------------------------------------------- function print_template($t,$echo=1){ global $templates; global $from, $to, $found, $query, $query_orig, $error, $self; global $nav, $wordsinfo; global $url, $ue, $o; global $clones; global $title, $rating, $desc, $contype, $lastmod, $docsize, $ndoc; global $keyw, $text; global $crc, $Randoms, $rec_id, $DEBUG; global $max_url_width; $from1=$from+1; $urlt=$url; if (($max_url_width>0)and (strlen($urlt)>$max_url_width)) { $urlt=substr($urlt,0,$max_url_width); $urlt .= "..."; } $str=$templates["$t"][$o]; if ($str == '') $str=$templates["$t"][0]; $str=ereg_replace('\$f', "$from1", $str); $str=ereg_replace('\$l', "$to", $str); $str=ereg_replace('\$t', "$found", $str); $str=ereg_replace('\$A', $self, $str); $str=ereg_replace('\$Q', $query, $str); $str=ereg_replace('\$q', urlencode($query_orig), $str); $str=eregi_replace('\$UE', $ue, $str); $str=ereg_replace('\$E', $error, $str); $str=ereg_replace('\$W', $wordsinfo, $str); $str=ereg_replace('\$V', $nav, $str); $str=ereg_replace('\$DUT', $urlt, $str); $str=ereg_replace('\$DU', $url, $str); $str=ereg_replace('\$DT', $title, $str); $str=ereg_replace('\$DR', "$rating", $str); $str=ereg_replace('\$DX', $text, $str); $str=ereg_replace('\$DC', $contype, $str); $str=ereg_replace('\$DM', $lastmod, $str); $str=ereg_replace('\$DS', "$docsize", $str); $str=ereg_replace('\$DN', "$ndoc", $str); $str=ereg_replace('\$DD', $desc, $str); $str=ereg_replace('\$DK', $keyw, $str); $sub=$str; while($sub=strstr($sub,'$r')){ $sub=substr($sub,2); $pos=0; $num=''; while(($sub[$pos]>='0')&&($sub[$pos]<='9')){ $num.=$sub[$pos++]; } $str=ereg_replace('\$r'.$num, ''.$Randoms[$num], $str); } if (strstr($str,'$CL')&&($t=='res')) { if (strtolower($clones) == 'no') { $str=ereg_replace('\$CL', '', $str); } elseif ($crc<>'') { $myurl=$url; $myct=$contype; $mylm=$lastmod; $query="SELECT url, content_type, last_modified FROM url WHERE crc='$crc' AND status=200 AND rec_id<>'$rec_id'"; if($DEBUG) echo $query,"

"; if(!($res=query($query))) print_error_local('Query error:'.$query."\n
".db_error()); while($row=fetch_row($res)){ $url=$row[0]; $contype=$row[1]; $lastmod=$row[2]; $clon.=print_template('clone',0); } free_result($res); $url=$myurl;$contype=$myct;$lastmod=$mylm; } $str=ereg_replace('\$CL', $clon, $str); } if($echo) echo $str; else return $str; } // ----------------------------------------------- // make_nav($query_orig) // ----------------------------------------------- function make_nav($query_orig){ global $found,$np,$isnext,$ps,$tag,$ul,$ue,$self,$o,$m; $q=urlencode($query_orig); $ul_local=urlencode($ul); $ue_local=urlencode($ue); if($np>0){ $prevp=$np-1; $prev_href="$self?q=$q&np=$prevp&ps=$ps&t=$tag&ul=$ul_local&ue=$ue_local&o=$o&m=$m"; $nav_left=print_template('navleft',0); $nav_left=ereg_replace('\$NH',"$prev_href",$nav_left); } elseif ($np==0) { $nav_left=print_template('navleft_nop',0); } if($isnext==1) { $nextp=$np+1; $next_href="$self?q=$q&np=$nextp&ps=$ps&t=$tag&ul=$ul_local&ue=$ue_local&o=$o&m=$m"; $nav_right=print_template('navright',0); $nav_right=ereg_replace('\$NH',"$next_href",$nav_right); } else { $nav_right=print_template('navright_nop',0); } $nav_bar0=print_template('navbar0',0); $nav_bar1=print_template('navbar1',0); $tp=ceil($found/$ps); $cp=$np+1; if ($cp>5) { $lp=$cp-5; } else { $lp=1; } $rp=$lp+10-1; if ($rp>$tp) { $rp=$tp; $lp=$rp-10+1; if ($lp<1) $lp=1; } if ($lp!=$rp) { for ($i=$lp; $i<=$rp;$i++) { $realp=$i-1; if ($i==$cp) { $nav_bar=$nav_bar.$nav_bar0; } else { $nav_bar=$nav_bar.$nav_bar1; } $href="$self?q=$q&np=$realp&ps=$ps&t=$tag&ul=$ul_local&ue=$ue_local&o=$o&m=$m"; $nav_bar=ereg_replace('\$NP',"$i",$nav_bar); $nav_bar=ereg_replace('\$NH',"$href",$nav_bar); } $nav=print_template('navigator',0); $nav=ereg_replace('\$NL',"$nav_left",$nav); $nav=ereg_replace('\$NR',"$nav_right",$nav); $nav=ereg_replace('\$NB',"$nav_bar",$nav); } elseif ($found) { $nav=print_template('navigator',0); $nav=ereg_replace('\$NL',"$nav_left",$nav); $nav=ereg_replace('\$NR',"$nav_right",$nav); $nav=ereg_replace('\$NB',"",$nav); } return $nav; } ?>