/osj-osj2duser_leveladd.php
PHP | 566 lines | 442 code | 59 blank | 65 comment | 118 complexity | 322a877c3802538b42295275b6303b80 MD5 | raw file
Possible License(s): LGPL-2.1, AGPL-1.0
- <?php
- define("EW_PAGE_ID", "add", TRUE); // Page ID
- define("EW_TABLE_NAME", 'osj-user_level', 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_levelinfo.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');
- 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->Export = @$_GET["export"]; // Get export parameter
- $sExport = $osj2Duser_level->Export; // Get export parameter, used in header
- $sExportFile = $osj2Duser_level->TableVar; // Get export file, used in header
- ?>
- <?php
-
- // Load key values from QueryString
- $bCopy = TRUE;
- if (@$_GET["user_level_id"] != "") {
- $osj2Duser_level->user_level_id->setQueryStringValue($_GET["user_level_id"]);
- } else {
- $bCopy = FALSE;
- }
-
- // Create form object
- $objForm = new cFormObj();
-
- // Process form if post back
- if (@$_POST["a_add"] <> "") {
- $osj2Duser_level->CurrentAction = $_POST["a_add"]; // Get form action
- LoadFormValues(); // Load form values
-
- // Load values for user privileges
- $x_ewAllowAdd = @$_POST["x_ewAllowAdd"];
- if ($x_ewAllowAdd == "") $x_ewAllowAdd = 0;
- $x_ewAllowEdit = @$_POST["x_ewAllowEdit"];
- if ($x_ewAllowEdit == "") $x_ewAllowEdit = 0;
- $x_ewAllowDelete = @$_POST["x_ewAllowDelete"];
- if ($x_ewAllowDelete == "") $x_ewAllowDelete = 0;
- $x_ewAllowList = @$_POST["x_ewAllowList"];
- if ($x_ewAllowList == "") $x_ewAllowList = 0;
- if (defined("EW_USER_LEVEL_COMPAT")) {
- $x_ewPriv = intval($x_ewAllowAdd) + intval($x_ewAllowEdit) +
- intval($x_ewAllowDelete) + intval($x_ewAllowList);
- } else {
- $x_ewAllowView = @$_POST["x_ewAllowView"];
- if ($x_ewAllowView == "") $x_ewAllowView = 0;
- $x_ewAllowSearch = @$_POST["x_ewAllowSearch"];
- if ($x_ewAllowSearch == "") $x_ewAllowSearch = 0;
- $x_ewPriv = intval($x_ewAllowAdd) + intval($x_ewAllowEdit) +
- intval($x_ewAllowDelete) + intval($x_ewAllowList) +
- intval($x_ewAllowView) + intval($x_ewAllowSearch);
- }
- } else { // Not post back
- if ($bCopy) {
- $osj2Duser_level->CurrentAction = "C"; // Copy Record
- } else {
- $osj2Duser_level->CurrentAction = "I"; // Display Blank Record
- LoadDefaultValues(); // Load default values
- }
- }
-
- // Perform action based on action code
- switch ($osj2Duser_level->CurrentAction) {
- case "I": // Blank record, no action required
- break;
- case "C": // Copy an existing record
- if (!LoadRow()) { // Load record based on key
- $_SESSION[EW_SESSION_MESSAGE] = "No records found"; // No record found
- Page_Terminate($osj2Duser_level->getReturnUrl()); // Clean up and return
- }
- break;
- case "A": // ' Add new record
- $osj2Duser_level->SendEmail = TRUE; // Send email on add success
- if (AddRow()) { // Add successful
- $_SESSION[EW_SESSION_MESSAGE] = "Add New Record Successful"; // Set up success message
- Page_Terminate($osj2Duser_level->KeyUrl($osj2Duser_level->getReturnUrl())); // Clean up and return
- } else {
- RestoreFormValues(); // Add failed, restore form values
- }
- }
-
- // Render row based on row type
- $osj2Duser_level->RowType = EW_ROWTYPE_ADD; // Render add type
- RenderRow();
- ?>
- <?php include "osj-header.php" ?>
- <script type="text/javascript">
- <!--
- var EW_PAGE_ID = "add"; // Page id
- var EW_SHOW_HIGHLIGHT = "Show highlight";
- var EW_HIDE_HIGHLIGHT = "Hide highlight";
-
- //-->
- </script>
- <script type="text/javascript">
- <!--
-
- function ew_ValidateForm(fobj) {
- if (fobj.a_confirm && fobj.a_confirm.value == "F")
- return true;
- var i, elm, aelm, infix;
- var rowcnt = (fobj.key_count) ? Number(fobj.key_count.value) : 1;
- for (i=0; i<rowcnt; i++) {
- infix = (fobj.key_count) ? String(i+1) : "";
- elm = fobj.elements["x" + infix + "_user_level_id"];
- if (elm && !ew_HasValue(elm)) {
- if (!ew_OnError(elm, "Please enter required field - user level id"))
- return false;
- }
- elm = fobj.elements["x" + infix + "_user_level_id"];
- if (elm && !ew_CheckInteger(elm.value)) {
- if (!ew_OnError(elm, "Incorrect integer - user level id"))
- return false;
- }
- elm = fobj.elements["x" + infix + "_user_level_name"];
- if (elm && !ew_HasValue(elm)) {
- if (!ew_OnError(elm, "Please enter required field - user level name"))
- return false;
- }
- elmId = fobj.elements["x" + infix + "_user_level_id"];
- elmName = fobj.elements["x" + infix + "_user_level_name"];
- if (elmId && elmName) {
- elmId.value = elmId.value.replace(/^\s+|\s+$/, '');
- elmName.value = elmName.value.replace(/^\s+|\s+$/, '');
- if (elmId && !ew_CheckInteger(elmId.value)) {
- if (!ew_OnError(elmId, "User Level ID must be integer"))
- return false;
- }
- var level = parseInt(elmId.value);
- if (level == 0) {
- if (elmName.value.toLowerCase() != "default") {
- if (!ew_OnError(elmName, "User level name for user level 0 must be 'Default'"))
- return false;
- }
- } else if (level == -1) {
- if (elmName.value.toLowerCase() != "administrator") {
- if (!ew_OnError(elmName, "User level name for user level -1 must be 'Administrator'"))
- return false;
- }
- } else if (level < -1) {
- if (!ew_OnError(elmId, "User defined User Level ID must be larger than 0"))
- return false;
- } else if (level > 0) {
- if (elmName.value.toLowerCase() == "administrator" || elmName.value.toLowerCase() == "default") {
- if (!ew_OnError(elmName, "User defined User Level name cannot be 'Administrator' or 'Default'"))
- return false;
- }
- }
- }
- }
- return true;
- }
-
- //-->
- </script>
- <script type="text/javascript">
- <!--
- var ew_DHTMLEditors = [];
-
- //-->
- </script>
- <script type="text/javascript">
- <!--
-
- // js for Popup Calendar
- //-->
-
- </script>
- <script type="text/javascript">
- <!--
- var ew_MultiPagePage = "Page"; // multi-page Page Text
- var ew_MultiPageOf = "of"; // multi-page Of Text
- var ew_MultiPagePrev = "Prev"; // multi-page Prev Text
- var ew_MultiPageNext = "Next"; // multi-page Next Text
-
- //-->
- </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">Add to TABLE: User Levels<br><br><a href="<?php echo $osj2Duser_level->getReturnUrl() ?>">Go Back</a></span></p>
- <?php
- if (@$_SESSION[EW_SESSION_MESSAGE] <> "") { // Mesasge in Session, display
- ?>
- <p><span class="ewmsg"><?php echo $_SESSION[EW_SESSION_MESSAGE] ?></span></p>
- <?php
- $_SESSION[EW_SESSION_MESSAGE] = ""; // Clear message in Session
- }
- ?>
- <form name="fosj2Duser_leveladd" id="fosj2Duser_leveladd" action="osj-osj2duser_leveladd.php" method="post" onSubmit="return ew_ValidateForm(this);">
- <p>
- <input type="hidden" name="a_add" id="a_add" value="A">
- <table class="ewTable">
- <tr class="ewTableRow">
- <td class="ewTableHeader">user level id<span class='ewmsg'> *</span></td>
- <td<?php echo $osj2Duser_level->user_level_id->CellAttributes() ?>><span id="cb_x_user_level_id">
- <input type="text" name="x_user_level_id" id="x_user_level_id" title="User Level ID" size="30" value="<?php echo $osj2Duser_level->user_level_id->EditValue ?>"<?php echo $osj2Duser_level->user_level_id->EditAttributes() ?>>
- </span></td>
- </tr>
- <tr class="ewTableAltRow">
- <td class="ewTableHeader">user level name<span class='ewmsg'> *</span></td>
- <td<?php echo $osj2Duser_level->user_level_name->CellAttributes() ?>><span id="cb_x_user_level_name">
- <input type="text" name="x_user_level_name" id="x_user_level_name" title="User Level Description" size="30" maxlength="50" value="<?php echo $osj2Duser_level->user_level_name->EditValue ?>"<?php echo $osj2Duser_level->user_level_name->EditAttributes() ?>>
- </span></td>
- </tr>
- <!-- row for permission values -->
- <tr class="ewTableRow">
- <td class="ewTableHeader">Permission</td>
- <td>
- <input type="checkbox" name="x_ewAllowAdd" id="Add" value="<?php echo EW_ALLOW_ADD ?>">Add/Copy
- <input type="checkbox" name="x_ewAllowDelete" id="Delete" value="<?php echo EW_ALLOW_DELETE ?>">Delete
- <input type="checkbox" name="x_ewAllowEdit" id="Edit" value="<?php echo EW_ALLOW_EDIT ?>">Edit
- <?php if (defined("EW_USER_LEVEL_COMPAT")) { ?>
- <input type="checkbox" name="x_ewAllowList" id="List" value="<?php echo EW_ALLOW_LIST ?>">List/Search/View
- <?php } else { ?>
- <input type="checkbox" name="x_ewAllowList" id="List" value="<?php echo EW_ALLOW_LIST ?>">List
- <input type="checkbox" name="x_ewAllowView" id="View" value="<?php echo EW_ALLOW_VIEW ?>">View
- <input type="checkbox" name="x_ewAllowSearch" id="Search" value="<?php echo EW_ALLOW_SEARCH ?>">Search
- <?php } ?>
- </td>
- </tr>
- </table>
- <p>
- <input type="submit" name="btnAction" id="btnAction" value=" Add ">
- </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
-
- // Load default values
- function LoadDefaultValues() {
- global $osj2Duser_level;
- $osj2Duser_level->user_level_id->CurrentValue = 0;
- }
- ?>
- <?php
-
- // Load form values
- function LoadFormValues() {
-
- // Load from form
- global $objForm, $osj2Duser_level;
- $osj2Duser_level->user_level_id->setFormValue($objForm->GetValue("x_user_level_id"));
- $osj2Duser_level->user_level_name->setFormValue($objForm->GetValue("x_user_level_name"));
- }
-
- // Restore form values
- function RestoreFormValues() {
- global $osj2Duser_level;
- $osj2Duser_level->user_level_id->CurrentValue = $osj2Duser_level->user_level_id->FormValue;
- $osj2Duser_level->user_level_name->CurrentValue = $osj2Duser_level->user_level_name->FormValue;
- }
- ?>
- <?php
-
- // Load row based on key values
- function LoadRow() {
- global $conn, $Security, $osj2Duser_level;
- $sFilter = $osj2Duser_level->SqlKeyFilter();
- if (!is_numeric($osj2Duser_level->user_level_id->CurrentValue)) {
- return FALSE; // Invalid key, exit
- }
- $sFilter = str_replace("@user_level_id@", ew_AdjustSql($osj2Duser_level->user_level_id->CurrentValue), $sFilter); // Replace key value
-
- // Call Row Selecting event
- $osj2Duser_level->Row_Selecting($sFilter);
-
- // Load sql based on filter
- $osj2Duser_level->CurrentFilter = $sFilter;
- $sSql = $osj2Duser_level->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->Row_Selected($rs);
- }
- $rs->Close();
- } else {
- $LoadRow = FALSE;
- }
- return $LoadRow;
- }
-
- // Load row values from recordset
- function LoadRowValues(&$rs) {
- global $osj2Duser_level;
- $osj2Duser_level->user_level_id->setDbValue($rs->fields('user_level_id'));
- if (is_null($osj2Duser_level->user_level_id->CurrentValue)) {
- $osj2Duser_level->user_level_id->CurrentValue = 0;
- } else {
- $osj2Duser_level->user_level_id->CurrentValue = intval($osj2Duser_level->user_level_id->CurrentValue);
- }
- $osj2Duser_level->user_level_name->setDbValue($rs->fields('user_level_name'));
- }
- ?>
- <?php
-
- // Render row values based on field settings
- function RenderRow() {
- global $conn, $Security, $osj2Duser_level;
-
- // Call Row Rendering event
- $osj2Duser_level->Row_Rendering();
-
- // Common render codes for all row types
- // user_level_id
-
- $osj2Duser_level->user_level_id->CellCssStyle = "";
- $osj2Duser_level->user_level_id->CellCssClass = "";
-
- // user_level_name
- $osj2Duser_level->user_level_name->CellCssStyle = "";
- $osj2Duser_level->user_level_name->CellCssClass = "";
- if ($osj2Duser_level->RowType == EW_ROWTYPE_VIEW) { // View row
- } elseif ($osj2Duser_level->RowType == EW_ROWTYPE_ADD) { // Add row
-
- // user_level_id
- $osj2Duser_level->user_level_id->EditCustomAttributes = "";
- $osj2Duser_level->user_level_id->EditValue = ew_HtmlEncode($osj2Duser_level->user_level_id->CurrentValue);
-
- // user_level_name
- $osj2Duser_level->user_level_name->EditCustomAttributes = "";
- $osj2Duser_level->user_level_name->EditValue = ew_HtmlEncode($osj2Duser_level->user_level_name->CurrentValue);
- } elseif ($osj2Duser_level->RowType == EW_ROWTYPE_EDIT) { // Edit row
- } elseif ($osj2Duser_level->RowType == EW_ROWTYPE_SEARCH) { // Search row
- }
-
- // Call Row Rendered event
- $osj2Duser_level->Row_Rendered();
- }
- ?>
- <?php
-
- // Add record
- function AddRow() {
- global $conn, $Security, $osj2Duser_level;
- if (trim(strval($osj2Duser_level->user_level_id->CurrentValue)) == "") {
- $_SESSION[EW_SESSION_MESSAGE] = "Missing User Level ID";
- } elseif (trim($osj2Duser_level->user_level_name->CurrentValue) == "") {
- $_SESSION[EW_SESSION_MESSAGE] = "Missing User Level name";
- } elseif (!is_numeric($osj2Duser_level->user_level_id->CurrentValue)) {
- $_SESSION[EW_SESSION_MESSAGE] = "User Level ID must be integer";
- } elseif (intval($osj2Duser_level->user_level_id->CurrentValue) < -1) {
- $_SESSION[EW_SESSION_MESSAGE] = "User defined User Level ID must be larger than 0";
- } elseif (intval($osj2Duser_level->user_level_id->CurrentValue) == 0 && strtolower(trim($osj2Duser_level->user_level_name->CurrentValue)) <> "default") {
- $_SESSION[EW_SESSION_MESSAGE] = "User level name for user level 0 must be 'Default'";
- } elseif (intval($osj2Duser_level->user_level_id->CurrentValue) == -1 && strtolower(trim($osj2Duser_level->user_level_name->CurrentValue)) <> "administrator") {
- $_SESSION[EW_SESSION_MESSAGE] = "User level name for user level -1 must be 'Administrator'";
- } elseif (intval($osj2Duser_level->user_level_id->CurrentValue) > 0 && (strtolower(trim($osj2Duser_level->user_level_name->CurrentValue)) == "administrator" || strtolower(trim($osj2Duser_level->user_level_name->CurrentValue)) == "default")) {
- $_SESSION[EW_SESSION_MESSAGE] = "User defined User Level name cannot be 'Administrator' or 'Default'";
- }
- if (@$_SESSION[EW_SESSION_MESSAGE] <> "") {
- return FALSE;
- }
-
- // Check for duplicate key
- $bCheckKey = TRUE;
- $sFilter = $osj2Duser_level->SqlKeyFilter();
- if (trim(strval($osj2Duser_level->user_level_id->CurrentValue)) == "") {
- $bCheckKey = FALSE;
- } else {
- $sFilter = str_replace("@user_level_id@", ew_AdjustSql($osj2Duser_level->user_level_id->CurrentValue), $sFilter); // Replace key value
- }
- if (!is_numeric($osj2Duser_level->user_level_id->CurrentValue)) {
- $bCheckKey = FALSE;
- }
- if ($bCheckKey) {
- $rsChk = $osj2Duser_level->LoadRs($sFilter);
- if ($rsChk && !$rsChk->EOF) {
- $_SESSION[EW_SESSION_MESSAGE] = "Duplicate value for primary key";
- $rsChk->Close();
- return FALSE;
- }
- }
- $rsnew = array();
-
- // Field user_level_id
- $osj2Duser_level->user_level_id->SetDbValueDef($osj2Duser_level->user_level_id->CurrentValue, 0);
- $rsnew['user_level_id'] =& $osj2Duser_level->user_level_id->DbValue;
-
- // Field user_level_name
- $osj2Duser_level->user_level_name->SetDbValueDef($osj2Duser_level->user_level_name->CurrentValue, "");
- $rsnew['user_level_name'] =& $osj2Duser_level->user_level_name->DbValue;
-
- // Call Row Inserting event
- $bInsertRow = $osj2Duser_level->Row_Inserting($rsnew);
- if ($bInsertRow) {
- $conn->raiseErrorFn = 'ew_ErrorFn';
- $AddRow = $conn->Execute($osj2Duser_level->InsertSQL($rsnew));
- $conn->raiseErrorFn = '';
- } else {
- if ($osj2Duser_level->CancelMessage <> "") {
- $_SESSION[EW_SESSION_MESSAGE] = $osj2Duser_level->CancelMessage;
- $osj2Duser_level->CancelMessage = "";
- } else {
- $_SESSION[EW_SESSION_MESSAGE] = "Insert cancelled";
- }
- $AddRow = FALSE;
- }
- if ($AddRow) {
-
- // Call Row Inserted event
- $osj2Duser_level->Row_Inserted($rsnew);
- WriteAuditTrailOnAdd($rsnew);
- }
-
- // Add User Level priv
- if ($GLOBALS["x_ewPriv"] > 0 && is_array($GLOBALS["EW_USER_LEVEL_TABLE_NAME"])) {
- for ($i = 0; $i < count($GLOBALS["EW_USER_LEVEL_TABLE_NAME"]); $i++) {
- $sSql = "INSERT INTO " . EW_USER_LEVEL_PRIV_TABLE . " (" .
- EW_USER_LEVEL_PRIV_TABLE_NAME_FIELD . ", " .
- EW_USER_LEVEL_PRIV_USER_LEVEL_ID_FIELD . ", " .
- EW_USER_LEVEL_PRIV_PRIV_FIELD . ") VALUES ('" .
- ew_AdjustSql($GLOBALS["EW_USER_LEVEL_TABLE_NAME"][$i]) .
- "', " . $osj2Duser_level->user_level_id->CurrentValue . ", " . $GLOBALS["x_ewPriv"] . ")";
- $conn->Execute($sSql);
- }
- }
- return $AddRow;
- }
- ?>
- <?php
-
- // Write Audit Trail start/end for grid update
- function WriteAuditTrailDummy($typ) {
- $table = 'osj-user_level';
-
- // 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 (add page)
- function WriteAuditTrailOnAdd(&$rs) {
- global $osj2Duser_level;
- $table = 'osj-user_level';
-
- // Get key value
- $key = "";
- if ($key <> "") $key .= EW_COMPOSITE_KEY_SEPARATOR;
- $key .= $rs['user_level_id'];
-
- // Write Audit Trail
- $filePfx = "log";
- $curDate = date("Y/m/d");
- $curTime = date("H:i:s");
- $id = ew_ScriptName();
- $user = CurrentUserID();
- $action = "A";
- $oldvalue = "";
- foreach (array_keys($rs) as $fldname) {
- if ($osj2Duser_level->fields[$fldname]->FldDataType <> EW_DATATYPE_BLOB) { // Ignore Blob Field
- $newvalue = ($osj2Duser_level->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";
- }
- ?>