From a9509a610de28b96d2439e6d70bf5f3bc421a4fe Mon Sep 17 00:00:00 2001 From: Stig Lindqvist Date: Thu, 12 Apr 2012 00:29:35 +1200 Subject: [PATCH] MINOR Security::database_is_ready() check are doing duplicate DB queries for Members. The will make sure that if the database has been ready once, it is ready for the rest of the request --- security/Security.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/security/Security.php b/security/Security.php index a6540eec7..20008dfd9 100644 --- a/security/Security.php +++ b/security/Security.php @@ -104,6 +104,14 @@ class Security extends Controller { */ static $force_database_is_ready = null; + /** + * When the database has once been verified as ready, it will not do the + * checks again. + * + * @var bool + */ + protected static $database_is_ready = false; + /** * Set location of word list file * @@ -800,6 +808,8 @@ class Security extends Controller { public static function database_is_ready() { // Used for unit tests if(self::$force_database_is_ready !== NULL) return self::$force_database_is_ready; + + if(self::$database_is_ready) return self::$database_is_ready; $requiredTables = ClassInfo::dataClassesFor('Member'); $requiredTables[] = 'Group'; @@ -822,6 +832,7 @@ class Security extends Controller { if($missingFields) return false; } + self::$database_is_ready = true; return true; }