ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
HTML_Template_ITX Class Reference

Integrated Template Extension - ITX With this class you get the full power of the phplib template class. More...

+ Inheritance diagram for HTML_Template_ITX:
+ Collaboration diagram for HTML_Template_ITX:

Public Member Functions

 __construct (string $root='')
 Builds some complex regexps and calls the constructor of the parent class. More...
 
 replaceBlock (string $block, string $template, bool $keep_content=false)
 Replaces an existing block with new content. More...
 
 addBlock (string $placeholder, string $blockname, string $template)
 Adds a block to the template changing a variable placeholder to a block placeholder. More...
 
 addBlockfile (string $placeholder, string $blockname, string $filename)
 Adds a block taken from a file to the template changing a variable placeholder to a block placeholder. More...
 
 removeBlockData (string $block)
 Recursively removes all data assiciated with a block, including all inner blocks. More...
 
 blockExists (string $blockname)
 Checks wheter a block exists. More...
 
 buildFunctionlist ()
 Builds a functionlist from the template. More...
 
 getValue (string $code, $delimiter)
 Truncates the given code from the first occurence of $delimiter but ignores $delimiter enclosed by " or '. More...
 
 deleteFromBlockvariablelist (string $block, $variables)
 Deletes one or many variables from the block variable list. More...
 
 updateBlockvariablelist (string $block)
 Updates the variable list of a block. More...
 
 findPlaceholderBlocks (string $variable)
 Returns an array of blocknames where the given variable placeholder is used. More...
 
 warning (string $message, string $file='', int $line=0)
 Handles warnings, saves them to $warn and prints them or calls die() depending on the flags. More...
 
- Public Member Functions inherited from HTML_Template_IT
 __construct (string $root='', ?array $options=null)
 Builds some complex regular expressions and optinally sets the file root directory. More...
 
 setOption (string $option, $value)
 Sets the option for the template class. More...
 
 setOptions (array $options)
 Sets the options for the template class. More...
 
 show (string $block=self::IT_DEFAULT_BLOCK)
 Print a certain block with all replacements done. More...
 
 get (string $block=self::IT_DEFAULT_BLOCK)
 Returns a block with all replacements done. More...
 
 parse (string $block=self::IT_DEFAULT_BLOCK, bool $flag_recursion=false)
 Parses the given block. More...
 
 parseCurrentBlock ()
 Parses the current block. More...
 
 setVariable ($variable, $value='')
 Sets a variable value. More...
 
 setCurrentBlock (string $block=self::IT_DEFAULT_BLOCK)
 Sets the name of the current block that is the block where variables are added. More...
 
 touchBlock (string $block)
 Preserves an empty block even if removeEmptyBlocks is true. More...
 
 free ()
 Clears all datafields of the object. More...
 
 setTemplate (string $template, bool $removeUnknownVariables=true, bool $removeEmptyBlocks=true)
 Sets the template. More...
 
 loadTemplatefile (string $filename, bool $removeUnknownVariables=true, bool $removeEmptyBlocks=true)
 Reads a template file from the disk. More...
 
 setRoot (string $root)
 Sets the file root. More...
 
 buildBlockvariablelist ()
 Build a list of all variables within of a block. More...
 
 findBlocks (string $string)
 Recusively builds a list of all blocks within the template. More...
 
 getFile (string $filename)
 Reads a file from disk and returns its content. More...
 
 _addPregDelimiters (string $str)
 Adds delimiters to a string, so it can be used as a pattern in preg_* functions. More...
 
 _preserveOpeningDelimiter (string $str)
 Replaces an opening delimiter by a special string. More...
 
 errorMessage (int $value, string $blockname='')
 Return a textual error message for a IT error code. More...
 

Data Fields

array $warn = []
 Array with all warnings. More...
 
bool $printWarning = false
 Print warnings? More...
 
bool $haltOnWarning = false
 Call die() on warning? More...
 
string $checkblocknameRegExp = ''
 RegExp used to test for a valid blockname. More...
 
string $functionPrefix = 'func_'
 Functionnameprefix used when searching function calls in the template. More...
 
string $functionnameRegExp = '[_a-zA-Z]+[A-Za-z_0-9]*'
 Functionname RegExp. More...
 
string $functionRegExp = ''
 RegExp used to grep function calls in the template. More...
 
