Add the database transactions feature.
This commit is contained in:
parent
6db3a26c2d
commit
f230924eae
|
|
@ -0,0 +1,97 @@
|
|||
<?php
|
||||
|
||||
//application details
|
||||
$apps[$x]['name'] = 'Database Transactions';
|
||||
$apps[$x]['uuid'] = 'de47783c-1caa-4b3e-9b51-ad6c9e69215c';
|
||||
$apps[$x]['category'] = '';
|
||||
$apps[$x]['subcategory'] = '';
|
||||
$apps[$x]['version'] = '';
|
||||
$apps[$x]['license'] = 'Mozilla Public License 1.1';
|
||||
$apps[$x]['url'] = 'http://www.fusionpbx.com';
|
||||
$apps[$x]['description']['en-us'] = '';
|
||||
|
||||
//permission details
|
||||
$y = 0;
|
||||
$apps[$x]['permissions'][$y]['name'] = 'database_transaction_view';
|
||||
$apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
|
||||
//$apps[$x]['permissions'][$y]['groups'][] = 'user';
|
||||
//$apps[$x]['permissions'][$y]['groups'][] = 'admin';
|
||||
$y++;
|
||||
$apps[$x]['permissions'][$y]['name'] = 'database_transaction_add';
|
||||
$apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
|
||||
//$apps[$x]['permissions'][$y]['groups'][] = 'admin';
|
||||
$y++;
|
||||
$apps[$x]['permissions'][$y]['name'] = 'database_transaction_edit';
|
||||
$apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
|
||||
//$apps[$x]['permissions'][$y]['groups'][] = 'admin';
|
||||
//$apps[$x]['permissions'][$y]['groups'][] = 'user';
|
||||
$y++;
|
||||
$apps[$x]['permissions'][$y]['name'] = 'database_transaction_delete';
|
||||
//$apps[$x]['permissions'][$y]['groups'][] = 'superadmin';
|
||||
//$apps[$x]['permissions'][$y]['groups'][] = 'admin';
|
||||
$y++;
|
||||
|
||||
//schema details
|
||||
$y = 0; //table array index
|
||||
$z = 0; //field array index
|
||||
$apps[$x]['db'][$y]['table'] = 'v_database_transactions';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'domain_uuid';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = 'uuid';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = 'text';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = 'char(36)';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['key']['type'] = 'foreign';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['key']['reference']['table'] = 'v_domains';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['key']['reference']['field'] = 'domain_uuid';
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'database_transaction_uuid';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = 'uuid';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = 'text';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = 'char(36)';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['key']['type'] = 'primary';
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'user_uuid';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = 'uuid';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = 'text';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = 'char(36)';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'User transaction.';
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'app_name';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Application name.';
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'app_uuid';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type']['pgsql'] = 'uuid';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type']['sqlite'] = 'text';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type']['mysql'] = 'char(36)';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Application ID';
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'transaction_code';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Transaction code.';
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'transaction_address';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'IP address of the user.';
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'transaction_type';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Type: insert, update, delete, select';
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'transaction_date';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'timestamp';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Transaction date.';
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'transaction_before';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Array before the transaction.';
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'transaction_after';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Array after the transaction.';
|
||||
$z++;
|
||||
$apps[$x]['db'][$y]['fields'][$z]['name'] = 'transaction_result';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['type'] = 'text';
|
||||
$apps[$x]['db'][$y]['fields'][$z]['description']['en-us'] = 'Result of the transaction.';
|
||||
$z++;
|
||||
|
||||
?>
|
||||
|
|
@ -0,0 +1,184 @@
|
|||
<?php
|
||||
|
||||
//Database Transactions
|
||||
$text['title-database_transactions']['en-us'] = 'Database Transactions';
|
||||
$text['title-database_transactions']['es-cl'] = '';
|
||||
$text['title-database_transactions']['pt-pt'] = '';
|
||||
$text['title-database_transactions']['fr-fr'] = '';
|
||||
|
||||
$text['title-database_transaction']['en-us'] = 'Database Transaction';
|
||||
$text['title-database_transaction']['es-cl'] = '';
|
||||
$text['title-database_transaction']['pt-pt'] = '';
|
||||
$text['title-database_transaction']['fr-fr'] = '';
|
||||
|
||||
$text['title_description-database_transaction']['en-us'] = '';
|
||||
$text['title_description-database_transaction']['es-cl'] = '';
|
||||
$text['title_description-database_transaction']['pt-pt'] = '';
|
||||
$text['title_description-database_transaction']['fr-fr'] = '';
|
||||
|
||||
$text['label-user_uuid']['en-us'] = 'User';
|
||||
$text['label-user_uuid']['es-cl'] = '';
|
||||
$text['label-user_uuid']['pt-pt'] = '';
|
||||
$text['label-user_uuid']['fr-fr'] = '';
|
||||
|
||||
$text['description-user_uuid']['en-us'] = 'User transaction.';
|
||||
$text['description-user_uuid']['es-cl'] = '';
|
||||
$text['description-user_uuid']['pt-pt'] = '';
|
||||
$text['description-user_uuid']['fr-fr'] = '';
|
||||
|
||||
$text['label-app_name']['en-us'] = 'Application';
|
||||
$text['label-app_name']['es-cl'] = '';
|
||||
$text['label-app_name']['pt-pt'] = '';
|
||||
$text['label-app_name']['fr-fr'] = '';
|
||||
|
||||
$text['description-app_name']['en-us'] = 'Application name.';
|
||||
$text['description-app_name']['es-cl'] = '';
|
||||
$text['description-app_name']['pt-pt'] = '';
|
||||
$text['description-app_name']['fr-fr'] = '';
|
||||
|
||||
$text['label-app_uuid']['en-us'] = 'Application Id';
|
||||
$text['label-app_uuid']['es-cl'] = '';
|
||||
$text['label-app_uuid']['pt-pt'] = '';
|
||||
$text['label-app_uuid']['fr-fr'] = '';
|
||||
|
||||
$text['description-app_uuid']['en-us'] = 'Application name.';
|
||||
$text['description-app_uuid']['es-cl'] = '';
|
||||
$text['description-app_uuid']['pt-pt'] = '';
|
||||
$text['description-app_uuid']['fr-fr'] = '';
|
||||
|
||||
$text['label-transaction_code']['en-us'] = 'Code';
|
||||
$text['label-transaction_code']['es-cl'] = '';
|
||||
$text['label-transaction_code']['pt-pt'] = '';
|
||||
$text['label-transaction_code']['fr-fr'] = '';
|
||||
|
||||
$text['description-transaction_code']['en-us'] = 'Transaction code.';
|
||||
$text['description-transaction_code']['es-cl'] = '';
|
||||
$text['description-transaction_code']['pt-pt'] = '';
|
||||
$text['description-transaction_code']['fr-fr'] = '';
|
||||
|
||||
$text['label-transaction_address']['en-us'] = 'IP Address';
|
||||
$text['label-transaction_address']['es-cl'] = '';
|
||||
$text['label-transaction_address']['pt-pt'] = '';
|
||||
$text['label-transaction_address']['fr-fr'] = '';
|
||||
|
||||
$text['description-transaction_address']['en-us'] = 'IP address of the user.';
|
||||
$text['description-transaction_address']['es-cl'] = '';
|
||||
$text['description-transaction_address']['pt-pt'] = '';
|
||||
$text['description-transaction_address']['fr-fr'] = '';
|
||||
|
||||
$text['label-transaction_type']['en-us'] = 'Type';
|
||||
$text['label-transaction_type']['es-cl'] = '';
|
||||
$text['label-transaction_type']['pt-pt'] = '';
|
||||
$text['label-transaction_type']['fr-fr'] = '';
|
||||
|
||||
$text['description-transaction_type']['en-us'] = 'Type: insert, update, delete, select';
|
||||
$text['description-transaction_type']['es-cl'] = '';
|
||||
$text['description-transaction_type']['pt-pt'] = '';
|
||||
$text['description-transaction_type']['fr-fr'] = '';
|
||||
|
||||
$text['label-transaction_date']['en-us'] = 'Date';
|
||||
$text['label-transaction_date']['es-cl'] = '';
|
||||
$text['label-transaction_date']['pt-pt'] = '';
|
||||
$text['label-transaction_date']['fr-fr'] = '';
|
||||
|
||||
$text['description-transaction_date']['en-us'] = 'Transaction date.';
|
||||
$text['description-transaction_date']['es-cl'] = '';
|
||||
$text['description-transaction_date']['pt-pt'] = '';
|
||||
$text['description-transaction_date']['fr-fr'] = '';
|
||||
|
||||
$text['label-transaction_old']['en-us'] = 'Before';
|
||||
$text['label-transaction_old']['es-cl'] = '';
|
||||
$text['label-transaction_old']['pt-pt'] = '';
|
||||
$text['label-transaction_old']['fr-fr'] = '';
|
||||
|
||||
$text['description-transaction_old']['en-us'] = 'Array before the transaction.';
|
||||
$text['description-transaction_old']['es-cl'] = '';
|
||||
$text['description-transaction_old']['pt-pt'] = '';
|
||||
$text['description-transaction_old']['fr-fr'] = '';
|
||||
|
||||
$text['label-transaction_new']['en-us'] = 'After';
|
||||
$text['label-transaction_new']['es-cl'] = '';
|
||||
$text['label-transaction_new']['pt-pt'] = '';
|
||||
$text['label-transaction_new']['fr-fr'] = '';
|
||||
|
||||
$text['description-transaction_new']['en-us'] = 'Array after the transaction.';
|
||||
$text['description-transaction_new']['es-cl'] = '';
|
||||
$text['description-transaction_new']['pt-pt'] = '';
|
||||
$text['description-transaction_new']['fr-fr'] = '';
|
||||
|
||||
$text['label-transaction_result']['en-us'] = 'Result';
|
||||
$text['label-transaction_result']['es-cl'] = '';
|
||||
$text['label-transaction_result']['pt-pt'] = '';
|
||||
$text['label-transaction_result']['fr-fr'] = '';
|
||||
|
||||
$text['description-transaction_result']['en-us'] = 'Result of the transaction.';
|
||||
$text['description-transaction_result']['es-cl'] = '';
|
||||
$text['description-transaction_result']['pt-pt'] = '';
|
||||
$text['description-transaction_result']['fr-fr'] = '';
|
||||
|
||||
$text['label-true']['en-us'] = 'true';
|
||||
$text['label-true']['es-cl'] = '';
|
||||
$text['label-true']['pt-pt'] = '';
|
||||
$text['label-true']['fr-fr'] = '';
|
||||
|
||||
$text['label-false']['en-us'] = 'false';
|
||||
$text['label-false']['es-cl'] = 'falso';
|
||||
$text['label-false']['pt-pt'] = 'falso';
|
||||
$text['label-false']['fr-fr'] = 'falso';
|
||||
|
||||
$text['button-add']['en-us'] = 'Add';
|
||||
$text['button-add']['es-cl'] = '';
|
||||
$text['button-add']['pt-pt'] = '';
|
||||
$text['button-add']['fr-fr'] = '';
|
||||
|
||||
$text['button-edit']['en-us'] = 'Edit';
|
||||
$text['button-edit']['es-cl'] = '';
|
||||
$text['button-edit']['pt-pt'] = '';
|
||||
$text['button-edit']['fr-fr'] = '';
|
||||
|
||||
$text['button-delete']['en-us'] = 'Delete';
|
||||
$text['button-delete']['es-cl'] = '';
|
||||
$text['button-delete']['pt-pt'] = '';
|
||||
$text['button-delete']['fr-fr'] = '';
|
||||
|
||||
$text['button-save']['en-us'] = 'Save';
|
||||
$text['button-save']['es-cl'] = '';
|
||||
$text['button-save']['pt-pt'] = 'Guardar';
|
||||
$text['button-save']['fr-fr'] = '';
|
||||
|
||||
$text['button-view']['en-us'] = 'View';
|
||||
$text['button-view']['es-cl'] = '';
|
||||
$text['button-view']['pt-pt'] = '';
|
||||
$text['button-view']['fr-fr'] = '';
|
||||
|
||||
$text['button-back']['en-us'] = 'Back';
|
||||
$text['button-back']['es-cl'] = '';
|
||||
$text['button-back']['pt-pt'] = 'Voltar';
|
||||
$text['button-back']['fr-fr'] = '';
|
||||
|
||||
$text['confirm-delete']['en-us'] = 'Do you really want to delete this?';
|
||||
$text['confirm-delete']['es-cl'] = '';
|
||||
$text['confirm-delete']['pt-pt'] = '';
|
||||
$text['confirm-delete']['fr-fr'] = '';
|
||||
|
||||
$text['message-add']['en-us'] = 'Add Completed';
|
||||
$text['message-add']['es-cl'] = '';
|
||||
$text['message-add']['pt-pt'] = '';
|
||||
$text['message-add']['fr-fr'] = '';
|
||||
|
||||
$text['message-update']['en-us'] = 'Update Completed';
|
||||
$text['message-update']['es-cl'] = '';
|
||||
$text['message-update']['pt-pt'] = '';
|
||||
$text['message-update']['fr-fr'] = '';
|
||||
|
||||
$text['message-delete']['en-us'] = 'Delete Completed';
|
||||
$text['message-delete']['es-cl'] = '';
|
||||
$text['message-delete']['pt-pt'] = '';
|
||||
$text['message-delete']['fr-fr'] = '';
|
||||
|
||||
$text['message-required']['en-us'] = 'Please provide: ';
|
||||
$text['message-required']['es-cl'] = '';
|
||||
$text['message-required']['pt-pt'] = '';
|
||||
$text['message-required']['fr-fr'] = '';
|
||||
|
||||
?>
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
|
||||
$apps[$x]['menu'][0]['title']['en-us'] = 'Transactions';
|
||||
$apps[$x]['menu'][0]['title']['es-cl'] = '';
|
||||
$apps[$x]['menu'][0]['title']['fr-fr'] = '';
|
||||
$apps[$x]['menu'][0]['title']['fr-ca'] = '';
|
||||
$apps[$x]['menu'][0]['title']['pl'] = '';
|
||||
$apps[$x]['menu'][0]['title']['sv-se'] = '';
|
||||
$apps[$x]['menu'][0]['title']['uk'] = '';
|
||||
$apps[$x]['menu'][0]['title']['de-at'] = '';
|
||||
$apps[$x]['menu'][0]['uuid'] = 'ffc57bea-df1d-4099-b7e5-835d68f09006';
|
||||
$apps[$x]['menu'][0]['parent_uuid'] = '594d99c5-6128-9c88-ca35-4b33392cec0f';
|
||||
$apps[$x]['menu'][0]['category'] = 'internal';
|
||||
$apps[$x]['menu'][0]['path'] = '/app/database_transactions/database_transactions.php';
|
||||
$apps[$x]['menu'][0]['groups'][] = 'superadmin';
|
||||
//$apps[$x]['menu'][0]['groups'][] = 'admin';
|
||||
//$apps[$x]['menu'][0]['groups'][] = 'user';
|
||||
|
||||
?>
|
||||
|
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
/*
|
||||
FusionPBX
|
||||
Version: MPL 1.1
|
||||
|
||||
The contents of this file are subject to the Mozilla Public License Version
|
||||
1.1 (the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
|
||||
The Original Code is FusionPBX
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2016
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
|
||||
//includes
|
||||
require_once "root.php";
|
||||
require_once "resources/require.php";
|
||||
|
||||
//check permissions
|
||||
require_once "resources/check_auth.php";
|
||||
if (permission_exists('database_transaction_delete')) {
|
||||
//access granted
|
||||
}
|
||||
else {
|
||||
echo "access denied";
|
||||
exit;
|
||||
}
|
||||
|
||||
//add multi-lingual support
|
||||
$language = new text;
|
||||
$text = $language->get();
|
||||
|
||||
//get the id
|
||||
if (count($_GET)>0) {
|
||||
$id = check_str($_GET["id"]);
|
||||
}
|
||||
|
||||
//delete database_transaction
|
||||
if (strlen($id)>0) {
|
||||
$sql = "delete from v_database_transactions ";
|
||||
$sql .= "where database_transaction_uuid = '$id' ";
|
||||
$sql .= "and domain_uuid = '$domain_uuid' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
unset($sql);
|
||||
}
|
||||
|
||||
//redirect the user
|
||||
$_SESSION['message'] = $text['message-delete'];
|
||||
header('Location: database_transactions.php');
|
||||
|
||||
?>
|
||||
|
|
@ -0,0 +1,460 @@
|
|||
<?php
|
||||
/*
|
||||
FusionPBX
|
||||
Version: MPL 1.1
|
||||
|
||||
The contents of this file are subject to the Mozilla Public License Version
|
||||
1.1 (the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
|
||||
The Original Code is FusionPBX
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2016
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
|
||||
//includes
|
||||
require_once "root.php";
|
||||
require_once "resources/require.php";
|
||||
|
||||
//check permissions
|
||||
require_once "resources/check_auth.php";
|
||||
if (permission_exists('database_transaction_add') || permission_exists('database_transaction_edit')) {
|
||||
//access granted
|
||||
}
|
||||
else {
|
||||
echo "access denied";
|
||||
exit;
|
||||
}
|
||||
|
||||
//add multi-lingual support
|
||||
$language = new text;
|
||||
$text = $language->get();
|
||||
|
||||
//action add or update
|
||||
if (isset($_REQUEST["id"])) {
|
||||
//$action = "update";
|
||||
$database_transaction_uuid = check_str($_REQUEST["id"]);
|
||||
}
|
||||
//else {
|
||||
// $action = "add";
|
||||
//}
|
||||
|
||||
//get http post variables and set them to php variables
|
||||
/*
|
||||
if (count($_POST) > 0) {
|
||||
$user_uuid = check_str($_POST["user_uuid"]);
|
||||
$app_uuid = check_str($_POST["app_uuid"]);
|
||||
$transaction_code = check_str($_POST["transaction_code"]);
|
||||
$transaction_address = check_str($_POST["transaction_address"]);
|
||||
$transaction_type = check_str($_POST["transaction_type"]);
|
||||
$transaction_date = check_str($_POST["transaction_date"]);
|
||||
$transaction_old = check_str($_POST["transaction_old"]);
|
||||
$transaction_new = check_str($_POST["transaction_new"]);
|
||||
$transaction_result = check_str($_POST["transaction_result"]);
|
||||
}
|
||||
*/
|
||||
|
||||
//process the data
|
||||
/*
|
||||
if (count($_POST) > 0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
|
||||
$msg = '';
|
||||
if ($action == "update") {
|
||||
$database_transaction_uuid = check_str($_POST["database_transaction_uuid"]);
|
||||
}
|
||||
|
||||
//check for all required data
|
||||
if (strlen($domain_uuid) == 0) { $msg .= $text['message-required']." ".$text['label-domain_uuid']."<br>\n"; }
|
||||
if (strlen($user_uuid) == 0) { $msg .= $text['message-required']." ".$text['label-user_uuid']."<br>\n"; }
|
||||
if (strlen($app_uuid) == 0) { $msg .= $text['message-required']." ".$text['label-app_uuid']."<br>\n"; }
|
||||
if (strlen($transaction_code) == 0) { $msg .= $text['message-required']." ".$text['label-transaction_code']."<br>\n"; }
|
||||
if (strlen($transaction_address) == 0) { $msg .= $text['message-required']." ".$text['label-transaction_address']."<br>\n"; }
|
||||
if (strlen($transaction_type) == 0) { $msg .= $text['message-required']." ".$text['label-transaction_type']."<br>\n"; }
|
||||
if (strlen($transaction_date) == 0) { $msg .= $text['message-required']." ".$text['label-transaction_date']."<br>\n"; }
|
||||
if (strlen($transaction_old) == 0) { $msg .= $text['message-required']." ".$text['label-transaction_old']."<br>\n"; }
|
||||
if (strlen($transaction_new) == 0) { $msg .= $text['message-required']." ".$text['label-transaction_new']."<br>\n"; }
|
||||
if (strlen($transaction_result) == 0) { $msg .= $text['message-required']." ".$text['label-transaction_result']."<br>\n"; }
|
||||
if (strlen($msg) > 0 && strlen($_POST["persistformvar"]) == 0) {
|
||||
require_once "resources/header.php";
|
||||
require_once "resources/persist_form_var.php";
|
||||
echo "<div align='center'>\n";
|
||||
echo "<table><tr><td>\n";
|
||||
echo $msg."<br />";
|
||||
echo "</td></tr></table>\n";
|
||||
persistformvar($_POST);
|
||||
echo "</div>\n";
|
||||
require_once "resources/footer.php";
|
||||
return;
|
||||
}
|
||||
|
||||
//add or update the database
|
||||
if ($_POST["persistformvar"] != "true") {
|
||||
if ($action == "add" && permission_exists('database_transaction_add')) {
|
||||
$sql = "insert into v_database_transactions ";
|
||||
$sql .= "(";
|
||||
$sql .= "domain_uuid, ";
|
||||
$sql .= "database_transaction_uuid, ";
|
||||
$sql .= "domain_uuid, ";
|
||||
$sql .= "user_uuid, ";
|
||||
$sql .= "app_uuid, ";
|
||||
$sql .= "transaction_code, ";
|
||||
$sql .= "transaction_address, ";
|
||||
$sql .= "transaction_type, ";
|
||||
$sql .= "transaction_date, ";
|
||||
$sql .= "transaction_old, ";
|
||||
$sql .= "transaction_new, ";
|
||||
$sql .= "transaction_result ";
|
||||
$sql .= ")";
|
||||
$sql .= "values ";
|
||||
$sql .= "(";
|
||||
$sql .= "'$domain_uuid', ";
|
||||
$sql .= "'".uuid()."', ";
|
||||
$sql .= "'$domain_uuid', ";
|
||||
$sql .= "'$user_uuid', ";
|
||||
$sql .= "'$app_uuid', ";
|
||||
$sql .= "'$transaction_code', ";
|
||||
$sql .= "'$transaction_address', ";
|
||||
$sql .= "'$transaction_type', ";
|
||||
$sql .= "now(), ";
|
||||
$sql .= "'$transaction_old', ";
|
||||
$sql .= "'$transaction_new', ";
|
||||
$sql .= "'$transaction_result' ";
|
||||
$sql .= ")";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
|
||||
$_SESSION["message"] = $text['message-add'];
|
||||
header("Location: database_transactions.php");
|
||||
return;
|
||||
|
||||
} //if ($action == "add")
|
||||
|
||||
if ($action == "update" && permission_exists('database_transaction_edit')) {
|
||||
$sql = "update v_database_transactions set ";
|
||||
$sql .= "domain_uuid = '$domain_uuid', ";
|
||||
$sql .= "user_uuid = '$user_uuid', ";
|
||||
$sql .= "app_uuid = '$app_uuid', ";
|
||||
$sql .= "transaction_code = '$transaction_code', ";
|
||||
$sql .= "transaction_address = '$transaction_address', ";
|
||||
$sql .= "transaction_type = '$transaction_type', ";
|
||||
$sql .= "transaction_date = now(), ";
|
||||
$sql .= "transaction_old = '$transaction_old', ";
|
||||
$sql .= "transaction_new = '$transaction_new', ";
|
||||
$sql .= "transaction_result = '$transaction_result' ";
|
||||
$sql .= "where database_transaction_uuid = '$database_transaction_uuid'";
|
||||
$sql .= "and domain_uuid = '$domain_uuid' ";
|
||||
$db->exec(check_sql($sql));
|
||||
unset($sql);
|
||||
|
||||
$_SESSION["message"] = $text['message-update'];
|
||||
header("Location: database_transactions.php");
|
||||
return;
|
||||
|
||||
} //if ($action == "update")
|
||||
} //if ($_POST["persistformvar"] != "true")
|
||||
} //(count($_POST)>0 && strlen($_POST["persistformvar"]) == 0)
|
||||
*/
|
||||
|
||||
//pre-populate the form
|
||||
if (count($_GET) > 0 && $_POST["persistformvar"] != "true") {
|
||||
$database_transaction_uuid = check_str($_GET["id"]);
|
||||
|
||||
$sql = "select ";
|
||||
$sql .= "t.database_transaction_uuid, d.domain_name, u.username, t.user_uuid, t.app_name, t.app_uuid, ";
|
||||
$sql .= "t.transaction_code, t.transaction_address, t.transaction_type, t.transaction_date, ";
|
||||
$sql .= "t.transaction_old, t.transaction_new, t.transaction_result ";
|
||||
$sql .= "from v_database_transactions as t, v_domains as d, v_users as u ";
|
||||
$sql .= "where t.domain_uuid = '$domain_uuid' ";
|
||||
$sql .= "and t.database_transaction_uuid = '$database_transaction_uuid' ";
|
||||
$sql .= "and t.user_uuid = u.user_uuid ";
|
||||
$sql .= "and t.domain_uuid = d.domain_uuid ";
|
||||
|
||||
//$sql = "select *, u.username from v_database_transactions as t, v_users as u ";
|
||||
//$sql .= "where domain_uuid = '$domain_uuid' ";
|
||||
//$sql .= "t.user_uuid = u.user_uuid ";
|
||||
//$sql .= "and database_transaction_uuid = '$database_transaction_uuid' ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
foreach ($result as &$row) {
|
||||
$user_uuid = $row["user_uuid"];
|
||||
$app_name = $row["app_name"];
|
||||
$app_uuid = $row["app_uuid"];
|
||||
$domain_name = $row["domain_name"];
|
||||
$username = $row["username"];
|
||||
$transaction_code = $row["transaction_code"];
|
||||
$transaction_address = $row["transaction_address"];
|
||||
//$transaction_type = $row["transaction_type"];
|
||||
$transaction_date = $row["transaction_date"];
|
||||
$transaction_old = $row["transaction_old"];
|
||||
$transaction_new = $row["transaction_new"];
|
||||
$transaction_result = $row["transaction_result"];
|
||||
}
|
||||
unset ($prep_statement);
|
||||
}
|
||||
|
||||
//show the header
|
||||
require_once "resources/header.php";
|
||||
|
||||
//show the content
|
||||
//echo "<form name='frm' id='frm' method='post' action=''>\n";
|
||||
echo "<table width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
|
||||
echo "<tr>\n";
|
||||
echo "<td align='left' width='20%' nowrap='nowrap' valign='top'><b>".$text['title-database_transaction']."</b><br><br></td>\n";
|
||||
echo "<td width='80%' align='right' valign='top'>\n";
|
||||
echo " <input type='button' class='btn' name='' alt='".$text['button-back']."' onclick=\"window.location='database_transactions.php'\" value='".$text['button-back']."'>";
|
||||
//echo " <input type='submit' name='submit' class='btn' value='".$text['button-save']."'>";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
echo "</table>\n";
|
||||
|
||||
echo "<table width='350px' border='0' cellpadding='0' cellspacing='0'>\n";
|
||||
echo "<td valign='top'>\n";
|
||||
echo "<table>\n";
|
||||
echo "<tr>\n";
|
||||
echo "<th valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-app_name']."\n";
|
||||
echo "</th>\n";
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
echo " ".$app_name."\n";
|
||||
//echo " <input class='formfld' type='text' name='app_name' maxlength='255' value='$app_name'>\n";
|
||||
//echo "<br />\n";
|
||||
//echo $text['description-app_uuid']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
/*echo "<tr>\n";
|
||||
echo "<th width='10%' valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-domain']."\n";
|
||||
echo "</th>\n";
|
||||
echo "<td width='90%' aclass='vtable' align='left'>\n";
|
||||
echo " ".$domain_name;
|
||||
//echo " <input class='formfld' type='text' name='domain_name' maxlength='255' value='$domain_name'>\n";
|
||||
//echo " <br />\n";
|
||||
//echo " ".$text['description-domain']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
*/
|
||||
|
||||
echo "<tr>\n";
|
||||
echo "<th valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-user_uuid']."\n";
|
||||
echo "</th>\n";
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
echo " ".$username."\n";
|
||||
//echo " <input class='formfld' type='text' name='username' maxlength='255' value='$username'>\n";
|
||||
//echo "<br />\n";
|
||||
//echo $text['description-user_uuid']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
echo "</table>\n";
|
||||
echo "</td>\n";
|
||||
|
||||
echo "<td valign='top'>\n";
|
||||
echo "<table>\n";
|
||||
echo "<tr>\n";
|
||||
echo "<th valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-transaction_code']."\n";
|
||||
echo "</th>\n";
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
echo " $transaction_code\n";
|
||||
//echo " <input class='formfld' type='text' name='transaction_code' maxlength='255' value='$transaction_code'>\n";
|
||||
//echo "<br />\n";
|
||||
//echo $text['description-transaction_code']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
echo "<tr>\n";
|
||||
echo "<th valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-transaction_address']."\n";
|
||||
echo "</th>\n";
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
echo " $transaction_address\n";
|
||||
//echo " <input class='formfld' type='text' name='transaction_address' maxlength='255' value=\"$transaction_address\">\n";
|
||||
//echo "<br />\n";
|
||||
//echo $text['description-transaction_address']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
echo "</table>\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
echo "</table>\n";
|
||||
|
||||
//echo "<tr>\n";
|
||||
//echo "<th valign='top' align='left' nowrap='nowrap'>\n";
|
||||
//echo " ".$text['label-transaction_type']."\n";
|
||||
//echo "</th>\n";
|
||||
//echo "<td class='vtable' align='left'>\n";
|
||||
//echo " <input class='formfld' type='text' name='transaction_type' maxlength='255' value=\"$transaction_type\">\n";
|
||||
//echo "<br />\n";
|
||||
//echo $text['description-transaction_type']."\n";
|
||||
//echo "</td>\n";
|
||||
//echo "</tr>\n";
|
||||
|
||||
if ($_REQUEST["debug"] == "true") {
|
||||
echo "<table width='350px' border='0' cellpadding='0' cellspacing='0'>\n";
|
||||
echo "<tr>\n";
|
||||
echo "<th valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-transaction_old']."\n";
|
||||
echo "</th>\n";
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
//echo " <input class='formfld' type='text' name='transaction_old' maxlength='255' value=\"$transaction_old\">\n";
|
||||
echo " <textarea name='transaction_old' style='width: 265px; height: 80px;'>$transaction_old</textarea>\n";
|
||||
//echo "<br />\n";
|
||||
//echo $text['description-transaction_old']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
echo "<tr>\n";
|
||||
echo "<th valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-transaction_new']."\n";
|
||||
echo "</th>\n";
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
//echo " <input class='formfld' type='text' name='transaction_new' maxlength='255' value=\"$transaction_new\">\n";
|
||||
echo " <textarea name='transaction_new' style='width: 265px; height: 80px;'>$transaction_new</textarea>\n";
|
||||
//echo "<br />\n";
|
||||
//echo $text['description-transaction_new']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
|
||||
echo "<tr>\n";
|
||||
echo "<th valign='top' align='left' nowrap='nowrap'>\n";
|
||||
echo " ".$text['label-transaction_result']."\n";
|
||||
echo "</th>\n";
|
||||
echo "<td class='vtable' align='left'>\n";
|
||||
//echo " <input class='formfld' type='text' name='transaction_result' maxlength='255' value=\"$transaction_result\">\n";
|
||||
echo " <textarea name='transaction_result' style='width: 265px; height: 80px;'>$transaction_result</textarea>\n";
|
||||
//echo "<br />\n";
|
||||
//echo $text['description-transaction_result']."\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
echo "</table>";
|
||||
}
|
||||
|
||||
//echo " <tr>\n";
|
||||
//echo " <td colspan='2' align='right'>\n";
|
||||
//if ($action == "update") {
|
||||
// echo " <input type='hidden' name='database_transaction_uuid' value='$database_transaction_uuid'>\n";
|
||||
//}
|
||||
//echo " <input type='submit' name='submit' class='btn' value='".$text['button-save']."'>\n";
|
||||
//echo " </td>\n";
|
||||
//echo " </tr>";
|
||||
//echo "</table>";
|
||||
//echo "</form>";
|
||||
//echo "<br /><br />";
|
||||
|
||||
//define the array _difference function
|
||||
//this adds old and new values to the array
|
||||
function array_difference($array1, $array2) {
|
||||
$difference = array();
|
||||
foreach($array1 as $key => $value) {
|
||||
if(is_array($array2[$key])) {
|
||||
$difference[$key] = array_difference($array1[$key], $array2[$key]);
|
||||
}
|
||||
else {
|
||||
$difference[$key]['old'] = $value;
|
||||
}
|
||||
}
|
||||
foreach($array2 as $key => $value) {
|
||||
if(is_array($value)) {
|
||||
$difference[$key] = array_difference($array1[$key], $array2[$key]);
|
||||
}
|
||||
else {
|
||||
$difference[$key]['new'] = $value;
|
||||
}
|
||||
}
|
||||
return $difference;
|
||||
}
|
||||
|
||||
//show the content from the difference array as a list
|
||||
function show_difference($array) {
|
||||
//loop through the array
|
||||
foreach($array as $key => $value) {
|
||||
if(is_array($value) && !isset($value['old']) && !isset($value['new'])) {
|
||||
if (!is_numeric($key)) {
|
||||
//get the table name
|
||||
$_SESSION['name'] = $key;
|
||||
}
|
||||
else {
|
||||
//get the row id
|
||||
$_SESSION['row'] = $key;
|
||||
}
|
||||
$array = show_difference($value);
|
||||
}
|
||||
else {
|
||||
//determine if the value has changed
|
||||
if (strval($value['old']) == strval($value['new']) && isset($value['old'])) {
|
||||
$color = "#000000";
|
||||
}
|
||||
else {
|
||||
$color = "#ff0000";
|
||||
}
|
||||
//set the table header
|
||||
if ($_SESSION['previous_name'] != $_SESSION['name'] || $_SESSION['previous_row'] != $_SESSION['row']) {
|
||||
echo str_replace("<th>name</th>","<th>".$_SESSION['name']."</th>",$_SESSION['table_header']);
|
||||
//echo $_SESSION['table_header'];
|
||||
}
|
||||
$_SESSION['previous_name'] = $_SESSION['name'];
|
||||
$_SESSION['previous_row'] = $_SESSION['row'];
|
||||
//set the variables
|
||||
$old = $value['old'];
|
||||
$new = $value['new'];
|
||||
if (is_null($old)) { $old = "null"; }
|
||||
if (is_null($new)) { $new = "null"; }
|
||||
//show the results
|
||||
echo "<tr style='color: $color;'>\n";
|
||||
//echo " <td class=\"vtable\" style='color: $color;'>".$_SESSION['name']."</td>\n";
|
||||
//echo " <td class=\"vtable\" style='color: $color; text-align: center;'>".$_SESSION['row']."</td>\n";
|
||||
echo " <td class=\"vtable\" style='color: $color;'>$key</td>\n";
|
||||
echo " <td class=\"vtable\" style='color: $color;'>".$old."</td>\n";
|
||||
echo " <td class=\"vtable\" style='color: $color;'>".$new."</td>";
|
||||
echo "</tr>\n";
|
||||
//echo "</table>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//decode the json to arrays
|
||||
$before = json_decode($transaction_old, true);
|
||||
$after = json_decode($transaction_new, true);
|
||||
|
||||
//unset the sessions
|
||||
unset($_SESSION['previous_name']);
|
||||
unset($_SESSION['previous_row']);
|
||||
|
||||
//create the table header
|
||||
$array = array_difference($before, $after, 1);
|
||||
$table_header = "<tr><td colspan='5'> </td></tr>\n";
|
||||
$table_header .= "<tr>\n";
|
||||
//$table_header .= " <th>Table</th>\n";
|
||||
//$table_header .= " <th>Row</th>\n";
|
||||
$table_header .= " <th>name</th>\n";
|
||||
$table_header .= " <th>old</th>\n";
|
||||
$table_header .= " <th>new</th>\n";
|
||||
$table_header .= "</tr>\n";
|
||||
$_SESSION['table_header'] = $table_header;
|
||||
|
||||
//show the difference
|
||||
echo "<table border='0' cellpadding='3'>\n";
|
||||
show_difference($array);
|
||||
echo "</table>\n";
|
||||
|
||||
echo "<br />\n";
|
||||
echo "<br />\n";
|
||||
|
||||
//include the footer
|
||||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
|
@ -0,0 +1,206 @@
|
|||
<?php
|
||||
/*
|
||||
FusionPBX
|
||||
Version: MPL 1.1
|
||||
|
||||
The contents of this file are subject to the Mozilla Public License Version
|
||||
1.1 (the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
|
||||
The Original Code is FusionPBX
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2016
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
|
||||
//includes
|
||||
require_once "root.php";
|
||||
require_once "resources/require.php";
|
||||
|
||||
//check permissions
|
||||
require_once "resources/check_auth.php";
|
||||
if (permission_exists('database_transaction_view')) {
|
||||
//access granted
|
||||
}
|
||||
else {
|
||||
echo "access denied";
|
||||
exit;
|
||||
}
|
||||
|
||||
//add multi-lingual support
|
||||
$language = new text;
|
||||
$text = $language->get();
|
||||
|
||||
//get variables used to control the order
|
||||
$order_by = check_str($_GET["order_by"]);
|
||||
$order = check_str($_GET["order"]);
|
||||
|
||||
//add the search term
|
||||
$search = check_str($_GET["search"]);
|
||||
if (strlen($search) > 0) {
|
||||
$sql_search = "and (";
|
||||
$sql_search .= "or transaction_code like '%".$search."%'";
|
||||
$sql_search .= "or transaction_address like '%".$search."%'";
|
||||
$sql_search .= "or transaction_type like '%".$search."%'";
|
||||
$sql_search .= "or transaction_date like '%".$search."%'";
|
||||
$sql_search .= "or transaction_old like '%".$search."%'";
|
||||
$sql_search .= "or transaction_new like '%".$search."%'";
|
||||
$sql_search .= "or transaction_result like '%".$search."%'";
|
||||
$sql_search .= ")";
|
||||
}
|
||||
//additional includes
|
||||
require_once "resources/header.php";
|
||||
require_once "resources/paging.php";
|
||||
|
||||
//prepare to page the results
|
||||
$sql = "select count(database_transaction_uuid) as num_rows from v_database_transactions ";
|
||||
$sql .= "where domain_uuid = '$domain_uuid' ";
|
||||
$sql .= $sql_search;
|
||||
if (strlen($order_by)> 0) { $sql .= "order by $order_by $order "; }
|
||||
$prep_statement = $db->prepare($sql);
|
||||
if ($prep_statement) {
|
||||
$prep_statement->execute();
|
||||
$row = $prep_statement->fetch(PDO::FETCH_ASSOC);
|
||||
if ($row['num_rows'] > 0) {
|
||||
$num_rows = $row['num_rows'];
|
||||
}
|
||||
else {
|
||||
$num_rows = '0';
|
||||
}
|
||||
}
|
||||
|
||||
//prepare to page the results
|
||||
$rows_per_page = ($_SESSION['domain']['paging']['numeric'] != '') ? $_SESSION['domain']['paging']['numeric'] : 50;
|
||||
$param = "";
|
||||
$page = $_GET['page'];
|
||||
if (strlen($page) == 0) { $page = 0; $_GET['page'] = 0; }
|
||||
list($paging_controls, $rows_per_page, $var3) = paging($num_rows, $param, $rows_per_page);
|
||||
$offset = $rows_per_page * $page;
|
||||
|
||||
//get the list
|
||||
$sql = "select ";
|
||||
$sql .= "t.database_transaction_uuid, d.domain_name, u.username, t.user_uuid, t.app_name, t.app_uuid, ";
|
||||
$sql .= "t.transaction_code, t.transaction_address, t.transaction_type, t.transaction_date ";
|
||||
$sql .= "from v_database_transactions as t, v_domains as d, v_users as u ";
|
||||
$sql .= "where t.domain_uuid = '$domain_uuid' ";
|
||||
$sql .= "and t.user_uuid = u.user_uuid ";
|
||||
$sql .= "and t.domain_uuid = d.domain_uuid ";
|
||||
$sql .= $sql_search;
|
||||
if (strlen($order_by) == 0) {
|
||||
$sql .= "order by transaction_date desc ";
|
||||
}
|
||||
else {
|
||||
$sql .= "order by $order_by $order ";
|
||||
}
|
||||
$sql .= "limit $rows_per_page offset $offset ";
|
||||
$prep_statement = $db->prepare(check_sql($sql));
|
||||
$prep_statement->execute();
|
||||
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
unset ($prep_statement, $sql);
|
||||
|
||||
//alternate the row style
|
||||
$c = 0;
|
||||
$row_style["0"] = "row_style0";
|
||||
$row_style["1"] = "row_style1";
|
||||
|
||||
//show the content
|
||||
echo "<table width='100%' border='0'>\n";
|
||||
echo " <tr>\n";
|
||||
echo " <td width='50%' align='left' nowrap='nowrap'><b>".$text['title-database_transactions']."</b></td>\n";
|
||||
echo " <form method='get' action=''>\n";
|
||||
echo " <td width='50%' style='vertical-align: top; text-align: right; white-space: nowrap;'>\n";
|
||||
echo " <input type='text' class='txt' style='width: 150px' name='search' id='search' value='".$search."'>\n";
|
||||
echo " <input type='submit' class='btn' name='submit' value='".$text['button-search']."'>\n";
|
||||
echo " </td>\n";
|
||||
echo " </form>\n";
|
||||
echo " </tr>\n";
|
||||
echo "</table>\n";
|
||||
|
||||
echo "<table class='tr_hover' width='100%' border='0' cellpadding='0' cellspacing='0'>\n";
|
||||
echo "<tr>\n";
|
||||
echo th_order_by('domain_name', $text['label-domain'], $order_by, $order);
|
||||
echo th_order_by('username', $text['label-user_uuid'], $order_by, $order);
|
||||
echo th_order_by('app_name', $text['label-app_name'], $order_by, $order);
|
||||
echo th_order_by('transaction_code', $text['label-transaction_code'], $order_by, $order);
|
||||
echo th_order_by('transaction_address', $text['label-transaction_address'], $order_by, $order);
|
||||
//echo th_order_by('transaction_type', $text['label-transaction_type'], $order_by, $order);
|
||||
echo th_order_by('transaction_date', $text['label-transaction_date'], $order_by, $order);
|
||||
//echo th_order_by('transaction_old', $text['label-transaction_old'], $order_by, $order);
|
||||
//echo th_order_by('transaction_new', $text['label-transaction_new'], $order_by, $order);
|
||||
//echo th_order_by('transaction_result', $text['label-transaction_result'], $order_by, $order);
|
||||
echo "<td class='list_control_icons'>";
|
||||
if (permission_exists('database_transaction_add')) {
|
||||
echo "<a href='database_transaction_edit.php' alt='".$text['button-add']."'>$v_link_label_add</a>";
|
||||
}
|
||||
else {
|
||||
echo " \n";
|
||||
}
|
||||
echo "</td>\n";
|
||||
echo "<tr>\n";
|
||||
|
||||
if (is_array($result)) {
|
||||
foreach($result as $row) {
|
||||
if (permission_exists('database_transaction_edit')) {
|
||||
$tr_link = "href='database_transaction_edit.php?id=".$row['database_transaction_uuid']."'";
|
||||
}
|
||||
echo "<tr ".$tr_link.">\n";
|
||||
echo " <td valign='top' class='".$row_style[$c]."'>".$row['domain_name']." </td>\n";
|
||||
echo " <td valign='top' class='".$row_style[$c]."'>".$row['username']." </td>\n";
|
||||
echo " <td valign='top' class='".$row_style[$c]."'>".$row['app_name']." </td>\n";
|
||||
echo " <td valign='top' class='".$row_style[$c]."'>".$row['transaction_code']." </td>\n";
|
||||
echo " <td valign='top' class='".$row_style[$c]."'>".$row['transaction_address']." </td>\n";
|
||||
//echo " <td valign='top' class='".$row_style[$c]."'>".$row['transaction_type']." </td>\n";
|
||||
echo " <td valign='top' class='".$row_style[$c]."'>".$row['transaction_date']." </td>\n";
|
||||
//echo " <td valign='top' class='".$row_style[$c]."'>".$row['transaction_old']." </td>\n";
|
||||
//echo " <td valign='top' class='".$row_style[$c]."'>".$row['transaction_new']." </td>\n";
|
||||
//echo " <td valign='top' class='".$row_style[$c]."'>".$row['transaction_result']." </td>\n";
|
||||
echo " <td class='list_control_icons'>";
|
||||
if (permission_exists('database_transaction_edit')) {
|
||||
echo "<a href='database_transaction_edit.php?id=".$row['database_transaction_uuid']."' alt='".$text['button-edit']."'>$v_link_label_edit</a>";
|
||||
}
|
||||
if (permission_exists('database_transaction_delete')) {
|
||||
echo "<a href='database_transaction_delete.php?id=".$row['database_transaction_uuid']."' alt='".$text['button-delete']."' onclick=\"return confirm('".$text['confirm-delete']."')\">$v_link_label_delete</a>";
|
||||
}
|
||||
echo " </td>\n";
|
||||
echo "</tr>\n";
|
||||
if ($c==0) { $c=1; } else { $c=0; }
|
||||
} //end foreach
|
||||
unset($sql, $result, $row_count);
|
||||
} //end if results
|
||||
|
||||
echo "<tr>\n";
|
||||
echo "<td colspan='11' align='left'>\n";
|
||||
echo " <table width='100%' cellpadding='0' cellspacing='0'>\n";
|
||||
echo " <tr>\n";
|
||||
echo " <td width='33.3%' nowrap='nowrap'> </td>\n";
|
||||
echo " <td width='33.3%' align='center' nowrap='nowrap'>$paging_controls</td>\n";
|
||||
echo " <td class='list_control_icons'>";
|
||||
if (permission_exists('database_transaction_add')) {
|
||||
echo "<a href='database_transaction_edit.php' alt='".$text['button-add']."'>$v_link_label_add</a>";
|
||||
}
|
||||
else {
|
||||
echo " ";
|
||||
}
|
||||
echo " </td>\n";
|
||||
echo " </tr>\n";
|
||||
echo " </table>\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
echo "</table>";
|
||||
echo "<br /><br />";
|
||||
|
||||
//include the footer
|
||||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
<?php
|
||||
/*
|
||||
FusionPBX
|
||||
Version: MPL 1.1
|
||||
|
||||
The contents of this file are subject to the Mozilla Public License Version
|
||||
1.1 (the "License"); you may not use this file except in compliance with
|
||||
the License. You may obtain a copy of the License at
|
||||
http://www.mozilla.org/MPL/
|
||||
|
||||
Software distributed under the License is distributed on an "AS IS" basis,
|
||||
WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
for the specific language governing rights and limitations under the
|
||||
License.
|
||||
|
||||
The Original Code is FusionPBX
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2012
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
*/
|
||||
|
||||
// make sure the PATH_SEPARATOR is defined
|
||||
umask(2);
|
||||
if (!defined("PATH_SEPARATOR")) {
|
||||
if (strpos($_ENV["OS"], "Win") !== false) {
|
||||
define("PATH_SEPARATOR", ";");
|
||||
} else {
|
||||
define("PATH_SEPARATOR", ":");
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($output_format)) $output_format = (PHP_SAPI == 'cli') ? 'text' : 'html';
|
||||
|
||||
// make sure the document_root is set
|
||||
$_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]);
|
||||
if(PHP_SAPI == 'cli'){
|
||||
chdir(pathinfo(realpath($_SERVER["PHP_SELF"]), PATHINFO_DIRNAME));
|
||||
$script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]);
|
||||
$dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME));
|
||||
if (file_exists('/project_root.php')) {
|
||||
$path = '/';
|
||||
} else {
|
||||
$i = 1;
|
||||
$path = '';
|
||||
while ($i < count($dirs)) {
|
||||
$path .= '/' . $dirs[$i];
|
||||
if (file_exists($path. '/project_root.php')) {
|
||||
break;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
$_SERVER["DOCUMENT_ROOT"] = $path;
|
||||
}else{
|
||||
$_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]);
|
||||
}
|
||||
$_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]);
|
||||
// try to detect if a project path is being used
|
||||
if (!defined('PROJECT_PATH')) {
|
||||
if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) {
|
||||
define('PROJECT_PATH', '/fusionpbx');
|
||||
} elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/project_root.php')) {
|
||||
define('PROJECT_PATH', '');
|
||||
} else {
|
||||
$dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME)));
|
||||
$i = 1;
|
||||
$path = $_SERVER["DOCUMENT_ROOT"];
|
||||
while ($i < count($dirs)) {
|
||||
$path .= '/' . $dirs[$i];
|
||||
if (file_exists($path. '/project_root.php')) {
|
||||
break;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
if(!file_exists($path. '/project_root.php')){
|
||||
die("Failed to locate the Project Root by searching for project_root.php please contact support for assistance");
|
||||
}
|
||||
$project_path = str_replace($_SERVER["DOCUMENT_ROOT"], "", $path);
|
||||
define('PROJECT_PATH', $project_path);
|
||||
}
|
||||
$_SERVER["PROJECT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"] . PROJECT_PATH);
|
||||
set_include_path(get_include_path() . PATH_SEPARATOR . $_SERVER["PROJECT_ROOT"]);
|
||||
}
|
||||
|
||||
?>
|
||||
Loading…
Reference in New Issue