Update of /cvsroot/phpwiki/phpwiki/lib
In directory usw-pr-cvs1:/tmp/cvs-serv30066/lib
Modified Files:
Tag: release-1_2-branch
db_filesystem.php
Log Message:
Fix encoding of page names '.' and '..'.
Ensure RetrievePage() sets $pagehash[pagename].
Index: db_filesystem.php
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/lib/Attic/db_filesystem.php,v
retrieving revision 1.4.2.4
retrieving revision 1.4.2.5
diff -C2 -r1.4.2.4 -r1.4.2.5
*** db_filesystem.php 2001/08/18 05:09:09 1.4.2.4
--- db_filesystem.php 2001/11/06 20:43:45 1.4.2.5
***************
*** 47,55 ****
// urldecode.
function EncodePagename($pagename) {
! $bad_chars = '%/\\:'; // '%' must be first!
for ($i = 0; $i < strlen($bad_chars); $i++) {
$pagename = str_replace($bad_chars[$i],
rawurlencode($bad_chars[$i]), $pagename);
}
return $pagename;
}
--- 47,61 ----
// urldecode.
function EncodePagename($pagename) {
! if ($pagename == '.')
! return '%2e';
! else if ($pagename == '..')
! return '%2e.';
!
! $bad_chars = '%/\\:'; // '%' must be first!
for ($i = 0; $i < strlen($bad_chars); $i++) {
$pagename = str_replace($bad_chars[$i],
rawurlencode($bad_chars[$i]), $pagename);
}
+
return $pagename;
}
***************
*** 66,69 ****
--- 72,76 ----
// unserialize $data into a hash
$pagehash = unserialize($data);
+ $pagehash['pagename'] = $pagename;
if (!is_array($pagehash))
ExitWiki(sprintf(gettext("'%s': corrupt file"),
|