| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- class StorageException extends Exception {
- public function __construct($message = null, $code = 0, Exception $previous = null) {
- if (is_array($message)) {
- if (count($message) > 0) {
- $dsErrors = array();
- foreach ($message as $vMsg) {
- $dsErrors[] = self::parseMessage($vMsg);
- }
- $message = implode("\n", $dsErrors);
- } else {
- $message = 'XXX' . json_encode($message);
- }
- } else {
- $message = self::parseMessage($message);
- }
- return parent::__construct($message, $code, $previous);
- }
- public static function parseMessage($message) {
- $parsedMsg = $message;
- //echo "\nMSG: ({$message})\n";
- //echo "\nMSG substr(0, 7): (" . substr($message, 0, 7) . ") substr(-15): (" . substr($message, -15) . ")\n";
- if ("Table '" == substr($message, 0, 7) && "' doesn't exist" == substr($message, -15)) {
- // #1146 - Table '{DATABASE_NAME}.WARNING: Update all paths' doesn't exist
- // #1146 - Table '{DATABASE_NAME}.ERROR: Loop detected ID=P_ID' doesn't exist
- // #1146 - Table '{DATABASE_NAME}.ERROR: Parent item not exists' doesn't exist
- // #1146 - Table '{DATABASE_NAME}.ERROR: Loop detected in path' doesn't exist
- $tmpMsg = $message;
- $tmpMsg = substr($tmpMsg, 7);
- $tmpMsg = substr($tmpMsg, 0, -15);
- if (false !== ($pos = strpos($tmpMsg, 'WARNING:'))) {
- $tmpMsg = substr($tmpMsg, $pos + 9);
- }
- if (false !== ($pos = strpos($tmpMsg, 'ERROR:'))) {
- $tmpMsg = substr($tmpMsg, $pos + 7);
- }
- //echo "\ntmpMsg: ({$tmpMsg})\n";
- switch ($tmpMsg) {
- case 'Update all paths': {
- $parsedMsg = "Zaktualizuj ścieżki projektów!";
- break;
- }
- case 'Loop detected ID=P_ID': {
- $parsedMsg = "Nr rekordu nadrzędnego musi różnić się od nr rekordu";
- break;
- }
- case 'Parent item not exists': {
- $parsedMsg = "Nie istnieje rekord o numerze podanym jako nr nadrzędny";
- break;
- }
- case 'Loop detected in path': {
- $parsedMsg = "Nieprawidłowy nr nadrzędny";
- break;
- }
- }
- }
- return $parsedMsg;
- }
- }
|