Compare commits
No commits in common. "master" and "upstream/1.3.1" have entirely different histories.
master
...
upstream/1
@ -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 flexibility but you always have to know what you do which is
|
* a maximum of fexibility 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 basket. Now where do you place the message that the basket
|
* the shopping baseket. 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 unnecessary minor text changes. Having another template file
|
* tend to like unecessary 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
|
||||||
@ -299,6 +299,14 @@ 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.
|
||||||
*
|
*
|
||||||
@ -386,7 +394,7 @@ class HTML_Template_IT
|
|||||||
);
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds some complex regular expressions and optionally sets the
|
* Builds some complex regular expressions and optinally 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
|
||||||
@ -740,7 +748,7 @@ class HTML_Template_IT
|
|||||||
/**
|
/**
|
||||||
* Sets a variable value.
|
* Sets a variable value.
|
||||||
*
|
*
|
||||||
* The function can be used either like setVariable( "varname", "value")
|
* The function can be used eighter 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().
|
||||||
*
|
*
|
||||||
@ -861,7 +869,7 @@ class HTML_Template_IT
|
|||||||
/**
|
/**
|
||||||
* Sets the template.
|
* Sets the template.
|
||||||
*
|
*
|
||||||
* You can either load a template file from disk with
|
* You can eighter 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
|
||||||
@ -994,7 +1002,7 @@ class HTML_Template_IT
|
|||||||
} // end func getGlobalvariables
|
} // end func getGlobalvariables
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Recursively builds a list of all blocks within the template.
|
* Recusively builds a list of all blocks within the template.
|
||||||
*
|
*
|
||||||
* @param string $string string that gets scanned
|
* @param string $string string that gets scanned
|
||||||
*
|
*
|
||||||
@ -1057,7 +1065,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);
|
||||||
}
|
}
|
||||||
|
|
@ -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 useful when you have
|
* 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
|
* 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.
|
||||||
*
|
*
|
||||||
@ -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 instead, means
|
* contained in the replaced block and add a new block insted, 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);
|
||||||
foreach ($parents as $k => $parent) {
|
while (list($k, $parent) = each($parents)) {
|
||||||
$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 occurred
|
* If the placeholder was not found or an error occured
|
||||||
* 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);
|
||||||
foreach ($variables as $k => $variable) {
|
while (list($k, $variable) = each($variables)) {
|
||||||
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);
|
||||||
foreach ($this->blockvariables as $blockname => $variables) {
|
while (list($blockname, $variables) = each($this->blockvariables)) {
|
||||||
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);
|
||||||
foreach ($this->functions as $func_id => $function) {
|
while (list($func_id, $function) = each($this->functions)) {
|
||||||
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 reinventing the wheel... - that's
|
* the level of a template engine you're reiventing 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 deprecated since
|
* @deprecated The $callbackobject parameter is depricated 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 ('$callbackfunction') given.",
|
" and/or no callback function ('$callback') 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 associated with a block, including
|
* Recursively removes all data assiciated 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 whether a block exists.
|
* Checks wheter 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 whether a block variable exists.
|
* Checks wheter 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 occurrence of
|
* Truncates the given code from the first occurence 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]);
|
||||||
foreach ($this->blockvariables[$block] as $varname => $val) {
|
while (list($varname, $val) = each($this->blockvariables[$block])) {
|
||||||
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);
|
||||||
foreach ($this->blocklist as $blockname => $content) {
|
while (list($blockname, $content) = each($this->blocklist)) {
|
||||||
reset($this->blockvariables[$blockname]);
|
reset($this->blockvariables[$blockname]);
|
||||||
|
|
||||||
foreach ($this->blockvariables[$blockname] as $varname => $val) {
|
while (list($varname, $val) = each($this->blockvariables[$blockname])) {
|
||||||
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 occurred
|
* @param string $file File where the warning occured
|
||||||
* @param int $line Linenumber where the warning occurred
|
* @param int $line Linenumber where the warning occured
|
||||||
*
|
*
|
||||||
* @see $warn, $printWarning, $haltOnWarning
|
* @see $warn, $printWarning, $haltOnWarning
|
||||||
* @access private
|
* @access private
|
@ -53,8 +53,8 @@ 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 occurred
|
* @param string $file file where the error occured
|
||||||
* @param string $line linenumber where the error occurred
|
* @param string $line linenumber where the error occured
|
||||||
*/
|
*/
|
||||||
function __construct($msg, $file = __FILE__, $line = __LINE__)
|
function __construct($msg, $file = __FILE__, $line = __LINE__)
|
||||||
{
|
{
|
36
HTML_Template_IT-1.3.1/tests/AllTests.php
Normal file
36
HTML_Template_IT-1.3.1/tests/AllTests.php
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?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();
|
||||||
|
}
|
||||||
|
?>
|
@ -1,15 +1,8 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
// 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';
|
require_once 'HTML/Template/IT.php';
|
||||||
|
require_once 'PHPUnit/Framework/TestCase.php';
|
||||||
|
|
||||||
class ITTest extends Yoast\PHPUnitPolyfills\TestCases\TestCase
|
class ITTest extends PHPUnit_Framework_TestCase
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* An HTML_Template_IT object
|
* An HTML_Template_IT object
|
||||||
@ -17,12 +10,12 @@ class ITTest extends Yoast\PHPUnitPolyfills\TestCases\TestCase
|
|||||||
*/
|
*/
|
||||||
var $tpl;
|
var $tpl;
|
||||||
|
|
||||||
protected function set_up()
|
function setUp()
|
||||||
{
|
{
|
||||||
$this->tpl = new HTML_Template_IT(dirname(__FILE__) . '/templates');
|
$this->tpl = new HTML_Template_IT(dirname(__FILE__) . '/templates');
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tear_down()
|
function tearDown()
|
||||||
{
|
{
|
||||||
unset($this->tpl);
|
unset($this->tpl);
|
||||||
}
|
}
|
||||||
@ -180,6 +173,56 @@ class ITTest extends Yoast\PHPUnitPolyfills\TestCases\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.
|
@ -1,5 +1,6 @@
|
|||||||
<?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';
|
||||||
|
|
||||||
@ -23,7 +24,7 @@ class Callbacks
|
|||||||
|
|
||||||
class ITXTest extends ITTest
|
class ITXTest extends ITTest
|
||||||
{
|
{
|
||||||
function set_up()
|
function setUp()
|
||||||
{
|
{
|
||||||
$this->tpl = new HTML_Template_ITX(dirname(__FILE__) . '/templates');
|
$this->tpl = new HTML_Template_ITX(dirname(__FILE__) . '/templates');
|
||||||
}
|
}
|
13
HTML_Template_IT-1.3.1/tests/templates/globals.html
Normal file
13
HTML_Template_IT-1.3.1/tests/templates/globals.html
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<!-- 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 -->
|
117
debian/changelog
vendored
117
debian/changelog
vendored
@ -1,117 +0,0 @@
|
|||||||
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
1
debian/compat
vendored
@ -1 +0,0 @@
|
|||||||
9
|
|
18
debian/control
vendored
18
debian/control
vendored
@ -1,18 +0,0 @@
|
|||||||
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
41
debian/copyright
vendored
@ -1,41 +0,0 @@
|
|||||||
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
11
debian/rules
vendored
@ -1,11 +0,0 @@
|
|||||||
#!/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
1
debian/source/format
vendored
@ -1 +0,0 @@
|
|||||||
3.0 (quilt)
|
|
2
debian/watch
vendored
2
debian/watch
vendored
@ -1,2 +0,0 @@
|
|||||||
version=3
|
|
||||||
http://pear.php.net/package/HTML_Template_IT/download .*/HTML_Template_IT-(\d.*)\.(?:tgz|tar\.(?:gz|bz2|xz))
|
|
@ -1,6 +1,6 @@
|
|||||||
-----BEGIN PGP SIGNATURE-----
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
iF0EABECAB0WIQQQ9oz3P4qkJvYXdSlyoyG6wkXxdQUCZ0NbqAAKCRByoyG6wkXx
|
iEYEABECAAYFAlpl7wAACgkQcqMhusJF8XUPAgCgkkhDLmcbWpQvpV5aXtWXmSME
|
||||||
dVaEAKDCvxZ1ZQmbPgqRjUAkC72ylQzpOwCeO5mQBEJ3+ziJdLnBvRv7trd0l68=
|
1eAAoMuMxtygcY5OOoitupbXVn1sDGYF
|
||||||
=9MLm
|
=tmsd
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
|
47
package.xml
47
package.xml
@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<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">
|
<package packagerversion="1.10.5" 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>
|
||||||
@ -36,22 +36,19 @@ 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>2024-11-24</date>
|
<date>2018-01-22</date>
|
||||||
<time>16:59:33</time>
|
<time>14:02:10</time>
|
||||||
<version>
|
<version>
|
||||||
<release>1.3.2</release>
|
<release>1.3.1</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>BSD-3-Clause</license>
|
<license>Modified BSD license</license>
|
||||||
<notes>
|
<notes>
|
||||||
- PR # 5: Support for PHP 7.2
|
- PR #2: Fixes for deprecated code
|
||||||
- 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>
|
</notes>
|
||||||
<contents>
|
<contents>
|
||||||
<dir name="/">
|
<dir name="/">
|
||||||
@ -60,16 +57,18 @@ There are two classes to use for templating. HTML_Template_IT is used for basic
|
|||||||
<file md5sum="342278cc5fe8ca6c66591cd5ee389402" name="examples/templates/addblockfile_list.tpl.htm" role="doc" />
|
<file md5sum="342278cc5fe8ca6c66591cd5ee389402" name="examples/templates/addblockfile_list.tpl.htm" role="doc" />
|
||||||
<file md5sum="697f694a67db6b96d247a24bdfd44f9b" name="examples/templates/addblockfile_main.tpl.htm" role="doc" />
|
<file md5sum="697f694a67db6b96d247a24bdfd44f9b" name="examples/templates/addblockfile_main.tpl.htm" role="doc" />
|
||||||
<file md5sum="834e1e6d40b2f34906aa17f9969bd891" name="examples/templates/main.tpl.htm" role="doc" />
|
<file md5sum="834e1e6d40b2f34906aa17f9969bd891" name="examples/templates/main.tpl.htm" role="doc" />
|
||||||
<file md5sum="531abbcc1ca42d2bd330b7f82851a06f" name="HTML/Template/IT.php" role="php" />
|
<file md5sum="ff54f9a70504c2c64f81b9d4e1897c3b" name="HTML/Template/IT.php" role="php" />
|
||||||
<file md5sum="aa98c643aac5305b888851bdb7bf494d" name="HTML/Template/ITX.php" role="php" />
|
<file md5sum="226a20af0aa45c0838863f73103b91af" name="HTML/Template/ITX.php" role="php" />
|
||||||
<file md5sum="806ee7726ac7fdf74ce13a610fb30ddc" name="HTML/Template/IT_Error.php" role="php" />
|
<file md5sum="52a5e675aec5f68c4c3111a17307a860" name="HTML/Template/IT_Error.php" role="php" />
|
||||||
<file md5sum="304e1a435c31469840de4dc77dfaa2d5" name="tests/ITTest.php" role="test" />
|
<file md5sum="e576a94c06b323e4cfc6bcf9dda017c2" name="tests/AllTests.php" role="test" />
|
||||||
<file md5sum="0f23dcc3d5992a01f50c75e05c70080a" name="tests/ITXTest.php" role="test" />
|
<file md5sum="a12627343ed2962dc629181dd4fa1994" name="tests/ITTest.php" role="test" />
|
||||||
|
<file md5sum="e0d736f03900f6fc9e6132c7549a96b8" name="tests/ITXTest.php" role="test" />
|
||||||
<file md5sum="bca97392b741f553d10203f04549a423" name="tests/templates/addblock.html" role="test" />
|
<file md5sum="bca97392b741f553d10203f04549a423" name="tests/templates/addblock.html" role="test" />
|
||||||
<file md5sum="d4e1caf0b07b85e49e0e82ab83e91ed3" name="tests/templates/blockiteration.html" role="test" />
|
<file md5sum="d4e1caf0b07b85e49e0e82ab83e91ed3" name="tests/templates/blockiteration.html" role="test" />
|
||||||
<file md5sum="aa11dc0ba8c94c71f0ed6e448770f913" name="tests/templates/blocks.html" role="test" />
|
<file md5sum="aa11dc0ba8c94c71f0ed6e448770f913" 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="ed6cb6de29d69890c611f11ce90e1e85" name="tests/templates/globals.html" role="test" />
|
||||||
<file md5sum="8ac12c5d1c85787dd44ed5c93a392dfe" name="tests/templates/include.html" role="test" />
|
<file md5sum="8ac12c5d1c85787dd44ed5c93a392dfe" name="tests/templates/include.html" role="test" />
|
||||||
<file md5sum="bd4c99366021b8bd88ba220ec829eae5" name="tests/templates/loadtemplatefile.html" role="test" />
|
<file md5sum="bd4c99366021b8bd88ba220ec829eae5" 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" />
|
||||||
@ -326,28 +325,10 @@ Changes since last stable release (1.2.1):
|
|||||||
<api>stable</api>
|
<api>stable</api>
|
||||||
</stability>
|
</stability>
|
||||||
<date>2018-01-22</date>
|
<date>2018-01-22</date>
|
||||||
<license>BSD-3-Clause</license>
|
<license>Modified BSD license</license>
|
||||||
<notes>
|
<notes>
|
||||||
- PR #2: Fixes for deprecated code
|
- PR #2: Fixes for deprecated code
|
||||||
</notes>
|
</notes>
|
||||||
</release>
|
</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>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user