Revision 1374
Added by Luisehahne almost 15 years ago
| template.inc | ||
|---|---|---|
| 72 | 72 |
/** |
| 73 | 73 |
* Serialization helper, the name of this class. |
| 74 | 74 |
* |
| 75 |
* @var string
|
|
| 76 |
* @access public
|
|
| 75 |
* @var string |
|
| 76 |
* @access public |
|
| 77 | 77 |
*/ |
| 78 | 78 |
var $classname = "Template"; |
| 79 | 79 |
|
| ... | ... | |
| 88 | 88 |
* Note: setting $this->debug = true will enable debugging of variable |
| 89 | 89 |
* assignments only which is the same behaviour as versions up to release 7.2d. |
| 90 | 90 |
* |
| 91 |
* @var int
|
|
| 92 |
* @access public
|
|
| 91 |
* @var int |
|
| 92 |
* @access public |
|
| 93 | 93 |
*/ |
| 94 | 94 |
var $debug = false; |
| 95 | 95 |
|
| ... | ... | |
| 98 | 98 |
* false = no filename outputs |
| 99 | 99 |
* true = HTML comments (e.g. <!-- START FILE $filename -->) placed in output |
| 100 | 100 |
* |
| 101 |
* @var int
|
|
| 102 |
* @access public
|
|
| 101 |
* @var int |
|
| 102 |
* @access public |
|
| 103 | 103 |
*/ |
| 104 | 104 |
var $filename_comments = false; |
| 105 | 105 |
|
| ... | ... | |
| 110 | 110 |
* ("loose" has a nasty habit of deleting JavaScript RegEx components)
|
| 111 | 111 |
* (should future major version releases of PHPLib default this "strict"?) |
| 112 | 112 |
* |
| 113 |
* @var string
|
|
| 114 |
* @access public
|
|
| 113 |
* @var string |
|
| 114 |
* @access public |
|
| 115 | 115 |
*/ |
| 116 | 116 |
var $unknown_regexp = "loose"; |
| 117 | 117 |
|
| 118 | 118 |
/** |
| 119 | 119 |
* The base directory from which template files are loaded. |
| 120 | 120 |
* |
| 121 |
* @var string
|
|
| 122 |
* @access private
|
|
| 123 |
* @see set_root
|
|
| 121 |
* @var string |
|
| 122 |
* @access private |
|
| 123 |
* @see set_root |
|
| 124 | 124 |
*/ |
| 125 | 125 |
var $root = "."; |
| 126 | 126 |
|
| ... | ... | |
| 129 | 129 |
* into names of files containing the variable content. |
| 130 | 130 |
* $file[varname] = "filename"; |
| 131 | 131 |
* |
| 132 |
* @var array
|
|
| 133 |
* @access private
|
|
| 134 |
* @see set_file
|
|
| 132 |
* @var array |
|
| 133 |
* @access private |
|
| 134 |
* @see set_file |
|
| 135 | 135 |
*/ |
| 136 | 136 |
var $file = array(); |
| 137 | 137 |
|
| ... | ... | |
| 140 | 140 |
* into regular expressions for themselves. |
| 141 | 141 |
* $varkeys[varname] = "/varname/" |
| 142 | 142 |
* |
| 143 |
* @var array
|
|
| 144 |
* @access private
|
|
| 145 |
* @see set_var
|
|
| 143 |
* @var array |
|
| 144 |
* @access private |
|
| 145 |
* @see set_var |
|
| 146 | 146 |
*/ |
| 147 | 147 |
var $varkeys = array(); |
| 148 | 148 |
|
| ... | ... | |
| 151 | 151 |
* into values for their respective varkeys. |
| 152 | 152 |
* $varvals[varname] = "value" |
| 153 | 153 |
* |
| 154 |
* @var array
|
|
| 155 |
* @access private
|
|
| 156 |
* @see set_var
|
|
| 154 |
* @var array |
|
| 155 |
* @access private |
|
| 156 |
* @see set_var |
|
| 157 | 157 |
*/ |
| 158 | 158 |
var $varvals = array(); |
| 159 | 159 |
|
| 160 | 160 |
/** |
| 161 | 161 |
* Determines how to output variable tags with no assigned value in templates. |
| 162 | 162 |
* |
| 163 |
* @var string
|
|
| 164 |
* @access private
|
|
| 165 |
* @see set_unknowns
|
|
| 163 |
* @var string |
|
| 164 |
* @access private |
|
| 165 |
* @see set_unknowns |
|
| 166 | 166 |
*/ |
| 167 | 167 |
var $unknowns = "remove"; |
| 168 | 168 |
|
| ... | ... | |
| 172 | 172 |
* "report" = the error is reported, then execution continues by returning "false" |
| 173 | 173 |
* "no" = errors are silently ignored, and execution resumes reporting "false" |
| 174 | 174 |
* |
| 175 |
* @var string
|
|
| 176 |
* @access public
|
|
| 177 |
* @see halt
|
|
| 175 |
* @var string |
|
| 176 |
* @access public |
|
| 177 |
* @see halt |
|
| 178 | 178 |
*/ |
| 179 | 179 |
var $halt_on_error = "yes"; |
| 180 | 180 |
|
| 181 | 181 |
/** |
| 182 | 182 |
* The last error message is retained in this variable. |
| 183 | 183 |
* |
| 184 |
* @var string
|
|
| 185 |
* @access public
|
|
| 186 |
* @see halt
|
|
| 184 |
* @var string |
|
| 185 |
* @access public |
|
| 186 |
* @see halt |
|
| 187 | 187 |
*/ |
| 188 | 188 |
var $last_error = ""; |
| 189 | 189 |
|
| ... | ... | |
| 194 | 194 |
* |
| 195 | 195 |
* usage: Template([string $root = "."], [string $unknowns = "remove"]) |
| 196 | 196 |
* |
| 197 |
* @param $root path to template directory
|
|
| 198 |
* @param $string what to do with undefined variables
|
|
| 199 |
* @see set_root
|
|
| 200 |
* @see set_unknowns
|
|
| 201 |
* @access public
|
|
| 202 |
* @return void
|
|
| 197 |
* @param $root path to template directory |
|
| 198 |
* @param $string what to do with undefined variables |
|
| 199 |
* @see set_root |
|
| 200 |
* @see set_unknowns |
|
| 201 |
* @access public |
|
| 202 |
* @return void |
|
| 203 | 203 |
*/ |
| 204 | 204 |
function Template($root = ".", $unknowns = "remove") {
|
| 205 | 205 |
if ($this->debug & 4) {
|
| ... | ... | |
| 219 | 219 |
* |
| 220 | 220 |
* usage: set_root(string $root) |
| 221 | 221 |
* |
| 222 |
* @param $root string containing new template directory
|
|
| 223 |
* @see root
|
|
| 224 |
* @access public
|
|
| 225 |
* @return boolean
|
|
| 222 |
* @param $root string containing new template directory |
|
| 223 |
* @see root |
|
| 224 |
* @access public |
|
| 225 |
* @return boolean |
|
| 226 | 226 |
*/ |
| 227 | 227 |
function set_root($root) {
|
| 228 | 228 |
if(preg_match ('/\/$/', $root)) {
|
| ... | ... | |
| 254 | 254 |
* |
| 255 | 255 |
* usage: set_unknowns(string $unknowns) |
| 256 | 256 |
* |
| 257 |
* @param $unknowns new value for unknowns
|
|
| 258 |
* @see unknowns
|
|
| 259 |
* @access public
|
|
| 260 |
* @return void
|
|
| 257 |
* @param $unknowns new value for unknowns |
|
| 258 |
* @see unknowns |
|
| 259 |
* @access public |
|
| 260 |
* @return void |
|
| 261 | 261 |
*/ |
| 262 | 262 |
function set_unknowns($unknowns = "remove") {
|
| 263 | 263 |
if ($this->debug & 4) {
|
| ... | ... | |
| 283 | 283 |
* or |
| 284 | 284 |
* usage: set_file(string $varname, string $filename) |
| 285 | 285 |
* |
| 286 |
* @param $varname either a string containing a varname or a hash of varname/file name pairs.
|
|
| 287 |
* @param $filename if varname is a string this is the filename otherwise filename is not required
|
|
| 288 |
* @access public
|
|
| 289 |
* @return boolean
|
|
| 286 |
* @param $varname either a string containing a varname or a hash of varname/file name pairs. |
|
| 287 |
* @param $filename if varname is a string this is the filename otherwise filename is not required |
|
| 288 |
* @access public |
|
| 289 |
* @return boolean |
|
| 290 | 290 |
*/ |
| 291 | 291 |
function set_file($varname, $filename = "") {
|
| 292 | 292 |
if (!is_array($varname)) {
|
| ... | ... | |
| 329 | 329 |
* |
| 330 | 330 |
* usage: set_block(string $parent, string $varname, [string $name = ""]) |
| 331 | 331 |
* |
| 332 |
* @param $parent a string containing the name of the parent variable
|
|
| 333 |
* @param $varname a string containing the name of the block to be extracted
|
|
| 334 |
* @param $name the name of the variable in which to store the block
|
|
| 335 |
* @access public
|
|
| 336 |
* @return boolean
|
|
| 332 |
* @param $parent a string containing the name of the parent variable |
|
| 333 |
* @param $varname a string containing the name of the block to be extracted |
|
| 334 |
* @param $name the name of the variable in which to store the block |
|
| 335 |
* @access public |
|
| 336 |
* @return boolean |
|
| 337 | 337 |
*/ |
| 338 | 338 |
function set_block($parent, $varname, $name = "") {
|
| 339 | 339 |
if ($this->debug & 4) {
|
| ... | ... | |
| 383 | 383 |
* or |
| 384 | 384 |
* usage: set_var(array $varname = (string $varname => string $value), [mixed $dummy_var], [boolean $append = false]) |
| 385 | 385 |
* |
| 386 |
* @param $varname either a string containing a varname or a hash of varname/value pairs.
|
|
| 387 |
* @param $value if $varname is a string this contains the new value for the variable otherwise this parameter is ignored
|
|
| 388 |
* @param $append if true, the value is appended to the variable's existing value
|
|
| 389 |
* @access public
|
|
| 390 |
* @return void
|
|
| 386 |
* @param $varname either a string containing a varname or a hash of varname/value pairs. |
|
| 387 |
* @param $value if $varname is a string this contains the new value for the variable otherwise this parameter is ignored |
|
| 388 |
* @param $append if true, the value is appended to the variable's existing value |
|
| 389 |
* @access public |
|
| 390 |
* @return void |
|
| 391 | 391 |
*/ |
| 392 | 392 |
function set_var($varname, $value = "", $append = false) {
|
| 393 | 393 |
if (!is_array($varname)) {
|
| ... | ... | |
| 436 | 436 |
* or |
| 437 | 437 |
* usage: clear_var(array $varname = (string $varname)) |
| 438 | 438 |
* |
| 439 |
* @param $varname either a string containing a varname or an array of varnames.
|
|
| 440 |
* @access public
|
|
| 441 |
* @return void
|
|
| 439 |
* @param $varname either a string containing a varname or an array of varnames. |
|
| 440 |
* @access public |
|
| 441 |
* @return void |
|
| 442 | 442 |
*/ |
| 443 | 443 |
function clear_var($varname) {
|
| 444 | 444 |
if (!is_array($varname)) {
|
| ... | ... | |
| 477 | 477 |
* or |
| 478 | 478 |
* usage: unset_var(array $varname = (string $varname)) |
| 479 | 479 |
* |
| 480 |
* @param $varname either a string containing a varname or an array of varnames.
|
|
| 481 |
* @access public
|
|
| 482 |
* @return void
|
|
| 480 |
* @param $varname either a string containing a varname or an array of varnames. |
|
| 481 |
* @access public |
|
| 482 |
* @return void |
|
| 483 | 483 |
*/ |
| 484 | 484 |
function unset_var($varname) {
|
| 485 | 485 |
if (!is_array($varname)) {
|
| ... | ... | |
| 516 | 516 |
* |
| 517 | 517 |
* usage: subst(string $varname) |
| 518 | 518 |
* |
| 519 |
* @param $varname the name of the variable within which variables are to be substituted
|
|
| 520 |
* @access public
|
|
| 521 |
* @return string
|
|
| 519 |
* @param $varname the name of the variable within which variables are to be substituted |
|
| 520 |
* @access public |
|
| 521 |
* @return string |
|
| 522 | 522 |
*/ |
| 523 | 523 |
function subst($varname) {
|
| 524 | 524 |
$varvals_quoted = array(); |
| ... | ... | |
| 550 | 550 |
* |
| 551 | 551 |
* usage: psubst(string $varname) |
| 552 | 552 |
* |
| 553 |
* @param $varname the name of the variable within which variables are to be substituted
|
|
| 554 |
* @access public
|
|
| 555 |
* @return false
|
|
| 556 |
* @see subst
|
|
| 553 |
* @param $varname the name of the variable within which variables are to be substituted |
|
| 554 |
* @access public |
|
| 555 |
* @return false |
|
| 556 |
* @see subst |
|
| 557 | 557 |
*/ |
| 558 | 558 |
function psubst($varname) {
|
| 559 | 559 |
if ($this->debug & 4) {
|
| ... | ... | |
| 598 | 598 |
* or |
| 599 | 599 |
* usage: parse(string $target, array $varname = (string $varname), [boolean $append]) |
| 600 | 600 |
* |
| 601 |
* @param $target a string containing the name of the variable into which substituted $varnames are to be stored
|
|
| 602 |
* @param $varname if a string, the name the name of the variable to substitute or if an array a list of variables to be substituted
|
|
| 603 |
* @param $append if true, the substituted variables are appended to $target otherwise the existing value of $target is replaced
|
|
| 604 |
* @access public
|
|
| 605 |
* @return string
|
|
| 606 |
* @see subst
|
|
| 601 |
* @param $target a string containing the name of the variable into which substituted $varnames are to be stored |
|
| 602 |
* @param $varname if a string, the name the name of the variable to substitute or if an array a list of variables to be substituted |
|
| 603 |
* @param $append if true, the substituted variables are appended to $target otherwise the existing value of $target is replaced |
|
| 604 |
* @access public |
|
| 605 |
* @return string |
|
| 606 |
* @see subst |
|
| 607 | 607 |
*/ |
| 608 | 608 |
function parse($target, $varname, $append = false) {
|
| 609 | 609 |
if (!is_array($varname)) {
|
| ... | ... | |
| 648 | 648 |
* or |
| 649 | 649 |
* usage: pparse(string $target, array $varname = (string $varname), [boolean $append]) |
| 650 | 650 |
* |
| 651 |
* @param $target a string containing the name of the variable into which substituted $varnames are to be stored
|
|
| 652 |
* @param $varname if a string, the name the name of the variable to substitute or if an array a list of variables to be substituted
|
|
| 653 |
* @param $append if true, the substituted variables are appended to $target otherwise the existing value of $target is replaced
|
|
| 654 |
* @access public
|
|
| 655 |
* @return false
|
|
| 656 |
* @see parse
|
|
| 651 |
* @param $target a string containing the name of the variable into which substituted $varnames are to be stored |
|
| 652 |
* @param $varname if a string, the name the name of the variable to substitute or if an array a list of variables to be substituted |
|
| 653 |
* @param $append if true, the substituted variables are appended to $target otherwise the existing value of $target is replaced |
|
| 654 |
* @access public |
|
| 655 |
* @return false |
|
| 656 |
* @see parse |
|
| 657 | 657 |
*/ |
| 658 | 658 |
function pparse($target, $varname, $append = false, $clear = true) { // added $clear: whether to delete undefined vars or not (needed for wb-module code) - thorn
|
| 659 | 659 |
if ($this->debug & 4) {
|
| ... | ... | |
| 682 | 682 |
* |
| 683 | 683 |
* usage: get_vars() |
| 684 | 684 |
* |
| 685 |
* @access public
|
|
| 686 |
* @return array
|
|
| 687 |
* @see $debug
|
|
| 685 |
* @access public |
|
| 686 |
* @return array |
|
| 687 |
* @see $debug |
|
| 688 | 688 |
*/ |
| 689 | 689 |
function get_vars() {
|
| 690 | 690 |
if ($this->debug & 4) {
|
| ... | ... | |
| 712 | 712 |
* or |
| 713 | 713 |
* usage: get_var(array $varname) |
| 714 | 714 |
* |
| 715 |
* @param $varname if a string, the name the name of the variable to get the value of, or if an array a list of variables to return the value of
|
|
| 716 |
* @access public
|
|
| 717 |
* @return string or array
|
|
| 715 |
* @param $varname if a string, the name the name of the variable to get the value of, or if an array a list of variables to return the value of |
|
| 716 |
* @access public |
|
| 717 |
* @return string or array |
|
| 718 | 718 |
*/ |
| 719 | 719 |
function get_var($varname) {
|
| 720 | 720 |
if (!is_array($varname)) {
|
| ... | ... | |
| 753 | 753 |
* |
| 754 | 754 |
* usage: get_undefined(string $varname) |
| 755 | 755 |
* |
| 756 |
* @param $varname a string containing the name the name of the variable to scan for unresolved variables
|
|
| 757 |
* @access public
|
|
| 758 |
* @return array
|
|
| 756 |
* @param $varname a string containing the name the name of the variable to scan for unresolved variables |
|
| 757 |
* @access public |
|
| 758 |
* @return array |
|
| 759 | 759 |
*/ |
| 760 | 760 |
function get_undefined($varname) {
|
| 761 | 761 |
if ($this->debug & 4) {
|
| ... | ... | |
| 801 | 801 |
* |
| 802 | 802 |
* usage: finish(string $str) |
| 803 | 803 |
* |
| 804 |
* @param $str a string to which to apply the unresolved variable policy
|
|
| 805 |
* @access public
|
|
| 806 |
* @return string
|
|
| 807 |
* @see set_unknowns
|
|
| 804 |
* @param $str a string to which to apply the unresolved variable policy |
|
| 805 |
* @access public |
|
| 806 |
* @return string |
|
| 807 |
* @see set_unknowns |
|
| 808 | 808 |
*/ |
| 809 | 809 |
function finish($str) {
|
| 810 | 810 |
switch ($this->unknowns) {
|
| ... | ... | |
| 837 | 837 |
* |
| 838 | 838 |
* usage: p(string $varname) |
| 839 | 839 |
* |
| 840 |
* @param $varname a string containing the name of the variable to finish and print
|
|
| 841 |
* @access public
|
|
| 842 |
* @return void
|
|
| 843 |
* @see set_unknowns
|
|
| 844 |
* @see finish
|
|
| 840 |
* @param $varname a string containing the name of the variable to finish and print |
|
| 841 |
* @access public |
|
| 842 |
* @return void |
|
| 843 |
* @see set_unknowns |
|
| 844 |
* @see finish |
|
| 845 | 845 |
*/ |
| 846 | 846 |
function p($varname) {
|
| 847 | 847 |
print $this->finish($this->get_var($varname)); |
| ... | ... | |
| 857 | 857 |
* |
| 858 | 858 |
* usage: get(string $varname) |
| 859 | 859 |
* |
| 860 |
* @param $varname a string containing the name of the variable to finish
|
|
| 861 |
* @access public
|
|
| 862 |
* @return void
|
|
| 863 |
* @see set_unknowns
|
|
| 864 |
* @see finish
|
|
| 860 |
* @param $varname a string containing the name of the variable to finish |
|
| 861 |
* @access public |
|
| 862 |
* @return void |
|
| 863 |
* @see set_unknowns |
|
| 864 |
* @see finish |
|
| 865 | 865 |
*/ |
| 866 | 866 |
function get($varname) {
|
| 867 | 867 |
return $this->finish($this->get_var($varname)); |
| ... | ... | |
| 876 | 876 |
* |
| 877 | 877 |
* usage: filename(string $filename) |
| 878 | 878 |
* |
| 879 |
* @param $filename a string containing a filename
|
|
| 880 |
* @access private
|
|
| 881 |
* @return string
|
|
| 882 |
* @see set_root
|
|
| 879 |
* @param $filename a string containing a filename |
|
| 880 |
* @access private |
|
| 881 |
* @return string |
|
| 882 |
* @see set_root |
|
| 883 | 883 |
*/ |
| 884 | 884 |
function filename($filename) {
|
| 885 | 885 |
if ($this->debug & 4) {
|
| ... | ... | |
| 908 | 908 |
* |
| 909 | 909 |
* usage: varname(string $varname) |
| 910 | 910 |
* |
| 911 |
* @param $varname a string containing a variable name
|
|
| 912 |
* @access private
|
|
| 913 |
* @return string
|
|
| 911 |
* @param $varname a string containing a variable name |
|
| 912 |
* @access private |
|
| 913 |
* @return string |
|
| 914 | 914 |
*/ |
| 915 | 915 |
function varname($varname) {
|
| 916 | 916 |
return preg_quote("{" . $varname . "}");
|
| ... | ... | |
| 932 | 932 |
* |
| 933 | 933 |
* usage: loadfile(string $varname) |
| 934 | 934 |
* |
| 935 |
* @param $varname a string containing the name of a variable to load
|
|
| 936 |
* @access private
|
|
| 937 |
* @return boolean
|
|
| 938 |
* @see set_file
|
|
| 935 |
* @param $varname a string containing the name of a variable to load |
|
| 936 |
* @access private |
|
| 937 |
* @return boolean |
|
| 938 |
* @see set_file |
|
| 939 | 939 |
*/ |
| 940 | 940 |
function loadfile($varname) {
|
| 941 | 941 |
if ($this->debug & 4) {
|
| ... | ... | |
| 988 | 988 |
* |
| 989 | 989 |
* usage: halt(string $msg) |
| 990 | 990 |
* |
| 991 |
* @param $msg a string containing an error message
|
|
| 992 |
* @access private
|
|
| 993 |
* @return void
|
|
| 994 |
* @see $halt_on_error
|
|
| 991 |
* @param $msg a string containing an error message |
|
| 992 |
* @access private |
|
| 993 |
* @return void |
|
| 994 |
* @see $halt_on_error |
|
| 995 | 995 |
*/ |
| 996 | 996 |
function halt($msg) {
|
| 997 | 997 |
$this->last_error = $msg; |
| ... | ... | |
| 1015 | 1015 |
* |
| 1016 | 1016 |
* usage: haltmsg(string $msg) |
| 1017 | 1017 |
* |
| 1018 |
* @param $msg a string containing the error message to display
|
|
| 1019 |
* @access public
|
|
| 1020 |
* @return void
|
|
| 1021 |
* @see halt
|
|
| 1018 |
* @param $msg a string containing the error message to display |
|
| 1019 |
* @access public |
|
| 1020 |
* @return void |
|
| 1021 |
* @see halt |
|
| 1022 | 1022 |
*/ |
| 1023 | 1023 |
function haltmsg($msg) {
|
| 1024 | 1024 |
printf("<b>Template Error:</b> %s<br>\n", $msg);
|
Also available in: Unified diff
fixed headerinfos