Update of /cvsroot/phpwiki/phpwiki/lib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21429
Modified Files:
WikiDB.php
Log Message:
unset more unneeded _cached_html. (Guess this should fix sf.net now)
Index: WikiDB.php
===================================================================
RCS file: /cvsroot/phpwiki/phpwiki/lib/WikiDB.php,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -2 -b -p -d -r1.87 -r1.88
--- WikiDB.php 25 Sep 2004 16:25:40 -0000 1.87
+++ WikiDB.php 25 Sep 2004 18:16:40 -0000 1.88
@@ -1856,13 +1856,20 @@ class WikiDB_cache
function get_pagedata($pagename) {
assert(is_string($pagename) && $pagename != '');
+ if (defined('USECACHE') and USECACHE) {
$cache = &$this->_pagedata_cache;
-
if (!isset($cache[$pagename]) || !is_array($cache[$pagename])) {
$cache[$pagename] = $this->_backend->get_pagedata($pagename);
+ // Never keep a ['%pagedata']['_cached_html'] in cache, other
than the current page.
+ if (isset($cache[$pagename]['_cached_html'])
+ and $pagename != $GLOBALS['request']->getArg('pagename')) {
+ unset($cache[$pagename]['_cached_html']);
+ }
if (empty($cache[$pagename]))
$cache[$pagename] = array();
}
-
return $cache[$pagename];
+ } else {
+ return $this->_backend->get_pagedata($pagename);
+ }
}
@@ -1872,5 +1879,7 @@ class WikiDB_cache
$this->_backend->update_pagedata($pagename, $newdata);
- if (is_array($this->_pagedata_cache[$pagename])) {
+ if (defined('USECACHE') and USECACHE
+ and is_array($this->_pagedata_cache[$pagename]))
+ {
$cachedata = &$this->_pagedata_cache[$pagename];
foreach($newdata as $key => $val)
@@ -1909,5 +1918,5 @@ class WikiDB_cache
!(is_array ($cache[$pagename])) || !(is_array
($cache[$pagename][$version]))) {
$cache[$pagename][$version][$nc] =
- $this->_backend->get_versiondata($pagename,$version,
$need_content);
+ $this->_backend->get_versiondata($pagename, $version,
$need_content);
// If we have retrieved all data, we may as well set the cache
for $need_content = false
if ($need_content){
@@ -1919,5 +1928,6 @@ class WikiDB_cache
$vdata = $this->_backend->get_versiondata($pagename, $version,
$need_content);
}
- // FIXME: ugly
+ // FIXME: ugly.
+ // Rationale: never keep ['%pagedata']['_cached_html'] in cache.
if ($vdata && !empty($vdata['%pagedata'])) {
$this->_pagedata_cache[$pagename] = $vdata['%pagedata'];
@@ -1940,5 +1950,4 @@ class WikiDB_cache
// Update the cache
$this->_versiondata_cache[$pagename][$version]['1'] = $data;
- // FIXME: hack
$this->_versiondata_cache[$pagename][$version]['0'] = $data;
// Is this necessary?
@@ -1949,4 +1958,5 @@ class WikiDB_cache
$new = $this->_backend->update_versiondata($pagename, $version, $data);
// Update the cache
+ // FIXME: never keep ['%pagedata']['_cached_html'] in cache.
$this->_versiondata_cache[$pagename][$version]['1'] = $data;
// FIXME: hack
@@ -1981,4 +1991,7 @@ class WikiDB_cache
// $Log$
+// Revision 1.88 2004/09/25 18:16:40 rurban
+// unset more unneeded _cached_html. (Guess this should fix sf.net now)
+//
// Revision 1.87 2004/09/25 16:25:40 rurban
// notify on rename and remove (to be improved)
-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
|