[pmwiki-users] pmwiki.php: Array and string offset access syntax with curly braces is deprecated
T. Michael Sommers
tmsommers2 at gmail.com
Tue May 4 20:34:42 PDT 2021
I have a brand new installation of pmwiki, from a tarball downloaded a
few weeks ago. I am using php 7.4.3 on FreeBSD 11.2-RELEASE-p3. I get
a lot of warnings saying, "Array and string offset access syntax with
curly braces is deprecated" for pmwiki.php.
This is a diff that fixes them:
--- snip ---
--- pmwiki.php.orig 2021-05-04 23:00:53.048909000 -0400
+++ pmwiki.php 2021-05-04 23:25:24.454431000 -0400
@@ -703,7 +703,7 @@
array('.*', '.', '[', ']', '^', '-', '!'),
$pat);
$excl = array(); $incl = array();
foreach(preg_split('/,+\s?/', $pat, -1, PREG_SPLIT_NO_EMPTY) as $p) {
- if ($p{0} == '-' || $p{0} == '!') $excl[] = '^'.substr($p, 1).'$';
+ if ($p[0] == '-' || $p[0] == '!') $excl[] = '^'.substr($p, 1).'$';
else $incl[] = "^$p$";
}
return array(implode('|', $incl), implode('|', $excl));
@@ -733,7 +733,7 @@
foreach((array)$pat as $p) {
if (count($pagelist) < 1) break;
if (!$p) continue;
- switch ($p{0}) {
+ switch ($p[0]) {
case '/':
$pagelist = preg_grep($p, $pagelist);
break;
@@ -1009,7 +1009,7 @@
foreach($a as $k=>$v) {
if (!isset($XL[$lang][$k])) {
if (preg_match('/^e_(rows|cols)$/', $k)) $v = intval($v);
- elseif (preg_match('/^ak_/', $k)) $v = $v{0};
+ elseif (preg_match('/^ak_/', $k)) $v = $v[0];
$XL[$lang][$k]=$v;
}
}
@@ -1151,7 +1151,7 @@
$x = "version=$Version ordered=1 urlencoded=1\n";
$s = true && fputs($fp, $x); $sz = strlen($x);
foreach($page as $k=>$v)
- if ($k > '' && $k{0} != '=') {
+ if ($k > '' && $k[0] != '=') {
$x = str_replace($r0, $r1, "$k=$v") . "\n";
$s = $s && fputs($fp, $x); $sz += strlen($x);
}
@@ -1192,7 +1192,7 @@
$dirslash = substr_count($dir, '/') + 1;
$o = array();
while ( ($pagefile = readdir($dfp)) !== false) {
- if ($pagefile{0} == '.') continue;
+ if ($pagefile[0] == '.') continue;
if ($dirslash < $maxslash && is_dir("$dir/$pagefile"))
{ array_push($dirlist,"$dir/$pagefile"); continue; }
if ($dirslash == $maxslash) $o[] = $this->PFD($pagefile);
@@ -1441,7 +1441,7 @@
## The caller is responsible for calling Qualify() as needed.
function RetrieveAuthSection($pagename, $pagesection, $list=NULL,
$auth='read') {
global $RASPageName, $PCache;
- if ($pagesection{0} != '#')
+ if ($pagesection[0] != '#')
$list = array(MakePageName($pagename, $pagesection));
else if (is_null($list)) $list = array($pagename);
foreach((array)$list as $t) {
@@ -1465,7 +1465,7 @@
while (count($args['#'])>0) {
$k = array_shift($args['#']); $v = array_shift($args['#']);
if ($k=='') {
- if ($v{0} != '#') {
+ if ($v[0] != '#') {
if (isset($itext)) continue;
$iname = MakePageName($pagename, $v);
if (!$args['self'] && $iname == $pagename) continue;
@@ -1478,7 +1478,7 @@
if (preg_match('/^(?:line|para)s?$/', $k)) {
preg_match('/^(\\d*)(\\.\\.(\\d*))?$/', $v, $match);
@list($x, $a, $dots, $b) = $match;
- $upat = ($k{0} == 'p') ? ".*?(\n\\s*\n|$)" : "[^\n]*(?:\n|$)";
+ $upat = ($k[0] == 'p') ? ".*?(\n\\s*\n|$)" : "[^\n]*(?:\n|$)";
if (!$dots) { $b=$a; $a=0; }
if ($a>0) $a--;
$itext=preg_replace("/^(($upat){0,$b}).*$/s",'$1',$itext,1);
@@ -1640,7 +1640,7 @@
$suffix = $txt[1];
$txt = $txt[0];
}
- if (!$fmt && $path{0} == '#') {
+ if (!$fmt && $path[0] == '#') {
$path = preg_replace("/[^-.:\\w]/", '', $path);
if (trim($txt) == '+') $txt = PageVar($pagename, '$Title') . @$suffix;
if ($alt) $alt = " title='$alt'";
@@ -1785,7 +1785,7 @@
foreach($markrules as $p=>$r) {
list($r, $id) = (array)$r;
$MarkupToHTML['markupid'] = $id;
- if ($p{0} == '/') {
+ if ($p[0] == '/') {
if (is_callable($r)) $x = preg_replace_callback($p,$r,$x);
else $x=preg_replace($p,$r,$x);
}
@@ -2209,11 +2209,11 @@
if ($pw == ',' || $pw == '') continue;
else if ($pw == ' ') { $x = ''; continue; }
else if (substr($pw, -1, 1) == ':') { $x = $pw; continue; }
- else if ($pw{0} != '@' && $x > '') $pw = $x . $pw;
+ else if ($pw[0] != '@' && $x > '') $pw = $x . $pw;
if (!$pw) continue;
$passwd[] = $pw;
if ($auth < 0) continue;
- if ($x || $pw{0} == '@') {
+ if ($x || $pw[0] == '@') {
if (@$AuthList[$pw]) $auth = $AuthList[$pw];
continue;
}
--- snip ---
--
T.M. Sommers -- tmsommers2 at gmail.com -- ab2sb
More information about the pmwiki-users
mailing list