diff --git a/app/extensions/extension_delete.php b/app/extensions/extension_delete.php index 17421f383e..062344aa9f 100644 --- a/app/extensions/extension_delete.php +++ b/app/extensions/extension_delete.php @@ -23,16 +23,20 @@ Contributor(s): Mark J Crane */ -include "root.php"; -require_once "resources/require.php"; -require_once "resources/check_auth.php"; -if (permission_exists('extension_delete')) { - //access granted -} -else { - echo "access denied"; - exit; -} + +//includes + include "root.php"; + require_once "resources/require.php"; + require_once "resources/check_auth.php"; + +//check permissions + if (permission_exists('extension_delete')) { + //access granted + } + else { + echo "access denied"; + exit; + } //add multi-lingual support $language = new text; @@ -45,18 +49,75 @@ else { foreach($extension_uuids as $extension_uuid) { $extension_uuid = check_str($extension_uuid); if ($extension_uuid != '') { - //get the user_context - $sql = "select extension, user_context from v_extensions "; + //get the extensions array + $sql = "select * from v_extensions "; $sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' "; $sql .= "and extension_uuid = '".$extension_uuid."' "; $prep_statement = $db->prepare(check_sql($sql)); $prep_statement->execute(); - $result = $prep_statement->fetchAll(PDO::FETCH_NAMED); - foreach ($result as &$row) { - $extension = $row["extension"]; - $user_context = $row["user_context"]; + $extensions = $prep_statement->fetchAll(PDO::FETCH_NAMED); + if (is_array($extensions)) { + foreach ($extensions as &$row) { + $extension = $row["extension"]; + $user_context = $row["user_context"]; + } + unset ($prep_statement); + } + + //get the $xtension_users array + $sql = "select * from v_extension_users "; + $sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' "; + $sql .= "and extension_uuid = '".$extension_uuid."' "; + $prep_statement = $db->prepare(check_sql($sql)); + $prep_statement->execute(); + $extension_users = $prep_statement->fetchAll(PDO::FETCH_NAMED); + + //build the array + $old_array['extensions'] = $extensions; + $old_array['extension_users'] = $extension_users; + + //log the transaction results + if (file_exists($_SERVER["PROJECT_ROOT"]."/app/database_transactions/app_config.php")) { + //set the variables + $app_name = "extensions"; + $app_uuid = "e68d9689-2769-e013-28fa-6214bf47fca3"; + $code = "200"; + $new_array = array(); + + //add the insert into database transactions + $sql = "insert into v_database_transactions "; + $sql .= "("; + $sql .= "database_transaction_uuid, "; + $sql .= "domain_uuid, "; + $sql .= "user_uuid, "; + $sql .= "app_uuid, "; + $sql .= "app_name, "; + $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 .= "'".uuid()."', "; + $sql .= "'".$_SESSION['domain_uuid']."', "; + $sql .= "'".$_SESSION['user_uuid']."', "; + $sql .= "'".$app_uuid."', "; + $sql .= "'".$app_name."', "; + $sql .= "'".$code."', "; + $sql .= "'".$_SERVER['REMOTE_ADDR']."', "; + //$sql .= "'$transaction_type', "; + $sql .= "now(), "; + $sql .= "'".json_encode($old_array, JSON_PRETTY_PRINT)."', "; + //$sql .= "'".json_encode($new_array, JSON_PRETTY_PRINT)."', "; + $sql .= "null "; + $sql .= ")"; + $db->exec(check_sql($sql)); + unset($sql); } - unset ($prep_statement); //delete the extension $sql = "delete from v_extensions "; @@ -91,4 +152,4 @@ else { header("Location: extensions.php"); return; -?> \ No newline at end of file +?>