<?php
/**
* Project: Smarty: the PHP compiling template engine
* File: Smarty_Compiler.class.php
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* @link http://smarty.php.net/
* @author Monte Ohrt <monte at ohrt dot com>
* @author Andrei Zmievski <andrei@php.net>
* @version 2.6.12
* @copyright 2001-2005 New Digital Group, Inc.
* @package Smarty
*/
/* $Id: Smarty_Compiler.class.php,v 1.1.1.1 2007/03/15 10:03:22 ts Exp $ */
/**
* Template compiling class
* @package Smarty
*/
class Smarty_Compiler extends Smarty {
// internal vars
/**#@+
* @access private
*/
var $_folded_blocks = array(); // keeps folded template blocks
var $_current_file = null; // the current template being compiled
var $_current_line_no = 1; // line number for error messages
var $_capture_stack = array(); // keeps track of nested capture buffers
var $_plugin_info = array(); // keeps track of plugins to load
var $_init_smarty_vars = false;
var $_permitted_tokens = array('true','false','yes','no','on','off','null');
var $_db_qstr_regexp = null; // regexps are setup in the constructor
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";
/**#@-*/
/**
* The class constructor.
*/
function Smarty_Compiler()
{
// matches double quoted strings:
// "foobar"
// "foo\"bar"
$this->_db_qstr_regexp = '"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"';
// matches single quoted strings:
// 'foobar'
// 'foo\'bar'
$this->_si_qstr_regexp = '\'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\'';
// matches single or double quoted strings
$this->_qstr_regexp = '(?:' . $this->_db_qstr_regexp . '|' . $this->_si_qstr_regexp . ')';
// matches bracket portion of vars
// [0]
// [foo]
// [$bar]
$this->_var_bracket_regexp = '\[\$?[\w\.]+\]';
// matches numerical constants
// 30
// -12
// 13.22
$this->_num_const_regexp = '(?:\-?\d+(?:\.\d+)?)';
// matches $ vars (not objects):
// $foo
// $foo.bar
// $foo.bar.foobar
// $foo[0]
// $foo[$bar]
// $foo[5][blah]
// $foo[5].bar[$foobar][4]
$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;
// matches config vars:
// #foo#
// #foobar123_foo#
$this->_cvar_regexp = '\#\w+\#';
// matches section vars:
// %foo.bar%
$this->_svar_regexp = '\%\w+\.\w+\%';
// matches all valid variables (no quotes, no modifiers)
$this->_avar_regexp = '(?:' . $this->_dvar_regexp . '|'
. $this->_cvar_regexp . '|' . $this->_svar_regexp . ')';
// matches valid variable syntax:
// $foo
// $foo
// #foo#
// #foo#
// "text"
// "text"
$this->_var_regexp = '(?:' . $this->_avar_regexp . '|' . $this->_qstr_regexp . ')';
// matches valid object call (one level of object nesting allowed in parameters):
// $foo->bar
// $foo->bar()
// $foo->bar("text")
// $foo->bar($foo, $bar, "text")
// $foo->bar($foo, "foo")
// $foo->bar->foo()
// $foo->bar->foo->bar()
// $foo->bar($foo->bar)
// $foo->bar($foo->bar())
// $foo->bar($foo->bar($blah,$foo,44,"foo",$foo[0].bar))
$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 . ')*)?)';
// matches valid modifier syntax:
// |foo
// |@foo
// |foo:"bar"
// |foo:$bar
// |foo:"bar":$foobar
// |foo|bar
// |foo:$foo->bar
$this->_mod_regexp = '(?:\|@?\w+(?::(?:\w+|' . $this->_num_const_regexp . '|'
. $this->_obj_call_regexp . '|' . $this->_avar_regexp . '|' . $this->_qstr_regexp .'))*)';
// matches valid function name:
// foo123
// _foo_bar
$this->_func_regexp = '[a-zA-Z_]\w*';
// matches valid registered object:
// foo->bar
$this->_reg_obj_regexp = '[a-zA-Z_]\w*->[a-zA-Z_]\w*';
// matches valid parameter values:
// true
// $foo
// $foo|bar
// #foo#
// #foo#|bar
// "text"
// "text"|bar
// $foo->bar
$this->_param_regexp = '(?:\s*(?:' . $this->_obj_call_regexp . '|'
. $this->_var_regexp . '|' . $this->_num_const_regexp . '|\w+)(?>' . $this->_mod_regexp . '*)\s*)';
// matches valid parenthesised function pa
没有合适的资源?快使用搜索试试~ 我知道了~
商业版游戏网游公会程序
共936个文件
gif:297个
php:294个
html:144个
4星 · 超过85%的资源 需积分: 13 141 下载量 5 浏览量
2010-04-26
10:29:39
上传
评论 1
收藏 3.68MB RAR 举报
温馨提示
适合做个种网游公会源码 给朋友调试到 这个个事原版的就放出来给大家下载了
资源推荐
资源详情
资源评论
收起资源包目录
商业版游戏网游公会程序 (936个子文件)
BUGS 377B
ChangeLog 209KB
test.conf 70B
globals_single_quotes.conf 13B
globals_double_quotes.conf 13B
gmt.css 19KB
gmt.css 8KB
md.css 6KB
editor.css 6KB
md.css 5KB
md.css 5KB
md.css 4KB
md.css 4KB
md.css 3KB
md.css 2KB
md.css 2KB
md.css 2KB
md.css 935B
dynCalendar.css 853B
md.css 424B
md.css 133B
FAQ 13KB
room_bg1.gif 204KB
house_bg2.gif 167KB
room_bg3.gif 148KB
house_bg4.gif 98KB
f5.gif 82KB
default_room_bg.gif 81KB
default_house_bg.gif 79KB
f3.gif 64KB
room_bg4.gif 56KB
f6.gif 34KB
a009.gif 28KB
a017.gif 23KB
logo.gif 21KB
d2.gif 16KB
d3.gif 15KB
a018.gif 14KB
wait.gif 13KB
finish.gif 13KB
li2.gif 13KB
a011.gif 12KB
enterhouse.gif 12KB
tip4.gif 9KB
4.gif 9KB
a019.gif 9KB
5.gif 8KB
2.gif 8KB
birthday_h.gif 7KB
7.gif 7KB
body_bg.gif 7KB
eliminate.gif 6KB
leagua.gif 6KB
tip5.gif 6KB
editor.gif 6KB
tip3.gif 5KB
mixbattle.gif 5KB
8.gif 5KB
a008.gif 5KB
tip2.gif 5KB
vs.gif 5KB
cup.gif 4KB
tip1.gif 4KB
b_bottom.gif 4KB
1.gif 4KB
default.gif 4KB
3.gif 4KB
a020.gif 4KB
6.gif 4KB
d4.gif 4KB
thumb_room_bg1.gif 4KB
thumb_room_bg3.gif 4KB
b_top.gif 3KB
sportTitle.gif 3KB
thumb_room_bg4.gif 3KB
card.gif 3KB
a013.gif 3KB
3.gif 3KB
setup.gif 3KB
4.gif 3KB
card.gif 3KB
2.gif 3KB
cplogo.gif 3KB
1.gif 3KB
thumb_f6.gif 3KB
cplogo.gif 3KB
cplogo.gif 3KB
cplogo.gif 3KB
cplogo.gif 3KB
cplogo.gif 3KB
wincup.gif 2KB
def_mlogo.gif 2KB
cplogo.gif 2KB
cplogo.gif 2KB
cplogo.gif 2KB
logo.gif 2KB
a010.gif 2KB
thumb_house_bg2.gif 2KB
cplogo.gif 2KB
cplogo.gif 2KB
共 936 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
美日
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- java-leetcode题解之第557题反转字符串中的单词III.zip
- java-leetcode题解之第521题最长的特殊序列I.zip
- java-leetcode题解之第459题重复的子字符串.zip
- java-leetcode题解之第443题压缩字符串.zip
- java-leetcode题解之第415题字符串相加.zip
- java-leetcode题解之第387题字符串中的第一个唯一字符.zip
- java-leetcode题解之第165题比较版本号.zip
- java-leetcode题解之第67题二进制求和.zip
- javaleetcode题解之第58题最后一个单词的长度.zip
- 基于Javascript和Vue的微信小程序抽奖打地鼠游戏设计源码 - 抽奖打地鼠
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页