public static function PrecacheAll($ClassName) { global $GMDConfig; $ClassValues = get_class_vars($ClassName); // Check Table Name if (!isset($ClassValues["TableName"])) { trigger_error("Unknown table name for class [" . $ClassName . "]"); return false; } if (DB_Accessor::LoadMemCache($ClassName) === true) { return; // We loaded from cache successfully } $Query = Database::Query("SELECT * FROM `%s`;", $ClassValues["TableName"]); DB_Accessor::$DataCache[$ClassName] = array(); while ($Row = $Query->fetch_assoc()) { DB_Accessor::$DataCache[$ClassName][$Row["ID"]] = new $ClassName($Row); } if ($GMDConfig["UseAPC"]) { apc_store("SchnellCache_" . $ClassName, DB_Accessor::$DataCache[$ClassName]); apc_store("SchnellCacheExpire_" . $ClassName, time() + 0); // 5 minutes by default [TESTING - SET TO 0] } }