summaryrefslogtreecommitdiff
path: root/error.php
blob: 16b3a3173ce168dd0ff928b7e56ea31555cbce04 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?

function error_flood() {
  global $site_email;

  print "WARNING: submission rate exceeded.  We detected too much data or events from your IP.  Please wait a few minutes and try again.  If you think this is not justified, please contact us at <A HREF=\"mailto:$site_email\">$site_email</A>.";
} 

function error_httpd() {
  global $REDIRECT_STATUS, $REDIRECT_URL, $HTTP_REFERER;

  switch($REDIRECT_STATUS) {
    case 500:
      $message = "500 error - internal server error";
      break;
    case 404:
      $message = "404 error - document not found";
      break;
    case 403:
      $message = "403 error - access denied - forbidden";
      break;
    case 401:
      $message = "401 error - authorization required";
      break;
    case 401:
      $message = "400 error - bad request";
      break;
    default:
      $message = "unknown error";
  }

  watchdog("error", "message: `$message' - requested url: $REDIRECT_URL - referring url: $HTTP_REFERER");
 
  print "<PRE>\n";
  print "<H1>Oops, an error occured!</H1>\n";
  print "<B>Processed output:</B><BR>\n";
  print "  * $message<BR>\n";
  print "  * Return to the <A HREF=\"\">main page</A>.\n";
  print "</PRE>\n";
}

include "includes/theme.inc";

switch ($op) {
  case "flood":
    error_flood();    
    break;
  default:
    error_httpd();
}

?>