Source for file class.ERROR.php

Documentation is available at class.ERROR.php

  1. <?php
  2.  
  3. /**
  4.  * Verwltet die Fwehlermeldungen
  5.  *
  6.  * @author Kay Koch
  7.  * @package src
  8.  * @since 1.12.04
  9.  * @subpackage tools
  10.  * @version 1
  11.  */
  12.  
  13. if (version_compare(PHP_VERSION'5')) {
  14.     die('This file was generated for PHP 5');
  15. }
  16.  
  17. /* user defined includes */
  18. // section -64--88-122--2-1328c7a:100b87cbb1c:-7ffe-includes begin
  19. // section -64--88-122--2-1328c7a:100b87cbb1c:-7ffe-includes end
  20.  
  21. /* user defined constants */
  22. // section -64--88-122--2-1328c7a:100b87cbb1c:-7ffe-constants begin
  23. // section -64--88-122--2-1328c7a:100b87cbb1c:-7ffe-constants end
  24.  
  25. /**
  26.  * Verwltet die Fwehlermeldungen
  27.  *
  28.  * @access public
  29.  * @author Kay Koch
  30.  * @package src
  31.  * @since 1.12.04
  32.  * @subpackage tools
  33.  * @version 1
  34.  */
  35. class src_tools_ERROR {
  36.     // --- ATTRIBUTES ---
  37.  
  38.     
  39.     /**
  40.      * Short description of attribute adminMailOnError
  41.      *
  42.      * @access private
  43.      * @var string 
  44.      */
  45.     private static $adminMailOnError'kay.koch@gmx.de';
  46.  
  47.     // --- OPERATIONS ---
  48.  
  49.     
  50.     /**
  51.      * Veranlasst eine Fehlerausgabe für Programmspezifische Fehlermeldungen
  52.      *
  53.      * @access public
  54.      * @author Kay Koch, <kay.koch@gmx.de>
  55.      * @param string 
  56.      * @param string 
  57.      * @return void 
  58.      */
  59.     public static function setError($e$desc''{
  60.         // section -64--88-122--2-1328c7a:100b87cbb1c:-7ffc begin
  61.         $errNr$e->getMessage();
  62.         $errMsgself :: getErrTxt($errNr)."\n".$e->getTraceAsString();
  63.         $errorself :: getErrorHandler($errNr$errMsg$e->getFile()$e->getLine());
  64.         exit;
  65.         // section -64--88-122--2-1328c7a:100b87cbb1c:-7ffc end
  66.     }
  67.  
  68.     /**
  69.      * liefert aufgrund einer Fehlernummer die Meldung
  70.      *
  71.      * @access public
  72.      * @author Kay Koch, <kay.koch@gmx.de>
  73.      * @param int 
  74.      * @return string 
  75.      */
  76.     public static function getErrTxt($errNr{
  77.         $returnValue= (string) '';
  78.  
  79.         // section -64--88-122--2-1328c7a:100b87cbb1c:-7ff7 begin
  80.         switch ($errNr{
  81.             case :
  82.                 $returnValue("SQL-String war leer");
  83.                 break;
  84.             case :
  85.                 $returnValue("Falscher SQL-Befehl");
  86.                 break;
  87.             case :
  88.                 $returnValue("Kein Datenverkehr zu Datenbank");
  89.                 break;
  90.             case :
  91.                 $returnValue("Es fehlt der nötige Parameter");
  92.                 break;
  93.             case :
  94.                 $returnValue("Objekt nicht vorhanden");
  95.                 break;
  96.             case :
  97.                 $returnValue("Übergabeparameter fehlt");
  98.                 break;
  99.             case :
  100.                 $returnValue("Dieser See existiert nicht");
  101.                 break;
  102.             case :
  103.                 $returnValue("Buchung konnte nicht in Datenbank eingetragen werden");
  104.                 break;
  105.             case :
  106.                 $returnValue("Freie Plätze konnten nicht aktualisiert werden");
  107.                 break;
  108.             case 10 :
  109.                 $returnValue("PDF-Dokument konnte nicht erstellt werden");
  110.                 break;
  111.             case 11 :
  112.                 $returnValue("Email konnte nicht versand werden");
  113.                 break;
  114.             case 12 :
  115.                 $returnValue("Diese Buchung existiert nicht (mit diesem Passwort)<br>Möglicherweise fand die Anmeldung vor mehr als 24h statt.");
  116.                 break;
  117.             case 13 :
  118.                 $returnValue("Buchung konnte nicht bestätigt werden (mit diesem Passwort)");
  119.                 break;
  120.             case 14 :
  121.                 $returnValue("Buchung konnte nicht gelöscht werden (mit diesem Passwort)");
  122.                 break;
  123.             case 15 :
  124.                 $returnValue("Pfad für PDF-Dokument hat keine Schreibrechte");
  125.                 break;
  126.             case 16 :
  127.                 $returnValue("PDF-Dokument konnte nicht angelegt werden");
  128.                 break;
  129.             case 17 :
  130.                 $returnValue("PDF-Dokument existiert nicht");
  131.                 break;
  132.             case 18 :
  133.                 $returnValue("PDF-Dokument konnte nicht gelöscht werden");
  134.                 break;
  135.             case 19 :
  136.                 $returnValue("Schwere VerÄnderung im System");
  137.                 break;
  138.             case 20 :
  139.                 $returnValue(" Feld darf nicht leer sein und muss ein gültiger Name sein<br>erlaubt sind Buchstaben, Leerzeichen und Bindestriche [z.B.: Scholl-Latour]");
  140.                 break;
  141.             case 21 :
  142.                 $returnValue("Ein LVST-Verein mit dieser Nummer existiert nicht");
  143.                 break;
  144.             case 22 :
  145.                 $returnValue("Feld darf nicht leer sein und muss ein gültiger Name sein<br>erlaubt sind Buchstaben, Leerzeichen und Bindestriche [z.B.: kay-Uwe]");
  146.                 break;
  147.             case 23 :
  148.                 $returnValue("Die Uhrzeit '00:00' gibt es nicht");
  149.                 break;
  150.             case 24 :
  151.                 $returnValue("Feld darf nicht leer sein und muss eine gültige Adresse sein<br>erlaubt sind Buchstaben, Punkte und Bindestriche [z.B.: info@lvst.de]");
  152.                 break;
  153.             case 25 :
  154.                 $returnValue("Eintrag ist größer als die Anzahl der maximalen Plätze");
  155.                 break;
  156.             case 26 :
  157.                 $returnValue("Eintrag ist keine gültige Vereinsnummer<br>eine Vereinsnummer hat den Aufbau xx/yyyy [09/1234]<br>bzw. freilassen für Nichtmitglieder des VDST");
  158.                 break;
  159.             case 27 :
  160.                 $returnValue("Eintrag ist keine gültige Brevetnummer<br>Es hat eine unberechtigter Zugriff stattgefunden");
  161.                 break;
  162.             case 28 :
  163.                 $returnValue("Eintrag ist keine gültige Anzahl<br>Es muss eine Zahl eingegeben werden");
  164.                 break;
  165.             case 29 :
  166.                 $returnValue("Anzahl Zahler darf nicht größer sein als die Anzahl der reservierten Plätze");
  167.                 break;
  168.             case 30 :
  169.                 $returnValue("Eintrag kann nicht größer als Gesamtanzahl sein");
  170.                 break;
  171.             case 31 :
  172.                 $returnValue("Eintrag ist keine gültige Telefonnummer<br>erlaubt sind Zahlen, Klammern und + [+49 (0651) 1706100]");
  173.                 break;
  174.             case 32 :
  175.                 $returnValue("Administratordaten konnten nicht geladen werden");
  176.                 break;
  177.             case 33 :
  178.                 $returnValue("Administrator-Emailadresse ist nicht korrekt");
  179.                 break;
  180.             case 34 :
  181.                 $returnValue("Administrator-Email konnte nicht verschickt werden");
  182.                 break;
  183.             case 35 :
  184.                 $returnValue("Wöchentliche Mail konnte nicht verschickt werden");
  185.                 break;
  186.             case 36 :
  187.                 $returnValue("User Mail konnte nicht verschickt werden");
  188.                 break;
  189.             case 37 :
  190.                 $returnValue("Mitglieder dieses Verbandes dürfen an diesem See zu dieser Zeit nicht tauchen");
  191.                 break;
  192.             case 38 :
  193.                 $returnValue("Mitglieder dieses Vereins dürfen an diesem See zu dieser Zeit nicht tauchen");
  194.                 break;
  195.             case 39 :
  196.                 $returnValue("Dieser Verein existiert nicht");
  197.                 break;
  198.             case 40 :
  199.                 $returnValue("Dieses Datum befindet sich bereits innerhalb des angezeigten Bereiches");
  200.                 break;
  201.             case 41 :
  202.                 $returnValue("Die Anzahl der Taucher ist zu hoch.<br>Möglicherweise liegt eine Reservierung vor");
  203.                 break;
  204.             case 42 :
  205.                 $returnValue("Eintrag ist keine gültige Verbandsnummer<br>Eine reine Verbandsnummer hat den Aufbau xx [z.B.: 09]");
  206.                 break;
  207.             case 43 :
  208.                 $returnValue("Eintrag ist keine gültige Vereinsnummer<br>Eine reine Vereinsnummer hat den Aufbau yyyy [z.B.: 0192]");
  209.                 break;
  210.             case 49 :
  211.                 $returnValue("Datum ist nicht vollständig");
  212.                 break;
  213.             case 50 :
  214.                 $returnValue("Bitte eine Zahl wählen");
  215.                 break;
  216.             case 51 :
  217.                 $returnValue("Datum ist nicht korrekt [YYYY-MM-TT]");
  218.                 break;
  219.             case 52 :
  220.                 $returnValue("Uhrzeit ist nicht korrekt [hh:mm]");
  221.                 break;
  222.             case 53 :
  223.                 $returnValue("Infoseite nicht korrekt [abc.html]");
  224.                 break;
  225.             case 54 :
  226.                 $returnValue("Preis ist nicht korrekt [float]");
  227.                 break;
  228.             case 55 :
  229.                 $returnValue("Anzahl ist nicht korrekt [int]");
  230.                 break;
  231.             case 56 :
  232.                 $returnValue("Brevet ist nicht korrekt [a-z 0-9 * \ / . - ]");
  233.                 break;
  234.             case 56 :
  235.                 $returnValue("Verband ist nicht korrekt [int xx]");
  236.                 break;
  237.             case 100 :
  238.                 $returnValue("Einträge konnten nicht eingefügt werden");
  239.                 break;
  240.             case 101 :
  241.                 $returnValue("Es sind keine alten Einträge vorhanden");
  242.                 break;
  243.             case 102 :
  244.                 $returnValue("Einträge konnten nicht im Archiv gespeichert werden");
  245.                 break;
  246.             case 103 :
  247.                 $returnValue("PDF-Dokument ist nicht vorhanden");
  248.                 break;
  249.             case 104 :
  250.                 $returnValue("Mail konnte nicht verschickt werden");
  251.                 break;
  252.             case 105 :
  253.                 $returnValue("Alte Einträge konnten nicht gelöscht werden");
  254.                 break;
  255.             case 106 :
  256.                 $returnValue("neues Passwort darf nicht leer sein");
  257.                 break;
  258.             case 107 :
  259.                 $returnValue("neues Passwort stimmt nicht mit Wiederholung überein");
  260.                 break;
  261.             case 108 :
  262.                 $returnValue("Das neue Passwort ist iddentisch mit dem alten");
  263.                 break;
  264.             case 109 :
  265.                 $returnValue("Name und/oder Passwort sind falsch");
  266.             case 110 :
  267.                 $returnValue("Das gewählte Datum befindet sich nicht im erlaubten Tauchzeitraum");
  268.                 break;
  269.             case 111 :
  270.                 $returnValue("Die gewählte Uhrzeit befindet sich nicht im erlaubten Tauchzeitraum");
  271.                 break;
  272.             default :
  273.                 $returnValue"Falsche Fehlernummer".$errNr;
  274.         }
  275.         // section -64--88-122--2-1328c7a:100b87cbb1c:-7ff7 end
  276.  
  277.         return (string) $returnValue;
  278.     }
  279.  
  280.     /**
  281.      * gibt für einen Fehler die Informationen aus
  282.      *
  283.      * @access public
  284.      * @author Kay Koch, <kay.koch@gmx.de>
  285.      * @param int 
  286.      * @param string 
  287.      * @param string 
  288.      * @param int 
  289.      * @return void 
  290.      */
  291.     public static function getErrorHandler($errno$errmsg$filename$linenum{
  292.         // section -64--88-122--2-3f9fc877:104611dccfe:-7fbd begin
  293.         try {
  294.             if (!error_reporting())
  295.                 throw new exception();
  296.             $error date("Y-m-d H:i:s")." | ".$linenum." | ".PHP_VERSION." (".PHP_OS.") | ".$filename."\n".$_SERVER['REQUEST_URI']."\n".$errmsg."\n";
  297.             // Fehlermeldung ausgeben
  298.             print "<pre><code>FEHLERMELDUNG:<br>".$error."</code></pre>";
  299.             // Fehlermeldung in Loddatei eintragen
  300.             error_log($error3"error.log");
  301.             // Fehlermeldung an Admin schicken
  302.             if (!error_log($error1src_foundation_db_DBDATA :: getAdminMail())) {
  303.                 self :: doErrorOutput("Bitte schicken Sie eine Mail mit der Fehlermeldung an: "self :: $adminMailOnError);
  304.             else
  305.                 self :: doErrorOutput("Fehlermail wurde an Administrator gesendet");
  306.         catch (Exception $e{}
  307.         // section -64--88-122--2-3f9fc877:104611dccfe:-7fbd end
  308.     }
  309.  
  310.     /**
  311.      * Benachrichtigung an Admin
  312.      *
  313.      * Gibt an, ob der Administrator über eine Fehlermeldung informiert wurde
  314.      *
  315.      * @access private
  316.      * @author Kay Koch, <kay.koch@gmx.de>
  317.      * @param string 
  318.      * @param string 
  319.      * @return void 
  320.      */
  321.     private static function doErrorOutput($errMsg$mail''{
  322.             // section -64--88-122--2-3f9fc877:104611dccfe:-7fb0 begin
  323.     $lengthstrlen($errMsg2;
  324.         if (!empty ($mail)) {
  325.             $length += strlen($mail);
  326.             $errMsg .= "<a href='mailto".self :: $adminMailOnError."'>".self :: $adminMailOnError."</a>";
  327.         }
  328.         src_tools_CACHE::clearCache();
  329.         die("<pre><code>+".str_repeat("-"$length)."+\n+ ".$errMsg." +\n+".str_repeat("-"$length)."+</code></pre>");
  330.         // section -64--88-122--2-3f9fc877:104611dccfe:-7fb0 end
  331.     }
  332.  
  333.     /**
  334.      * Fehlermeldung aus der Datenbank
  335.      *
  336.      * @access public
  337.      * @author Kay Koch, <kay.koch@gmx.de>
  338.      * @param void 
  339.      * @param string 
  340.      * @return void 
  341.      */
  342.     public static function setDBError($e$desc''{
  343.             // section -64--88-0-1--1e6707e3:1048f065750:-7ff7 begin
  344.     $errMsg$e->getMessage()."\n".$e->getTraceAsString();
  345.         $errorself :: getErrorHandler(" "$errMsg$e->getFile()$e->getLine());
  346.         // section -64--88-0-1--1e6707e3:1048f065750:-7ff7 end
  347.     }
  348.  
  349. /* end of class src_tools_ERROR */
  350. ?>

Documentation generated on Sat, 24 Mar 2007 09:59:10 +0100 by phpDocumentor 1.3.1