function error($description, $error_place='', $params=array()) { trigger_error('error', E_USER_WARNING); if(isset($GLOBALS['error_recursion']) && $GLOBALS['error_recursion']) die($description . ' - (error recursion!!!)'); $description = $description . "\n\nback trace:\n" . get_trace_back(); $GLOBALS['error_recursion'] = true; rollback_user_transaction(); debug :: set_message_output(DEBUG_OUTPUT_MESSAGE_STORE | DEBUG_OUTPUT_MESSAGE_SEND); debug :: write_error($description, $error_place, $params); if (debug :: is_console_enabled()) { debug :: write_error($description, $error_place, $params); echo debug :: parse_console(); } ob_end_flush(); exit(); }
function error($description, $error_place = '', $params = array()) { if (defined('DEVELOPER_ENVIROMENT')) { trigger_error('error', E_USER_WARNING); echo $description . '<br>' . $error_place . '<br><pre>'; print_r($params); echo '</pre>'; } debug::write_error($description, $error_place, $params); rollback_user_transaction(); if (debug::is_console_enabled()) { echo debug::parse_html_console(); } else { $message = ''; if ($user_id = user::get_id()) { $message .= "user id:\t{$user_id}\nlogin:\t\t" . user::get_login() . "\ne-mail:\t\t" . user::get_email() . "\n"; } $message .= "ip:\t\t" . sys::client_ip() . "\nrequest:\t" . REQUEST_URI . "\nerror:\t\t{$title}\ndescription:\t{$msg}"; $mail = new mime_mail(); $mail->set_body($message); $mail->build_message(); $mail->send('developer', DEVELOPER_EMAIL, '', WEBSITE_EMAIL, $_SERVER['HTTP_HOST'] . ' internal error!'); } ob_end_flush(); exit; }
function error($description, $error_place='', $params=array()) { if(isset($GLOBALS['error_recursion']) && $GLOBALS['error_recursion']) die(); $GLOBALS['error_recursion'] = true; if(defined('DEVELOPER_ENVIROMENT')) { trigger_error('error', E_USER_WARNING); echo( $description . '<br>' . $error_place . '<br><pre>'); print_r($params); echo('</pre>'); } $description = $description . "\n\nback trace:\n" . get_trace_back(); rollback_user_transaction(); debug :: set_message_output(DEBUG_OUTPUT_MESSAGE_STORE | DEBUG_OUTPUT_MESSAGE_SEND); debug :: write_error($description, $error_place, $params); if (debug :: is_console_enabled()) { debug :: write_error($description, $error_place, $params); echo debug :: parse_console(); } ob_end_flush(); exit; }
function _end_transaction() { if (!$this->is_transaction_required()) { return; } if ($this->_response->is_success()) { commit_user_transaction(); } else { rollback_user_transaction(); } }
function _end_transaction(&$request) { if(!$this->is_transaction_required()) return; if($request->is_success()) commit_user_transaction(); else rollback_user_transaction(); }
function process() { if (!$this->_current_action) { return false; } if ($is_transacton = $this->_is_transaction_required()) { start_user_transaction(); } $action =& $this->get_action_object(); $perform_result = true; if (is_object($action)) { if ($view =& $this->get_view()) { $action->set_view($view); } $perform_result = $action->perform(); } if ($is_transacton) { if ($perform_result) { commit_user_transaction(); } else { rollback_user_transaction(); } } return $perform_result; }
function test_transactions() { $db =& db_factory :: instance(); start_user_transaction(); $db->sql_insert("founding_fathers", array('first' => 'Richard', 'last' => 'Nixon', 'dog_name' => null)); $db->sql_insert("founding_fathers", array('first' => 'Richard', 'last' => 'Nixon2', 'dog_name' => null)); $db->sql_insert("founding_fathers", array('first' => 'Richard', 'last' => 'Nixon3', 'dog_name' => null)); rollback_user_transaction(); $db->sql_select("founding_fathers", '*', 'last="Nixon"'); $this->assertEqual(sizeof($db->get_array()), 0); start_user_transaction(); $db->sql_insert("founding_fathers", array('first' => 'Richard', 'last' => 'Nixon', 'dog_name' => null)); $db->sql_insert("founding_fathers", array('first' => 'Richard', 'last' => 'Nixon2', 'dog_name' => null)); $db->sql_insert("founding_fathers", array('first' => 'Richard', 'last' => 'Nixon3', 'dog_name' => null)); commit_user_transaction(); $db->sql_select("founding_fathers", '*', 'last="Nixon" OR last="Nixon2" OR last="Nixon3"'); $this->assertEqual(sizeof($db->get_array()), 3); start_user_transaction(); $db->sql_insert("founding_fathers", array('first' => 'Richard', 'last' => 'Nixxxxx', 'dog_name' => null)); $db->sql_select("founding_fathers", '*', 'last="Nixxxxx"'); $arr = $db->get_array(); $this->assertEqual(sizeof($arr), 1); $this->assertEqual($arr[0]['last'], 'Nixxxxx'); rollback_user_transaction(); $db->sql_select("founding_fathers", '*', 'last="Nixxxxx"'); $arr = $db->get_array(); $this->assertEqual(sizeof($arr), 0); }