Compare commits

...

9 Commits

Author SHA1 Message Date
geos_one
39589a898c disbale tests 2025-08-08 11:55:49 +02:00
geos_one
36b2ed69bb Bump 2025-08-08 11:29:37 +02:00
geos_one
7c31bf0ed6 Update upstream source from tag 'upstream/1.3.2'
Update to upstream version '1.3.2'
with Debian dir 9437ec0aad586579bc2d1117359e3142c569776c
2025-08-08 11:28:53 +02:00
geos_one
4c6c1cade7 New upstream version 1.3.2 2025-08-08 11:28:53 +02:00
Mario Fetka
91b2b7af39 Bump 2018-03-08 14:34:48 +01:00
Mario Fetka
f3e9ef3687 Merge tag 'upstream/1.3.1'
Upstream version 1.3.1
2018-03-08 14:20:47 +01:00
Mario Fetka
6e2df481d7 Imported Upstream version 1.3.1 2018-03-08 14:20:46 +01:00
Mario Fetka
06c3de0e8f delete gbp file 2018-03-08 14:18:44 +01:00
Prach Pongpanich
76f84094d6 Imported Debian patch 1:1.3.0-3 2018-03-08 14:15:34 +01:00
32 changed files with 3096 additions and 2978 deletions

View File

@ -1,36 +0,0 @@
<?php
if (!defined('PHPUnit_MAIN_METHOD')) {
define('PHPUnit_MAIN_METHOD', 'HTML_Template_IT_AllTests::main');
}
require_once 'PHPUnit/TextUI/TestRunner.php';
require_once 'PHPUnit/Framework/TestSuite.php';
require_once 'ITTest.php';
require_once 'ITXTest.php';
class HTML_Template_IT_AllTests
{
public static function main()
{
PHPUnit_TextUI_TestRunner::run(self::suite());
}
public static function suite()
{
$suite = new PHPUnit_Framework_TestSuite('HTML_Template_IT tests');
$suite->addTestSuite('ITTest');
$suite->addTestSuite('ITXTest');
return $suite;
}
}
if (PHPUnit_MAIN_METHOD == 'HTML_Template_IT_AllTests::main') {
HTML_Template_IT_AllTests::main();
}
?>

View File

@ -1,13 +0,0 @@
<!-- BEGIN block_one -->
{glob}:{var1}#
<!-- END block_one -->
<!-- BEGIN block_two -->
{glob}:{var2}#
<!-- END block_two -->
<!-- BEGIN block_three -->
{glob}:{var3}
<!-- BEGIN block_four -->
|{glob}:{var4}
<!-- END block_four -->
#
<!-- END block_three -->

View File

