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 (tsuggest_type) if (!isset($GLOBALS["tsuggest_type"]) || get_class($GLOBALS["tsuggest_type"]) == "ctsuggest_type") { $GLOBALS["tsuggest_type"] = &$this; $GLOBALS["Table"] = &$GLOBALS["tsuggest_type"]; } // Table object (users) if (!isset($GLOBALS['users'])) $GLOBALS['users'] = new cusers(); // Page ID if (!defined("EW_PAGE_ID")) define("EW_PAGE_ID", 'add', TRUE); // Table name (for backward compatibility) if (!defined("EW_TABLE_NAME")) define("EW_TABLE_NAME", 'tsuggest_type', 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->CanAdd()) { $Security->SaveLastUrl(); $this->setFailureMessage(ew_DeniedMsg()); // Set no permission if ($Security->CanList()) $this->Page_Terminate(ew_GetUrl("tsuggest_typelist.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->suggesttype->SetVisibility(); $this->Description->SetVisibility(); $this->Description_IT->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, $tsuggest_type; 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($tsuggest_type); $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 ewAddForm"; var $IsModal = FALSE; var $DbMasterFilter = ""; var $DbDetailFilter = ""; var $StartRec; var $Priv = 0; var $OldRecordset; var $CopyRecord; // // 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; // Process form if post back if (@$_POST["a_add"] <> "") { $this->CurrentAction = $_POST["a_add"]; // Get form action $this->CopyRecord = $this->LoadOldRecord(); // Load old recordset $this->LoadFormValues(); // Load form values } else { // Not post back // Load key values from QueryString $this->CopyRecord = TRUE; if (@$_GET["idsuggesttype"] != "") { $this->idsuggesttype->setQueryStringValue($_GET["idsuggesttype"]); $this->setKey("idsuggesttype", $this->idsuggesttype->CurrentValue); // Set up key } else { $this->setKey("idsuggesttype", ""); // Clear key $this->CopyRecord = FALSE; } if ($this->CopyRecord) { $this->CurrentAction = "C"; // Copy record } else { $this->CurrentAction = "I"; // Display blank record } } // Set up Breadcrumb $this->SetupBreadcrumb(); // Validate form if post back if (@$_POST["a_add"] <> "") { if (!$this->ValidateForm()) { $this->CurrentAction = "I"; // Form error, reset action $this->EventCancelled = TRUE; // Event cancelled $this->RestoreFormValues(); // Restore form values $this->setFailureMessage($gsFormError); } } else { if ($this->CurrentAction == "I") // Load default values for blank record $this->LoadDefaultValues(); } // Perform action based on action code switch ($this->CurrentAction) { case "I": // Blank record, no action required break; case "C": // Copy an existing record if (!$this->LoadRow()) { // Load record based on key if ($this->getFailureMessage() == "") $this->setFailureMessage($Language->Phrase("NoRecord")); // No record found $this->Page_Terminate("tsuggest_typelist.php"); // No matching record, return to list } break; case "A": // Add new record $this->SendEmail = TRUE; // Send email on add success if ($this->AddRow($this->OldRecordset)) { // Add successful if ($this->getSuccessMessage() == "") $this->setSuccessMessage($Language->Phrase("AddSuccess")); // Set up success message $sReturnUrl = $this->getReturnUrl(); if (ew_GetPageName($sReturnUrl) == "tsuggest_typelist.php") $sReturnUrl = $this->AddMasterUrl($sReturnUrl); // List page, return to list page with correct master key if necessary elseif (ew_GetPageName($sReturnUrl) == "tsuggest_typeview.php") $sReturnUrl = $this->GetViewUrl(); // View page, return to view page with keyurl directly $this->Page_Terminate($sReturnUrl); // Clean up and return } else { $this->EventCancelled = TRUE; // Event cancelled $this->RestoreFormValues(); // Add failed, restore form values } } // Render row based on row type $this->RowType = EW_ROWTYPE_ADD; // Render add type // Render row $this->ResetAttrs(); $this->RenderRow(); } // Get upload files function GetUploadFiles() { global $objForm, $Language; // Get upload data } // Load default values function LoadDefaultValues() { $this->suggesttype->CurrentValue = NULL; $this->suggesttype->OldValue = $this->suggesttype->CurrentValue; $this->Description->CurrentValue = NULL; $this->Description->OldValue = $this->Description->CurrentValue; $this->Description_IT->CurrentValue = NULL; $this->Description_IT->OldValue = $this->Description_IT->CurrentValue; } // Load form values function LoadFormValues() { // Load from form global $objForm; if (!$this->suggesttype->FldIsDetailKey) { $this->suggesttype->setFormValue($objForm->GetValue("x_suggesttype")); } if (!$this->Description->FldIsDetailKey) { $this->Description->setFormValue($objForm->GetValue("x_Description")); } if (!$this->Description_IT->FldIsDetailKey) { $this->Description_IT->setFormValue($objForm->GetValue("x_Description_IT")); } } // Restore form values function RestoreFormValues() { global $objForm; $this->LoadOldRecord(); $this->suggesttype->CurrentValue = $this->suggesttype->FormValue; $this->Description->CurrentValue = $this->Description->FormValue; $this->Description_IT->CurrentValue = $this->Description_IT->FormValue; } // 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->idsuggesttype->setDbValue($rs->fields('idsuggesttype')); $this->suggesttype->setDbValue($rs->fields('suggesttype')); $this->Description->setDbValue($rs->fields('Description')); $this->Description_IT->setDbValue($rs->fields('Description_IT')); } // Load DbValue from recordset function LoadDbValues(&$rs) { if (!$rs || !is_array($rs) && $rs->EOF) return; $row = is_array($rs) ? $rs : $rs->fields; $this->idsuggesttype->DbValue = $row['idsuggesttype']; $this->suggesttype->DbValue = $row['suggesttype']; $this->Description->DbValue = $row['Description']; $this->Description_IT->DbValue = $row['Description_IT']; } // Load old record function LoadOldRecord() { // Load key values from Session $bValidKey = TRUE; if (strval($this->getKey("idsuggesttype")) <> "") $this->idsuggesttype->CurrentValue = $this->getKey("idsuggesttype"); // idsuggesttype else $bValidKey = FALSE; // Load old recordset if ($bValidKey) { $this->CurrentFilter = $this->KeyFilter(); $sSql = $this->SQL(); $conn = &$this->Connection(); $this->OldRecordset = ew_LoadRecordset($sSql, $conn); $this->LoadRowValues($this->OldRecordset); // Load row values } else { $this->OldRecordset = NULL; } return $bValidKey; } // 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 // idsuggesttype // suggesttype // Description // Description_IT if ($this->RowType == EW_ROWTYPE_VIEW) { // View row // idsuggesttype $this->idsuggesttype->ViewValue = $this->idsuggesttype->CurrentValue; $this->idsuggesttype->ViewCustomAttributes = ""; // suggesttype $this->suggesttype->ViewValue = $this->suggesttype->CurrentValue; $this->suggesttype->ViewCustomAttributes = ""; // Description $this->Description->ViewValue = $this->Description->CurrentValue; $this->Description->ViewCustomAttributes = ""; // Description_IT $this->Description_IT->ViewValue = $this->Description_IT->CurrentValue; $this->Description_IT->ViewCustomAttributes = ""; // suggesttype $this->suggesttype->LinkCustomAttributes = ""; $this->suggesttype->HrefValue = ""; $this->suggesttype->TooltipValue = ""; // Description $this->Description->LinkCustomAttributes = ""; $this->Description->HrefValue = ""; $this->Description->TooltipValue = ""; // Description_IT $this->Description_IT->LinkCustomAttributes = ""; $this->Description_IT->HrefValue = ""; $this->Description_IT->TooltipValue = ""; } elseif ($this->RowType == EW_ROWTYPE_ADD) { // Add row // suggesttype $this->suggesttype->EditAttrs["class"] = "form-control"; $this->suggesttype->EditCustomAttributes = ""; $this->suggesttype->EditValue = ew_HtmlEncode($this->suggesttype->CurrentValue); $this->suggesttype->PlaceHolder = ew_RemoveHtml($this->suggesttype->FldCaption()); // Description $this->Description->EditAttrs["class"] = "form-control"; $this->Description->EditCustomAttributes = ""; $this->Description->EditValue = ew_HtmlEncode($this->Description->CurrentValue); $this->Description->PlaceHolder = ew_RemoveHtml($this->Description->FldCaption()); // Description_IT $this->Description_IT->EditAttrs["class"] = "form-control"; $this->Description_IT->EditCustomAttributes = ""; $this->Description_IT->EditValue = ew_HtmlEncode($this->Description_IT->CurrentValue); $this->Description_IT->PlaceHolder = ew_RemoveHtml($this->Description_IT->FldCaption()); // Add refer script // suggesttype $this->suggesttype->LinkCustomAttributes = ""; $this->suggesttype->HrefValue = ""; // Description $this->Description->LinkCustomAttributes = ""; $this->Description->HrefValue = ""; // Description_IT $this->Description_IT->LinkCustomAttributes = ""; $this->Description_IT->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->suggesttype->FldIsDetailKey && !is_null($this->suggesttype->FormValue) && $this->suggesttype->FormValue == "") { ew_AddMessage($gsFormError, str_replace("%s", $this->suggesttype->FldCaption(), $this->suggesttype->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; } // Add record function AddRow($rsold = NULL) { global $Language, $Security; $conn = &$this->Connection(); // Load db values from rsold if ($rsold) { $this->LoadDbValues($rsold); } $rsnew = array(); // suggesttype $this->suggesttype->SetDbValueDef($rsnew, $this->suggesttype->CurrentValue, "", FALSE); // Description $this->Description->SetDbValueDef($rsnew, $this->Description->CurrentValue, NULL, FALSE); // Description_IT $this->Description_IT->SetDbValueDef($rsnew, $this->Description_IT->CurrentValue, NULL, FALSE); // Call Row Inserting event $rs = ($rsold == NULL) ? NULL : $rsold->fields; $bInsertRow = $this->Row_Inserting($rs, $rsnew); if ($bInsertRow) { $conn->raiseErrorFn = $GLOBALS["EW_ERROR_FN"]; $AddRow = $this->Insert($rsnew); $conn->raiseErrorFn = ''; if ($AddRow) { } } 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("InsertCancelled")); } $AddRow = FALSE; } if ($AddRow) { // Call Row Inserted event $rs = ($rsold == NULL) ? NULL : $rsold->fields; $this->Row_Inserted($rs, $rsnew); } return $AddRow; } // 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("tsuggest_typelist.php"), "", $this->TableVar, TRUE); $PageId = ($this->CurrentAction == "C") ? "Copy" : "Add"; $Breadcrumb->Add("add", $PageId, $url); } // Setup lookup filters of a field function SetupLookupFilters($fld, $pageId = null) { global $gsLanguage; $pageId = $pageId ?: $this->PageID; switch ($fld->FldVar) { } } // 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 $tsuggest_type_add->Page_Main(); // Global Page Rendering event (in userfn*.php) Page_Rendering(); // Page Rendering event $tsuggest_type_add->Page_Render(); ?> IsModal) { ?>
Render(); ?> SelectionForm(); ?>
ShowPageHeader(); ?> ShowMessage(); ?>
CheckToken) { ?> IsModal) { ?>
suggesttype->Visible) { // suggesttype ?>
suggesttype->CellAttributes() ?>> suggesttype->EditAttributes() ?>> suggesttype->CustomMsg ?>
Description->Visible) { // Description ?>
Description->CellAttributes() ?>> Description->EditAttributes() ?>> Description->CustomMsg ?>
Description_IT->Visible) { // Description_IT ?>
Description_IT->CellAttributes() ?>> Description_IT->EditAttributes() ?>> Description_IT->CustomMsg ?>
IsModal) { ?>
ShowPageFooter(); if (EW_DEBUG_ENABLED) echo ew_DebugMsg(); ?> Page_Terminate(); ?>