本文整理汇总了PHP中sql_query::trans_rollback方法的典型用法代码示例。如果您正苦于以下问题:PHP sql_query::trans_rollback方法的具体用法?PHP sql_query::trans_rollback怎么用?PHP sql_query::trans_rollback使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sql_query
的用法示例。
在下文中一共展示了sql_query::trans_rollback方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1:
function action_delete()
{
log_debug("cdr_customers_services_ddi", "Executing action_delete()");
/*
Start Transaction
*/
$sql_obj = new sql_query();
$sql_obj->trans_begin();
/*
Delete DDI
*/
$sql_obj->string = "DELETE FROM services_customers_ddi WHERE id='" . $this->id . "' LIMIT 1";
$sql_obj->execute();
/*
Commit
*/
if (error_check()) {
$sql_obj->trans_rollback();
log_write("error", "cdr_customers_services_ddi", "An error occured whilst trying to delete the DDI.");
return 0;
} else {
$sql_obj->trans_commit();
log_write("notification", "cdr_customers_services_ddi", "DDI has been successfully deleted.");
return 1;
}
}
示例2: invoice_form_tax_override_process
function invoice_form_tax_override_process($returnpage)
{
log_debug("inc_invoices_items", "Executing invoice_form_tax_override_process({$returnpage})");
/*
Start invoice_items object
*/
$item = new invoice_items();
$item->id_invoice = @security_form_input_predefined("int", "invoiceid", 1, "");
$item->id_item = @security_form_input_predefined("int", "itemid", 1, "");
$item->type_invoice = "ap";
// only AP invoices can have taxes overridden
/*
Fetch all form data
*/
$data["amount"] = @security_form_input_predefined("money", "amount", 0, "");
//// ERROR CHECKING ///////////////////////
/*
Verify invoice/form data
*/
if ($item->verify_invoice()) {
if (!$item->verify_item()) {
$_SESSION["error"]["message"][] = "The provided tax does not exist.";
}
} else {
$_SESSION["error"]["message"][] = "The provided invoice does not exist.";
}
/// if there was an error, go back to the entry page
if ($_SESSION["error"]["message"]) {
$_SESSION["error"]["form"]["ap_invoice_" . $mode . "_override"] = "failed";
header("Location: ../../index.php?page={$returnpage}&id=" . $item->id_invoice);
exit(0);
} else {
/*
Start SQL Transaction
*/
$sql_obj = new sql_query();
$sql_obj->trans_begin();
/*
Depending on the amount, we either delete the tax item (if the amount is 0) or we
adjust the tax item.
*/
if ($data["amount"] == 0) {
// delete item
$item->action_delete();
// done
$_SESSION["notification"]["message"] = array("Deleted unwanted tax.");
} else {
// load & update the tax item
$item->load_data();
$item->data["amount"] = $data["amount"];
$item->action_update();
// done
$_SESSION["notification"]["message"] = array("Updated tax value with custom input.");
}
// update invoice summary
$item->action_update_total();
// update ledger
$item->action_update_ledger();
/*
Commit
*/
if (error_check()) {
$sql_obj->trans_rollback();
log_write("error", "inc_invoice_items", "An error occured whilst overriding tax. No changes have been made");
} else {
$sql_obj->trans_commit();
}
// done
header("Location: ../../index.php?page={$returnpage}&id=" . $item->id_invoice);
exit(0);
}
}
示例3: SoapFault
function delete_invoice_item($itemid)
{
log_debug("accounts_invoices_manage", "Executing delete_invoice_itemid({$itemid})");
// sanatise item ID
$itemid = @security_script_input_predefined("any", $itemid);
// fetch the invoice ID and type
$sql_item_obj = new sql_query();
$sql_item_obj->string = "SELECT invoiceid, invoicetype FROM account_items WHERE id='" . $itemid . "' LIMIT 1";
$sql_item_obj->execute();
if (!$sql_item_obj->num_rows()) {
throw new SoapFault("Sender", "INVALID_ITEMID");
}
$sql_item_obj->fetch_array();
if (user_permissions_get("accounts_" . $sql_item_obj->data[0]["invoicetype"] . "_write")) {
$obj_invoice_item = new invoice_items();
$obj_invoice_item->type_invoice = $sql_item_obj->data[0]["invoicetype"];
$obj_invoice_item->id_invoice = $sql_item_obj->data[0]["invoiceid"];
$obj_invoice_item->id_item = $itemid;
// make sure invoice is not locked
if ($obj_invoice_item->check_lock()) {
throw new SoapFault("Sender", "LOCKED");
}
/*
Perform Changes
*/
// start SQL transaction
$sql_obj = new sql_query();
$sql_obj->trans_begin();
if (!$obj_invoice_item->action_delete()) {
$sql_obj->trans_rollback();
throw new SoapFault("Sender", "UNEXPECTED_ACTION_ERROR");
}
// re-calculate taxes, totals and ledgers as required
$obj_invoice_item->action_update_tax();
$obj_invoice_item->action_update_total();
$obj_invoice_item->action_update_ledger();
// commit
if (error_check()) {
$sql_obj->trans_rollback();
throw new SoapFault("Sender", "UNEXPECTED_ACTION_ERROR");
} else {
$sql_obj->trans_commit();
return 1;
}
} else {
throw new SoapFault("Sender", "ACCESS DENIED");
}
}
示例4: autopay
function autopay()
{
log_write("debug", "invoice_autopay", "Executing autopay()");
// check capabilities
if (!$this->capable) {
if (!$this->check_autopay_capable()) {
return 0;
}
}
/*
Start SQL Transaction
*/
$sql_obj = new sql_query();
$sql_obj->trans_begin();
/*
Load Invoice Data
*/
$this->obj_invoice = new invoice();
$this->obj_invoice->id = $this->id_invoice;
$this->obj_invoice->type = $this->type_invoice;
if (!$this->obj_invoice->load_data()) {
log_write("error", "invoice_autopay", "Unable to load invoice data for checking for autopayments");
return -1;
}
/*
Make AutoPayments
*/
// handle credit payments
$this->autopay_credit();
// future: credit card, direct debit?
/*
Commit
*/
if (error_check()) {
$sql_obj->trans_rollback();
log_write("error", "invoice_autopay", "An error occured whilst making an invoice autopayment");
return 0;
} else {
$sql_obj->trans_commit();
return 1;
}
}
示例5: count
function action_delete()
{
log_debug("service_groups", "Executing action_delete()");
$id_parent = sql_get_singlevalue("SELECT id_parent AS value FROM service_groups WHERE id='{$this->id}' LIMIT 1");
$child_groups = sql_get_singlecol("SELECT id AS col FROM service_groups WHERE id_parent='{$this->id}'");
//exit("<pre>".print_r($child_groups,true)."</pre>");
/*
Start Transaction
*/
$sql_obj = new sql_query();
$sql_obj->trans_begin();
/*
Delete service group
*/
$sql_obj->string = "DELETE FROM service_groups WHERE id='" . $this->id . "' LIMIT 1";
$sql_obj->execute();
$child_count = count($child_groups);
if ($child_count > 0) {
$sql_obj->string = "UPDATE `service_groups` SET `id_parent` = '{$id_parent}' WHERE `id` IN('" . implode("', '", $child_groups) . "') LIMIT {$child_count};";
$sql_obj->execute();
}
/*
Commit
*/
if (error_check()) {
$sql_obj->trans_rollback();
log_write("error", "service_groups", "An error occured whilst trying to delete the service group.");
return 0;
} else {
$sql_obj->trans_commit();
log_write("notification", "service_groups", "Service group has been successfully deleted.");
return 1;
}
}
示例6: WHERE
function action_delete()
{
log_debug("inc_credits_refund", "Executing action_delete()");
// we must have an ID provided
if (!$this->id) {
log_debug("inc_credits_refund", "No credit refund ID to action_delete function");
return 0;
}
/*
Start SQL Transaction
*/
$sql_obj = new sql_query();
$sql_obj->trans_begin();
/*
Delete Credit Refund
*/
$sql_obj->string = "DELETE FROM " . $this->type . "s_credits WHERE id='" . $this->id . "' LIMIT 1";
$sql_obj->execute();
/*
Delete Ledger Items
*/
if ($this->type == "customer") {
$sql_obj->string = "DELETE FROM account_trans WHERE (type='ar_refund') AND customid='" . $this->id . "'";
$sql_obj->execute();
} else {
$sql_obj->string = "DELETE FROM account_trans WHERE (type='ap_refund') AND customid='" . $this->id . "'";
$sql_obj->execute();
}
/*
Commit
*/
if (error_check()) {
$sql_obj->trans_rollback();
log_write("error", "invoice", "An error occured whilst deleting the credit refund. No changes have been made.");
return 0;
} else {
$sql_obj->trans_commit();
return 1;
}
}
示例7: service_form_delete_process
function service_form_delete_process()
{
log_debug("inc_services_process", "Executing service_form_delete_process()");
/*
Fetch all form data
*/
// get form data
$id = @security_form_input_predefined("int", "id_service", 1, "");
$data["delete_confirm"] = @security_form_input_predefined("any", "delete_confirm", 1, "You must confirm the deletion");
//// ERROR CHECKING ///////////////////////
// make sure the service actually exists
$sql_obj = new sql_query();
$sql_obj->string = "SELECT id FROM services WHERE id='{$id}' LIMIT 1";
$sql_obj->execute();
if (!$sql_obj->num_rows()) {
log_write("error", "process", "The service you have attempted to edit - {$id} - does not exist in this system.");
}
// make sure the service is not active for any customers
$sql_obj = new sql_query();
$sql_obj->string = "SELECT id FROM services_customers WHERE serviceid='{$id}' LIMIT 1";
$sql_obj->execute();
if ($sql_obj->num_rows()) {
log_write("error", "process", "Service is active for customers and can therefore not be deleted.");
}
/// if there was an error, go back to the entry page
if ($_SESSION["error"]["message"]) {
$_SESSION["error"]["form"]["service_delete"] = "failed";
header("Location: ../index.php?page=services/delete.php&id={$id}");
exit(0);
} else {
/*
Begin Transaction
*/
$sql_obj = new sql_query();
$sql_obj->trans_begin();
/*
Delete the service data
*/
$sql_obj->string = "DELETE FROM services WHERE id='{$id}' LIMIT 1";
$sql_obj->execute();
/*
Delete the service taxes
*/
$sql_obj->string = "DELETE FROM services_taxes WHERE serviceid='{$id}'";
$sql_obj->execute();
/*
Delete the service bundle components (if any)
*/
$sql_bundle_obj = new sql_query();
$sql_bundle_obj->string = "SELECT id FROM services_bundles WHERE id_service='{$id}'";
$sql_bundle_obj->execute();
if ($sql_bundle_obj->num_rows()) {
$sql_bundle_obj->fetch_array();
foreach ($sql_bundle_obj->data as $data_bundle) {
// delete any options for each bundle item
$sql_obj->string = "DELETE FROM services_options WHERE option_type='service' AND option_type_id='" . $data_bundle["id"] . "'";
$sql_obj->execute();
}
}
$sql_obj->string = "DELETE FROM services_bundles WHERE id_service='{$id}'";
$sql_obj->execute();
/*
Delete the service cdr rate overrides (if any)
*/
$sql_obj->string = "DELETE FROM cdr_rate_tables_overrides WHERE option_type='service' AND option_type_id='{$id}'";
$sql_obj->execute();
/*
Delete service journal data
*/
journal_delete_entire("services", $id);
/*
Commit
*/
if (error_check()) {
$sql_obj->trans_rollback();
log_write("error", "process", "An error occured whilst attempting to delete the transaction. No changes have been made.");
header("Location: ../index.php?page=services/view.php&id={$id}");
exit(0);
} else {
$sql_obj->trans_commit();
log_write("notification", "process", "Service successfully deleted");
header("Location: ../index.php?page=services/services.php");
exit(0);
}
}
// end if passed tests
}
示例8:
function action_delete()
{
log_debug("inc_staff", "Executing action_delete()");
/*
Start Transaction
*/
$sql_obj = new sql_query();
$sql_obj->trans_begin();
/*
Delete Employee
*/
$sql_obj->string = "DELETE FROM staff WHERE id='" . $this->id . "' LIMIT 1";
$sql_obj->execute();
/*
Delete User <-> Employee permissions mappings
*/
$sql_obj->string = "DELETE FROM users_permissions_staff WHERE staffid='{$this->id}'";
$sql_obj->execute();
/*
Delete Journal
*/
journal_delete_entire("staff", $this->id);
/*
Commit
*/
if (error_check()) {
$sql_obj->trans_rollback();
log_write("error", "inc_staff", "An error occured whilst attempting to delete the employee. No changes have been made.");
return 0;
} else {
$sql_obj->trans_commit();
log_write("notification", "inc_staff", "Employee has been successfully deleted.");
return 1;
}
}
示例9:
function action_delete()
{
log_write("debug", "file_storage", "Executing action_delete()");
/*
Start SQL Transaction
*/
$sql_obj = new sql_query();
$sql_obj->trans_begin();
/*
Remove file data
*/
if ($this->data["file_location"] == "db") {
// delete file from the database
$sql_obj->string = "DELETE FROM file_upload_data WHERE fileid='" . $this->id . "'";
$sql_obj->execute();
} else {
// delete file from the filesystem
$file_path = $this->config["data_storage_location"] . "/" . $this->id;
@unlink($file_path);
}
/*
Remove metadata information from database
*/
$sql_obj->string = "DELETE FROM file_uploads WHERE id='" . $this->id . "'";
$sql_obj->execute();
/*
Commit
*/
if (error_check()) {
$sql_obj->trans_rollback();
log_write("error", "file_storage", "An error occured whilst attempting to upload the file, no changes have been made.");
return 0;
} else {
$sql_obj->trans_commit();
log_write("debug", "file_storage", "Successfully deleted file ID '" . $this->id . "'");
return $this->id;
}
}
示例10:
function action_delete()
{
log_debug("name_server_group", "Executing action_delete()");
/*
Start Transaction
*/
$sql_obj = new sql_query();
$sql_obj->trans_begin();
/*
Delete Name Server Group
Note: no need to delete anything from dns_domains_groups, as the name server group
must be empty before it can be deleted.
*/
$sql_obj->string = "DELETE FROM name_servers_groups WHERE id='" . $this->id . "' LIMIT 1";
$sql_obj->execute();
/*
Commit
*/
if (error_check()) {
$sql_obj->trans_rollback();
log_write("error", "name_server_group", "An error occured whilst trying to delete the name server group.");
return 0;
} else {
$sql_obj->trans_commit();
log_write("notification", "name_server_group", "Name server group has been successfully deleted.");
return 1;
}
}
示例11:
function action_delete()
{
log_debug("inc_charts", "Executing action_delete()");
/*
Start Transaction
*/
$sql_obj = new sql_query();
$sql_obj->trans_begin();
/*
Delete chart
*/
$sql_obj->string = "DELETE FROM account_charts WHERE id='" . $this->id . "' LIMIT 1";
$sql_obj->execute();
/*
Delete all chart menu options
*/
$sql_obj->string = "DELETE FROM account_charts_menus WHERE chartid='" . $this->id . "'";
$sql_obj->execute();
/*
Commit
*/
if (error_check()) {
$sql_obj->trans_rollback();
log_write("error", "inc_charts", "An error occured whilst attempting to delete account. No changes have been made.");
return 0;
} else {
$sql_obj->trans_commit();
log_write("notification", "inc_charts", "Account has been successfully deleted.");
return 1;
}
}
示例12:
function action_delete()
{
log_debug("attributes", "Executing action_delete()");
// start transaction
$sql_obj = new sql_query();
$sql_obj->trans_begin();
// delete the attribute
$sql_obj->string = "DELETE FROM attributes WHERE id='" . $this->id . "' LIMIT 1";
$sql_obj->execute();
// commit
if (error_check()) {
$sql_obj->trans_rollback();
log_write("error" . "inc_attributes" . "An error occured whilst attempting to delete the attribute. No changes have been made.");
} else {
$sql_obj->trans_commit();
log_write("notification", "inc_attributes", "Attribute has been successfully deleted.");
}
return 1;
}
示例13:
function action_delete()
{
log_debug("inc_gl", "Executing action_delete()");
/*
Start Transaction
*/
$sql_obj = new sql_query();
$sql_obj->trans_begin();
/*
Delete general ledger details
*/
$sql_obj->string = "DELETE FROM account_gl WHERE id='" . $this->id . "' LIMIT 1";
$sql_obj->execute();
/*
Delete transaction items
*/
$sql_obj->string = "DELETE FROM account_trans WHERE type='gl' AND customid='" . $this->id . "'";
$sql_obj->execute();
/*
Commit
*/
if (error_check()) {
$sql_obj->trans_rollback();
log_write("error", "inc_gl", "An error occured whilst attempting to delete the transaction. No changes have been made.");
return 0;
} else {
$sql_obj->trans_commit();
log_write("notification", "inc_gl", "Transaction has been successfully deleted.");
return 1;
}
}
示例14: domain
function action_delete()
{
log_debug("name_server", "Executing action_delete()");
/*
Start Transaction
*/
$sql_obj = new sql_query();
$sql_obj->trans_begin();
/*
Delete Name Server
*/
$sql_obj->string = "DELETE FROM name_servers WHERE id='" . $this->id . "' LIMIT 1";
$sql_obj->execute();
$sql_obj->string = "DELETE FROM cloud_zone_map WHERE id='" . $this->id . "'";
$sql_obj->execute();
/*
Un-associated any matched log entries
*/
$sql_obj->string = "UPDATE logs SET id_server='0' WHERE id_server='" . $this->id . "'";
$sql_obj->execute();
/*
Update NS records
We need to run through all the domains and update the records - if the nameserver was an automated entry for all the domains,
after deleting the name server we should remove it from all the domains.
*/
$obj_domain = new domain();
$obj_domain->load_data_all();
foreach ($obj_domain->data as $data_domain) {
$obj_domain_sub = new domain();
$obj_domain_sub->id = $data_domain["id"];
$obj_domain_sub->load_data();
$obj_domain_sub->action_update_ns();
$obj_domain_sub->action_update_serial();
}
/*
Commit
*/
if (error_check()) {
$sql_obj->trans_rollback();
log_write("error", "name_server", "An error occured whilst trying to delete the name server.");
return 0;
} else {
$sql_obj->trans_commit();
log_write("notification", "name_server", "Name server has been successfully deleted.");
return 1;
}
}
示例15:
function bundle_service_delete($id_service)
{
log_write("debug", "inc_services", "Executing bundle_service_delete({$id_service}))");
/*
Begin Transaction
*/
$sql_obj = new sql_query();
$sql_obj->trans_begin();
/*
Apply Changes
*/
$sql_obj->string = "SELECT id FROM `services_bundles` WHERE id_bundle='" . $this->id . "' AND id_service='{$id_service}' LIMIT 1";
$sql_obj->execute();
$sql_obj->fetch_array();
$option_id = $sql_obj->data[0]["id"];
$sql_obj->string = "DELETE FROM `services_bundles` WHERE id='{$option_id}' LIMIT 1";
$sql_obj->execute();
$sql_obj->string = "DELETE FROM `services_options` WHERE option_type='bundle' AND option_type_id='{$option_id}'";
$sql_obj->execute();
/*
Update the Journal
*/
journal_quickadd_event("services", $this->id, "Service component removed from bundle.");
/*
Commit
*/
if (error_check()) {
$sql_obj->trans_rollback();
log_write("error", "process", "An error occured whilst attempting to remove a service from the bundle. No changes have been made.");
} else {
$sql_obj->trans_commit();
log_write("notification", "process", "Service successfully removed from bundle.");
}
return 0;
}