logo       
Google Custom Search
    AddThis Social Bookmark Button

CVS: phpwiki/lib WikiDB.php,1.87,1.88: msg#00077

Subject: CVS: phpwiki/lib WikiDB.php,1.87,1.88
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



Try Searching:
servers, voip, java, networking, microsoft ...
<Prev in Thread] Current Thread [Next in Thread>