MDL-36768 cache: Fixed regression in cache stores by reordering classes
authorSam Hemelryk <sam@moodle.com>
Mon, 26 Nov 2012 23:14:48 +0000 (12:14 +1300)
committerSam Hemelryk <sam@moodle.com>
Mon, 26 Nov 2012 23:14:48 +0000 (12:14 +1300)
cache/stores/session/lib.php
cache/stores/static/lib.php

index a652f9c..2ec9a94 100644 (file)
 
 defined('MOODLE_INTERNAL') || die();
 
+/**
+ * The session data store class.
+ *
+ * @copyright  2012 Sam Hemelryk
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+abstract class session_data_store extends cache_store {
+
+    /**
+     * Used for the actual storage.
+     * @var array
+     */
+    private static $sessionstore = null;
+
+    /**
+     * Returns a static store by reference... REFERENCE SUPER IMPORTANT.
+     *
+     * @param string $id
+     * @return array
+     */
+    protected static function &register_store_id($id) {
+        if (is_null(self::$sessionstore)) {
+            global $SESSION;
+            if (!isset($SESSION->cachestore_session)) {
+                $SESSION->cachestore_session = array();
+            }
+            self::$sessionstore =& $SESSION->cachestore_session;
+        }
+        if (!array_key_exists($id, self::$sessionstore)) {
+            self::$sessionstore[$id] = array();
+        }
+        return self::$sessionstore[$id];
+    }
+
+    /**
+     * Flushes the data belong to the given store id.
+     * @param string $id
+     */
+    protected static function flush_store_by_id($id) {
+        unset(self::$sessionstore[$id]);
+        self::$sessionstore[$id] = array();
+    }
+
+    /**
+     * Flushes the store of all data.
+     */
+    protected static function flush_store() {
+        $ids = array_keys(self::$sessionstore);
+        unset(self::$sessionstore);
+        self::$sessionstore = array();
+        foreach ($ids as $id) {
+            self::$sessionstore[$id] = array();
+        }
+    }
+}
+
 /**
  * The Session store class.
  *
@@ -343,60 +399,4 @@ class cachestore_session extends session_data_store implements cache_is_key_awar
     public function my_name() {
         return $this->name;
     }
-}
-
-/**
- * The session data store class.
- *
- * @copyright  2012 Sam Hemelryk
- * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- */
-abstract class session_data_store extends cache_store {
-
-    /**
-     * Used for the actual storage.
-     * @var array
-     */
-    private static $sessionstore = null;
-
-    /**
-     * Returns a static store by reference... REFERENCE SUPER IMPORTANT.
-     *
-     * @param string $id
-     * @return array
-     */
-    protected static function &register_store_id($id) {
-        if (is_null(self::$sessionstore)) {
-            global $SESSION;
-            if (!isset($SESSION->cachestore_session)) {
-                $SESSION->cachestore_session = array();
-            }
-            self::$sessionstore =& $SESSION->cachestore_session;
-        }
-        if (!array_key_exists($id, self::$sessionstore)) {
-            self::$sessionstore[$id] = array();
-        }
-        return self::$sessionstore[$id];
-    }
-
-    /**
-     * Flushes the data belong to the given store id.
-     * @param string $id
-     */
-    protected static function flush_store_by_id($id) {
-        unset(self::$sessionstore[$id]);
-        self::$sessionstore[$id] = array();
-    }
-
-    /**
-     * Flushes the store of all data.
-     */
-    protected static function flush_store() {
-        $ids = array_keys(self::$sessionstore);
-        unset(self::$sessionstore);
-        self::$sessionstore = array();
-        foreach ($ids as $id) {
-            self::$sessionstore[$id] = array();
-        }
-    }
 }
\ No newline at end of file
index 03d455a..dcbdbd7 100644 (file)
 
 defined('MOODLE_INTERNAL') || die();
 
+/**
+ * The static data store class
+ *
+ * @copyright  2012 Sam Hemelryk
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+abstract class static_data_store extends cache_store {
+
+    /**
+     * An array for storage.
+     * @var array
+     */
+    private static $staticstore = array();
+
+    /**
+     * Returns a static store by reference... REFERENCE SUPER IMPORTANT.
+     *
+     * @param string $id
+     * @return array
+     */
+    protected static function &register_store_id($id) {
+        if (!array_key_exists($id, self::$staticstore)) {
+            self::$staticstore[$id] = array();
+        }
+        return self::$staticstore[$id];
+    }
+
+    /**
+     * Flushes the store of all values for belonging to the store with the given id.
+     * @param string $id
+     */
+    protected static function flush_store_by_id($id) {
+        unset(self::$staticstore[$id]);
+        self::$staticstore[$id] = array();
+    }
+
+    /**
+     * Flushes all of the values from all stores.
+     *
+     * @copyright  2012 Sam Hemelryk
+     * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+     */
+    protected static function flush_store() {
+        $ids = array_keys(self::$staticstore);
+        unset(self::$staticstore);
+        self::$staticstore = array();
+        foreach ($ids as $id) {
+            self::$staticstore[$id] = array();
+        }
+    }
+}
+
 /**
  * The static store class.
  *
@@ -343,56 +395,4 @@ class cachestore_static extends static_data_store implements cache_is_key_aware
     public function my_name() {
         return $this->name;
     }
-}
-
-/**
- * The static data store class
- *
- * @copyright  2012 Sam Hemelryk
- * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
- */
-abstract class static_data_store extends cache_store {
-
-    /**
-     * An array for storage.
-     * @var array
-     */
-    private static $staticstore = array();
-
-    /**
-     * Returns a static store by reference... REFERENCE SUPER IMPORTANT.
-     *
-     * @param string $id
-     * @return array
-     */
-    protected static function &register_store_id($id) {
-        if (!array_key_exists($id, self::$staticstore)) {
-            self::$staticstore[$id] = array();
-        }
-        return self::$staticstore[$id];
-    }
-
-    /**
-     * Flushes the store of all values for belonging to the store with the given id.
-     * @param string $id
-     */
-    protected static function flush_store_by_id($id) {
-        unset(self::$staticstore[$id]);
-        self::$staticstore[$id] = array();
-    }
-
-    /**
-     * Flushes all of the values from all stores.
-     *
-     * @copyright  2012 Sam Hemelryk
-     * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
-     */
-    protected static function flush_store() {
-        $ids = array_keys(self::$staticstore);
-        unset(self::$staticstore);
-        self::$staticstore = array();
-        foreach ($ids as $id) {
-            self::$staticstore[$id] = array();
-        }
-    }
-}
+}
\ No newline at end of file