[pmwiki-users] Suppress WARNING in pmwiki.php

Petko Yotov 5ko at 5ko.fr
Tue Apr 18 06:07:52 CDT 2017


On 2017-04-18 12:37, Peter Bowers wrote:
> If that path ever gets passed to Pagestore::exists() then I would think
> that it's not bad to have an error message appear. In my mind it's the
> moral equivalent of a syntax error but from a configuration 
> perspective. So
> suppressing the error message with @ may or may not be a good idea... 
> It's
> true that from a pmwiki perspective it's legitimate, but it may make 
> life
> harder for the person trying to track down the configuration problem.

In this case, that function is called with a "file" name 
(local/farmmap.txt which doesn't exist) not with a "page" name.

Line 56-57 $InterMapFiles contains "$FarmD/local/farmmap.txt", which is 
probably the full path starting with D:. It also contains other files 
and wiki page names.

Lines 357-361 as the intermap file doesn't exist, we try if such a page 
exists, so
+ the Pagestore::exists() function is called with the full path 
D:\path\file
+ the Pagestore::pagefile() function transforms "wiki.d/{$FullName}" 
replacing {$FullName} with D:\path\file
+ such a file "wiki.d/D:\path\file" doesn't exist (ok for PmWiki, 
whatever, no problem) but it appears out of the basedir paths (why??? it 
is under wiki.d inside basedir) so a warning is triggered.

In that case we really don't care if the file is or isn't inside 
basedir, if it isn't readable we ignore it and move on, really no need 
for warnings. Maybe the "@" can be used at the first call of 
PageExists() line 361, and not inside the PageStore class. For other 
cases, where you might call "PageStore::exists()" with a configuration 
problem.

Petko




More information about the pmwiki-users mailing list