/** * show main login (index) page * @param \Base $f3 */ public function init(\Base $f3) { // page title $f3->set('pageTitle', 'Pathfinder'); // main page content $f3->set('pageContent', $f3->get('PATHFINDER.VIEW.LOGIN')); // body element class $f3->set('bodyClass', 'pf-body pf-landing'); // JS main file $f3->set('jsView', 'login'); // characters from cookies $f3->set('cookieCharacters', $this->getCookieByName(self::COOKIE_PREFIX_CHARACTER, true)); $f3->set('getCharacterGrid', function ($characters) { return 12 / count($characters) <= 3 ? 3 : 12 / count($characters); }); }
/** * Callback for framework "unload" * -> this function is called on each request! * -> configured in config.ini * @param \Base $f3 * @return bool */ public function unload(\Base $f3) { // track some 4xx Client side errors // 5xx errors are handled in "ONERROR" callback $status = http_response_code(); $halt = false; switch ($status) { case 403: // Unauthorized self::getLogger('UNAUTHORIZED')->write(sprintf(self::LOG_UNAUTHORIZED, $f3->get('IP'), $f3->get('AGENT'))); $halt = true; break; } // Ajax if ($halt && $f3->get('AJAX')) { $params = (array) $f3->get('POST'); $response = (object) []; $response->type = 'error'; $response->code = $status; $response->message = 'Access denied: User not found'; $return = (object) []; if ((bool) $params['reroute']) { $return->reroute = rtrim(self::getEnvironmentData('URL'), '/') . $f3->alias('login'); } else { // no reroute -> errors can be shown $return->error[] = $response; } echo json_encode($return); die; } return true; }
/** * get cache folder size as string * @param \Base $f3 * @return array */ protected function getCacheData(\Base $f3) { // get all cache ----------------------------------------------------------------------------------------- $cacheFilesAll = Search::getFilesByMTime($f3->get('TEMP')); $bytesAll = 0; foreach ($cacheFilesAll as $filename => $file) { $bytesAll += $file->getSize(); } // get data cache ----------------------------------------------------------------------------------------- $cacheFilesData = Search::getFilesByMTime($f3->get('TEMP') . 'cache/'); $bytesData = 0; foreach ($cacheFilesData as $filename => $file) { $bytesData += $file->getSize(); } return ['all' => $this->convertBytes($bytesAll), 'data' => $this->convertBytes($bytesData), 'template' => $this->convertBytes($bytesAll - $bytesData)]; }