@ -11,7 +11,7 @@
* with this package in the file LICENSE, and is available through * with this package in the file LICENSE, and is available through
* the world-wide-web at * the world-wide-web at
* http://www.opensource.org/licenses/bsd-license.php * http://www.opensource.org/licenses/bsd-license.php
* If you did not receive a copy of the new BSDlicense and are unable * If you did not receive a copy of the new BSD license and are unable
* to obtain it through the world-wide-web, please send a note to * to obtain it through the world-wide-web, please send a note to
* pajoye@php.net so we can mail you a copy immediately. * pajoye@php.net so we can mail you a copy immediately.
* *
@ -23,7 +23,7 @@
* @package HTML_Template_IT * @package HTML_Template_IT
* @author Ulf Wendel <uw@netuse.de> * @author Ulf Wendel <uw@netuse.de>
* @license BSD http://www.opensource.org/licenses/bsd-license.php * @license BSD http://www.opensource.org/licenses/bsd-license.php
* @version CVS: $Id: IT.php 295605 2010-02-28 22:48:07Z gregorycu $ * @version CVS: $Id$
* @link http://pear.php.net/packages/HTML_Template_IT * @link http://pear.php.net/packages/HTML_Template_IT
* @access public * @access public
*/ */
@ -48,7 +48,7 @@ define('IT_UNKNOWN_OPTION', -6);
* one you can build. template::parse() [phplib template = Isotemplate] requests * one you can build. template::parse() [phplib template = Isotemplate] requests
* you to name a source and a target where the current block gets parsed into. * you to name a source and a target where the current block gets parsed into.
* Source and target can be block names or even handler names. This API gives you * Source and target can be block names or even handler names. This API gives you
* a maximum of fexibility but you always have to know what you do which is * a maximum of flexibility but you always have to know what you do which is
* quite unusual for php skripter like me. * quite unusual for php skripter like me.
* *
* I noticed that I do not any control on which block gets parsed into which one. * I noticed that I do not any control on which block gets parsed into which one.
@ -278,9 +278,9 @@ class HTML_Template_IT
* should be preserved although they are empty (no placeholder replaced). * should be preserved although they are empty (no placeholder replaced).
* Think of a shopping basket. If it's empty you have to drop a message to * Think of a shopping basket. If it's empty you have to drop a message to
* the user. If it's filled you have to show the contents of * the user. If it's filled you have to show the contents of
* the shopping baseket. Now where do you place the message that the basket * the shopping basket. Now where do you place the message that the basket
* is empty? It's no good idea to place it in you applications as customers * is empty? It's no good idea to place it in you applications as customers
* tend to like unecessary minor text changes. Having another template file * tend to like unnecessary minor text changes. Having another template file
* for an empty basket means that it's very likely that one fine day * for an empty basket means that it's very likely that one fine day
* the filled and empty basket templates have different layout. I decided * the filled and empty basket templates have different layout. I decided
* to introduce blocks that to not contain any placeholder but only * to introduce blocks that to not contain any placeholder but only
@ -288,7 +288,7 @@ class HTML_Template_IT
* *
* Now if there is no replacement done in such a block the block will * Now if there is no replacement done in such a block the block will
* be recognized as "empty" and by default ($removeEmptyBlocks = true) be * be recognized as "empty" and by default ($removeEmptyBlocks = true) be
* stripped off. To avoid thisyou can now call touchBlock() to avoid this. * stripped off. To avoid this you can now call touchBlock() to avoid this.
* *
* The array $touchedBlocks stores a list of touched block which must not * The array $touchedBlocks stores a list of touched block which must not
* be removed even if they are empty. * be removed even if they are empty.
@ -299,14 +299,6 @@ class HTML_Template_IT
*/ */
var $touchedBlocks = array(); var $touchedBlocks = array();
/**
* List of blocks which should not be shown even if not "empty"
* @var array $_hiddenBlocks
* @see hideBlock(), $removeEmptyBlocks
* @access private
*/
var $_hiddenBlocks = array();
/** /**
* Variable cache. * Variable cache.
* *
@ -394,7 +386,7 @@ class HTML_Template_IT
); );
/** /**
* Builds some complex regular expressions and optinally sets the * Builds some complex regular expressions and optionally sets the
* file root directory. * file root directory.
* *
* Make sure that you call this constructor if you derive your template * Make sure that you call this constructor if you derive your template
@ -407,7 +399,7 @@ class HTML_Template_IT
* @see setRoot() * @see setRoot()
* @access public * @access public
*/ */
function HTML_Template_IT($root = '', $options = null) function __construct($root = '', $options = null)
{ {
if (!is_null($options)) { if (!is_null($options)) {
$this->setOptions($options); $this->setOptions($options);
@ -748,7 +740,7 @@ class HTML_Template_IT
/** /**
* Sets a variable value. * Sets a variable value.
* *
* The function can be used eighter like setVariable( "varname", "value") * The function can be used either like setVariable( "varname", "value")
* or with one array $variables["varname"] = "value" * or with one array $variables["varname"] = "value"
* given setVariable($variables) quite like phplib templates set_var(). * given setVariable($variables) quite like phplib templates set_var().
* *
@ -869,7 +861,7 @@ class HTML_Template_IT
/** /**
* Sets the template. * Sets the template.
* *
* You can eighter load a template file from disk with * You can either load a template file from disk with
* LoadTemplatefile() or set the template manually using this function. * LoadTemplatefile() or set the template manually using this function.
* *
* @param string $template template content * @param string $template template content
@ -1002,7 +994,7 @@ class HTML_Template_IT
} // end func getGlobalvariables } // end func getGlobalvariables
/** /**
* Recusively builds a list of all blocks within the template. * Recursively builds a list of all blocks within the template.
* *
* @param string $string string that gets scanned * @param string $string string that gets scanned
* *
@ -1065,7 +1057,7 @@ class HTML_Template_IT
*/ */
function getFile($filename) function getFile($filename)
{ {
if ($filename{0} == '/' && substr($this->fileRoot, -1) == '/') { if ($filename[0] == '/' && substr($this->fileRoot, -1) == '/') {
$filename = substr($filename, 1); $filename = substr($filename, 1);
} }
@ -1088,9 +1080,9 @@ class HTML_Template_IT
$content = fread($fh, $fsize); $content = fread($fh, $fsize);
fclose($fh); fclose($fh);
return preg_replace( return preg_replace_callback(
"#<!-- INCLUDE (.*) -->#ime", "#<!-- INCLUDE (.*) -->#im",
"\$this->getFile('\\1')", function ($m) { return $this->getFile($m[1]); },
$content $content
); );
} // end func getFile } // end func getFile

View File

@ -11,7 +11,7 @@
* with this package in the file LICENSE, and is available through * with this package in the file LICENSE, and is available through
* the world-wide-web at * the world-wide-web at
* http://www.opensource.org/licenses/bsd-license.php * http://www.opensource.org/licenses/bsd-license.php
* If you did not receive a copy of the new BSDlicense and are unable * If you did not receive a copy of the new BSD license and are unable
* to obtain it through the world-wide-web, please send a note to * to obtain it through the world-wide-web, please send a note to
* pajoye@php.net so we can mail you a copy immediately. * pajoye@php.net so we can mail you a copy immediately.
* *
@ -23,7 +23,7 @@
* @package HTML_Template_IT * @package HTML_Template_IT
* @author Ulf Wendel <uw@netuse.de> * @author Ulf Wendel <uw@netuse.de>
* @license BSD http://www.opensource.org/licenses/bsd-license.php * @license BSD http://www.opensource.org/licenses/bsd-license.php
* @version CVS: $Id: ITX.php 295086 2010-02-15 06:31:36Z clockwerx $ * @version CVS: $Id$
* @link http://pear.php.net/packages/HTML_Template_IT * @link http://pear.php.net/packages/HTML_Template_IT
* @access public * @access public
*/ */
@ -36,7 +36,7 @@ require_once 'HTML/Template/IT_Error.php';
* *
* With this class you get the full power of the phplib template class. * 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 * 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 * and multiple files one for each block. This is quite useful when you have
* user configurable websites. Using blocks not in the main template allows * user configurable websites. Using blocks not in the main template allows
* you to modify some parts of your layout easily. * you to modify some parts of your layout easily.
* *
@ -136,7 +136,7 @@ class HTML_Template_ITX extends HTML_Template_IT
* @access public * @access public
* @see HTML_Template_IT() * @see HTML_Template_IT()
*/ */
function HTML_Template_ITX($root = '') function __construct($root = '')
{ {
$this->checkblocknameRegExp = '@' . $this->blocknameRegExp . '@'; $this->checkblocknameRegExp = '@' . $this->blocknameRegExp . '@';
@ -144,7 +144,7 @@ class HTML_Template_ITX extends HTML_Template_IT
$this->functionRegExp = '@' . $this->functionPrefix . '(' . $this->functionRegExp = '@' . $this->functionPrefix . '(' .
$this->functionnameRegExp . ')\s*\(@sm'; $this->functionnameRegExp . ')\s*\(@sm';
$this->HTML_Template_IT($root); parent::__construct($root);
} // end func constructor } // end func constructor
/** /**
@ -173,7 +173,7 @@ class HTML_Template_ITX extends HTML_Template_IT
* Replaces an existing block with new content. * Replaces an existing block with new content.
* *
* This function will replace a block of the template and all blocks * This function will replace a block of the template and all blocks
* contained in the replaced block and add a new block insted, means * contained in the replaced block and add a new block instead, means
* you can dynamically change your template. * you can dynamically change your template.
* *
* Note that changing the template structure violates one of the IT[X] * Note that changing the template structure violates one of the IT[X]
@ -311,7 +311,7 @@ class HTML_Template_ITX extends HTML_Template_IT
} elseif (count($parents) > 1) { } elseif (count($parents) > 1) {
reset($parents); reset($parents);
while (list($k, $parent) = each($parents)) { foreach ($parents as $k => $parent) {
$msg .= "$parent, "; $msg .= "$parent, ";
} }
$msg = substr($parent, -2); $msg = substr($parent, -2);
@ -373,7 +373,7 @@ class HTML_Template_ITX extends HTML_Template_IT
* *
* @return string Name of the (first) block that contains * @return string Name of the (first) block that contains
* the specified placeholder. * the specified placeholder.
* If the placeholder was not found or an error occured * If the placeholder was not found or an error occurred
* an empty string is returned. * an empty string is returned.
* @throws IT_Error * @throws IT_Error
* @access public * @access public
@ -397,7 +397,7 @@ class HTML_Template_ITX extends HTML_Template_IT
if (is_array($variables = $this->blockvariables[$block])) { if (is_array($variables = $this->blockvariables[$block])) {
// search the value in the list of blockvariables // search the value in the list of blockvariables
reset($variables); reset($variables);
while (list($k, $variable) = each($variables)) { foreach ($variables as $k => $variable) {
if ($k == $placeholder) { if ($k == $placeholder) {
$found = $block; $found = $block;
break; break;
@ -409,7 +409,7 @@ class HTML_Template_ITX extends HTML_Template_IT
// search all blocks and return the name of the first block that // search all blocks and return the name of the first block that
// contains the placeholder // contains the placeholder
reset($this->blockvariables); reset($this->blockvariables);
while (list($blockname, $variables) = each($this->blockvariables)) { foreach ($this->blockvariables as $blockname => $variables) {
if (is_array($variables) && isset($variables[$placeholder])) { if (is_array($variables) && isset($variables[$placeholder])) {
$found = $blockname; $found = $blockname;
break; break;
@ -430,7 +430,7 @@ class HTML_Template_ITX extends HTML_Template_IT
function performCallback() function performCallback()
{ {
reset($this->functions); reset($this->functions);
while (list($func_id, $function) = each($this->functions)) { foreach ($this->functions as $func_id => $function) {
if (isset($this->callback[$function['name']])) { if (isset($this->callback[$function['name']])) {
if ($this->callback[$function['name']]['expandParameters']) { if ($this->callback[$function['name']]['expandParameters']) {
$callFunction = 'call_user_func_array'; $callFunction = 'call_user_func_array';
@ -493,7 +493,7 @@ class HTML_Template_ITX extends HTML_Template_IT
* *
* This is an absolutely evil feature. If your application makes heavy * This is an absolutely evil feature. If your application makes heavy
* use of such callbacks and you're even implementing if-then etc. on * use of such callbacks and you're even implementing if-then etc. on
* the level of a template engine you're reiventing the wheel... - that's * the level of a template engine you're reinventing the wheel... - that's
* actually how PHP came into life. Anyway, sometimes it's handy. * actually how PHP came into life. Anyway, sometimes it's handy.
* *
* Consider also using XML/XSLT or native PHP. And please do not push * Consider also using XML/XSLT or native PHP. And please do not push
@ -528,7 +528,7 @@ class HTML_Template_ITX extends HTML_Template_IT
* @return boolean False on failure. * @return boolean False on failure.
* @throws IT_Error * @throws IT_Error
* @access public * @access public
* @deprecated The $callbackobject parameter is depricated since * @deprecated The $callbackobject parameter is deprecated since
* version 1.2 and might be dropped in further versions. * version 1.2 and might be dropped in further versions.
*/ */
function setCallbackFunction($tplfunction, $callbackfunction, function setCallbackFunction($tplfunction, $callbackfunction,
@ -536,7 +536,7 @@ class HTML_Template_ITX extends HTML_Template_IT
$expandCallbackParameters = false) { $expandCallbackParameters = false) {
if ($tplfunction == '' || $callbackfunction == '') { if ($tplfunction == '' || $callbackfunction == '') {
return new IT_Error("No template function "."('$tplfunction')". return new IT_Error("No template function "."('$tplfunction')".
" and/or no callback function ('$callback') given.", " and/or no callback function ('$callbackfunction') given.",
__FILE__, __LINE__); __FILE__, __LINE__);
} }
$this->callback[$tplfunction] = array( $this->callback[$tplfunction] = array(
@ -567,7 +567,7 @@ class HTML_Template_ITX extends HTML_Template_IT
} // end func setCallbackFunctiontable } // end func setCallbackFunctiontable
/** /**
* Recursively removes all data assiciated with a block, including * Recursively removes all data associated with a block, including
* all inner blocks * all inner blocks
* *
* @param string $block block to be removed * @param string $block block to be removed
@ -610,7 +610,7 @@ class HTML_Template_ITX extends HTML_Template_IT
} // end func getBlocklist } // end func getBlocklist
/** /**
* Checks wheter a block exists. * Checks whether a block exists.
* *
* @param string $blockname Blockname * @param string $blockname Blockname
* *
@ -647,7 +647,7 @@ class HTML_Template_ITX extends HTML_Template_IT
} // end func getBlockvariables } // end func getBlockvariables
/** /**
* Checks wheter a block variable exists. * Checks whether a block variable exists.
* *
* @param string $block Blockname * @param string $block Blockname
* @param string $variable Variablename * @param string $variable Variablename
@ -696,7 +696,7 @@ class HTML_Template_ITX extends HTML_Template_IT
while ($head != '' && $args2 = $this->getValue($head, ',')) { while ($head != '' && $args2 = $this->getValue($head, ',')) {
$arg2 = trim($args2); $arg2 = trim($args2);
$args[] = ('"' == $arg2{0} || "'" == $arg2{0}) ? $args[] = ('"' == $arg2[0] || "'" == $arg2[0]) ?
substr($arg2, 1, -1) : $arg2; substr($arg2, 1, -1) : $arg2;
if ($arg2 == $head) { if ($arg2 == $head) {
@ -712,7 +712,7 @@ class HTML_Template_ITX extends HTML_Template_IT
} // end func buildFunctionlist } // end func buildFunctionlist
/** /**
* Truncates the given code from the first occurence of * Truncates the given code from the first occurrence of
* $delimiter but ignores $delimiter enclosed by " or '. * $delimiter but ignores $delimiter enclosed by " or '.
* *
* @param string $code The code which should be parsed * @param string $code The code which should be parsed
@ -782,7 +782,7 @@ class HTML_Template_ITX extends HTML_Template_IT
} }
reset($this->blockvariables[$block]); reset($this->blockvariables[$block]);
while (list($varname, $val) = each($this->blockvariables[$block])) { foreach ($this->blockvariables[$block] as $varname => $val) {
if (isset($variables[$varname])) { if (isset($variables[$varname])) {
unset($this->blockvariables[$block][$varname]); unset($this->blockvariables[$block][$varname]);
} }
@ -840,10 +840,10 @@ class HTML_Template_ITX extends HTML_Template_IT
{ {
$parents = array(); $parents = array();
reset($this->blocklist); reset($this->blocklist);
while (list($blockname, $content) = each($this->blocklist)) { foreach ($this->blocklist as $blockname => $content) {
reset($this->blockvariables[$blockname]); reset($this->blockvariables[$blockname]);
while (list($varname, $val) = each($this->blockvariables[$blockname])) { foreach ($this->blockvariables[$blockname] as $varname => $val) {
if ($variable == $varname) { if ($variable == $varname) {
$parents[] = $blockname; $parents[] = $blockname;
} }
@ -858,8 +858,8 @@ class HTML_Template_ITX extends HTML_Template_IT
* calls die() depending on the flags * calls die() depending on the flags
* *
* @param string $message Warning * @param string $message Warning
* @param string $file File where the warning occured * @param string $file File where the warning occurred
* @param int $line Linenumber where the warning occured * @param int $line Linenumber where the warning occurred
* *
* @see $warn, $printWarning, $haltOnWarning * @see $warn, $printWarning, $haltOnWarning
* @access private * @access private

View File

@ -11,7 +11,7 @@
* with this package in the file LICENSE, and is available through * with this package in the file LICENSE, and is available through
* the world-wide-web at * the world-wide-web at
* http://www.opensource.org/licenses/bsd-license.php * http://www.opensource.org/licenses/bsd-license.php
* If you did not receive a copy of the new BSDlicense and are unable * If you did not receive a copy of the new BSD license and are unable
* to obtain it through the world-wide-web, please send a note to * to obtain it through the world-wide-web, please send a note to
* pajoye@php.net so we can mail you a copy immediately. * pajoye@php.net so we can mail you a copy immediately.
* *
@ -23,7 +23,7 @@
* @package HTML_Template_IT * @package HTML_Template_IT
* @author Ulf Wendel <uw@netuse.de> * @author Ulf Wendel <uw@netuse.de>
* @license BSD http://www.opensource.org/licenses/bsd-license.php * @license BSD http://www.opensource.org/licenses/bsd-license.php
* @version CVS: $Id: IT_Error.php 295117 2010-02-15 23:25:21Z clockwerx $ * @version CVS: $Id$
* @link http://pear.php.net/packages/HTML_Template_IT * @link http://pear.php.net/packages/HTML_Template_IT
* @access public * @access public
*/ */
@ -53,10 +53,10 @@ class IT_Error extends PEAR_Error
* Creates an cache error object. * Creates an cache error object.
* *
* @param string $msg error message * @param string $msg error message
* @param string $file file where the error occured * @param string $file file where the error occurred
* @param string $line linenumber where the error occured * @param string $line linenumber where the error occurred
*/ */
function IT_Error($msg, $file = __FILE__, $line = __LINE__) function __construct($msg, $file = __FILE__, $line = __LINE__)
{ {
$this->PEAR_Error(sprintf("%s [%s on line %d].", $msg, $file, $line)); $this->PEAR_Error(sprintf("%s [%s on line %d].", $msg, $file, $line));
} // end func IT_Error } // end func IT_Error

View File

@ -3,9 +3,13 @@
/** /**
* An example for the usage of ITX::addBlockfile * An example for the usage of ITX::addBlockfile
* *
* @version CVS: $Id: sample_itx_addblockfile.php 216180 2006-07-11 21:56:05Z dsp $ * @version CVS: $Id$
*/ */
// Show all errors and warnings
error_reporting(E_ALL);
ini_set('display_errors', 1);
require_once 'HTML/Template/ITX.php'; require_once 'HTML/Template/ITX.php';
$data = array (array ('packagename'=>'mypackage', $data = array (array ('packagename'=>'mypackage',

View File

@ -1,8 +1,15 @@
<?php <?php
require_once 'HTML/Template/IT.php';
require_once 'PHPUnit/Framework/TestCase.php';
class ITTest extends PHPUnit_Framework_TestCase // As we want to run on PHP < 7.1,
// we can't use return type declaration in fixtures.
// Therefore we use PHPUnitPolyFills snakecase fixtures set_up/tear_down
// instead of setUp/tearDown.
// See https://github.com/Yoast/PHPUnit-Polyfills?tab=readme-ov-file#option-1-yoastphpunitpolyfillstestcasestestcase
use Yoast\PHPUnitPolyfills\TestCases\TestCase;
require_once 'HTML/Template/IT.php';
class ITTest extends Yoast\PHPUnitPolyfills\TestCases\TestCase
{ {
/** /**
* An HTML_Template_IT object * An HTML_Template_IT object
@ -10,12 +17,12 @@ class ITTest extends PHPUnit_Framework_TestCase
*/ */
var $tpl; var $tpl;
function setUp() protected function set_up()
{ {
$this->tpl = new HTML_Template_IT(dirname(__FILE__) . '/templates'); $this->tpl = new HTML_Template_IT(dirname(__FILE__) . '/templates');
} }
function tearDown() protected function tear_down()
{ {
unset($this->tpl); unset($this->tpl);
} }
@ -173,56 +180,6 @@ class ITTest extends PHPUnit_Framework_TestCase
// Not available in stock class // Not available in stock class
/**
*
*/
/*
function testHideBlock()
{
if (!$this->_methodExists('hideBlock')) {
return;
}
$result = $this->tpl->loadTemplateFile('blockiteration.html', false, true);
if (PEAR::isError($result)) {
$this->assertTrue(false, 'Error loading template file: '. $result->getMessage());
}
$this->tpl->setVariable(array(
'outer' => 'data',
'inner' => 'stuff'
));
// inner_block is not empty, but should be removed nonetheless
$this->tpl->hideBlock('inner_block');
$this->assertEquals('data#', $this->_stripWhitespace($this->tpl->get()));
}
*/
/**
*
*/
/*
function testSetGlobalVariable()
{
if (!$this->_methodExists('setGlobalVariable')) {
return;
}
$result = $this->tpl->loadTemplateFile('globals.html', false, true);
if (PEAR::isError($result)) {
$this->assertTrue(false, 'Error loading template file: '. $result->getMessage());
}
$this->tpl->setGlobalVariable('glob', 'glob');
// {var2} is not, block_two should be removed
$this->tpl->setVariable(array(
'var1' => 'one',
'var3' => 'three'
));
for ($i = 0; $i < 3; $i++) {
$this->tpl->setVariable('var4', $i + 1);
$this->tpl->parse('block_four');
} // for
$this->assertEquals('glob:one#glob:three|glob:1|glob:2|glob:3#', $this->_stripWhitespace($this->tpl->get()));
}
*/
/** /**
* Test for bug #9501. preg_replace treat $<NUM> and \<NUM> as * Test for bug #9501. preg_replace treat $<NUM> and \<NUM> as
* backreferences. IT escapes them. * backreferences. IT escapes them.

View File

@ -1,6 +1,5 @@
<?php <?php
require_once 'HTML/Template/ITX.php'; require_once 'HTML/Template/ITX.php';
require_once 'PHPUnit/Framework/TestCase.php';
require_once 'ITTest.php'; require_once 'ITTest.php';
@ -11,12 +10,12 @@ function _uppercaseCallback($ary)
class Callbacks class Callbacks
{ {
function _lowercaseCallback($ary) static function _lowercaseCallback($ary)
{ {
return strtolower($ary[0]); return strtolower($ary[0]);
} }
function _numberFormatCallback($float, $decimals) static function _numberFormatCallback($float, $decimals)
{ {
return number_format($float, $decimals); return number_format($float, $decimals);
} }
@ -24,7 +23,7 @@ class Callbacks
class ITXTest extends ITTest class ITXTest extends ITTest
{ {
function setUp() function set_up()
{ {
$this->tpl = new HTML_Template_ITX(dirname(__FILE__) . '/templates'); $this->tpl = new HTML_Template_ITX(dirname(__FILE__) . '/templates');
} }

117
debian/changelog vendored Normal file
View File

@ -0,0 +1,117 @@
php-html-template-it (1:1.3.2-1) unstable; urgency=medium
* Bump
-- Mario Fetka <mario.fetka@gmail.com> Thu, 08 Mar 2018 14:34:32 +0100
php-html-template-it (1:1.3.1-1) UNRELEASED; urgency=medium
* Bump
-- Mario Fetka <mario.fetka@gmail.com> Thu, 08 Mar 2018 14:34:32 +0100
php-html-template-it (1:1.3.0-3) unstable; urgency=medium
* Use ${phppear:Debian-Depends/Recommends/Breaks}
* Use ${phppear:summary} and ${phppear:description}
* Bump Standard-Version to 3.9.5
* Build-depends on pkg-php-tools >= 1.10 to remove the tests.
Thanks to Andreas Beckmann
-- Prach Pongpanich <prachpub@gmail.com> Mon, 03 Feb 2014 23:37:45 +0700
php-html-template-it (1:1.3.0-2) unstable; urgency=low
* Upload to unstable
* Now running unit tests at build time:
- Build-Depends php-unit (>= 3.6)
-- Prach Pongpanich <prachpub@gmail.com> Tue, 30 Apr 2013 14:57:12 +0700
php-html-template-it (1:1.3.0-1) experimental; urgency=low
* New upstream release
* Now using PKG-PHP-PEAR team as maintainer and
add myself as uploader (Closes: #682303)
* Switch to pkg-php-tools and dh-sequencer
- Add pkg-php-tools to Build-Depends and drop {dh-make-php,cdbs}
- Add php-pear to Build-Depends-Indep
- Rewrite debian/rules
* Switch to 3.0 (quilt) source format
* Update copyright file to version 1.0 format
* Add Vcs-* fields in debian/control
* Add debian/gbp.conf
* Update debian/watch file
* Bump debhelper compat to level 9
* Bump Standards-Version 3.9.4
-- Prach Pongpanich <prachpub@gmail.com> Fri, 22 Mar 2013 16:59:52 +0700
php-html-template-it (1:1.2.1-3) unstable; urgency=low
* New maintainer (Closes: #529674)
* Removed changes made to source code (Closes: #529584)
* debian/control:
- Updated description (Closes: #488767)
- Removed uploader at his request
- Changed Section to php to fix the override disparities
- Updated Standards-Version: 3.8.3
- Added cdbs and dh-make-php to Build-Depends
- Added ${misc:Depends} to Depends
* debian/copyright: added copyright note for the different maintainers
* debian/rules:
- Modifications to use cdbs
- Added code to remove empty directories
-- Federico Gimenez Nieto <fgimenez@coit.es> Tue, 25 Aug 2009 12:25:12 +0200
php-html-template-it (1:1.2.1-2) unstable; urgency=low
* Display pages that have no variable replacements in them, thanks to
Jeff Bailey <jbailey@raspberryginger.com> (closes: #320959)
* Updated copyright with new upstream author. (closes: #454773)
* Standards-Version: 3.7.3
* Updated "Homepage:" pseudo-header as Reference 1.14.6.
* Solved binary-arch-rules-but-pkg-is-arch-indep lintian report.
-- Jose Carlos Medeiros <debian@psabs.com.br> Fri, 14 Dec 2007 19:49:53 -0200
php-html-template-it (1:1.2.1-1) unstable; urgency=low
* New upstream release.
* New mantainer. (Closes: #442048)
* Package reconstructed based on php-services-weather, rules file was
reconstructed too. (Closes: #395733)
* debian/control:
- Standards-Version: 3.7.2
- Build-Depends: debhelper (>= 5)
- Added Homepage.
- Updated php dependencies to complain with php4-removal. (Closes: #424817)
* debian/compat: DH_COMPAT 5
* Updated copyright file to new license BSD. (Closes: #332610)
* debian/watch: created.
* debian/examples: created.
-- Jose Carlos Medeiros <debian@psabs.com.br> Fri, 21 Sep 2007 23:57:52 -0300
php-html-template-it (1.10-3) unstable; urgency=low
* Change the PEAR_ROOT to new debian location /usr/share/php according to
the new specification of pear.
*
-- Polkan Alexis Garcia <pagarcia@slcolombia.org> Tue, 15 Mar 2005 15:38:22 -0500
php-html-template-it (1.10-2) unstable; urgency=low
* Remove libraries in the PEAR_ROOT/HTML (duplicated) and only remain
the existing ones in PEAR_ROOT/HTML/Template (closes: #298986)
-- Polkan Alexis Garcia <pagarcia@slcolombia.org> Tue, 15 Mar 2005 12:05:41 -0500
php-html-template-it (1.10-1) unstable; urgency=low
* Initial Release.
-- Polkan Alexis Garcia <pagarcia@slcolombia.org> Wed, 6 Oct 2004 12:31:40 -0500

1
debian/compat vendored Normal file
View File

@ -0,0 +1 @@
9

18
debian/control vendored Normal file
View File

@ -0,0 +1,18 @@
Source: php-html-template-it
Section: php
Priority: optional
Maintainer: Debian PHP PEAR Maintainers <pkg-php-pear@lists.alioth.debian.org>
Uploaders: Prach Pongpanich <prachpub@gmail.com>
Build-Depends: debhelper (>= 9), pkg-php-tools (>= 1.10), phpunit (>= 3.6)
Standards-Version: 3.9.5
Vcs-Git: git://anonscm.debian.org/pkg-php/php-html-template-it.git
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-php/php-html-template-it.git
Homepage: http://pear.php.net/package/HTML_Template_IT/
Package: php-html-template-it
Architecture: all
Depends: ${misc:Depends}, ${phppear:Debian-Depends}
Recommends: ${phppear:Debian-Recommends}
Breaks: ${phppear:Debian-Breaks}
Description: ${phppear:summary}
${phppear:description}

41
debian/copyright vendored Normal file
View File

@ -0,0 +1,41 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Contact: David Soria Parra <dsp at php dot net>,
Pierre-Alain Joye <pajoye@php.net>,
Ulf Wendel <ulf.wendel@phpdoc.de>
Source: http://pear.php.net/package/HTML_Template_IT
Files: debian/*
Copyright: 2004-2005, Polkan Alexis Garcia <pagarcia@slcolombia.org>
2007, Jose Carlos N Medeiros <jose@psabs.com.br>
2009, Federico Gimenez Nieto <fgimenez@coit.es>
2013, Prach Pongpanich <prachpub@gmail.com>
License: BSD-3-clause
Files: *
Copyright: 1997-2007, David Soria Parra <dsp at php dot net>
1997-2007, Pierre-Alain Joye <pajoye@php.net>
1997-2007, Ulf Wendel <ulf.wendel@phpdoc.de>
License: BSD-3-clause
License: BSD-3-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

11
debian/rules vendored Executable file
View File

@ -0,0 +1,11 @@
#!/usr/bin/make -f
%:
dh $@ --buildsystem=phppear --with phppear
#override_dh_auto_test:
#ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
# set -e ;\
# PKGDIR=$(shell ls | grep HTML) ;\
# phpunit -d include_path="/usr/share/php:$${PKGDIR}" */tests
#endif

1
debian/source/format vendored Normal file
View File

@ -0,0 +1 @@
3.0 (quilt)

2
debian/watch vendored Normal file
View File

@ -0,0 +1,2 @@
version=3
http://pear.php.net/package/HTML_Template_IT/download .*/HTML_Template_IT-(\d.*)\.(?:tgz|tar\.(?:gz|bz2|xz))

6
package.sig Normal file
View File

@ -0,0 +1,6 @@
-----BEGIN PGP SIGNATURE-----
iF0EABECAB0WIQQQ9oz3P4qkJvYXdSlyoyG6wkXxdQUCZ0NbqAAKCRByoyG6wkXx
dVaEAKDCvxZ1ZQmbPgqRjUAkC72ylQzpOwCeO5mQBEJ3+ziJdLnBvRv7trd0l68=
=9MLm
-----END PGP SIGNATURE-----

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<package packagerversion="1.9.0" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd"> <package packagerversion="1.10.13" version="2.0" xmlns="http://pear.php.net/dtd/package-2.0" xmlns:tasks="http://pear.php.net/dtd/tasks-1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://pear.php.net/dtd/tasks-1.0 http://pear.php.net/dtd/tasks-1.0.xsd http://pear.php.net/dtd/package-2.0 http://pear.php.net/dtd/package-2.0.xsd">
<name>HTML_Template_IT</name> <name>HTML_Template_IT</name>
<channel>pear.php.net</channel> <channel>pear.php.net</channel>
<summary>Integrated Templates</summary> <summary>Integrated Templates</summary>
@ -10,7 +10,7 @@ There are two classes to use for templating. HTML_Template_IT is used for basic
<name>Gregory Currie</name> <name>Gregory Currie</name>
<user>gregorycu</user> <user>gregorycu</user>
<email>gregorycu@php.net</email> <email>gregorycu@php.net</email>
<active>yes</active> <active>no</active>
</lead> </lead>
<lead> <lead>
<name>Pierre-Alain Joye</name> <name>Pierre-Alain Joye</name>
@ -36,61 +36,46 @@ There are two classes to use for templating. HTML_Template_IT is used for basic
<email>ulf.wendel@phpdoc.de</email> <email>ulf.wendel@phpdoc.de</email>
<active>no</active> <active>no</active>
</developer> </developer>
<date>2010-03-10</date> <date>2024-11-24</date>
<time>19:08:10</time> <time>16:59:33</time>
<version> <version>
<release>1.3.0</release> <release>1.3.2</release>
<api>1.3.0</api> <api>1.3.0</api>
</version> </version>
<stability> <stability>
<release>stable</release> <release>stable</release>
<api>stable</api> <api>stable</api>
</stability> </stability>
<license>Modified BSD license</license> <license>BSD-3-Clause</license>
<notes> <notes>
Changes since last stable release (1.2.1): - PR # 5: Support for PHP 7.2
- Add support for pear package 2.0 format - PR # 9: Remove unused code
- Remove support for pear package 1.0 format - PR #11: fix: Array and string offset access syntax with curly braces is no longer supported
- Fix bug #9501, doller signs disapear if preg_match is used. - PR #12: Remove PHP under 5.6 and add last versions of PHP 7
- Fix bug #9783, don&apos;t remove variable which values follow the variable pattern
To allow backwards compatbility an option preserve_input is added.
If it is false, the old behaviour will be used and therefore those values will be deleted.
Default is true, so new behaviour.
- Fix bug #9853, problems with dots in placeholders or blocknames
- Fix bug #13935, docblock is wrong
- Fix bug #17129
- Add option &apos;preserve_input&apos; to only remove unkown variable that were present
during setTemplate or loadTemplatefile
which is the behaviour before 1.3.0a1
- Improved PHPCS (Request #15039)
- Added unit tests
- Fixed unit tests
</notes> </notes>
<contents> <contents>
<dir name="/"> <dir name="/">
<file md5sum="157f1b27090288fbce921b762697c3f4" name="examples/sample_it.php" role="doc" /> <file md5sum="ba285cf25750a900690f2388ee31a103" name="examples/sample_it.php" role="doc" />
<file md5sum="1d2363fa8640780392af6c51e9c3713f" name="examples/sample_itx_addblockfile.php" role="doc" /> <file md5sum="8da7b1692566f5f67b7070402cb949dc" name="examples/sample_itx_addblockfile.php" role="doc" />
<file md5sum="43a3535aa4d5e9df400babae53d82a08" name="examples/templates/addblockfile_list.tpl.htm" role="doc" /> <file md5sum="342278cc5fe8ca6c66591cd5ee389402" name="examples/templates/addblockfile_list.tpl.htm" role="doc" />
<file md5sum="16f4927420fa169875167a4874e7add7" name="examples/templates/addblockfile_main.tpl.htm" role="doc" /> <file md5sum="697f694a67db6b96d247a24bdfd44f9b" name="examples/templates/addblockfile_main.tpl.htm" role="doc" />
<file md5sum="2c851fcec88007eef66c28a9d8f10ceb" name="examples/templates/main.tpl.htm" role="doc" /> <file md5sum="834e1e6d40b2f34906aa17f9969bd891" name="examples/templates/main.tpl.htm" role="doc" />
<file md5sum="886a6044e8186e3b1e1d8c5b004246af" name="HTML/Template/IT.php" role="php" /> <file md5sum="531abbcc1ca42d2bd330b7f82851a06f" name="HTML/Template/IT.php" role="php" />
<file md5sum="16b0300b5fbe3be7a1df976ce5d27c4f" name="HTML/Template/ITX.php" role="php" /> <file md5sum="aa98c643aac5305b888851bdb7bf494d" name="HTML/Template/ITX.php" role="php" />
<file md5sum="484d2aa6a504a351a1d3e2b8bb39612d" name="HTML/Template/IT_Error.php" role="php" /> <file md5sum="806ee7726ac7fdf74ce13a610fb30ddc" name="HTML/Template/IT_Error.php" role="php" />
<file md5sum="e576a94c06b323e4cfc6bcf9dda017c2" name="tests/AllTests.php" role="test" /> <file md5sum="304e1a435c31469840de4dc77dfaa2d5" name="tests/ITTest.php" role="test" />
<file md5sum="adabbbb8cf54dc80720b7929e594cbec" name="tests/ITTest.php" role="test" /> <file md5sum="0f23dcc3d5992a01f50c75e05c70080a" name="tests/ITXTest.php" role="test" />
<file md5sum="80139a8b443488dac801fae748b6f2c2" name="tests/ITXTest.php" role="test" /> <file md5sum="bca97392b741f553d10203f04549a423" name="tests/templates/addblock.html" role="test" />
<file md5sum="e50de49b74a1d96bb77ddae2d0abdfc3" name="tests/templates/addblock.html" role="test" /> <file md5sum="d4e1caf0b07b85e49e0e82ab83e91ed3" name="tests/templates/blockiteration.html" role="test" />
<file md5sum="22e56437378e53d08ba07d3dd2aa4b85" name="tests/templates/blockiteration.html" role="test" /> <file md5sum="aa11dc0ba8c94c71f0ed6e448770f913" name="tests/templates/blocks.html" role="test" />
<file md5sum="4173bf97eec43787532e247ef9b2611a" name="tests/templates/blocks.html" role="test" />
<file md5sum="7014497a69b346957fb3d2b5fa44ffd4" name="tests/templates/bug_9853_01.tpl" role="test" /> <file md5sum="7014497a69b346957fb3d2b5fa44ffd4" name="tests/templates/bug_9853_01.tpl" role="test" />
<file md5sum="385013ff6be875da2888087e96c6a93c" name="tests/templates/bug_9853_02.tpl" role="test" /> <file md5sum="385013ff6be875da2888087e96c6a93c" name="tests/templates/bug_9853_02.tpl" role="test" />
<file md5sum="2611d6ec574a65716f1bc2ca95cb8c63" name="tests/templates/globals.html" role="test" /> <file md5sum="8ac12c5d1c85787dd44ed5c93a392dfe" name="tests/templates/include.html" role="test" />
<file md5sum="db5b226eff0218c831749c07042529f2" name="tests/templates/include.html" role="test" /> <file md5sum="bd4c99366021b8bd88ba220ec829eae5" name="tests/templates/loadtemplatefile.html" role="test" />
<file md5sum="d9a6425eebdfc6981465b4a228dbee51" name="tests/templates/loadtemplatefile.html" role="test" />
<file md5sum="8747e8c70d20b6c86d1d19af2eadd874" name="tests/templates/placeholderreplacementscope.html" role="test" /> <file md5sum="8747e8c70d20b6c86d1d19af2eadd874" name="tests/templates/placeholderreplacementscope.html" role="test" />
<file md5sum="5c7e2e9c32306db4b6667d2b57f1c0ac" name="tests/templates/replaceblock.html" role="test" /> <file md5sum="a3d70ab52bdb9f3c14702879865a55d6" name="tests/templates/replaceblock.html" role="test" />
<file md5sum="310552db4653b34dbb0f993847572fc5" name="tests/templates/__include.html" role="test" /> <file md5sum="fb1681e6ffa470d92859fac3496b960e" name="tests/templates/__include.html" role="test" />
<file md5sum="7073f9a84fa6da71e7a505a777dda302" name="LICENSE" role="doc" /> <file md5sum="f8790e48b597dff12a643e08e9be3fab" name="LICENSE" role="doc" />
</dir> </dir>
</contents> </contents>
<dependencies> <dependencies>
@ -331,5 +316,38 @@ Changes since last stable release (1.2.1):
- Fixed unit tests - Fixed unit tests
</notes> </notes>
</release> </release>
<release>
<version>
<release>1.3.1</release>
<api>1.3.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2018-01-22</date>
<license>BSD-3-Clause</license>
<notes>
- PR #2: Fixes for deprecated code
</notes>
</release>
<release>
<version>
<release>1.3.2</release>
<api>1.3.0</api>
</version>
<stability>
<release>stable</release>
<api>stable</api>
</stability>
<date>2024-11-24</date>
<license>BSD-3-Clause</license>
<notes>
- PR #5: Support for PHP 7.2
- PR #9: Remove unused code
- PR #11: fix: Array and string offset access syntax with curly braces is no longer supported
- PR #12: Remove PHP under 5.6 and add last versions of PHP 7
</notes>
</release>
</changelog> </changelog>
</package> </package>