UseTokenInUrl) $PageUrl .= "t=" . $this->TableVar . "&"; // Add page token return $PageUrl; } // Message function getMessage() { return @$_SESSION[EW_SESSION_MESSAGE]; } function setMessage($v) { ew_AddMessage($_SESSION[EW_SESSION_MESSAGE], $v); } function getFailureMessage() { return @$_SESSION[EW_SESSION_FAILURE_MESSAGE]; } function setFailureMessage($v) { ew_AddMessage($_SESSION[EW_SESSION_FAILURE_MESSAGE], $v); } function getSuccessMessage() { return @$_SESSION[EW_SESSION_SUCCESS_MESSAGE]; } function setSuccessMessage($v) { ew_AddMessage($_SESSION[EW_SESSION_SUCCESS_MESSAGE], $v); } function getWarningMessage() { return @$_SESSION[EW_SESSION_WARNING_MESSAGE]; } function setWarningMessage($v) { ew_AddMessage($_SESSION[EW_SESSION_WARNING_MESSAGE], $v); } // Methods to clear message function ClearMessage() { $_SESSION[EW_SESSION_MESSAGE] = ""; } function ClearFailureMessage() { $_SESSION[EW_SESSION_FAILURE_MESSAGE] = ""; } function ClearSuccessMessage() { $_SESSION[EW_SESSION_SUCCESS_MESSAGE] = ""; } function ClearWarningMessage() { $_SESSION[EW_SESSION_WARNING_MESSAGE] = ""; } function ClearMessages() { $_SESSION[EW_SESSION_MESSAGE] = ""; $_SESSION[EW_SESSION_FAILURE_MESSAGE] = ""; $_SESSION[EW_SESSION_SUCCESS_MESSAGE] = ""; $_SESSION[EW_SESSION_WARNING_MESSAGE] = ""; } // Show message function ShowMessage() { $hidden = FALSE; $html = ""; // Message $sMessage = $this->getMessage(); if (method_exists($this, "Message_Showing")) $this->Message_Showing($sMessage, ""); if ($sMessage <> "") { // Message in Session, display if (!$hidden) $sMessage = "" . $sMessage; $html .= "
" . $sMessage . "
"; $_SESSION[EW_SESSION_MESSAGE] = ""; // Clear message in Session } // Warning message $sWarningMessage = $this->getWarningMessage(); if (method_exists($this, "Message_Showing")) $this->Message_Showing($sWarningMessage, "warning"); if ($sWarningMessage <> "") { // Message in Session, display if (!$hidden) $sWarningMessage = "" . $sWarningMessage; $html .= "
" . $sWarningMessage . "
"; $_SESSION[EW_SESSION_WARNING_MESSAGE] = ""; // Clear message in Session } // Success message $sSuccessMessage = $this->getSuccessMessage(); if (method_exists($this, "Message_Showing")) $this->Message_Showing($sSuccessMessage, "success"); if ($sSuccessMessage <> "") { // Message in Session, display if (!$hidden) $sSuccessMessage = "" . $sSuccessMessage; $html .= "
" . $sSuccessMessage . "
"; $_SESSION[EW_SESSION_SUCCESS_MESSAGE] = ""; // Clear message in Session } // Failure message $sErrorMessage = $this->getFailureMessage(); if (method_exists($this, "Message_Showing")) $this->Message_Showing($sErrorMessage, "failure"); if ($sErrorMessage <> "") { // Message in Session, display if (!$hidden) $sErrorMessage = "" . $sErrorMessage; $html .= "
" . $sErrorMessage . "
"; $_SESSION[EW_SESSION_FAILURE_MESSAGE] = ""; // Clear message in Session } echo "
" . $html . "
"; } var $PageHeader; var $PageFooter; // Show Page Header function ShowPageHeader() { $sHeader = $this->PageHeader; $this->Page_DataRendering($sHeader); if ($sHeader <> "") { // Header exists, display echo "

" . $sHeader . "

"; } } // Show Page Footer function ShowPageFooter() { $sFooter = $this->PageFooter; $this->Page_DataRendered($sFooter); if ($sFooter <> "") { // Footer exists, display echo "

" . $sFooter . "

