Exception.php
00001 <?php
00009 class Dsao_Exception extends Exception
00010 {
00023 public function __construct($message, $code = 0)
00024 {
00025
00026 if (Dsao_Registry::isRegistered('translate'))
00027 {
00028
00029 $messagePrefix = 'exception_';
00030
00031
00032 $variables = array();
00033 $translateVariables = false;
00034 $translateString = true;
00035
00036
00037 if (is_array($message))
00038 {
00039
00040
00041 $messageArray = $message;
00042 $message = '';
00043
00044
00045 extract($messageArray, EXTR_IF_EXISTS);
00046 }
00047
00048
00049 if (true === $translateString)
00050 {
00051 $message = $messagePrefix.$message;
00052 }
00053
00054
00055 $message = Dsao_View_Smarty::sprintf
00056 ($message, $variables, $translateVariables, $translateString);
00057 }
00058
00059
00060 parent::__construct($message, $code);
00061 }
00062 }