/s', '{\\1}', $template);
$template = str_replace('{LF}', '="\\n"?>', $template);
$template = preg_replace("/\\{(\\\$[a-zA-Z0-9_\\[\\]\\'\"\$\\.\x7f-\xff]+)\\}/s", '=\\1?>', $template);
$template = preg_replace('/' . $var_regexp . '/es', 'addquote(\'=\\1?>\')', $template);
$template = preg_replace('/\\<\\?\\=\\<\\?\\=' . $var_regexp . '\\?\\>\\?\\>/es', 'addquote(\'=\\1?>\')', $template);
$headeradd = '';
if (!empty($mytemplates)) {
$headeradd .= '
0
';
foreach ($mytemplates as $fname) {
$headeradd .= '|| chktplrefresh(\'' . $tplfile . '\', \'' . $fname . '\', ' . $timestamp . ', \'' . $templateid . '\', \'' . $tpldir . '\')
';
}
$headeradd .= ';';
}
$template = ' if(!defined(\'IN_MYMPS\')) exit(\'Access Denied\');
/*Mymps分类信息系统
官方网站:http://www.mymps.com.cn*/?>
' . $template;
$template = preg_replace('/[
]*\\{mympstag_([a-z0-9_]+)\\}[
]*/is', '
', $template);
$template = preg_replace('/[
]*\\{template\\s+([a-z0-9_]+)\\}[
]*/is', '
', $template);
$template = preg_replace('/[
]*\\{php\\s+(.+?)\\}[
]*/ies', 'stripvtags(\'\',\'\')', $template);
$template = preg_replace('/[
]*\\{php\\}\\s*(\\<\\!\\-\\-)*(.+?)(\\-\\-\\>)*\\s*\\{\\/php\\}[
]*/ies', 'stripvtags(\'\',\'\')', $template);
$template = preg_replace('/[
]*\\{echo\\s+(.+?)\\}[
]*/ies', 'stripvtags(\' echo \\1; ?>\',\'\')', $template);
$template = preg_replace('/([
]*)\\{if\\s+(.+?)\\}([
]*)/ies', 'stripvtags(\'\\1 if(\\2) { ?>\\3\')', $template);
$template = preg_replace('/([
]*)\\{elseif\\s+(.+?)\\}([
]*)/ies', 'stripvtags(\'\\1\\3\',\'\')', $template);
$template = preg_replace('/([
]*)\\{else\\}([
]*)/is', '\\1\\2', $template);
$template = preg_replace('/\\{\\/if\\}/i', '', $template);
$template = preg_replace('/[
]*\\{loop\\s+(\\S+)\\s+(\\S+)\\}[
]*/ies', 'stripvtags(\'\')', $template);
$template = preg_replace('/[
]*\\{loop\\s+(\\S+)\\s+(\\S+)\\s+(\\S+)\\}[
]*/ies', 'stripvtags(\' \\3) { ?>\')', $template);
$template = preg_replace('/([
]*)\\{loopelse\\}([
]*)/is', '\\1\\2', $template);
$template = preg_replace('/\\{\\/loop\\}/i', '', $template);
$template = preg_replace('/\\{' . $const_regexp . '\\}/s', '=\\1?>', $template);
$template = preg_replace('/ \\?\\>[
]*\\<\\? /s', ' ', $template);
$template = str_replace('$db_mymps', '{$db_mymps}', $template);
if (!@$fp = fopen($objfile, 'w')) {
exit('Directory \'/data/templates/\' not found or have no access!');
}
flock($fp, 2);
fwrite($fp, $template);
fclose($fp);
}
function loadmytemplate($file, $templateid = 0, $tpldir = '')
{
global $mytemplates;
$tpldir = $tpldir ? $tpldir : TPLDIR;
$templateid = $templateid ? $templateid : TEMPLATEID;
$tplfile = MYMPS_ROOT . '/template/' . $tpldir . '/' . $file . '.html';
if ($templateid != 1 && !file_exists($tplfile)) {
$tplfile = MYMPS_ROOT . '/template/default/' . $file . '.html';
}
$content = @implode('', file($tplfile));
$mytemplates[] = $tplfile;
return $content;
}
function transamp($str)
{
$str = str_replace('&', '&', $str);
$str = str_replace('&', '&', $str);
$str = str_replace('\\"', '"', $str);
return $str;
}
function addquote($var)
{
return str_replace('\\"', '"', preg_replace("/\\[([a-zA-Z0-9_\\-\\.\x7f-\xff]+)\\]/s", '[\'\\1\']', $var));
}
function stripvtags($expr, $statement)
{
$expr = str_replace('\\"', '"', preg_replace('/\\<\\?\\=(\\$.+?)\\?\\>/s', '\\1', $expr));
$statement = str_replace('\\"', '"', $statement);
return $expr . $statement;
}
function stripscriptamp($s, $extra)
{
$extra = str_replace('\\"', '"', $extra);
$s = str_replace('&', '&', $s);
return '';
}
function stripblock($var, $s)
{
$s = str_replace('\\"', '"', $s);
$s = preg_replace('/<\\?=\\$(.+?)\\?>/', '{$\\1}', $s);
preg_match_all('/<\\?=(.+?)\\?>/e', $s, $constary);
$constadd = '';
$constary[1] = array_unique($constary[1]);
foreach ($constary[1] as $const) {
$constadd .= '$__' . $const . ' = ' . $const . ';';
}
$s = preg_replace('/<\\?=(.+?)\\?>/', '{$__\\1}', $s);
$s = str_replace('?>', '
$' . $var . ' .= <<';
}
function chktplrefresh($maintpl, $subtpl, $timecompare, $templateid, $tpldir)
{
global $mymps_mymps;
if (empty($timecompare) || $mymps_mymps['tplrefresh'] == 1) {
if ($timecompare < @filemtime($subtpl)) {
myparsetemplate($subtpl, $templateid, $tpldir);
return true;
}
}
return false;
}
if (!defined('IN_MYMPS')) {
exit('Access Denied');
}
?>