Guest User

Untitled

a guest
Dec 12th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.71 KB | None | 0 0
  1. function handle404($sourcePath, $url)
  2. {
  3. $fileType = strtolower(pathinfo(parse_url($url, PHP_URL_PATH), PATHINFO_EXTENSION));
  4. switch (true) {
  5. case (in_array($fileType, ['jpg', 'jpeg', 'gif', 'png', 'bmp']) && ARCHIVARIX_FIX_MISSING_IMAGES):
  6. $fileName = $sourcePath . DIRECTORY_SEPARATOR . '1px.png';
  7. $size = filesize($fileName);
  8. render(['folder' => '', 'filename' => '1px.png', 'mimetype' => 'image/png', 'charset' => 'binary', 'filesize' => $size], $sourcePath);
  9. break;
  10. case ($fileType === 'ico' && ARCHIVARIX_FIX_MISSING_ICO):
  11. $fileName = $sourcePath . DIRECTORY_SEPARATOR . 'empty.ico';
  12. $size = filesize($fileName);
  13. render(['folder' => '', 'filename' => 'empty.ico', 'mimetype' => 'image/x-icon', 'charset' => 'binary', 'filesize' => $size], $sourcePath);
  14. break;
  15. case($fileType === 'css' && ARCHIVARIX_FIX_MISSING_CSS):
  16. $fileName = $sourcePath . DIRECTORY_SEPARATOR . 'empty.css';
  17. $size = filesize($fileName);
  18. render(['folder' => '', 'filename' => 'empty.css', 'mimetype' => 'text/css', 'charset' => 'utf-8', 'filesize' => $size], $sourcePath);
  19. break;
  20. case ($fileType === 'js' && ARCHIVARIX_FIX_MISSING_JS):
  21. $fileName = $sourcePath . DIRECTORY_SEPARATOR . 'empty.js';
  22. $size = filesize($fileName);
  23. render(['folder' => '', 'filename' => 'empty.js', 'mimetype' => 'application/javascript', 'charset' => 'utf-8', 'filesize' => $size], $sourcePath);
  24. break;
  25. case (ARCHIVARIX_REDIRECT_MISSING_HTML && ARCHIVARIX_REDIRECT_MISSING_HTML !== $_SERVER['REQUEST_URI']):
  26. header('Location: ' . ARCHIVARIX_REDIRECT_MISSING_HTML);
  27. http_response_code(301);
  28. exit(0);
  29. break;
  30. default:
  31. http_response_code(404);
  32. }
  33. }
Add Comment
Please, Sign In to add comment