array $functions = []
 List of functions found in the template. More...
 
array $callback = []
 List of callback functions specified by the user. More...
 
- Data Fields inherited from HTML_Template_IT
const IT_OK = 1
 
const IT_ERROR = -1
 
const IT_TPL_NOT_FOUND = -2
 
const IT_BLOCK_NOT_FOUND = -3
 
const IT_BLOCK_DUPLICATE = -4
 
const IT_UNKNOWN_OPTION = -6
 
const IT_DEFAULT_BLOCK = '__global__'
 
array $err = []
 Contains the error objects. More...
 
bool $clearCache = false
 Clear cache on get()? More...
 
string $openingDelimiter = '{'
 First character of a variable placeholder ( _{_VARIABLE} ). More...
 
string $closingDelimiter = '}'
 Last character of a variable placeholder ( {VARIABLE_}_ ). More...
 
string $blocknameRegExp = '[\.0-9A-Za-z_-]+'
 RegExp matching a block in the template. More...
 
string $variablenameRegExp = '[\.0-9A-Za-z_-]+'
 RegExp matching a variable placeholder in the template. More...
 
string $variablesRegExp = ''
 RegExp used to find variable placeholder, filled by the constructor. More...
 
string $removeVariablesRegExp = ''
 RegExp used to strip unused variable placeholder. More...
 
bool $removeUnknownVariables = true
 Controls the handling of unknown variables, default is remove. More...
 
bool $removeEmptyBlocks = true
 Controls the handling of empty blocks, default is remove. More...
 
string $blockRegExp = ''
 RegExp used to find blocks an their content, filled by the constructor. More...
 
string $currentBlock = self::IT_DEFAULT_BLOCK
 Name of the current block. More...
 
string $template = ''
 Content of the template. More...
 
array $blocklist = []
 Array of all blocks and their content. More...
 
array $blockdata = []
 Array with the parsed content of a block. More...
 
array $blockvariables = []
 Array of variables in a block. More...
 
array $blockparents = []
 Array of block parents. More...
 
array $blockinner = []
 Array of inner blocks of a block. More...
 
array $touchedBlocks = []
 List of blocks to preverse even if they are "empty". More...
 
array $variableCache = []
 Variable cache. More...
 
bool $clearCacheOnParse = false
 Clear the variable cache on parse? If you're not an expert just leave the default false. More...
 
string $fileRoot = ''
 Root directory for all file operations. More...
 
bool $flagBlocktrouble = false
 Internal flag indicating that a blockname was used multiple times. More...
 
bool $flagGlobalParsed = false
 Flag indicating that the global block was parsed. More...
 
bool $flagCacheTemplatefile = true
 EXPERIMENTAL! FIXME! Flag indication that a template gets cached. More...
 
string $lastTemplatefile = ''
 EXPERIMENTAL! FIXME! More...
 
