public static function run() { self::$time_start = microtime(true); $log_msg = ""; // TODO: Substituir por $_POST if (isset($_GET['class'])) { $class_name = $_GET['class']; if (class_exists($class_name)) { try { /** @var SimpleAction $action */ $action = new $class_name(); $result = $action->run(); self::$result = array_merge(self::$result, $result); TTransaction::close(); } catch (PDOException $pdo_e) { // Grava a excessão que ocorreu. $log_msg = $pdo_e->getMessage(); switch ($pdo_e->errorInfo[1]) { case 1062: case 1452: self::$result["error"] = $pdo_e->errorInfo[1]; break; default: self::$result["error"] = 101; } TTransaction::rollback(); } catch (Exception $e) { // Grava a excessão que ocorreu. $log_msg = $e->getMessage(); self::$result["error"] = 1; TTransaction::rollback(); } } else { self::$result["error"] = 2; } if (self::$result["msg"] == null) { self::$result["msg"] = Tools::get_error_msg(self::$result["error"]); } $log_msg = $log_msg ? $log_msg : self::$result["msg"]; if (isset(self::$result["error"]) && self::$result["error"] != 0) { TTransaction::log($log_msg, 'error'); } self::addCurrentTime('Fim de chamada'); self::$result['time'] = self::$times; echo json_encode(self::$result); } }