/s', '{\\1}', $template); $template = str_replace('{LF}', '', $template); $template = preg_replace("/\\{(\\\$[a-zA-Z0-9_\\[\\]\\'\"\$\\.\x7f-\xff]+)\\}/s", '', $template); $template = preg_replace('/' . $var_regexp . '/es', 'addquote(\'\')', $template); $template = preg_replace('/\\<\\?\\=\\<\\?\\=' . $var_regexp . '\\?\\>\\?\\>/es', 'addquote(\'\')', $template); $headeradd = ''; if (!empty($mytemplates)) { $headeradd .= ' 0 '; foreach ($mytemplates as $fname) { $headeradd .= '|| chktplrefresh(\'' . $tplfile . '\', \'' . $fname . '\', ' . $timestamp . ', \'' . $templateid . '\', \'' . $tpldir . '\') '; } $headeradd .= ';'; } $template = ' ' . $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(\'\',\'\')', $template); $template = preg_replace('/([ ]*)\\{if\\s+(.+?)\\}([ ]*)/ies', 'stripvtags(\'\\1\\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', '', $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('&amp;', '&', $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'); } ?>