Exemplo n.º 1
0
 public function testStartedByOther()
 {
     TransactionManager::begin($this->Model->useDbConfig);
     $this->Model->save($this->Model->create());
     $this->assertEqual($this->_getBehavior()->log, array());
     TransactionManager::rollback($this->Model->useDbConfig);
 }
Exemplo n.º 2
0
 public static function process($exception)
 {
     if (class_exists('TransactionManager')) {
         TransactionManager::rollback();
     }
     $params = array('class' => $class = get_class($exception), 'message' => $exception->getMessage(), 'file' => str_replace(ROOT, 'ROOT', $exception->getFile()), 'line' => $exception->getLine(), 'trace' => $exception->getTraceAsString());
     $textError = self::_text($params);
     if (Configure::read('debug') == 0) {
         Object::log($textError);
         switch (true) {
             case $class === 'DatabaseError':
                 return Object::cakeError('error503', array(array('code' => 503, 'name' => 'Service Unavailable', 'message' => '')));
             case isset($exception->httpCode):
                 $error = $exception->httpCode === 403 ? 'forbidden' : 'error' . $exception->httpCode;
                 return Object::cakeError($error);
         }
         return Object::cakeError('error500', array(array('code' => 500, 'name' => 'An Internal Error Has Occurred', 'message' => '')));
     } else {
         if (php_sapi_name() == 'cli') {
             echo $textError;
         } else {
             header('Content-Type: text/html; charset=UTF-8');
             echo self::_html($params);
         }
     }
 }
Exemplo n.º 3
0
 public static function rollback($datasource = 'default')
 {
     $result = parent::rollback($datasource);
     if ($result) {
         self::$rollbacked[] = $datasource;
     }
     return $result;
 }