一个模板类
if(!defined("__CLASS_TEMPLATE__")){
define("__CLASS_TEMPLATE__",1);
function SelectTemplate($path)
{
global $theme_path;
$handle = opendir($path); //取当前目录句并
$tmp = '<select name="theme_path" id="theme_path">';
while($file = readdir($handle))
{
if ($file != "." && $file != ".." && $file != "shop_theme.idf" && $file != "index.html")
{
$filedir = $file."/";
if($theme_path == $filedir)
{
$tmp .= '<option value="'.$filedir.'" selected>'.$file.'</option>';
}
elseif($theme_path != $filedir)
{
$tmp .= '<option value="'.$filedir.'">'.$file.'</option>';
}
}
}
$tmp .= "</select>";
closedir($handle); //关闭目录句并
return $tmp;
}
function EvalTemplate($templatefile, $vars, $is_admin=1)
{
global $BASE_ADMIN_TEMPLATE_PATH,$BASE_THEME_PATH,$BASE_PATH;
if($is_admin == 1)
{
$read_templatefile = $BASE_ADMIN_TEMPLATE_PATH.$templatefile;
}
elseif($is_admin == 0)
{
if(file_exists($BASE_THEME_PATH.$templatefile))
{
$read_templatefile = $BASE_THEME_PATH.$templatefile;
}
elseif(file_exists($BASE_PATH."themes/default/".$templatefile))
{
$read_templatefile = $BASE_PATH."themes/default/".$templatefile;
}
else
{
$msg = "没有找到模板文件:".$BASE_THEME_PATH.$templatefile;
email_error($msg);
}
}
$read = file($read_templatefile);
$i = 0;
while($i<count($read))
{
$read[$i] = chop($read[$i])."\n";
$i++;
}
$line=implode($read, "");
eval("global $vars;");
$vars = str_replace(",","",$vars);
$var_list = explode("\$",$vars);
$i=0;
while($i <= sizeof($var_list))
{
$line = str_replace("<%$var_list[$i]%>",$$var_list[$i],$line);
$i++;
}
global $cat;
$line = str_replace("<%cat%>",$cat,$line);
return $line;
}
function SelectLanguage($path)
{
$handle = opendir($path); //取当前目录句并
$tmp = "<select name=\"theme_path\" id=\"theme_path\">";
while($file=readdir($handle))
{
if ($file != "." && $file!=".." && $file != "index.html")
{
$filedir = $file."/";
$tmp .= "<option value=\"$filedir\">$file</option>";
}
}
$tmp .= "</select>";
closedir($handle); //关闭目录句并
return $tmp;
}
function DisplayTemplate($templatefile, $vars, $is_admin=1)
{
global $BASE_ADMIN_TEMPLATE_PATH,$BASE_THEME_PATH,$BASE_PATH,$theme_path;
if($is_admin == 1)
{
$read_templatefile = $BASE_ADMIN_TEMPLATE_PATH.$templatefile;
}
elseif($is_admin == 0)
{
if(file_exists($BASE_THEME_PATH.$templatefile))
{
$read_templatefile = $BASE_THEME_PATH.$templatefile;
}
else
{
$read_templatefile = $BASE_PATH."themes/default/".$templatefile;
}
}
$read = file($read_templatefile);
$i = 0;
while($i<count($read))
{
$read[$i] = chop($read[$i])."\n";
$i++;
}
$line=implode($read, "");
eval("global $vars;");
$vars = str_replace(",","",$vars);
$var_list = explode("\$",$vars);
$i = 0;
while($i<=sizeof($var_list))
{
$line = str_replace("<%$var_list[$i]%>",$$var_list[$i],$line);
$i++;
}
global $cat;
$line = str_replace("<%cat%>",$cat,$line);
//$line = str_replace("\n","\r",$line);
$preg = "/<php>(.*)<\/php>/U";
//$preg = "/<php>.*<\/php>/m";
preg_match_all($preg,$line,$out,PREG_SET_ORDER);
$lines = preg_split($preg,$line);
if(sizeof($lines)>1)
{
$loop_line=0;
while(!empty($out[$loop_line][1]))
{
print $lines[$loop_line];
eval($out[$loop_line][1]);
$loop_line++;
if(empty($out[$loop_line][1]))
{
print $lines[$loop_line];
}
}
}
else
{
print $lines[0];
}
}
function revers_htmlspecialchars($msg)
{
$msg = str_replace("/>/i", ">", $msg);
$msg = str_replace("/</i", "<", $msg);
$msg = str_replace("/"/i", "\"", $msg);
$msg = str_replace("/&/i", "&", $msg);
return $msg;
}
function email_error($msg)
{
global $technical_email;
$message = "有一个模板错误: $msg\n";
$message .= "日期: ".date("Y-m-d H:i:s")."\n";
$message .= "脚本: ".getenv("REQUEST_URI")."\n";
$message .= "来自: ".getenv("HTTP_REFERER")."\n";
$message.="所在行: ".getenv("__LINE__")."\n";
//echo $message;
@mail ($technical_email,"有一个模板错误!",$message);
echo "\n<!-- $message -->\n";
echo "</td></tr></table>\n<p>看上去发生了轻微的错误.\n";
echo "请再刷新尝试一下.</p>";
echo "一封电邮已经发送给我们的<a href=\"mailto:$technical_email\">技术人员</a>, 如果问题依然, 您也可以联系他.</p>";
echo "<p>如有不便, 敬请原谅.</p>";
die("");
}
} *** 作者被禁止或删除 内容自动屏蔽 ***
页:
[1]
