Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function handle404($sourcePath, $url)
- {
- $fileType = strtolower(pathinfo(parse_url($url, PHP_URL_PATH), PATHINFO_EXTENSION));
- switch (true) {
- case (in_array($fileType, ['jpg', 'jpeg', 'gif', 'png', 'bmp']) && ARCHIVARIX_FIX_MISSING_IMAGES):
- $fileName = $sourcePath . DIRECTORY_SEPARATOR . '1px.png';
- $size = filesize($fileName);
- render(['folder' => '', 'filename' => '1px.png', 'mimetype' => 'image/png', 'charset' => 'binary', 'filesize' => $size], $sourcePath);
- break;
- case ($fileType === 'ico' && ARCHIVARIX_FIX_MISSING_ICO):
- $fileName = $sourcePath . DIRECTORY_SEPARATOR . 'empty.ico';
- $size = filesize($fileName);
- render(['folder' => '', 'filename' => 'empty.ico', 'mimetype' => 'image/x-icon', 'charset' => 'binary', 'filesize' => $size], $sourcePath);
- break;
- case($fileType === 'css' && ARCHIVARIX_FIX_MISSING_CSS):
- $fileName = $sourcePath . DIRECTORY_SEPARATOR . 'empty.css';
- $size = filesize($fileName);
- render(['folder' => '', 'filename' => 'empty.css', 'mimetype' => 'text/css', 'charset' => 'utf-8', 'filesize' => $size], $sourcePath);
- break;
- case ($fileType === 'js' && ARCHIVARIX_FIX_MISSING_JS):
- $fileName = $sourcePath . DIRECTORY_SEPARATOR . 'empty.js';
- $size = filesize($fileName);
- render(['folder' => '', 'filename' => 'empty.js', 'mimetype' => 'application/javascript', 'charset' => 'utf-8', 'filesize' => $size], $sourcePath);
- break;
- case (ARCHIVARIX_REDIRECT_MISSING_HTML && ARCHIVARIX_REDIRECT_MISSING_HTML !== $_SERVER['REQUEST_URI']):
- header('Location: ' . ARCHIVARIX_REDIRECT_MISSING_HTML);
- http_response_code(301);
- exit(0);
- break;
- default:
- http_response_code(404);
- }
- }
Add Comment
Please, Sign In to add comment