[Fusionforge-commits] r20286 - trunk/src/plugins/wiki/www/lib

Marc-Etienne VARGENAU vargenau at fusionforge.org
Tue Jun 3 18:56:40 CEST 2014


Author: vargenau
Date: 2014-06-03 18:56:40 +0200 (Tue, 03 Jun 2014)
New Revision: 20286

Modified:
   trunk/src/plugins/wiki/www/lib/WikiPlugin.php
   trunk/src/plugins/wiki/www/lib/stdlib.php
Log:
wiki: prepare for PHP 5.5, use preg_replace_callback instead of /e

Modified: trunk/src/plugins/wiki/www/lib/WikiPlugin.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/WikiPlugin.php	2014-06-03 16:53:57 UTC (rev 20285)
+++ trunk/src/plugins/wiki/www/lib/WikiPlugin.php	2014-06-03 16:56:40 UTC (rev 20286)
@@ -153,10 +153,12 @@
     // Expand [arg] to $request->getArg("arg") unless preceded by ~
     function expandArg($argval, &$request)
     {
-        // return preg_replace('/\[(\w[\w\d]*)\]/e', '$request->getArg("$1")',
         // Replace the arg unless it is preceded by a ~
-        $ret = preg_replace('/([^~]|^)\[(\w[\w\d]*)\]/e',
-            '"$1" . $request->getArg("$2")',
+        $ret = preg_replace_callback('/([^~]|^)\[(\w[\w\d]*)\]/',
+            function ($m) {
+                global $request;
+                return "$m[1]" . $request->getArg("$m[2]");
+            },
             $argval);
         // Ditch the ~ so later versions can be expanded if desired
         return preg_replace('/~(\[\w[\w\d]*\])/', '$1', $ret);

Modified: trunk/src/plugins/wiki/www/lib/stdlib.php
===================================================================
--- trunk/src/plugins/wiki/www/lib/stdlib.php	2014-06-03 16:53:57 UTC (rev 20285)
+++ trunk/src/plugins/wiki/www/lib/stdlib.php	2014-06-03 16:56:40 UTC (rev 20286)
@@ -138,9 +138,11 @@
     if (!$str) {
         return 'empty.';
     }
-
-    return preg_replace('/[^-_:A-Za-z0-9]|(?<=^)[^A-Za-z]/e',
-        "'.' . sprintf('%02x', ord('\\0'))",
+    return preg_replace_callback(
+        '/[^-_:A-Za-z0-9]|(?<=^)[^A-Za-z]/',
+        function ($m) {
+            return '.' . sprintf('%02x', ord('$m'));
+        },
         $str);
 }
 




More information about the Fusionforge-commits mailing list