aports/community/phpldapadmin/phpldapadmin-1.2.3_use-preg_replace_callback.patch
Jakub Jirutka 4272e802a1 community/*: move php5 and dependent pkgs from main
There two main reasons for this change:

* Active support of PHP 5.x ended on January 2017, security support will
  end on December 2018. Packages in the main repository should be
  supported for at least 2 years, this means until first quarter of 2019
  for the upcoming v3.6.

* php7 and its extensions are currently in the community repository, so
  we can't use single abuild for both php5-* and php7-* packages (as we
  do for Python and Lua packages).

This change was suggested by @vakartel, approved by @ncopa, @kaniini, and
@jirutka.
2017-03-28 18:38:20 +02:00

35 lines
1.1 KiB
Diff

From 5a7edc892f1b3cccab74ed150f9d6843912a39ee Mon Sep 17 00:00:00 2001
From: Ben Chavet <ben@chavet.net>
Date: Thu, 29 May 2014 18:57:44 +0000
Subject: [PATCH] Use preg_replace_callback instead of /e in preg_replace to
fix E_DEPRECATED warnings
---
lib/ds_ldap.php | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/lib/ds_ldap.php b/lib/ds_ldap.php
index c346660..8bc1ef8 100644
--- a/lib/ds_ldap.php
+++ b/lib/ds_ldap.php
@@ -1116,13 +1116,14 @@ private function unescapeDN($dn) {
if (is_array($dn)) {
$a = array();
- foreach ($dn as $key => $rdn)
- $a[$key] = preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$rdn);
-
+ foreach ($dn as $key => $rdn) {
+ $a[$key] = preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', function($m) { return "''.chr(hexdec('${m[1]}')).''"; }, $rdn);
+ }
return $a;
- } else
- return preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$dn);
+ } else {
+ return preg_replace_callback('/\\\([0-9A-Fa-f]{2})/', function($m) { return "''.chr(hexdec('${m[1]}')).''"; }, $dn);
+ }
}
public function getRootDSE($method=null) {