Source for file jErrorHandler.lib.php

Documentation is available at jErrorHandler.lib.php

  1. <?php
  2. /**
  3. @package    jelix
  4. @subpackage core
  5. @author     Laurent Jouanneau
  6. @contributor Sylvain de Vathaire
  7. @contributor Loic Mathaud <loic@mathaud.net>
  8. @copyright  2001-2005 CopixTeam, 2005-2008 Laurent Jouanneau, 2007 Sylvain de Vathaire, 2007 Loic Mathaud
  9. *  This function was get originally from the Copix project (CopixErrorHandler, Copix 2.3dev20050901, http://www.copix.org)
  10. *  Few lines of code are still copyrighted 2001-2005 CopixTeam (LGPL licence).
  11. *  Initial authors of this function are Gerald Croes and Laurent Jouanneau,
  12. *  and it was adapted/improved for Jelix by Laurent Jouanneau
  13. *
  14. @link        http://www.jelix.org
  15. @licence    http://www.gnu.org/licenses/lgpl.html GNU Lesser General Public Licence, see LICENCE file
  16. */
  17.  
  18.  
  19. /**
  20. * Error handler for the framework.
  21. * Replace the default PHP error handler
  22. @param   integer     $errno      error code
  23. @param   string      $errmsg     error message
  24. @param   string      $filename   filename where the error appears
  25. @param   integer     $linenum    line number where the error appears
  26. @param   array       $errcontext 
  27. */
  28. function jErrorHandler($errno$errmsg$filename$linenum$errcontext){
  29.     global $gJConfig$gJCoord;
  30.  
  31.     if (error_reporting(== 0)
  32.         return;
  33.  
  34.     $codeString array(
  35.         E_ERROR         => 'error',
  36.         E_RECOVERABLE_ERROR => 'error',
  37.         E_WARNING       => 'warning',
  38.         E_NOTICE        => 'notice',
  39.         E_DEPRECATED    => 'deprecated',
  40.         E_USER_ERROR    => 'error',
  41.         E_USER_WARNING  => 'warning',
  42.         E_USER_NOTICE   => 'notice',
  43.         E_USER_DEPRECATED => 'deprecated',
  44.         E_STRICT        => 'strict'
  45.     );
  46.  
  47.     if(preg_match('/^\s*\((\d+)\)(.+)$/',$errmsg,$m)){
  48.         $code $m[1];
  49.         $errmsg $m[2];
  50.     }else{
  51.         $code=1;
  52.     }
  53.  
  54.     if (!isset ($codeString[$errno])){
  55.         $errno E_ERROR;
  56.     }
  57.     $codestr $codeString[$errno];
  58.  
  59.     if ($gJConfig{
  60.         $toDo $gJConfig->error_handling[$codestr];
  61.     }
  62.     else {
  63.         $toDo 'ECHO EXIT';
  64.     }
  65.     $trace debug_backtrace();
  66.     array_shift($trace);
  67.     $gJCoord->handleError($toDo$codestr$errno$errmsg$filename$linenum$trace);
  68. }

Documentation generated on Thu, 19 Sep 2013 00:04:15 +0200 by phpDocumentor 1.4.3