<?php
class Smarty_Compiler extends Smarty {
var $_folded_blocks = array();
var $_current_file = null;
var $_current_line_no = 1;
var $_capture_stack = array();
var $_plugin_info = array();
var $_init_smarty_vars = false;
var $_permitted_tokens = array('true','false','yes','no','on','off','null');
var $_db_qstr_regexp = null;
var $_si_qstr_regexp = null;
var $_qstr_regexp = null;
var $_func_regexp = null;
var $_reg_obj_regexp = null;
var $_var_bracket_regexp = null;
var $_num_const_regexp = null;
var $_dvar_guts_regexp = null;
var $_dvar_regexp = null;
var $_cvar_regexp = null;
var $_svar_regexp = null;
var $_avar_regexp = null;
var $_mod_regexp = null;
var $_var_regexp = null;
var $_parenth_param_regexp = null;
var $_func_call_regexp = null;
var $_obj_ext_regexp = null;
var $_obj_start_regexp = null;
var $_obj_params_regexp = null;
var $_obj_call_regexp = null;
var $_cacheable_state = 0;
var $_cache_attrs_count = 0;
var $_nocache_count = 0;
var $_cache_serial = null;
var $_cache_include = null;
var $_strip_depth = 0;
var $_additional_newline = "\n";
function Smarty_Compiler()
{
$this->_db_qstr_regexp = '"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"';
$this->_si_qstr_regexp = '\'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\'';
$this->_qstr_regexp = '(?:'.$this->_db_qstr_regexp .'|'.$this->_si_qstr_regexp .')';
$this->_var_bracket_regexp = '\[\$?[\w\.]+\]';
$this->_num_const_regexp = '(?:\-?\d+(?:\.\d+)?)';
$this->_dvar_math_regexp = '(?:[\+\*\/\%]|(?:-(?!>)))';
$this->_dvar_math_var_regexp = '[\$\w\.\+\-\*\/\%\d\>\[\]]';
$this->_dvar_guts_regexp = '\w+(?:'.$this->_var_bracket_regexp
.')*(?:\.\$?\w+(?:'.$this->_var_bracket_regexp .')*)*(?:'.$this->_dvar_math_regexp .'(?:'.$this->_num_const_regexp .'|'.$this->_dvar_math_var_regexp .')*)?';
$this->_dvar_regexp = '\$'.$this->_dvar_guts_regexp;
$this->_cvar_regexp = '\#\w+\#';
$this->_svar_regexp = '\%\w+\.\w+\%';
$this->_avar_regexp = '(?:'.$this->_dvar_regexp .'|'
.$this->_cvar_regexp .'|'.$this->_svar_regexp .')';
$this->_var_regexp = '(?:'.$this->_avar_regexp .'|'.$this->_qstr_regexp .')';
$this->_obj_ext_regexp = '\->(?:\$?'.$this->_dvar_guts_regexp .')';
$this->_obj_restricted_param_regexp = '(?:'
.'(?:'.$this->_var_regexp .'|'.$this->_num_const_regexp .')(?:'.$this->_obj_ext_regexp .'(?:\((?:(?:'.$this->_var_regexp .'|'.$this->_num_const_regexp .')'
.'(?:\s*,\s*(?:'.$this->_var_regexp .'|'.$this->_num_const_regexp .'))*)?\))?)*)';
$this->_obj_single_param_regexp = '(?:\w+|'.$this->_obj_restricted_param_regexp .'(?:\s*,\s*(?:(?:\w+|'
.$this->_var_regexp .$this->_obj_restricted_param_regexp .')))*)';
$this->_obj_params_regexp = '\((?:'.$this->_obj_single_param_regexp
.'(?:\s*,\s*'.$this->_obj_single_param_regexp .')*)?\)';
$this->_obj_start_regexp = '(?:'.$this->_dvar_regexp .'(?:'.$this->_obj_ext_regexp .')+)';
$this->_obj_call_regexp = '(?:'.$this->_obj_start_regexp .'(?:'.$this->_obj_params_regexp .')?(?:'.$this->_dvar_math_regexp .'(?:'.$this->_num_const_regexp .'|'.$this->_dvar_math_var_regexp .')*)?)';
$this->_mod_regexp = '(?:\|@?\w+(?::(?:\w+|'.$this->_num_const_regexp .'|'
.$this->_obj_call_regexp .'|'.$this->_avar_regexp .'|'.$this->_qstr_regexp .'))*)';
$this->_func_regexp = '[a-zA-Z_]\w*';
$this->_reg_obj_regexp = '[a-zA-Z_]\w*->[a-zA-Z_]\w*';
$this->_param_regexp = '(?:\s*(?:'.$this->_obj_call_regexp .'|'
.$this->_var_regexp .'|'.$this->_num_const_regexp .'|\w+)(?>'.$this->_mod_regexp .'*)\s*)';
$this->_parenth_param_regexp = '(?:\((?:\w+|'
.$this->_param_regexp .'(?:\s*,\s*(?:(?:\w+|'
.$this->_param_regexp .')))*)?\))';
$this->_func_call_regexp = '(?:'.$this->_func_regexp .'\s*(?:'
.$this->_parenth_param_regexp .'))';
}
function _compile_file($resource_name,$source_content,&$compiled_content)
{
if ($this->security) {
if ($this->php_handling == SMARTY_PHP_ALLOW &&
!$this->security_settings['PHP_HANDLING']) {
$this->php_handling = SMARTY_PHP_PASSTHRU;
}
}
$this->_load_filters();
$this->_current_file = $resource_name;
$this->_current_line_no = 1;
$ldq = preg_quote($this->left_delimiter,'~');
$rdq = preg_quote($this->right_delimiter,'~');
if (count($this->_plugins['prefilter']) >0) {
foreach ($this->_plugins['prefilter'] as $filter_name =>$prefilter) {
if ($prefilter === false) continue;
if ($prefilter[3] ||is_callable($prefilter[0])) {
$source_content = call_user_func_array($prefilter[0],
array($source_content,&$this));
$this->_plugins['prefilter'][$filter_name][3] = true;
}else {
$this->_trigger_fatal_error("[plugin] prefilter '$filter_name' is not implemented");
}
}
}
$search = "~{$ldq}\*(.*?)\*{$rdq}|{$ldq}\s*literal\s*{$rdq}(.*?){$ldq}\s*/literal\s*{$rdq}|{$ldq}\s*php\s*{$rdq}(.*?){$ldq}\s*/php\s*{$rdq}~s";
preg_match_all($search,$source_content,$match,PREG_SET_ORDER);
$this->_folded_blocks = $match;
reset($this->_folded_blocks);
$source_content = preg_replace($search.'e',"'"
.$this->_quote_replace($this->left_delimiter) .'php'
."' . str_repeat(\"\n\", substr_count('\\0', \"\n\")) .'"
.$this->_quote_replace($this->right_delimiter)
."'"
,$source_content);
preg_match_all("~{$ldq}\s*(.*?)\s*{$rdq}~s",$source_content,$_match);
$template_tags = $_match[1];
$text_blocks = preg_split("~{$ldq}.*?{$rdq}~s",$source_content);
for ($curr_tb = 0,$for_max = count($text_blocks);$curr_tb <$for_max;$curr_tb++) {
if (preg_match_all('~(<\?(?:\w+|=)?|\?>|language\s*=\s*[\"\']?\s*php\s*[\"\']?)~is',$text_blocks[$curr_tb],$sp_match)) {
$sp_match[1] = array_unique($sp_match[1]);
usort($sp_match[1],'_smarty_sort_length');
for ($curr_sp = 0,$for_max2 = count($sp_match[1]);$curr_sp <$for_max2;$curr_sp++) {
$text_blocks[$curr_tb] = str_replace($sp_match[1][$curr_sp],'%%%SMARTYSP'.$curr_sp.'%%%',$text_blocks[$curr_tb]);
}
for ($curr_sp = 0,$for_max2 = count($sp_match[1]);$curr_sp <$for_max2;$curr_sp++) {
if ($this->php_handling == SMARTY_PHP_PASSTHRU) {
$text_blocks[$curr_tb] = str_replace('%%%SMARTYSP'.$curr_sp.'%%%','<?php echo \''.str_replace("'","\'",$sp_match[1][$curr_sp]).'\'; ?>'."\n",$text_blocks[$curr_tb]);
}else if ($this->php_handling == SMARTY_PHP_QUOTE) {
$text_blocks[$curr_tb] = str_replace('%%%SMARTYSP'.$curr_sp.'%%%',htmlspecialchars($sp_match[1][$curr_sp]),$text_blocks[$curr_tb]);
}else if ($this->php_handling == SMARTY_PHP_REMOVE) {
$text_blocks[$curr_tb] = str_replace('%%%SMARTYSP'.$curr_sp.'%%%','',$text_blocks[$curr_tb]);
}else {
$sp_match[1][$curr_sp] = preg_replace('~(<\?(?!php|=|$))~i','<?php echo \'\\1\'?>'."\n",$sp_match[1][$curr_sp]);
$text_blocks[$curr_tb] = str_replace('%%%SMARTYSP'.$curr_sp.'%%%',$sp_match[1][$curr_sp],$text_blocks[$curr_tb]);
}
}
}
}
$compiled_tags = array();
for ($i = 0,$for_max = count($template_tags);$i <$for_max;$i++) {
$this->_current_line_no += substr_count($text_blocks[$i],"\n");
$compiled_tags[] = $this->_compile_tag($template_tags[$i]);
$this->_current_line_no += substr_count($template_tags[$i],"\n");
}
if (count($this->_tag_stack)>0) {
list($_open_tag,$_line_no) = end($this->_tag_stack);
$this->_syntax_error("unclosed tag \{$_open_tag} (opened line $_line_no).",E_USER_ERROR,__FILE__,__LINE__);
return;
}
$strip = false;
for ($i = 0,$for_max = count($compiled_tags);$i <$for_max;$i++) {
if ($compiled_tags[$i] == '{strip}') {
$compiled_tags[$i] = '';
$strip = true;
$text_blocks[$i +1] = ltrim($text_blocks[$i +1]);
}
if ($strip) {
for ($j = $i +1;$j <$for_max;$j++) {
$text_blocks[$j] = preg_replace('![\t ]*[\r\n]+[\t ]*!','',$text_blocks[$j]);
if ($compiled_tags[$j] == '{/strip}') {
$text_blocks[$j] = rtrim($text_blocks[$j]);
}
$text_blocks[$j] = "<?php echo '".strtr($text_blocks[$j],array("'"=>"\'","\\"=>"\\\\")) ."'; ?>";
if ($compiled_tags[$j] == '{/strip}') {
$compiled_tags[$j] = "\n";
$strip = false;
$i = $j;
break;
}
}
}
}
$compiled_content = '';
$tag_guard = '%%%SMARTYOTG'.
没有合适的资源?快使用搜索试试~ 我知道了~
PHP实例开发源码-免费买卖二手车交易源码带手机版 php版.zip
共1147个文件
jpg:286个
php:245个
html:215个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
1星 1 下载量 23 浏览量
2022-11-22
11:22:03
上传
评论
收藏 13.05MB ZIP 举报
温馨提示
PHP实例开发源码—免费买卖二手车交易源码带手机版 php版.zip PHP实例开发源码—免费买卖二手车交易源码带手机版 php版.zip PHP实例开发源码—免费买卖二手车交易源码带手机版 php版.zip
资源推荐
资源详情
资源评论
收起资源包目录
PHP实例开发源码-免费买卖二手车交易源码带手机版 php版.zip (1147个子文件)
common.css.bak 18KB
style.css.bak 12KB
default.css 21KB
common.css 21KB
car.css 15KB
style.css 12KB
page.css 10KB
user.css 8KB
laydate.css 6KB
laydate.css 6KB
layer.css 6KB
layer.css 6KB
index.css 5KB
base.css 5KB
base.css 5KB
base.css 5KB
shop.css 4KB
ui.tabs.css 4KB
laydate.css 3KB
laydate.css 3KB
laydate.css 3KB
laydate.css 3KB
laydate.css 3KB
laydate.css 3KB
qq.css 3KB
layer.ext.css 3KB
layer.ext.css 3KB
select.css 3KB
page (1).css 3KB
page.css 3KB
simple.css 2KB
default.css 2KB
dealer.css 2KB
main.css 2KB
common.css 2KB
wp-syntax.css 1KB
login.css 1KB
prettify.css 973B
static.gif 35KB
nopic.gif 32KB
loading.gif 22KB
35.gif 13KB
42.gif 13KB
40.gif 10KB
18.gif 8KB
19.gif 8KB
11.gif 8KB
32.gif 7KB
user.gif 7KB
49.gif 6KB
29.gif 6KB
xubox_loading0.gif 6KB
xubox_loading0.gif 6KB
97.gif 5KB
65.gif 5KB
31.gif 5KB
46.gif 5KB
57.gif 5KB
45.gif 5KB
8.gif 5KB
43.gif 4KB
33.gif 4KB
common_sprite.gif 4KB
68.gif 4KB
26.gif 4KB
14.gif 4KB
7.gif 4KB
51.gif 4KB
10.gif 4KB
47.gif 4KB
72.gif 4KB
6.gif 3KB
94.gif 3KB
84.gif 3KB
41.gif 3KB
17.gif 3KB
9.gif 3KB
28.gif 3KB
login.gif 3KB
50.gif 3KB
95.gif 3KB
22.gif 3KB
27.gif 3KB
67.gif 3KB
90.gif 3KB
60.gif 3KB
nopics.gif 3KB
loading.gif 3KB
58.gif 3KB
74.gif 2KB
25.gif 2KB
101.gif 2KB
xubox_loading3.gif 2KB
xubox_loading3.gif 2KB
54.gif 2KB
99.gif 2KB
24.gif 2KB
12.gif 2KB
73.gif 2KB
104.gif 2KB
共 1147 条
- 1
- 2
- 3
- 4
- 5
- 6
- 12
资源评论
- 李二蛋大叔2022-12-07下载以后直接被杀毒干掉,自行考虑
毕业_设计
- 粉丝: 1937
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功