array $_options
 $_options['preserve_data'] Whether to substitute variables and remove empty placeholders in data passed through setVariable (see also bugs #20199, #21951). More...
 

Protected Member Functions

 init ()
 Clears all datafields of the object and rebuild the internal blocklist LoadTemplatefile() and setTemplate() automatically call this function when a new template is given. More...
 
 init ()
 Clears all datafields of the object and rebuild the internal blocklist LoadTemplatefile() and setTemplate() automatically call this function when a new template is given. More...
 

Additional Inherited Members

- Protected Attributes inherited from HTML_Template_IT
string $real_filename = ''
 Holds the real template file name. More...
 

Detailed Description

Integrated Template Extension - ITX With this class you get the full power of the phplib template class.

You may have one file with blocks in it but you have as well one main file and multiple files one for each block. This is quite usefull when you have user configurable websites. Using blocks not in the main template allows you to modify some parts of your layout easily. Note that you can replace an existing block and add new blocks at runtime. Adding new blocks means changing a variable placeholder to a block.

Author
Ulf Wendel uw@ne.nosp@m.tuse.nosp@m..de

Definition at line 44 of file ITX.php.

Constructor & Destructor Documentation

◆ __construct()

HTML_Template_ITX::__construct ( string  $root = '')

Builds some complex regexps and calls the constructor of the parent class.

Make sure that you call this constructor if you derive your own template class from this one.

Exceptions
ilTemplateException

Definition at line 99 of file ITX.php.

100 {
101 $this->checkblocknameRegExp = '@' . $this->blocknameRegExp . '@';
102 $this->functionRegExp = '@' . $this->functionPrefix . '(' .
103 $this->functionnameRegExp . ')\s*\‍(@sm';
104
105 parent::__construct($root);
106 }
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc

References ILIAS\GlobalScreen\Provider\__construct().

+ Here is the call graph for this function:

Member Function Documentation

◆ addBlock()

HTML_Template_ITX::addBlock ( string  $placeholder,
string  $blockname,
string  $template 
)

Adds a block to the template changing a variable placeholder to a block placeholder.

Add means "replace a variable placeholder by a new block". This is different to PHPLibs templates. The function loads a block, creates a handle for it and assigns it to a certain variable placeholder. To to the same with PHPLibs templates you would call set_file() to create the handle and parse() to assign the parsed block to a variable. By this PHPLibs templates assume that you tend to assign a block to more than one one placeholder. To assign a parsed block to more than only the placeholder you specify in this function you have to use a combination of getBlock() and setVariable(). As no updates to cached data is necessary addBlock() and addBlockfile() are rather "cheap" meaning quick operations. The block content must not start with and end with this would cause overhead and produce an error.

Exceptions
ilTemplateException

Definition at line 186 of file ITX.php.

186 : bool
187 {
188 // Don't trust any user even if it's a programmer or yourself...
189 if ($placeholder === '') {
190 throw new ilTemplateException('No variable placeholder given.');
191 }
192
193 if ($blockname === '' ||
194 !preg_match($this->checkblocknameRegExp, $blockname)) {
195 throw new ilTemplateException("No or invalid blockname '$blockname' given.");
196 }
197
198 if ($template === '') {
199 throw new ilTemplateException('No block content given.');
200 }
201
202 if (isset($this->blocklist[$blockname])) {
203 throw new ilTemplateException('The block ' . $blockname . ' already exists.');
204 }
205
206 // find out where to insert the new block
207 $parents = $this->findPlaceholderBlocks($placeholder);
208 if (count($parents) === 0) {
209 throw (new ilTemplateException("The variable placeholder" .
210 " '$placeholder' was not found in the template."));
211 }
212
213 if (count($parents) > 1) {
214 $msg = '';
215 foreach ($parents as $index => $parent) {
216 $msg .= (isset($parents[$index + 1])) ?
217 "$parent, " : $parent;
218 }
219
220 throw new ilTemplateException("The variable placeholder " . "'$placeholder'" . " must be unique, found in multiple blocks '$msg'.");
221 }
222
223 $template = "<!-- BEGIN $blockname -->" . $template . "<!-- END $blockname -->";
224 $this->findBlocks($template);
225 if ($this->flagBlocktrouble) {
226 return false; // findBlocks() already throws an exception
227 }
228 $this->blockinner[$parents[0]][] = $blockname;
229 $this->blocklist[$parents[0]] = preg_replace(
230 '@' . $this->openingDelimiter . $placeholder .
231 $this->closingDelimiter . '@',
232 $this->openingDelimiter . '__' . $blockname . '__' .
233 $this->closingDelimiter,
234 $this->blocklist[$parents[0]]
235 );
236
237 $this->deleteFromBlockvariablelist($parents[0], $placeholder);
238 $this->updateBlockvariablelist($blockname);
239
240 return true;
241 }
deleteFromBlockvariablelist(string $block, $variables)
Deletes one or many variables from the block variable list.
Definition: ITX.php:377
findPlaceholderBlocks(string $variable)
Returns an array of blocknames where the given variable placeholder is used.
Definition: ITX.php:429
updateBlockvariablelist(string $block)
Updates the variable list of a block.
Definition: ITX.php:394
string $template
Content of the template.
Definition: IT.php:199
findBlocks(string $string)
Recusively builds a list of all blocks within the template.
Definition: IT.php:732

References HTML_Template_IT\$template, deleteFromBlockvariablelist(), HTML_Template_IT\findBlocks(), findPlaceholderBlocks(), and updateBlockvariablelist().

Referenced by addBlockfile(), and ilTemplate\addBlockFile().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addBlockfile()

HTML_Template_ITX::addBlockfile ( string  $placeholder,
string  $blockname,
string  $filename 
)

Adds a block taken from a file to the template changing a variable placeholder to a block placeholder.

Exceptions
ilTemplateException

Definition at line 248 of file ITX.php.

248 : bool
249 {
250 return $this->addBlock($placeholder, $blockname, $this->getFile($filename));
251 }
$filename
Definition: buildRTE.php:78
addBlock(string $placeholder, string $blockname, string $template)
Adds a block to the template changing a variable placeholder to a block placeholder.
Definition: ITX.php:186
getFile(string $filename)
Reads a file from disk and returns its content.
Definition: IT.php:777

References addBlock(), and HTML_Template_IT\getFile().

+ Here is the call graph for this function:

◆ blockExists()

HTML_Template_ITX::blockExists ( string  $blockname)

Checks wheter a block exists.

Reimplemented in ilTemplate.

Definition at line 277 of file ITX.php.

277 : bool
278 {
279 return isset($this->blocklist[$blockname]);
280 }

◆ buildFunctionlist()

HTML_Template_ITX::buildFunctionlist ( )

Builds a functionlist from the template.

Definition at line 285 of file ITX.php.

285 : void
286 {
287 $this->functions = [];
288
290 $num = 0;
291
292 while (preg_match($this->functionRegExp, $template, $regs)) {
293 $pos = strpos($template, $regs[0]);
294 $template = substr($template, $pos + strlen($regs[0]));
295
296 $head = $this->getValue($template, ')');
297 $args = [];
298
299 $search = $regs[0] . $head . ')';
300
301 $replace = $this->openingDelimiter .
302 '__function' . $num . '__' .
304
305 $this->template = str_replace($search, $replace, $this->template);
306 $template = str_replace($search, $replace, $template);
307
308 while ($head !== '' && $args2 = $this->getValue($head, ',')) {
309 $arg2 = trim($args2);
310 $args[] = ('"' === $arg2[0] || "'" === $arg2[0]) ?
311 substr($arg2, 1, -1) : $arg2;
312 if ($arg2 === $head) {
313 break;
314 }
315 $head = substr($head, strlen($arg2) + 1);
316 }
317
318 $this->functions[$num++] = [
319 'name' => $regs[1],
320 'args' => $args
321 ];
322 }
323 }
getValue(string $code, $delimiter)
Truncates the given code from the first occurence of $delimiter but ignores $delimiter enclosed by " ...
Definition: ITX.php:330
string $closingDelimiter
Last character of a variable placeholder ( {VARIABLE_}_ ).
Definition: IT.php:149

References HTML_Template_IT\$closingDelimiter, HTML_Template_IT\$template, and getValue().

Referenced by ilTemplate\init(), and init().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteFromBlockvariablelist()

HTML_Template_ITX::deleteFromBlockvariablelist ( string  $block,
  $variables 
)

Deletes one or many variables from the block variable list.

Parameters
array | string$variablesName of one variable or array of variables ( array ( name => true ) ) to be stripped.

Definition at line 377 of file ITX.php.

377 : void
378 {
379 if (!is_array($variables)) {
380 $variables = [$variables => true];
381 }
382
383 reset($this->blockvariables[$block]);
384 foreach ($this->blockvariables[$block] as $varname => $val) {
385 if (isset($variables[$varname])) {
386 unset($this->blockvariables[$block][$varname]);
387 }
388 }
389 }

Referenced by addBlock().

+ Here is the caller graph for this function:

◆ findPlaceholderBlocks()

HTML_Template_ITX::findPlaceholderBlocks ( string  $variable)

Returns an array of blocknames where the given variable placeholder is used.

Definition at line 429 of file ITX.php.

429 : array
430 {
431 $parents = [];
432 reset($this->blocklist);
433 foreach ($this->blocklist as $blockname => $content) {
434 reset($this->blockvariables[$blockname]);
435 foreach ($this->blockvariables[$blockname] as $varname => $val) {
436 if ($variable === $varname) {
437 $parents[] = $blockname;
438 }
439 }
440 }
441
442 return $parents;
443 }

Referenced by addBlock().

+ Here is the caller graph for this function:

◆ getValue()

HTML_Template_ITX::getValue ( string  $code,
  $delimiter 
)

Truncates the given code from the first occurence of $delimiter but ignores $delimiter enclosed by " or '.

Parameters
array | string$delimiter

Definition at line 330 of file ITX.php.

330 : string
331 {
332 if ($code === '') {
333 return '';
334 }
335
336 if (!is_array($delimiter)) {
337 $delimiter = [$delimiter => true];
338 }
339
340 $len = strlen($code);
341 $enclosed = false;
342 $enclosed_by = '';
343
344 if (isset($delimiter[$code[0]])) {
345 $i = 1;
346 } else {
347 for ($i = 0; $i < $len; ++$i) {
348 $char = $code[$i];
349
350 if (
351 ($char === '"' || $char === "'") &&
352 ($char === $enclosed_by || '' === $enclosed_by) &&
353 (0 === $i || ($i > 0 && '\\' !== $code[$i - 1]))
354 ) {
355 if (!$enclosed) {
356 $enclosed_by = $char;
357 } else {
358 $enclosed_by = "";
359 }
360 $enclosed = !$enclosed;
361 }
362
363 if (!$enclosed && isset($delimiter[$char])) {
364 break;
365 }
366 }
367 }
368
369 return substr($code, 0, $i);
370 }

Referenced by buildFunctionlist().

+ Here is the caller graph for this function:

◆ init()

HTML_Template_ITX::init ( )
protected

Clears all datafields of the object and rebuild the internal blocklist LoadTemplatefile() and setTemplate() automatically call this function when a new template is given.

Don't use this function unless you know what you're doing.

Exceptions
ilTemplateException

Reimplemented from HTML_Template_IT.

Reimplemented in ilTemplate.

Definition at line 108 of file ITX.php.

108 : void
109 {
110 $this->free();
111 $this->buildFunctionlist();
112 $this->findBlocks($this->template);
113 // we don't need it any more
114 $this->template = '';
115 $this->buildBlockvariablelist();
116 }
buildFunctionlist()
Builds a functionlist from the template.
Definition: ITX.php:285
free()
Clears all datafields of the object.
Definition: IT.php:623
buildBlockvariablelist()
Build a list of all variables within of a block.
Definition: IT.php:713

References HTML_Template_IT\buildBlockvariablelist(), buildFunctionlist(), HTML_Template_IT\findBlocks(), and HTML_Template_IT\free().

+ Here is the call graph for this function:

◆ removeBlockData()

HTML_Template_ITX::removeBlockData ( string  $block)

Recursively removes all data assiciated with a block, including all inner blocks.

Definition at line 256 of file ITX.php.

256 : void
257 {
258 if (isset($this->blockinner[$block])) {
259 foreach ($this->blockinner[$block] as $inner) {
260 $this->removeBlockData($inner);
261 }
262
263 unset($this->blockinner[$block]);
264 }
265
266 unset(
267 $this->blocklist[$block],
268 $this->blockdata[$block],
269 $this->blockvariables[$block],
270 $this->touchedBlocks[$block]
271 );
272 }
removeBlockData(string $block)
Recursively removes all data assiciated with a block, including all inner blocks.
Definition: ITX.php:256

References removeBlockData().

Referenced by removeBlockData(), and replaceBlock().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ replaceBlock()

HTML_Template_ITX::replaceBlock ( string  $block,
string  $template,
bool  $keep_content = false 
)

Replaces an existing block with new content.

This function will replace a block of the template and all blocks contained in the replaced block and add a new block insted, means you can dynamically change your template. Note that changing the template structure violates one of the IT[X] development goals. I've tried to write a simple to use template engine supporting blocks. In contrast to other systems IT[X] analyses the way you've nested blocks and knows which block belongs into another block. The nesting information helps to make the API short and simple. Replacing blocks does not only mean that IT[X] has to update the nesting information (relatively time consumpting task) but you have to make sure that you do not get confused due to the template change itself.

Parameters
bool$keep_contenttrue if the new block inherits the content of the old block
Exceptions
ilTemplateException

Definition at line 134 of file ITX.php.

134 : bool
135 {
136 if (!isset($this->blocklist[$block])) {
137 throw new ilTemplateException("The block " . "'$block'" . " does not exist in the template and thus it can't be replaced.");
138 }
139
140 if ($template === '') {
141 throw new ilTemplateException('No block content given.');
142 }
143
144 if ($keep_content) {
145 $blockdata = $this->blockdata[$block];
146 }
147
148 // remove all kinds of links to the block / data of the block
149 $this->removeBlockData($block);
150
151 $template = "<!-- BEGIN $block -->" . $template . "<!-- END $block -->";
152 $parents = $this->blockparents[$block];
153 $this->findBlocks($template);
154 $this->blockparents[$block] = $parents;
155
156 // KLUDGE: rebuild the list for all block - could be done faster
157 $this->buildBlockvariablelist();
158
159 if ($keep_content) {
160 $this->blockdata[$block] = $blockdata;
161 }
162
163 return true;
164 }
array $blockdata
Array with the parsed content of a block.
Definition: IT.php:209

References HTML_Template_IT\$blockdata, HTML_Template_IT\$template, HTML_Template_IT\buildBlockvariablelist(), HTML_Template_IT\findBlocks(), and removeBlockData().

+ Here is the call graph for this function:

◆ updateBlockvariablelist()

HTML_Template_ITX::updateBlockvariablelist ( string  $block)

Updates the variable list of a block.

Definition at line 394 of file ITX.php.

394 : void
395 {
396 preg_match_all(
397 $this->variablesRegExp,
398 $this->blocklist[$block],
399 $regs
400 );
401
402 if (count($regs[1]) !== 0) {
403 foreach ($regs[1] as $var) {
404 $this->blockvariables[$block][$var] = true;
405 }
406 } else {
407 $this->blockvariables[$block] = [];
408 }
409
410 // check if any inner blocks were found
411 if (isset($this->blockinner[$block]) &&
412 is_array($this->blockinner[$block]) &&
413 count($this->blockinner[$block]) > 0
414 ) {
415 /*
416 * loop through inner blocks, registering the variable
417 * placeholders in each
418 */
419 foreach ($this->blockinner[$block] as $childBlock) {
420 $this->updateBlockvariablelist($childBlock);
421 }
422 }
423 }

References updateBlockvariablelist().

Referenced by addBlock(), and updateBlockvariablelist().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ warning()

HTML_Template_ITX::warning ( string  $message,
string  $file = '',
int  $line = 0 
)

Handles warnings, saves them to $warn and prints them or calls die() depending on the flags.

Definition at line 449 of file ITX.php.

449 : void
450 {
451 $message = sprintf(
452 'HTML_Template_ITX Warning: %s [File: %s, Line: %d]',
453 $message,
454 $file,
455 $line
456 );
457
458 $this->warn[] = $message;
459
460 if ($this->printWarning) {
461 print $message;
462 }
463
464 if ($this->haltOnWarning) {
465 die($message);
466 }
467 }
$message
Definition: xapiexit.php:31

References $message.

Field Documentation

◆ $callback

array HTML_Template_ITX::$callback = []

List of callback functions specified by the user.

Definition at line 90 of file ITX.php.

◆ $checkblocknameRegExp

string HTML_Template_ITX::$checkblocknameRegExp = ''

RegExp used to test for a valid blockname.

Definition at line 64 of file ITX.php.

◆ $functionnameRegExp

string HTML_Template_ITX::$functionnameRegExp = '[_a-zA-Z]+[A-Za-z_0-9]*'

Functionname RegExp.

Definition at line 74 of file ITX.php.

◆ $functionPrefix

string HTML_Template_ITX::$functionPrefix = 'func_'

Functionnameprefix used when searching function calls in the template.

Definition at line 69 of file ITX.php.

◆ $functionRegExp

string HTML_Template_ITX::$functionRegExp = ''

RegExp used to grep function calls in the template.

The variable gets set by the constructor.

Definition at line 80 of file ITX.php.

◆ $functions

array HTML_Template_ITX::$functions = []

List of functions found in the template.

Definition at line 85 of file ITX.php.

◆ $haltOnWarning

bool HTML_Template_ITX::$haltOnWarning = false

Call die() on warning?

Definition at line 59 of file ITX.php.

◆ $printWarning

bool HTML_Template_ITX::$printWarning = false

Print warnings?

Definition at line 54 of file ITX.php.

◆ $warn

array HTML_Template_ITX::$warn = []

Array with all warnings.

Definition at line 49 of file ITX.php.


The documentation for this class was generated from the following file: