mirror of
https://github.com/atlanticbiomedical/portal-legacy.git
synced 2025-07-02 01:47:28 -04:00
initial commit
This commit is contained in:
91
lib/symfony/vendor/pake/pakeException.class.php
vendored
Executable file
91
lib/symfony/vendor/pake/pakeException.class.php
vendored
Executable file
@ -0,0 +1,91 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of the pake package.
|
||||
* (c) 2004, 2005 Fabien Potencier <fabien.potencier@symfony-project.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
/**
|
||||
* pakeException is the base class for all pake related exceptions and
|
||||
* provides an additional method for printing up a detailed view of an
|
||||
* exception.
|
||||
*
|
||||
* @package pake
|
||||
* @author Fabien Potencier <fabien.potencier@symfony-project.com>
|
||||
* @version SVN: $Id: pakeException.class.php 2795 2006-11-23 19:51:21Z fabien $
|
||||
*/
|
||||
class pakeException extends Exception
|
||||
{
|
||||
public static function strlen($string)
|
||||
{
|
||||
return function_exists('mb_strlen') ? mb_strlen($string) : strlen($string);
|
||||
}
|
||||
|
||||
function render($e)
|
||||
{
|
||||
$title = ' ['.get_class($e).'] ';
|
||||
$len = self::strlen($title);
|
||||
$lines = array();
|
||||
foreach (explode("\n", $e->getMessage()) as $line)
|
||||
{
|
||||
$lines[] = ' '.$line.' ';
|
||||
$len = max(self::strlen($line) + 4, $len);
|
||||
}
|
||||
$messages = array(
|
||||
str_repeat(' ', $len),
|
||||
$title.str_repeat(' ', $len - self::strlen($title)),
|
||||
);
|
||||
|
||||
foreach ($lines as $line)
|
||||
{
|
||||
$messages[] = $line.str_repeat(' ', $len - self::strlen($line));
|
||||
}
|
||||
|
||||
$messages[] = str_repeat(' ', $len);
|
||||
|
||||
fwrite(STDERR, "\n");
|
||||
foreach ($messages as $message)
|
||||
{
|
||||
fwrite(STDERR, pakeColor::colorize($message, 'ERROR', STDERR)."\n");
|
||||
}
|
||||
fwrite(STDERR, "\n");
|
||||
|
||||
$pake = pakeApp::get_instance();
|
||||
|
||||
if ($pake->get_trace())
|
||||
{
|
||||
fwrite(STDERR, "exception trace:\n");
|
||||
|
||||
$trace = $this->trace($e);
|
||||
for ($i = 0, $count = count($trace); $i < $count; $i++)
|
||||
{
|
||||
$class = (isset($trace[$i]['class']) ? $trace[$i]['class'] : '');
|
||||
$type = (isset($trace[$i]['type']) ? $trace[$i]['type'] : '');
|
||||
$function = $trace[$i]['function'];
|
||||
$file = isset($trace[$i]['file']) ? $trace[$i]['file'] : 'n/a';
|
||||
$line = isset($trace[$i]['line']) ? $trace[$i]['line'] : 'n/a';
|
||||
|
||||
fwrite(STDERR, sprintf(" %s%s%s at %s:%s\n", $class, $type, $function, pakeColor::colorize($file, 'INFO', STDERR), pakeColor::colorize($line, 'INFO', STDERR)));
|
||||
}
|
||||
}
|
||||
|
||||
fwrite(STDERR, "\n");
|
||||
}
|
||||
|
||||
function trace($exception)
|
||||
{
|
||||
// exception related properties
|
||||
$trace = $exception->getTrace();
|
||||
array_unshift($trace, array(
|
||||
'function' => '',
|
||||
'file' => ($exception->getFile() != null) ? $exception->getFile() : 'n/a',
|
||||
'line' => ($exception->getLine() != null) ? $exception->getLine() : 'n/a',
|
||||
'args' => array(),
|
||||
));
|
||||
|
||||
return $trace;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user