Exception.php

00001 <?php
00009 class Dsao_Exception extends Exception
00010 {
00023   public function __construct($message, $code = 0)
00024   {
00025     // Falls Sprachverwaltung bereits initialisiert wurde
00026     if (Dsao_Registry::isRegistered('translate'))
00027     {
00028       // Präfix für die Message-IDs
00029       $messagePrefix = 'exception_';
00030 
00031       // Erwartete Parameter
00032       $variables = array();
00033       $translateVariables = false;
00034       $translateString = true;
00035 
00036       // Falls ein Array übergeben wurde
00037       if (is_array($message))
00038       {
00039         // Damit der Array nicht einfach überschrieben wird (wäre auch nicht
00040         // weiter schlimm, kann aber zu unerwarteten Resultaten führen)
00041         $messageArray = $message;
00042         $message = '';
00043 
00044         // Parameter extrahieren
00045         extract($messageArray, EXTR_IF_EXISTS);
00046       }
00047 
00048       // Falls die Nachricht übersetzt werden soll, Präfix davor hängen
00049       if (true === $translateString)
00050       {
00051         $message = $messagePrefix.$message;
00052       }
00053 
00054       // Nachricht übersetzen
00055       $message = Dsao_View_Smarty::sprintf
00056         ($message, $variables, $translateVariables, $translateString);
00057     }
00058 
00059     // An Elternkonstruktor übergeben
00060     parent::__construct($message, $code);
00061   }
00062 }

Erzeugt am Fri Sep 18 19:04:11 2009 für DSA online - Morgendaemmerung von  doxygen 1.5.7.1