dev-php/PEAR-HTML_Template_IT: Revbump to add modern patches

Replace /e in preg_replace with preg_replace_callback
Use PHP5 constructors

Package-Manager: Portage-2.3.6, Repoman-2.3.3
This commit is contained in:
Brian Evans
2017-08-01 16:48:05 -04:00
parent 2bd8da0fc9
commit 6ccd06e762
3 changed files with 111 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit php-pear-r2
DESCRIPTION="Integrated Templates"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~x86"
IUSE="examples test"
DEPEND="test? ( dev-php/phpunit ${RDEPEND} )"
src_prepare() {
eapply "${FILESDIR}/preg-callback.patch" \
"${FILESDIR}/constructor.patch"
eapply_user
}
src_install() {
use examples && HTML_DOCS=(
examples/sample_it.php
examples/sample_itx_addblockfile.php
examples/templates/
)
php-pear-r2_src_install
}
src_test() {
phpunit tests/AllTests.php || die
}

View File

@@ -0,0 +1,62 @@
diff -aurN a/HTML/Template/IT_Error.php b/HTML/Template/IT_Error.php
--- a/HTML/Template/IT_Error.php 2010-03-10 03:08:10.000000000 -0500
+++ b/HTML/Template/IT_Error.php 2017-08-01 16:44:31.257269180 -0400
@@ -58,8 +58,11 @@
*/
function IT_Error($msg, $file = __FILE__, $line = __LINE__)
{
+ $this->__construct($msg, $file, $line);
+ }
+ function __construct($msg, $file = __FILE__, $line = __LINE__)
+ {
$this->PEAR_Error(sprintf("%s [%s on line %d].", $msg, $file, $line));
} // end func IT_Error
} // end class IT_Error
-?>
diff -aurN a/HTML/Template/IT.php b/HTML/Template/IT.php
--- a/HTML/Template/IT.php 2017-08-01 16:40:29.822907534 -0400
+++ b/HTML/Template/IT.php 2017-08-01 16:44:46.515860952 -0400
@@ -409,6 +409,10 @@
*/
function HTML_Template_IT($root = '', $options = null)
{
+ $this->__construct($root, $options);
+ }
+ function __construct($root = '', $options = null)
+ {
if (!is_null($options)) {
$this->setOptions($options);
}
@@ -1184,4 +1188,3 @@
$errorMessages[$value] : $errorMessages[IT_ERROR];
}
} // end class IntegratedTemplate
-?>
diff -aurN a/HTML/Template/ITX.php b/HTML/Template/ITX.php
--- a/HTML/Template/ITX.php 2010-03-10 03:08:10.000000000 -0500
+++ b/HTML/Template/ITX.php 2017-08-01 16:44:41.185654236 -0400
@@ -138,13 +138,17 @@
*/
function HTML_Template_ITX($root = '')
{
+ $this->__construct($root);
+ }
+ function __construct($root = '')
+ {
$this->checkblocknameRegExp = '@' . $this->blocknameRegExp . '@';
$this->functionRegExp = '@' . $this->functionPrefix . '(' .
$this->functionnameRegExp . ')\s*\(@sm';
- $this->HTML_Template_IT($root);
+ parent::__construct($root);
} // end func constructor
/**
@@ -886,4 +890,3 @@
} // end func warning
} // end class HTML_Template_ITX
-?>

View File

@@ -0,0 +1,17 @@
diff -aurN a/HTML/Template/IT.php b/HTML/Template/IT.php
--- a/HTML/Template/IT.php 2010-03-10 03:08:10.000000000 -0500
+++ b/HTML/Template/IT.php 2017-08-01 15:12:31.161235223 -0400
@@ -1088,9 +1088,10 @@
$content = fread($fh, $fsize);
fclose($fh);
- return preg_replace(
- "#<!-- INCLUDE (.*) -->#ime",
- "\$this->getFile('\\1')",
+ return preg_replace_callback(
+ "#<!-- INCLUDE (.*) -->#im",
+ function($matches) {
+ return $this->getFile($matches[1]); },
$content
);
} // end func getFile