/** * Get the boot data * * @param \stdClass $CONFIG Elgg config object * @param Database $db Elgg database * * @return BootData * * @throws \InstallationException */ private function getBootData(\stdClass $CONFIG, Database $db) { $CONFIG->_boot_cache_hit = false; if (!$CONFIG->boot_cache_ttl) { $data = new BootData(); $data->populate($CONFIG, $db, _elgg_services()->entityTable, _elgg_services()->plugins); return $data; } $item = $this->getStashItem($CONFIG); $item->setInvalidationMethod(Invalidation::NONE); $data = $item->get(); if ($item->isMiss()) { $data = new BootData(); $data->populate($CONFIG, $db, _elgg_services()->entityTable, _elgg_services()->plugins); $item->set($data); $item->expiresAfter($CONFIG->boot_cache_ttl); $item->save(); } else { $CONFIG->_boot_cache_hit = true; } return $data; }