/** * @return string */ private function fileCachedPage() { $context = RequestContext::getMain(); if ($context->getOutput()->isDisabled()) { // Done already? return ''; } if ($context->getTitle()) { // Use the main context's title if we managed to set it $t = $context->getTitle()->getPrefixedDBkey(); } else { // Fallback to the raw title URL param. We can't use the Title // class is it may hit the interwiki table and give a DB error. // We may get a cache miss due to not sanitizing the title though. $t = str_replace(' ', '_', $context->getRequest()->getVal('title')); if ($t == '') { // fallback to main page $t = Title::newFromText($this->msg('mainpage', 'Main Page'))->getPrefixedDBkey(); } } $cache = new HTMLFileCache($t, 'view'); if ($cache->isCached()) { return $cache->fetchText(); } else { return ''; } }