protected static function readPackageCache() { self::$packageCache = array('hashes' => array(), 'packages' => array()); // read accessible sources require_once PB_DIR . 'lib/data/source/SourceList.class.php'; $sourceList = new SourceList(); $sourceList->sqlLimit = 0; $sourceList->hasAccessCheck = true; $sourceList->readObjects(); $sources = $sourceList->getObjects(); foreach ($sources as $source) { self::$sources[$source->sourceID] = $source; } foreach (WCF::getUser()->getAccessibleSourceIDs() as $sourceID) { $cacheName = 'packages-' . $sourceID; WCF::getCache()->addResource($cacheName, PB_DIR . 'cache/cache.' . $cacheName . '.php', PB_DIR . 'lib/system/cache/CacheBuilderPackages.class.php'); $cache = WCF::getCache()->get($cacheName); self::$packageCache['hashes'] = array_merge(self::$packageCache['hashes'], $cache['hashes']); self::$packageCache['packages'] = array_merge(self::$packageCache['packages'], $cache['packages']); } }