"; } } // Validate page request function IsPageRequest() { global $objForm; if ($this->UseTokenInUrl) { if ($objForm) return ($this->TableVar == $objForm->GetValue("t")); if (@$_GET["t"] <> "") return ($this->TableVar == $_GET["t"]); } else { return TRUE; } } var $Token = ""; var $TokenTimeout = 0; var $CheckToken = EW_CHECK_TOKEN; var $CheckTokenFn = "ew_CheckToken"; var $CreateTokenFn = "ew_CreateToken"; // Valid Post function ValidPost() { if (!$this->CheckToken || !ew_IsHttpPost()) return TRUE; if (!isset($_POST[EW_TOKEN_NAME])) return FALSE; $fn = $this->CheckTokenFn; if (is_callable($fn)) return $fn($_POST[EW_TOKEN_NAME], $this->TokenTimeout); return FALSE; } // Create Token function CreateToken() { global $gsToken; if ($this->CheckToken) { $fn = $this->CreateTokenFn; if ($this->Token == "" && is_callable($fn)) // Create token $this->Token = $fn(); $gsToken = $this->Token; // Save to global variable } } // // Page class constructor // function __construct() { global $conn, $Language; global $UserTable, $UserTableConn; $GLOBALS["Page"] = &$this; $this->TokenTimeout = ew_SessionTimeoutTime(); // Language object if (!isset($Language)) $Language = new cLanguage(); // Parent constuctor parent::__construct(); // Table object (users) if (!isset($GLOBALS["users"]) || get_class($GLOBALS["users"]) == "cusers") { $GLOBALS["users"] = &$this; $GLOBALS["Table"] = &$GLOBALS["users"]; } // Page ID if (!defined("EW_PAGE_ID")) define("EW_PAGE_ID", 'edit', TRUE); // Table name (for backward compatibility) if (!defined("EW_TABLE_NAME")) define("EW_TABLE_NAME", 'users', TRUE); // Start timer if (!isset($GLOBALS["gTimer"])) $GLOBALS["gTimer"] = new cTimer(); // Open connection if (!isset($conn)) $conn = ew_Connect($this->DBID); // User table object (users) if (!isset($UserTable)) { $UserTable = new cusers(); $UserTableConn = Conn($UserTable->DBID); } } // // Page_Init // function Page_Init() { global $gsExport, $gsCustomExport, $gsExportFile, $UserProfile, $Language, $Security, $objForm; // Security $Security = new cAdvancedSecurity(); if (!$Security->IsLoggedIn()) $Security->AutoLogin(); if ($Security->IsLoggedIn()) $Security->TablePermission_Loading(); $Security->LoadCurrentUserLevel($this->ProjectID . $this->TableName); if ($Security->IsLoggedIn()) $Security->TablePermission_Loaded(); if (!$Security->CanEdit()) { $Security->SaveLastUrl(); $this->setFailureMessage(ew_DeniedMsg()); // Set no permission if ($Security->CanList()) $this->Page_Terminate(ew_GetUrl("userslist.php")); else $this->Page_Terminate(ew_GetUrl("login.php")); } // Create form object $objForm = new cFormObj(); $this->CurrentAction = (@$_GET["a"] <> "") ? $_GET["a"] : @$_POST["a_list"]; // Set up current action $this->id->SetVisibility(); $this->id->Visible = !$this->IsAdd() && !$this->IsCopy() && !$this->IsGridAdd(); $this->_login->SetVisibility(); $this->password->SetVisibility(); $this->id_group->SetVisibility(); // Global Page Loading event (in userfn*.php) Page_Loading(); // Page Load event $this->Page_Load(); // Check token if (!$this->ValidPost()) { echo $Language->Phrase("InvalidPostRequest"); $this->Page_Terminate(); exit(); } // Process auto fill if (@$_POST["ajax"] == "autofill") { $results = $this->GetAutoFill(@$_POST["name"], @$_POST["q"]); if ($results) { // Clean output buffer if (!EW_DEBUG_ENABLED && ob_get_length()) ob_end_clean(); echo $results; $this->Page_Terminate(); exit(); } } // Create Token $this->CreateToken(); } // // Page_Terminate // function Page_Terminate($url = "") { global $gsExportFile, $gTmpImages; // Page Unload event $this->Page_Unload(); // Global Page Unloaded event (in userfn*.php) Page_Unloaded(); // Export global $EW_EXPORT, $users; if ($this->CustomExport <> "" && $this->CustomExport == $this->Export && array_key_exists($this->CustomExport, $EW_EXPORT)) { $sContent = ob_get_contents(); if ($gsExportFile == "") $gsExportFile = $this->TableVar; $class = $EW_EXPORT[$this->CustomExport]; if (class_exists($class)) { $doc = new $class($users); $doc->Text = $sContent; if ($this->Export == "email") echo $this->ExportEmail($doc->Text); else $doc->Export(); ew_DeleteTmpImages(); // Delete temp images exit(); } } $this->Page_Redirecting($url); // Close connection ew_CloseConn(); // Go to URL if specified if ($url <> "") { if (!EW_DEBUG_ENABLED && ob_get_length()) ob_end_clean(); // Handle modal response if ($this->IsModal) { $row = array(); $row["url"] = $url; echo ew_ArrayToJson(array($row)); } else { header("Location: " . $url); } } exit(); } var $FormClassName = "form-horizontal ewForm ewEditForm"; var $IsModal = FALSE; var $DbMasterFilter; var $DbDetailFilter; var $DisplayRecs = 1; var $StartRec; var $StopRec; var $TotalRecs = 0; var $RecRange = 10; var $Pager; var $RecCnt; var $RecKey = array(); var $Recordset; // // Page main // function Page_Main() { global $objForm, $Language, $gsFormError; global $gbSkipHeaderFooter; // Check modal $this->IsModal = (@$_GET["modal"] == "1" || @$_POST["modal"] == "1"); if ($this->IsModal) $gbSkipHeaderFooter = TRUE; // Load current record $bLoadCurrentRecord = FALSE; $sReturnUrl = ""; $bMatchRecord = FALSE; // Load key from QueryString if (@$_GET["id"] <> "") { $this->id->setQueryStringValue($_GET["id"]); $this->RecKey["id"] = $this->id->QueryStringValue; } else { $bLoadCurrentRecord = TRUE; } // Load recordset $this->StartRec = 1; // Initialize start position if ($this->Recordset = $this->LoadRecordset()) // Load records $this->TotalRecs = $this->Recordset->RecordCount(); // Get record count if ($this->TotalRecs <= 0) { // No record found if ($this->getSuccessMessage() == "" && $this->getFailureMessage() == "") $this->setFailureMessage($Language->Phrase("NoRecord")); // Set no record message $this->Page_Terminate("userslist.php"); // Return to list page } elseif ($bLoadCurrentRecord) { // Load current record position $this->SetUpStartRec(); // Set up start record position // Point to current record if (intval($this->StartRec) <= intval($this->TotalRecs)) { $bMatchRecord = TRUE; $this->Recordset->Move($this->StartRec-1); } } else { // Match key values while (!$this->Recordset->EOF) { if (strval($this->id->CurrentValue) == strval($this->Recordset->fields('id'))) { $this->setStartRecordNumber($this->StartRec); // Save record position $bMatchRecord = TRUE; break; } else { $this->StartRec++; $this->Recordset->MoveNext(); } } } // Process form if post back if (@$_POST["a_edit"] <> "") { $this->CurrentAction = $_POST["a_edit"]; // Get action code $this->LoadFormValues(); // Get form values } else { $this->CurrentAction = "I"; // Default action is display } // Validate form if post back if (@$_POST["a_edit"] <> "") { if (!$this->ValidateForm()) { $this->CurrentAction = ""; // Form error, reset action $this->setFailureMessage($gsFormError); $this->EventCancelled = TRUE; // Event cancelled $this->RestoreFormValues(); } } switch ($this->CurrentAction) { case "I": // Get a record to display if (!$bMatchRecord) { if ($this->getSuccessMessage() == "" && $this->getFailureMessage() == "") $this->setFailureMessage($Language->Phrase("NoRecord")); // Set no record message $this->Page_Terminate("userslist.php"); // Return to list page } else { $this->LoadRowValues($this->Recordset); // Load row values } break; Case "U": // Update $sReturnUrl = $this->getReturnUrl(); if (ew_GetPageName($sReturnUrl) == "userslist.php") $sReturnUrl = $this->AddMasterUrl($sReturnUrl); // List page, return to list page with correct master key if necessary $this->SendEmail = TRUE; // Send email on update success if ($this->EditRow()) { // Update record based on key if ($this->getSuccessMessage() == "") $this->setSuccessMessage($Language->Phrase("UpdateSuccess")); // Update success $this->Page_Terminate($sReturnUrl); // Return to caller } elseif ($this->getFailureMessage() == $Language->Phrase("NoRecord")) { $this->Page_Terminate($sReturnUrl); // Return to caller } else { $this->EventCancelled = TRUE; // Event cancelled $this->RestoreFormValues(); // Restore form values if update failed } } // Set up Breadcrumb $this->SetupBreadcrumb(); // Render the record $this->RowType = EW_ROWTYPE_EDIT; // Render as Edit $this->ResetAttrs(); $this->RenderRow(); } // Set up starting record parameters function SetUpStartRec() { if ($this->DisplayRecs == 0) return; if ($this->IsPageRequest()) { // Validate request if (@$_GET[EW_TABLE_START_REC] <> "") { // Check for "start" parameter $this->StartRec = $_GET[EW_TABLE_START_REC]; $this->setStartRecordNumber($this->StartRec); } elseif (@$_GET[EW_TABLE_PAGE_NO] <> "") { $PageNo = $_GET[EW_TABLE_PAGE_NO]; if (is_numeric($PageNo)) { $this->StartRec = ($PageNo-1)*$this->DisplayRecs+1; if ($this->StartRec <= 0) { $this->StartRec = 1; } elseif ($this->StartRec >= intval(($this->TotalRecs-1)/$this->DisplayRecs)*$this->DisplayRecs+1) { $this->StartRec = intval(($this->TotalRecs-1)/$this->DisplayRecs)*$this->DisplayRecs+1; } $this->setStartRecordNumber($this->StartRec); } } } $this->StartRec = $this->getStartRecordNumber(); // Check if correct start record counter if (!is_numeric($this->StartRec) || $this->StartRec == "") { // Avoid invalid start record counter $this->StartRec = 1; // Reset start record counter $this->setStartRecordNumber($this->StartRec); } elseif (intval($this->StartRec) > intval($this->TotalRecs)) { // Avoid starting record > total records $this->StartRec = intval(($this->TotalRecs-1)/$this->DisplayRecs)*$this->DisplayRecs+1; // Point to last page first record $this->setStartRecordNumber($this->StartRec); } elseif (($this->StartRec-1) % $this->DisplayRecs <> 0) { $this->StartRec = intval(($this->StartRec-1)/$this->DisplayRecs)*$this->DisplayRecs+1; // Point to page boundary $this->setStartRecordNumber($this->StartRec); } } // Get upload files function GetUploadFiles() { global $objForm, $Language; // Get upload data } // Load form values function LoadFormValues() { // Load from form global $objForm; if (!$this->id->FldIsDetailKey) $this->id->setFormValue($objForm->GetValue("x_id")); if (!$this->_login->FldIsDetailKey) { $this->_login->setFormValue($objForm->GetValue("x__login")); } if (!$this->password->FldIsDetailKey) { $this->password->setFormValue($objForm->GetValue("x_password")); } if (!$this->id_group->FldIsDetailKey) { $this->id_group->setFormValue($objForm->GetValue("x_id_group")); } } // Restore form values function RestoreFormValues() { global $objForm; $this->LoadRow(); $this->id->CurrentValue = $this->id->FormValue; $this->_login->CurrentValue = $this->_login->FormValue; $this->password->CurrentValue = $this->password->FormValue; $this->id_group->CurrentValue = $this->id_group->FormValue; } // Load recordset function LoadRecordset($offset = -1, $rowcnt = -1) { // Load List page SQL $sSql = $this->SelectSQL(); $conn = &$this->Connection(); // Load recordset $dbtype = ew_GetConnectionType($this->DBID); if ($this->UseSelectLimit) { $conn->raiseErrorFn = $GLOBALS["EW_ERROR_FN"]; if ($dbtype == "MSSQL") { $rs = $conn->SelectLimit($sSql, $rowcnt, $offset, array("_hasOrderBy" => trim($this->getOrderBy()) || trim($this->getSessionOrderBy()))); } else { $rs = $conn->SelectLimit($sSql, $rowcnt, $offset); } $conn->raiseErrorFn = ''; } else { $rs = ew_LoadRecordset($sSql, $conn); } // Call Recordset Selected event $this->Recordset_Selected($rs); return $rs; } // Load row based on key values function LoadRow() { global $Security, $Language; $sFilter = $this->KeyFilter(); // Call Row Selecting event $this->Row_Selecting($sFilter); // Load SQL based on filter $this->CurrentFilter = $sFilter; $sSql = $this->SQL(); $conn = &$this->Connection(); $res = FALSE; $rs = ew_LoadRecordset($sSql, $conn); if ($rs && !$rs->EOF) { $res = TRUE; $this->LoadRowValues($rs); // Load row values $rs->Close(); } return $res; } // Load row values from recordset function LoadRowValues(&$rs) { if (!$rs || $rs->EOF) return; // Call Row Selected event $row = &$rs->fields; $this->Row_Selected($row); $this->id->setDbValue($rs->fields('id')); $this->_login->setDbValue($rs->fields('login')); $this->password->setDbValue($rs->fields('password')); $this->id_group->setDbValue($rs->fields('id_group')); } // Load DbValue from recordset function LoadDbValues(&$rs) { if (!$rs || !is_array($rs) && $rs->EOF) return; $row = is_array($rs) ? $rs : $rs->fields; $this->id->DbValue = $row['id']; $this->_login->DbValue = $row['login']; $this->password->DbValue = $row['password']; $this->id_group->DbValue = $row['id_group']; } // Render row values based on field settings function RenderRow() { global $Security, $Language, $gsLanguage; // Initialize URLs // Call Row_Rendering event $this->Row_Rendering(); // Common render codes for all row types // id // login // password // id_group if ($this->RowType == EW_ROWTYPE_VIEW) { // View row // id $this->id->ViewValue = $this->id->CurrentValue; $this->id->ViewCustomAttributes = ""; // login $this->_login->ViewValue = $this->_login->CurrentValue; $this->_login->ViewCustomAttributes = ""; // password $this->password->ViewValue = $this->password->CurrentValue; $this->password->ViewCustomAttributes = ""; // id_group if (strval($this->id_group->CurrentValue) <> "") { $sFilterWrk = "`userlevelid`" . ew_SearchString("=", $this->id_group->CurrentValue, EW_DATATYPE_NUMBER, ""); switch (@$gsLanguage) { case "en": $sSqlWrk = "SELECT `userlevelid`, `userlevelname` AS `DispFld`, '' AS `Disp2Fld`, '' AS `Disp3Fld`, '' AS `Disp4Fld` FROM `userlevels`"; $sWhereWrk = ""; $this->id_group->LookupFilters = array(); break; case "it": $sSqlWrk = "SELECT `userlevelid`, `userlevelname` AS `DispFld`, '' AS `Disp2Fld`, '' AS `Disp3Fld`, '' AS `Disp4Fld` FROM `userlevels`"; $sWhereWrk = ""; $this->id_group->LookupFilters = array(); break; default: $sSqlWrk = "SELECT `userlevelid`, `userlevelname` AS `DispFld`, '' AS `Disp2Fld`, '' AS `Disp3Fld`, '' AS `Disp4Fld` FROM `userlevels`"; $sWhereWrk = ""; $this->id_group->LookupFilters = array(); break; } ew_AddFilter($sWhereWrk, $sFilterWrk); $this->Lookup_Selecting($this->id_group, $sWhereWrk); // Call Lookup selecting if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk; $rswrk = Conn()->Execute($sSqlWrk); if ($rswrk && !$rswrk->EOF) { // Lookup values found $arwrk = array(); $arwrk[1] = $rswrk->fields('DispFld'); $this->id_group->ViewValue = $this->id_group->DisplayValue($arwrk); $rswrk->Close(); } else { $this->id_group->ViewValue = $this->id_group->CurrentValue; } } else { $this->id_group->ViewValue = NULL; } $this->id_group->ViewCustomAttributes = ""; // id $this->id->LinkCustomAttributes = ""; $this->id->HrefValue = ""; $this->id->TooltipValue = ""; // login $this->_login->LinkCustomAttributes = ""; $this->_login->HrefValue = ""; $this->_login->TooltipValue = ""; // password $this->password->LinkCustomAttributes = ""; $this->password->HrefValue = ""; $this->password->TooltipValue = ""; // id_group $this->id_group->LinkCustomAttributes = ""; $this->id_group->HrefValue = ""; $this->id_group->TooltipValue = ""; } elseif ($this->RowType == EW_ROWTYPE_EDIT) { // Edit row // id $this->id->EditAttrs["class"] = "form-control"; $this->id->EditCustomAttributes = ""; $this->id->EditValue = $this->id->CurrentValue; $this->id->ViewCustomAttributes = ""; // login $this->_login->EditAttrs["class"] = "form-control"; $this->_login->EditCustomAttributes = ""; $this->_login->EditValue = ew_HtmlEncode($this->_login->CurrentValue); $this->_login->PlaceHolder = ew_RemoveHtml($this->_login->FldCaption()); // password $this->password->EditAttrs["class"] = "form-control ewPasswordStrength"; $this->password->EditCustomAttributes = ""; $this->password->EditValue = ew_HtmlEncode($this->password->CurrentValue); $this->password->PlaceHolder = ew_RemoveHtml($this->password->FldCaption()); // id_group $this->id_group->EditAttrs["class"] = "form-control"; $this->id_group->EditCustomAttributes = ""; if (trim(strval($this->id_group->CurrentValue)) == "") { $sFilterWrk = "0=1"; } else { $sFilterWrk = "`userlevelid`" . ew_SearchString("=", $this->id_group->CurrentValue, EW_DATATYPE_NUMBER, ""); } switch (@$gsLanguage) { case "en": $sSqlWrk = "SELECT `userlevelid`, `userlevelname` AS `DispFld`, '' AS `Disp2Fld`, '' AS `Disp3Fld`, '' AS `Disp4Fld`, '' AS `SelectFilterFld`, '' AS `SelectFilterFld2`, '' AS `SelectFilterFld3`, '' AS `SelectFilterFld4` FROM `userlevels`"; $sWhereWrk = ""; $this->id_group->LookupFilters = array(); break; case "it": $sSqlWrk = "SELECT `userlevelid`, `userlevelname` AS `DispFld`, '' AS `Disp2Fld`, '' AS `Disp3Fld`, '' AS `Disp4Fld`, '' AS `SelectFilterFld`, '' AS `SelectFilterFld2`, '' AS `SelectFilterFld3`, '' AS `SelectFilterFld4` FROM `userlevels`"; $sWhereWrk = ""; $this->id_group->LookupFilters = array(); break; default: $sSqlWrk = "SELECT `userlevelid`, `userlevelname` AS `DispFld`, '' AS `Disp2Fld`, '' AS `Disp3Fld`, '' AS `Disp4Fld`, '' AS `SelectFilterFld`, '' AS `SelectFilterFld2`, '' AS `SelectFilterFld3`, '' AS `SelectFilterFld4` FROM `userlevels`"; $sWhereWrk = ""; $this->id_group->LookupFilters = array(); break; } ew_AddFilter($sWhereWrk, $sFilterWrk); $this->Lookup_Selecting($this->id_group, $sWhereWrk); // Call Lookup selecting if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk; $rswrk = Conn()->Execute($sSqlWrk); $arwrk = ($rswrk) ? $rswrk->GetRows() : array(); if ($rswrk) $rswrk->Close(); $this->id_group->EditValue = $arwrk; // Edit refer script // id $this->id->LinkCustomAttributes = ""; $this->id->HrefValue = ""; // login $this->_login->LinkCustomAttributes = ""; $this->_login->HrefValue = ""; // password $this->password->LinkCustomAttributes = ""; $this->password->HrefValue = ""; // id_group $this->id_group->LinkCustomAttributes = ""; $this->id_group->HrefValue = ""; } if ($this->RowType == EW_ROWTYPE_ADD || $this->RowType == EW_ROWTYPE_EDIT || $this->RowType == EW_ROWTYPE_SEARCH) { // Add / Edit / Search row $this->SetupFieldTitles(); } // Call Row Rendered event if ($this->RowType <> EW_ROWTYPE_AGGREGATEINIT) $this->Row_Rendered(); } // Validate form function ValidateForm() { global $Language, $gsFormError; // Initialize form error message $gsFormError = ""; // Check if validation required if (!EW_SERVER_VALIDATE) return ($gsFormError == ""); if (!$this->_login->FldIsDetailKey && !is_null($this->_login->FormValue) && $this->_login->FormValue == "") { ew_AddMessage($gsFormError, str_replace("%s", $this->_login->FldCaption(), $this->_login->ReqErrMsg)); } if (!$this->password->FldIsDetailKey && !is_null($this->password->FormValue) && $this->password->FormValue == "") { ew_AddMessage($gsFormError, str_replace("%s", $this->password->FldCaption(), $this->password->ReqErrMsg)); } if (!$this->id_group->FldIsDetailKey && !is_null($this->id_group->FormValue) && $this->id_group->FormValue == "") { ew_AddMessage($gsFormError, str_replace("%s", $this->id_group->FldCaption(), $this->id_group->ReqErrMsg)); } // Return validate result $ValidateForm = ($gsFormError == ""); // Call Form_CustomValidate event $sFormCustomError = ""; $ValidateForm = $ValidateForm && $this->Form_CustomValidate($sFormCustomError); if ($sFormCustomError <> "") { ew_AddMessage($gsFormError, $sFormCustomError); } return $ValidateForm; } // Update record based on key values function EditRow() { global $Security, $Language; $sFilter = $this->KeyFilter(); $sFilter = $this->ApplyUserIDFilters($sFilter); $conn = &$this->Connection(); $this->CurrentFilter = $sFilter; $sSql = $this->SQL(); $conn->raiseErrorFn = $GLOBALS["EW_ERROR_FN"]; $rs = $conn->Execute($sSql); $conn->raiseErrorFn = ''; if ($rs === FALSE) return FALSE; if ($rs->EOF) { $this->setFailureMessage($Language->Phrase("NoRecord")); // Set no record message $EditRow = FALSE; // Update Failed } else { // Save old values $rsold = &$rs->fields; $this->LoadDbValues($rsold); $rsnew = array(); // login $this->_login->SetDbValueDef($rsnew, $this->_login->CurrentValue, "", $this->_login->ReadOnly); // password $this->password->SetDbValueDef($rsnew, $this->password->CurrentValue, "", $this->password->ReadOnly || (EW_ENCRYPTED_PASSWORD && $rs->fields('password') == $this->password->CurrentValue)); // id_group $this->id_group->SetDbValueDef($rsnew, $this->id_group->CurrentValue, 0, $this->id_group->ReadOnly); // Call Row Updating event $bUpdateRow = $this->Row_Updating($rsold, $rsnew); if ($bUpdateRow) { $conn->raiseErrorFn = $GLOBALS["EW_ERROR_FN"]; if (count($rsnew) > 0) $EditRow = $this->Update($rsnew, "", $rsold); else $EditRow = TRUE; // No field to update $conn->raiseErrorFn = ''; if ($EditRow) { } } else { if ($this->getSuccessMessage() <> "" || $this->getFailureMessage() <> "") { // Use the message, do nothing } elseif ($this->CancelMessage <> "") { $this->setFailureMessage($this->CancelMessage); $this->CancelMessage = ""; } else { $this->setFailureMessage($Language->Phrase("UpdateCancelled")); } $EditRow = FALSE; } } // Call Row_Updated event if ($EditRow) $this->Row_Updated($rsold, $rsnew); $rs->Close(); return $EditRow; } // Set up Breadcrumb function SetupBreadcrumb() { global $Breadcrumb, $Language; $Breadcrumb = new cBreadcrumb(); $url = substr(ew_CurrentUrl(), strrpos(ew_CurrentUrl(), "/")+1); $Breadcrumb->Add("list", $this->TableVar, $this->AddMasterUrl("userslist.php"), "", $this->TableVar, TRUE); $PageId = "edit"; $Breadcrumb->Add("edit", $PageId, $url); } // Setup lookup filters of a field function SetupLookupFilters($fld, $pageId = null) { global $gsLanguage; $pageId = $pageId ?: $this->PageID; switch ($fld->FldVar) { case "x_id_group": $sSqlWrk = ""; switch (@$gsLanguage) { case "en": $sSqlWrk = "SELECT `userlevelid` AS `LinkFld`, `userlevelname` AS `DispFld`, '' AS `Disp2Fld`, '' AS `Disp3Fld`, '' AS `Disp4Fld` FROM `userlevels`"; $sWhereWrk = ""; $this->id_group->LookupFilters = array(); break; case "it": $sSqlWrk = "SELECT `userlevelid` AS `LinkFld`, `userlevelname` AS `DispFld`, '' AS `Disp2Fld`, '' AS `Disp3Fld`, '' AS `Disp4Fld` FROM `userlevels`"; $sWhereWrk = ""; $this->id_group->LookupFilters = array(); break; default: $sSqlWrk = "SELECT `userlevelid` AS `LinkFld`, `userlevelname` AS `DispFld`, '' AS `Disp2Fld`, '' AS `Disp3Fld`, '' AS `Disp4Fld` FROM `userlevels`"; $sWhereWrk = ""; $this->id_group->LookupFilters = array(); break; } $fld->LookupFilters += array("s" => $sSqlWrk, "d" => "", "f0" => '`userlevelid` = {filter_value}', "t0" => "3", "fn0" => ""); $sSqlWrk = ""; $this->Lookup_Selecting($this->id_group, $sWhereWrk); // Call Lookup selecting if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk; if ($sSqlWrk <> "") $fld->LookupFilters["s"] .= $sSqlWrk; break; } } // Setup AutoSuggest filters of a field function SetupAutoSuggestFilters($fld, $pageId = null) { global $gsLanguage; $pageId = $pageId ?: $this->PageID; switch ($fld->FldVar) { } } // Page Load event function Page_Load() { //echo "Page Load"; } // Page Unload event function Page_Unload() { //echo "Page Unload"; } // Page Redirecting event function Page_Redirecting(&$url) { // Example: //$url = "your URL"; } // Message Showing event // $type = ''|'success'|'failure'|'warning' function Message_Showing(&$msg, $type) { if ($type == 'success') { //$msg = "your success message"; } elseif ($type == 'failure') { //$msg = "your failure message"; } elseif ($type == 'warning') { //$msg = "your warning message"; } else { //$msg = "your message"; } } // Page Render event function Page_Render() { //echo "Page Render"; } // Page Data Rendering event function Page_DataRendering(&$header) { // Example: //$header = "your header"; } // Page Data Rendered event function Page_DataRendered(&$footer) { // Example: //$footer = "your footer"; } // Form Custom Validate event function Form_CustomValidate(&$CustomError) { // Return error message in CustomError return TRUE; } } ?> Page_Init(); // Page main $users_edit->Page_Main(); // Global Page Rendering event (in userfn*.php) Page_Rendering(); // Page Rendering event $users_edit->Page_Render(); ?> IsModal) { ?>
Render(); ?> SelectionForm(); ?>
ShowPageHeader(); ?> ShowMessage(); ?> IsModal) { ?>
Pager)) $users_edit->Pager = new cNumericPager($users_edit->StartRec, $users_edit->DisplayRecs, $users_edit->TotalRecs, $users_edit->RecRange) ?> Pager->RecordCount > 0 && $users_edit->Pager->Visible) { ?>
CheckToken) { ?> IsModal) { ?>
id->Visible) { // id ?>
id->CellAttributes() ?>> id->ViewAttributes() ?>>

id->EditValue ?>

id->CustomMsg ?>
_login->Visible) { // login ?>
_login->CellAttributes() ?>> _login->EditAttributes() ?>> _login->CustomMsg ?>
password->Visible) { // password ?>
password->CellAttributes() ?>>
password->EditAttributes() ?>>
password->CustomMsg ?>
id_group->Visible) { // id_group ?>
id_group->CellAttributes() ?>> id_group->CustomMsg ?>
IsModal) { ?>
Pager)) $users_edit->Pager = new cNumericPager($users_edit->StartRec, $users_edit->DisplayRecs, $users_edit->TotalRecs, $users_edit->RecRange) ?> Pager->RecordCount > 0 && $users_edit->Pager->Visible) { ?>
ShowPageFooter(); if (EW_DEBUG_ENABLED) echo ew_DebugMsg(); ?> Page_Terminate(); ?>