/osj-osj2duser_level_permissionsdelete.php
PHP | 597 lines | 464 code | 62 blank | 71 comment | 65 complexity | 427c2abce097a00b2eafd9ca42669e08 MD5 | raw file
Possible License(s): LGPL-2.1, AGPL-1.0
- <?php
- define("EW_PAGE_ID", "delete", TRUE); // Page ID
- define("EW_TABLE_NAME", 'osj-user_level_permissions', TRUE);
- ?>
- <?php
- session_start(); // Initialize session data
- ob_start(); // Turn on output buffering
- ?>
- <?php include "osj-ewcfg50.php" ?>
- <?php include "osj-ewmysql50.php" ?>
- <?php include "osj-phpfn50.php" ?>
- <?php include "osj-osj2duser_level_permissionsinfo.php" ?>
- <?php include "osj-userfn50.php" ?>
- <?php include "osj-osj2dusersinfo.php" ?>
- <?php
- header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
- header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Always modified
- header("Cache-Control: private, no-store, no-cache, must-revalidate"); // HTTP/1.1
- header("Cache-Control: post-check=0, pre-check=0", false);
- header("Pragma: no-cache"); // HTTP/1.0
- ?>
- <?php
-
- // Open connection to the database
- $conn = ew_Connect();
- ?>
- <?php
- $Security = new cAdvancedSecurity();
- ?>
- <?php
- if (!$Security->IsLoggedIn()) $Security->AutoLogin();
- $Security->LoadCurrentUserLevel('osj-user_level_permissions');
- if (!$Security->CanAdmin()) {
- $Security->SaveLastUrl();
- Page_Terminate("osj-login.php");
- }
- ?>
- <?php
-
- // Common page loading event (in userfn*.php)
- Page_Loading();
- ?>
- <?php
-
- // Page load event, used in current page
- Page_Load();
- ?>
- <?php
- $osj2Duser_level_permissions->Export = @$_GET["export"]; // Get export parameter
- $sExport = $osj2Duser_level_permissions->Export; // Get export parameter, used in header
- $sExportFile = $osj2Duser_level_permissions->TableVar; // Get export file, used in header
- ?>
- <?php
-
- // Load Key Parameters
- $sKey = "";
- $bSingleDelete = TRUE; // Initialize as single delete
- $arRecKeys = array();
- $nKeySelected = 0; // Initialize selected key count
- $sFilter = "";
- if (@$_GET["user_level_id"] <> "") {
- $osj2Duser_level_permissions->user_level_id->setQueryStringValue($_GET["user_level_id"]);
- if (!is_numeric($osj2Duser_level_permissions->user_level_id->QueryStringValue)) {
- Page_Terminate($osj2Duser_level_permissions->getReturnUrl()); // Prevent sql injection, exit
- }
- $sKey .= $osj2Duser_level_permissions->user_level_id->QueryStringValue;
- } else {
- $bSingleDelete = FALSE;
- }
- if (@$_GET["user_level_table_name"] <> "") {
- $osj2Duser_level_permissions->user_level_table_name->setQueryStringValue($_GET["user_level_table_name"]);
- if ($sKey <> "") $sKey .= EW_COMPOSITE_KEY_SEPARATOR;
- $sKey .= $osj2Duser_level_permissions->user_level_table_name->QueryStringValue;
- } else {
- $bSingleDelete = FALSE;
- }
- if ($bSingleDelete) {
- $nKeySelected = 1; // Set up key selected count
- $arRecKeys[0] = $sKey;
- } else {
- if (isset($_POST["key_m"])) { // Key in form
- $nKeySelected = count($_POST["key_m"]); // Set up key selected count
- $arRecKeys = ew_StripSlashes($_POST["key_m"]);
- }
- }
- if ($nKeySelected <= 0) Page_Terminate($osj2Duser_level_permissions->getReturnUrl()); // No key specified, exit
-
- // Build filter
- foreach ($arRecKeys as $sKey) {
- $sFilter .= "(";
- $arKeyFlds = explode(EW_COMPOSITE_KEY_SEPARATOR, trim($sKey)); // Split key by separator
- if (count($arKeyFlds) <> 2) Page_Terminate($osj2Duser_level_permissions->getReturnUrl()); // Invalid key, exit
-
- // Set up key field
- $sKeyFld = $arKeyFlds[0];
- if (!is_numeric($sKeyFld)) {
- Page_Terminate($osj2Duser_level_permissions->getReturnUrl()); // Prevent sql injection, exit
- }
- $sFilter .= "`user_level_id`=" . ew_AdjustSql($sKeyFld) . " AND ";
-
- // Set up key field
- $sKeyFld = $arKeyFlds[1];
- $sFilter .= "`user_level_table_name`='" . ew_AdjustSql($sKeyFld) . "' AND ";
- if (substr($sFilter, -5) == " AND ") $sFilter = substr($sFilter, 0, strlen($sFilter)-5) . ") OR ";
- }
- if (substr($sFilter, -4) == " OR ") $sFilter = substr($sFilter, 0, strlen($sFilter)-4);
-
- // Set up filter (Sql Where Clause) and get Return Sql
- // Sql constructor in osj2Duser_level_permissions class, osj2Duser_level_permissionsinfo.php
-
- $osj2Duser_level_permissions->CurrentFilter = $sFilter;
-
- // Get action
- if (@$_POST["a_delete"] <> "") {
- $osj2Duser_level_permissions->CurrentAction = $_POST["a_delete"];
- } else {
- $osj2Duser_level_permissions->CurrentAction = "I"; // Display record
- }
- switch ($osj2Duser_level_permissions->CurrentAction) {
- case "D": // Delete
- $osj2Duser_level_permissions->SendEmail = TRUE; // Send email on delete success
- if (DeleteRows()) { // delete rows
- $_SESSION[EW_SESSION_MESSAGE] = "Delete Successful"; // Set up success message
- Page_Terminate($osj2Duser_level_permissions->getReturnUrl()); // Return to caller
- }
- }
-
- // Load records for display
- $rs = LoadRecordset();
- $nTotalRecs = $rs->RecordCount(); // Get record count
- if ($nTotalRecs <= 0) { // No record found, exit
- $rs->Close();
- Page_Terminate($osj2Duser_level_permissions->getReturnUrl()); // Return to caller
- }
- ?>
- <?php include "osj-header.php" ?>
- <script type="text/javascript">
- <!--
- var EW_PAGE_ID = "delete"; // Page id
- var EW_SHOW_HIGHLIGHT = "Show highlight";
- var EW_HIDE_HIGHLIGHT = "Hide highlight";
-
- //-->
- </script>
- <script language="JavaScript" type="text/javascript">
- <!--
-
- // Write your client script here, no need to add script tags.
- // To include another .js script, use:
- // ew_ClientScriptInclude("my_javascript.js");
- //-->
-
- </script>
- <p><span class="phpmaker">Delete from TABLE: User Permissions<br><br><a href="<?php echo $osj2Duser_level_permissions->getReturnUrl() ?>">Go Back</a></span></p>
- <?php
- if (@$_SESSION[EW_SESSION_MESSAGE] <> "") {
- ?>
- <p><span class="ewmsg"><?php echo $_SESSION[EW_SESSION_MESSAGE] ?></span></p>
- <?php
- $_SESSION[EW_SESSION_MESSAGE] = ""; // Clear message
- }
- ?>
- <form action="osj-osj2duser_level_permissionsdelete.php" method="post">
- <p>
- <input type="hidden" name="a_delete" id="a_delete" value="D">
- <?php foreach ($arRecKeys as $sKey) { ?>
- <input type="hidden" name="key_m[]" id="key_m[]" value="<?php echo ew_HtmlEncode($sKey) ?>">
- <?php } ?>
- <table class="ewTable">
- <tr class="ewTableHeader">
- <td valign="top">Permission To Do...</td>
- <td valign="top">Permission Level</td>
- </tr>
- <?php
- $nRecCount = 0;
- $i = 0;
- while (!$rs->EOF) {
- $nRecCount++;
-
- // Set row class and style
- $osj2Duser_level_permissions->CssClass = "ewTableRow";
- $osj2Duser_level_permissions->CssStyle = "";
-
- // Display alternate color for rows
- if ($nRecCount % 2 <> 1) {
- $osj2Duser_level_permissions->CssClass = "ewTableAltRow";
- }
-
- // Get the field contents
- LoadRowValues($rs);
-
- // Render row value
- $osj2Duser_level_permissions->RowType = EW_ROWTYPE_VIEW; // view
- RenderRow();
- ?>
- <tr<?php echo $osj2Duser_level_permissions->DisplayAttributes() ?>>
- <td<?php echo $osj2Duser_level_permissions->user_level_table_name->CellAttributes() ?>>
- <div<?php echo $osj2Duser_level_permissions->user_level_table_name->ViewAttributes() ?>><?php echo $osj2Duser_level_permissions->user_level_table_name->ViewValue ?></div>
- </td>
- <td<?php echo $osj2Duser_level_permissions->user_level_permission->CellAttributes() ?>>
- <div<?php echo $osj2Duser_level_permissions->user_level_permission->ViewAttributes() ?>><?php echo $osj2Duser_level_permissions->user_level_permission->ViewValue ?></div>
- </td>
- </tr>
- <?php
- $rs->MoveNext();
- }
- $rs->Close();
- ?>
- </table>
- <p>
- <input type="submit" name="Action" id="Action" value="Confirm Delete">
- </form>
- <script language="JavaScript" type="text/javascript">
- <!--
-
- // Write your table-specific startup script here
- // document.write("page loaded");
- //-->
-
- </script>
- <?php include "osj-footer.php" ?>
- <?php
-
- // If control is passed here, simply terminate the page without redirect
- Page_Terminate();
-
- // -----------------------------------------------------------------
- // Subroutine Page_Terminate
- // - called when exit page
- // - clean up connection and objects
- // - if url specified, redirect to url, otherwise end response
- function Page_Terminate($url = "") {
- global $conn;
-
- // Page unload event, used in current page
- Page_Unload();
-
- // Global page unloaded event (in userfn*.php)
- Page_Unloaded();
-
- // Close Connection
- $conn->Close();
-
- // Go to url if specified
- if ($url <> "") {
- ob_end_clean();
- header("Location: $url");
- }
- exit();
- }
- ?>
- <?php
-
- // ------------------------------------------------
- // Function DeleteRows
- // - Delete Records based on current filter
- function DeleteRows() {
- global $conn, $Security, $osj2Duser_level_permissions;
- $DeleteRows = TRUE;
- $sWrkFilter = $osj2Duser_level_permissions->CurrentFilter;
-
- // Set up filter (Sql Where Clause) and get Return Sql
- // Sql constructor in osj2Duser_level_permissions class, osj2Duser_level_permissionsinfo.php
-
- $osj2Duser_level_permissions->CurrentFilter = $sWrkFilter;
- $sSql = $osj2Duser_level_permissions->SQL();
- $conn->raiseErrorFn = 'ew_ErrorFn';
- $rs = $conn->Execute($sSql);
- $conn->raiseErrorFn = '';
- if ($rs === FALSE) {
- return FALSE;
- } elseif ($rs->EOF) {
- $_SESSION[EW_SESSION_MESSAGE] = "No records found"; // No record found
- $rs->Close();
- return FALSE;
- }
- $conn->BeginTrans();
- WriteAuditTrailDummy("*** batch delete begin ***"); // Batch delete begin
-
- // Clone old rows
- $rsold = ($rs) ? $rs->GetRows() : array();
- if ($rs) $rs->Close();
-
- // Call row deleting event
- if ($DeleteRows) {
- foreach ($rsold as $row) {
- $DeleteRows = $osj2Duser_level_permissions->Row_Deleting($row);
- if (!$DeleteRows) break;
- }
- }
- if ($DeleteRows) {
- $sKey = "";
- foreach ($rsold as $row) {
- $sThisKey = "";
- if ($sThisKey <> "") $sThisKey .= EW_COMPOSITE_KEY_SEPARATOR;
- $sThisKey .= $row['user_level_table_name'];
- if ($sThisKey <> "") $sThisKey .= EW_COMPOSITE_KEY_SEPARATOR;
- $sThisKey .= $row['user_level_table_name'];
- $conn->raiseErrorFn = 'ew_ErrorFn';
- $DeleteRows = $conn->Execute($osj2Duser_level_permissions->DeleteSQL($row)); // Delete
- $conn->raiseErrorFn = '';
- if ($DeleteRows === FALSE)
- break;
- if ($sKey <> "") $sKey .= ", ";
- $sKey .= $sThisKey;
- }
- } else {
-
- // Set up error message
- if ($osj2Duser_level_permissions->CancelMessage <> "") {
- $_SESSION[EW_SESSION_MESSAGE] = $osj2Duser_level_permissions->CancelMessage;
- $osj2Duser_level_permissions->CancelMessage = "";
- } else {
- $_SESSION[EW_SESSION_MESSAGE] = "Delete cancelled";
- }
- }
- if ($DeleteRows) {
- $conn->CommitTrans(); // Commit the changes
- if ($DeleteRows) {
- foreach ($rsold as $row) {
- WriteAuditTrailOnDelete($row);
- }
- }
- WriteAuditTrailDummy("*** batch delete success ***"); // Batch delete success
- } else {
- $conn->RollbackTrans(); // Rollback changes
- WriteAuditTrailDummy("*** batch delete rollback ***"); // Batch delete rollback
- }
-
- // Call recordset deleted event
- if ($DeleteRows) {
- foreach ($rsold as $row) {
- $osj2Duser_level_permissions->Row_Deleted($row);
- }
- }
- return $DeleteRows;
- }
- ?>
- <?php
-
- // Load recordset
- function LoadRecordset($offset = -1, $rowcnt = -1) {
- global $conn, $osj2Duser_level_permissions;
-
- // Call Recordset Selecting event
- $osj2Duser_level_permissions->Recordset_Selecting($osj2Duser_level_permissions->CurrentFilter);
-
- // Load list page sql
- $sSql = $osj2Duser_level_permissions->SelectSQL();
- if ($offset > -1 && $rowcnt > -1) $sSql .= " LIMIT $offset, $rowcnt";
-
- // Load recordset
- $conn->raiseErrorFn = 'ew_ErrorFn';
- $rs = $conn->Execute($sSql);
- $conn->raiseErrorFn = '';
-
- // Call Recordset Selected event
- $osj2Duser_level_permissions->Recordset_Selected($rs);
- return $rs;
- }
- ?>
- <?php
-
- // Load row based on key values
- function LoadRow() {
- global $conn, $Security, $osj2Duser_level_permissions;
- $sFilter = $osj2Duser_level_permissions->SqlKeyFilter();
- if (!is_numeric($osj2Duser_level_permissions->user_level_id->CurrentValue)) {
- return FALSE; // Invalid key, exit
- }
- $sFilter = str_replace("@user_level_id@", ew_AdjustSql($osj2Duser_level_permissions->user_level_id->CurrentValue), $sFilter); // Replace key value
- $sFilter = str_replace("@user_level_table_name@", ew_AdjustSql($osj2Duser_level_permissions->user_level_table_name->CurrentValue), $sFilter); // Replace key value
-
- // Call Row Selecting event
- $osj2Duser_level_permissions->Row_Selecting($sFilter);
-
- // Load sql based on filter
- $osj2Duser_level_permissions->CurrentFilter = $sFilter;
- $sSql = $osj2Duser_level_permissions->SQL();
- if ($rs = $conn->Execute($sSql)) {
- if ($rs->EOF) {
- $LoadRow = FALSE;
- } else {
- $LoadRow = TRUE;
- $rs->MoveFirst();
- LoadRowValues($rs); // Load row values
-
- // Call Row Selected event
- $osj2Duser_level_permissions->Row_Selected($rs);
- }
- $rs->Close();
- } else {
- $LoadRow = FALSE;
- }
- return $LoadRow;
- }
-
- // Load row values from recordset
- function LoadRowValues(&$rs) {
- global $osj2Duser_level_permissions;
- $osj2Duser_level_permissions->user_level_id->setDbValue($rs->fields('user_level_id'));
- $osj2Duser_level_permissions->user_level_table_name->setDbValue($rs->fields('user_level_table_name'));
- $osj2Duser_level_permissions->user_level_permission->setDbValue($rs->fields('user_level_permission'));
- }
- ?>
- <?php
-
- // Render row values based on field settings
- function RenderRow() {
- global $conn, $Security, $osj2Duser_level_permissions;
-
- // Call Row Rendering event
- $osj2Duser_level_permissions->Row_Rendering();
-
- // Common render codes for all row types
- // user_level_table_name
-
- $osj2Duser_level_permissions->user_level_table_name->CellCssStyle = "";
- $osj2Duser_level_permissions->user_level_table_name->CellCssClass = "";
-
- // user_level_permission
- $osj2Duser_level_permissions->user_level_permission->CellCssStyle = "";
- $osj2Duser_level_permissions->user_level_permission->CellCssClass = "";
- if ($osj2Duser_level_permissions->RowType == EW_ROWTYPE_VIEW) { // View row
-
- // user_level_table_name
- if (!is_null($osj2Duser_level_permissions->user_level_table_name->CurrentValue)) {
- switch ($osj2Duser_level_permissions->user_level_table_name->CurrentValue) {
- case "osj-applications":
- $osj2Duser_level_permissions->user_level_table_name->ViewValue = "Applications";
- break;
- case "osj-applications":
- $osj2Duser_level_permissions->user_level_table_name->ViewValue = "Applications";
- break;
- case "osj-posts":
- $osj2Duser_level_permissions->user_level_table_name->ViewValue = "Postings";
- break;
- case "osj-resumes":
- $osj2Duser_level_permissions->user_level_table_name->ViewValue = "Resumes";
- break;
- case "osj-users":
- $osj2Duser_level_permissions->user_level_table_name->ViewValue = "Users";
- break;
- case "osj-user_detail":
- $osj2Duser_level_permissions->user_level_table_name->ViewValue = "User Detail Page";
- break;
- case "osj-user_level":
- $osj2Duser_level_permissions->user_level_table_name->ViewValue = "User Levels";
- break;
- case "osj-user_level_permissions":
- $osj2Duser_level_permissions->user_level_table_name->ViewValue = "User Permission Levels";
- break;
- default:
- $osj2Duser_level_permissions->user_level_table_name->ViewValue = $osj2Duser_level_permissions->user_level_table_name->CurrentValue;
- }
- } else {
- $osj2Duser_level_permissions->user_level_table_name->ViewValue = NULL;
- }
- $osj2Duser_level_permissions->user_level_table_name->CssStyle = "";
- $osj2Duser_level_permissions->user_level_table_name->CssClass = "";
- $osj2Duser_level_permissions->user_level_table_name->ViewCustomAttributes = "";
-
- // user_level_permission
- if (!is_null($osj2Duser_level_permissions->user_level_permission->CurrentValue)) {
- switch ($osj2Duser_level_permissions->user_level_permission->CurrentValue) {
- case "0":
- $osj2Duser_level_permissions->user_level_permission->ViewValue = "No Permission";
- break;
- case "1":
- $osj2Duser_level_permissions->user_level_permission->ViewValue = "Add Only";
- break;
- case "2":
- $osj2Duser_level_permissions->user_level_permission->ViewValue = "Delete Only";
- break;
- case "4":
- $osj2Duser_level_permissions->user_level_permission->ViewValue = "Edit Only";
- break;
- case "8":
- $osj2Duser_level_permissions->user_level_permission->ViewValue = "View Only";
- break;
- case "5":
- $osj2Duser_level_permissions->user_level_permission->ViewValue = "Add/Edit";
- break;
- case "3":
- $osj2Duser_level_permissions->user_level_permission->ViewValue = "Add/Delete";
- break;
- case "7":
- $osj2Duser_level_permissions->user_level_permission->ViewValue = "Add/Edit/Delete";
- break;
- case "6":
- $osj2Duser_level_permissions->user_level_permission->ViewValue = "Edit/Delete";
- break;
- case "9":
- $osj2Duser_level_permissions->user_level_permission->ViewValue = "View/Add";
- break;
- case "11":
- $osj2Duser_level_permissions->user_level_permission->ViewValue = "View/Add/Delete";
- break;
- case "12":
- $osj2Duser_level_permissions->user_level_permission->ViewValue = "View/Edit";
- break;
- case "10":
- $osj2Duser_level_permissions->user_level_permission->ViewValue = "View/Delete";
- break;
- case "14":
- $osj2Duser_level_permissions->user_level_permission->ViewValue = "View/Edit/Delete";
- break;
- case "13":
- $osj2Duser_level_permissions->user_level_permission->ViewValue = "View/Add/Edit";
- break;
- case "15":
- $osj2Duser_level_permissions->user_level_permission->ViewValue = "View/Add/Edit/Delete";
- break;
- default:
- $osj2Duser_level_permissions->user_level_permission->ViewValue = $osj2Duser_level_permissions->user_level_permission->CurrentValue;
- }
- } else {
- $osj2Duser_level_permissions->user_level_permission->ViewValue = NULL;
- }
- $osj2Duser_level_permissions->user_level_permission->CssStyle = "";
- $osj2Duser_level_permissions->user_level_permission->CssClass = "";
- $osj2Duser_level_permissions->user_level_permission->ViewCustomAttributes = "";
-
- // user_level_table_name
- $osj2Duser_level_permissions->user_level_table_name->HrefValue = "";
-
- // user_level_permission
- $osj2Duser_level_permissions->user_level_permission->HrefValue = "";
- } elseif ($osj2Duser_level_permissions->RowType == EW_ROWTYPE_ADD) { // Add row
- } elseif ($osj2Duser_level_permissions->RowType == EW_ROWTYPE_EDIT) { // Edit row
- } elseif ($osj2Duser_level_permissions->RowType == EW_ROWTYPE_SEARCH) { // Search row
- }
-
- // Call Row Rendered event
- $osj2Duser_level_permissions->Row_Rendered();
- }
- ?>
- <?php
-
- // Write Audit Trail start/end for grid update
- function WriteAuditTrailDummy($typ) {
- $table = 'osj-user_level_permissions';
-
- // Write Audit Trail
- $filePfx = "log";
- $curDate = date("Y/m/d");
- $curTime = date("H:i:s");
- $id = ew_ScriptName();
- $user = CurrentUserID();
- $action = $typ;
- ew_WriteAuditTrail($filePfx, $curDate, $curTime, $id, $user, $action, $table, "", "", "", "");
- }
- ?>
- <?php
-
- // Write Audit Trail (delete page)
- function WriteAuditTrailOnDelete(&$rs) {
- global $osj2Duser_level_permissions;
- $table = 'osj-user_level_permissions';
-
- // Get key value
- $key = "";
- if ($key <> "") $key .= EW_COMPOSITE_KEY_SEPARATOR;
- $key .= $rs['user_level_id'];
- if ($key <> "") $key .= EW_COMPOSITE_KEY_SEPARATOR;
- $key .= $rs['user_level_table_name'];
-
- // Write Audit Trail
- $filePfx = "log";
- $curDate = date("Y/m/d");
- $curTime = date("H:i:s");
- $id = ew_ScriptName();
- $user = CurrentUserID();
- $action = "D";
- $newvalue = "";
- foreach (array_keys($rs) as $fldname) {
- if ($osj2Duser_level_permissions->fields[$fldname]->FldDataType <> EW_DATATYPE_BLOB) { // Ignore Blob Field
- $oldvalue = ($osj2Duser_level_permissions->fields[$fldname]->FldDataType == EW_DATATYPE_MEMO) ? "<MEMO>" : $rs[$fldname]; // Memo Field
- ew_WriteAuditTrail($filePfx, $curDate, $curTime, $id, $user, $action, $table, $fldname, $key, $oldvalue, $newvalue);
- }
- }
- }
- ?>
- <?php
-
- // Page Load event
- function Page_Load() {
-
- //echo "Page Load";
- }
-
- // Page Unload event
- function Page_Unload() {
-
- //echo "Page Unload";
- }
- ?>