<?php
session_start(); // Initialize Session data
ob_start(); // Turn on output buffering
?>
<?php include "ewcfg7.php" ?>
<?php include "ewmysql7.php" ?>
<?php include "phpfn7.php" ?>
<?php include "lessoninfo.php" ?>
<?php include "useraccountsinfo.php" ?>
<?php include "userfn7.php" ?>
<?php
// Create page object
$lesson_edit = new clesson_edit();
$Page =& $lesson_edit;
// Page init
$lesson_edit->Page_Init();
// Page main
$lesson_edit->Page_Main();
?>
<?php include "header.php" ?>
<script type="text/javascript">
<!--
// Create page object
var lesson_edit = new ew_Page("lesson_edit");
// page properties
lesson_edit.PageID = "edit"; // page ID
lesson_edit.FormID = "flessonedit"; // form ID
var EW_PAGE_ID = lesson_edit.PageID; // for backward compatibility
// extend page with ValidateForm function
lesson_edit.ValidateForm = function(fobj) {
ew_PostAutoSuggest(fobj);
if (!this.ValidateRequired)
return true; // ignore validation
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 + "_name"];
if (elm && !ew_HasValue(elm))
return ew_OnError(this, elm, ewLanguage.Phrase("EnterRequiredField") + " - <?php echo ew_JsEncode2($lesson->name->FldCaption()) ?>");
elm = fobj.elements["x" + infix + "_starts"];
if (elm && !ew_CheckTime(elm.value))
return ew_OnError(this, elm, "<?php echo ew_JsEncode2($lesson->starts->FldErrMsg()) ?>");
elm = fobj.elements["x" + infix + "_ends"];
if (elm && !ew_CheckTime(elm.value))
return ew_OnError(this, elm, "<?php echo ew_JsEncode2($lesson->ends->FldErrMsg()) ?>");
// Call Form Custom Validate event
if (!this.Form_CustomValidate(fobj)) return false;
}
return true;
}
// extend page with Form_CustomValidate function
lesson_edit.Form_CustomValidate =
function(fobj) { // DO NOT CHANGE THIS LINE!
// Your custom validation code here, return false if invalid.
return true;
}
lesson_edit.SelectAllKey = function(elem) {
ew_SelectAll(elem);
ew_ClickAll(elem);
}
<?php if (EW_CLIENT_VALIDATE) { ?>
lesson_edit.ValidateRequired = true; // uses JavaScript validation
<?php } else { ?>
lesson_edit.ValidateRequired = false; // no JavaScript validation
<?php } ?>
//-->
</script>
<script type="text/javascript">
<!--
var ew_DHTMLEditors = [];
//-->
</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"><?php echo $Language->Phrase("Edit") ?> <?php echo $Language->Phrase("TblTypeTABLE") ?><?php echo $lesson->TableCaption() ?><br><br>
<a href="<?php echo $lesson->getReturnUrl() ?>"><?php echo $Language->Phrase("GoBack") ?></a></span></p>
<?php
if (EW_DEBUG_ENABLED)
echo ew_DebugMsg();
$lesson_edit->ShowMessage();
?>
<form name="flessonedit" id="flessonedit" action="<?php echo ew_CurrentPage() ?>" method="post" onsubmit="return lesson_edit.ValidateForm(this);">
<p>
<input type="hidden" name="a_table" id="a_table" value="lesson">
<input type="hidden" name="a_edit" id="a_edit" value="U">
<table cellspacing="0" class="ewGrid"><tr><td class="ewGridContent">
<div class="ewGridMiddlePanel">
<table cellspacing="0" class="ewTable">
<?php if ($lesson->id->Visible) { // id ?>
<tr<?php echo $lesson->id->RowAttributes ?>>
<td class="ewTableHeader"><?php echo $lesson->id->FldCaption() ?></td>
<td<?php echo $lesson->id->CellAttributes() ?>><span id="el_id">
<div<?php echo $lesson->id->ViewAttributes() ?>><?php echo $lesson->id->EditValue ?></div><input type="hidden" name="x_id" id="x_id" value="<?php echo ew_HtmlEncode($lesson->id->CurrentValue) ?>">
</span><?php echo $lesson->id->CustomMsg ?></td>
</tr>
<?php } ?>
<?php if ($lesson->name->Visible) { // name ?>
<tr<?php echo $lesson->name->RowAttributes ?>>
<td class="ewTableHeader"><?php echo $lesson->name->FldCaption() ?><?php echo $Language->Phrase("FieldRequiredIndicator") ?></td>
<td<?php echo $lesson->name->CellAttributes() ?>><span id="el_name">
<input type="text" name="x_name" id="x_name" title="<?php echo $lesson->name->FldTitle() ?>" size="30" maxlength="10" value="<?php echo $lesson->name->EditValue ?>"<?php echo $lesson->name->EditAttributes() ?>>
</span><?php echo $lesson->name->CustomMsg ?></td>
</tr>
<?php } ?>
<?php if ($lesson->starts->Visible) { // starts ?>
<tr<?php echo $lesson->starts->RowAttributes ?>>
<td class="ewTableHeader"><?php echo $lesson->starts->FldCaption() ?></td>
<td<?php echo $lesson->starts->CellAttributes() ?>><span id="el_starts">
<input type="text" name="x_starts" id="x_starts" title="<?php echo $lesson->starts->FldTitle() ?>" size="30" value="<?php echo $lesson->starts->EditValue ?>"<?php echo $lesson->starts->EditAttributes() ?>>
</span><?php echo $lesson->starts->CustomMsg ?></td>
</tr>
<?php } ?>
<?php if ($lesson->ends->Visible) { // ends ?>
<tr<?php echo $lesson->ends->RowAttributes ?>>
<td class="ewTableHeader"><?php echo $lesson->ends->FldCaption() ?></td>
<td<?php echo $lesson->ends->CellAttributes() ?>><span id="el_ends">
<input type="text" name="x_ends" id="x_ends" title="<?php echo $lesson->ends->FldTitle() ?>" size="30" value="<?php echo $lesson->ends->EditValue ?>"<?php echo $lesson->ends->EditAttributes() ?>>
</span><?php echo $lesson->ends->CustomMsg ?></td>
</tr>
<?php } ?>
</table>
</div>
</td></tr></table>
<p>
<input type="submit" name="btnAction" id="btnAction" value="<?php echo ew_BtnCaption($Language->Phrase("EditBtn")) ?>">
</form>
<script language="JavaScript" type="text/javascript">
<!--
// Write your table-specific startup script here
// document.write("page loaded");
//-->
</script>
<?php include "footer.php" ?>
<?php
$lesson_edit->Page_Terminate();
?>
<?php
//
// Page class
//
class clesson_edit {
// Page ID
var $PageID = 'edit';
// Table name
var $TableName = 'lesson';
// Page object name
var $PageObjName = 'lesson_edit';
// Page name
function PageName() {
return ew_CurrentPage();
}
// Page URL
function PageUrl() {
$PageUrl = ew_CurrentPage() . "?";
global $lesson;
if ($lesson->UseTokenInUrl) $PageUrl .= "t=" . $lesson->TableVar . "&"; // Add page token
return $PageUrl;
}
// Page URLs
var $AddUrl;
var $EditUrl;
var $CopyUrl;
var $DeleteUrl;
var $ViewUrl;
var $ListUrl;
// Export URLs
var $ExportPrintUrl;
var $ExportHtmlUrl;
var $ExportExcelUrl;
var $ExportWordUrl;
var $ExportXmlUrl;
var $ExportCsvUrl;
// Update URLs
var $InlineAddUrl;
var $InlineCopyUrl;
var $InlineEditUrl;
var $GridAddUrl;
var $GridEditUrl;
var $MultiDeleteUrl;
var $MultiUpdateUrl;
// Message
function getMessage() {
return @$_SESSION[EW_SESSION_MESSAGE];
}
function setMessage($v) {
if (@$_SESSION[EW_SESSION_MESSAGE] <> "") { // Append
$_SESSION[EW_SESSION_MESSAGE] .= "<br>" . $v;
} else {
$_SESSION[EW_SESSION_MESSAGE] = $v;
}
}
// Show message
function ShowMessage() {
$sMessage = $this->getMessage();
$this->Message_Showing($sMessage);
if ($sMessage <> "") { // Message in Session, display
echo "<p><span class=\"ewMessage\">" . $sMessage . "</span></p>";
$_SESSION[EW_SESSION_MESSAGE] = ""; // Clear message in Session
}
}
// Validate page request
function IsPageRequest() {
global $objForm, $lesson;
if ($lesson->UseTokenInUrl) {
if ($objForm)
return ($lesson->TableVar == $objForm->GetValue("t"));
if (@$_GET["t"] <> "")
return ($lesson->TableVar == $_GET["t"]);
} else {
return TRUE;
}
}
//
// Page class constructor
//
function clesson_edit() {
global $conn, $Language;
// Language object
$Language = new cLanguage();
// Table object (lesson)
$GLOBALS["lesson"] = new clesson();
// Table object (useraccounts)
$GLOBALS['useraccounts'] = new cuseraccounts();
// 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", 'lesson', TRUE);
// Start timer
$GLOBALS["gsTimer"] = new cTimer();
// Open connection
$conn = ew_Connect();
}
//
// Page_Init
//
function Page_Init() {
global $gsExport, $gsExportFile, $UserProfile, $Language, $Security, $objForm;
global $lesson;
// Security
$Security = new cAdvancedSecurity();
if (!$Security->IsLoggedIn()) $Security->AutoLogin();
if (!$Security->IsLoggedIn()) {
$Security->SaveLastUrl();
$this->Page_Terminate("login.php");
}
$Security->TablePermission_Loading();
$Security->LoadCurrentUserLevel($this->TableName);
$Security->TablePermission_Loaded();
if (!$Security->IsLoggedIn()) {
$Security->SaveLastUrl();
$this->Page_Terminate("login.php");
}
if (!$Security->CanEdit()) {
$Security->SaveLastUrl();
$this->Page_Terminate("lessonlist.php");
}
$Security->UserID_Loading();
if ($Security->IsLoggedIn()) $Security->LoadUserID();
$Security->UserID_Loaded();
// Create form object
$objForm = new cFormObj();
// Global Page Loading event (in userfn*.php)
Page_Loading();
// Page Load event
$this->Page_Load();
}
//
// Page_Terminate
//
function Page_Terminate($url = "") {
global $conn;
// Page Unload event
$this->Page_Unload();
// Global Page Unloaded event (in userfn*.php)
Page_Unloaded();
// Close connection
$conn->Close();
// Go to URL if specified
$this->Page_Redirecting($url);
if ($url <> "") {
if (!EW_DEBUG_ENABLED && ob_get_length())
ob_end_clean();
header("Location: " . $url);
}
exit();
}
var $sDbMasterFilter;
var $sDbDetailFilter;
//
// Page main
//
function Page_Main() {
global $objForm, $Language, $gsFormError, $lesson;
// Load key from QueryString
if (@$_GET["id"] <> "")
$lesson->id->setQueryStringValue($_GET["id"]);
if (@$_POST["a_edit"] <> "") {
$lesson->CurrentAction = $_POST["a_edit"]; // Get action code
$this->LoadFormValues(); // Get form values
// Validate form
if (!$this->ValidateForm()) {
$lesson->CurrentAction = ""; // Form error, reset action
$this->setMessage($gsFormError);
$lesson->EventCancelled = TRUE; // Event cancelled
$this->RestoreFormValues();
}
} else {
$lesson->CurrentAction = "I"; // Default action is display
}
// Check if valid key
if ($lesson->id->CurrentValue == "")
$this->Page_Terminate("lessonlist.php"); // Invalid key, return to list
switch ($lesson->CurrentAction) {
case "I": // Get a record to display
if (!$this->LoadRow()) { // Load record based on key
$this->setMessage($Language->Phrase("NoRecord")); // No record found
$this->Page_Terminate("lessonlist.php"); // No matching record, return to list
}
break;
Case "U": // Update
$lesson->SendEmail = TRUE; // Send email on update success
if ($this->EditRow()) { // Update record based on key
$this->setMessage($Language->Phrase("UpdateSuccess")); // Update success
$sReturnUrl = $lesson->getReturnUrl();
if (ew_GetPageName($sReturnUrl) == "lessonview.php")
$sReturnUrl = $lesson->ViewUrl(); // View paging, return to View page directly
$this->Page_Terminate($sReturnUrl); // Return to caller
} else {
$lesson->EventCancelled = TRUE; // Event cancelled
$this->RestoreFormValues(); // Restore form values if update failed
}
}
// Render the record
$lesson->RowType = EW_ROWTYPE_EDIT; // Render as Edit
$this->RenderRow();
}
// Get upload files
function GetUploadFiles() {
global $objForm, $lesson;
// Get upload data
}
// Load form values
function LoadFormValues() {
// Load from form
global $objForm, $lesson;
$lesson->id->setFormValue($objForm->GetValue("x_id"));
$lesson->name->setFormValue($objForm->GetValue("x_name"));
$lesson->starts->setFormValue($objForm->GetValue("x_starts"));
$lesson->ends->setFormValue($objForm->GetValue("x_ends"));
}
// Restore form values
function RestoreFormValues() {
global $objForm, $lesson;
$this->LoadRow();
$lesson->id->CurrentValue = $lesson->id->FormValue;
$lesson->name->CurrentValue = $lesson->name->FormValue;
$lesson->starts->CurrentValue = $lesson->starts->FormValue;
$lesson->ends->CurrentValue = $lesson->ends->FormValue;
}
// Load row based on key values
function LoadRow() {
global $conn, $Security, $lesson;
$sFilter = $lesson->KeyFilter();
// Call Row Selecting event
$lesson->Row_Selecting($sFilter);
// Load SQL based on filter
$lesson->CurrentFilter = $sFilter;
$sSql = $lesson->SQL();
$res = FALSE;
$rs = ew_LoadRecordset($sSql);
if ($rs && !$rs->EOF) {
$res = TRUE;
$this->LoadRowValues($rs); // Load row values
// Call Row Selected event
$lesson->Row_Selected($rs);
$rs->Close();
}
return $res;
}
// Load row values from recordset
function LoadRowValues(&$rs) {
global $conn, $lesson;
$lesson->id->setDbValue($rs->fields('id'));
$lesson->name->setDbValue($rs->fields('name'));
$lesson->starts->setDbValue($rs->fields('starts'));
$lesson->ends->setDbValue($rs->fields('ends'));
}
// Render row values based on field settings
function RenderRow() {
global $conn, $Security, $Language, $lesson;
// Initialize URLs
// Call Row_Rendering event
$lesson->Row_Rendering();
// Common render codes for all row types
// id
$lesson->id->CellCssStyle = ""; $lesson->id->CellCssClass = "";
$lesson->id->CellAttrs = array(); $lesson->id->ViewAttrs = array(); $lesson->id->EditAttrs = array();
// name
$lesson->name->CellCssStyle = ""; $lesson->name->CellCssClass = "";
$lesson->name->CellAttrs = array(); $lesson->name->ViewAttrs = array(); $lesson->name->EditAttrs = array();
// starts
$lesson->starts->CellCssStyle = ""; $lesson->starts->CellCssClass = "";
$lesson->starts->CellAttrs = array(); $lesson->starts->ViewAttrs = array(); $lesson->starts->EditAttrs = array();
// ends
$lesson->ends->CellCssStyle = ""; $lesson->ends->CellCssClass = "";
$lesson->ends->CellAttrs = array(); $lesson->ends->ViewAttrs = array(); $lesson->ends->EditAttrs = array();
if ($lesson->RowType == EW_ROWTYPE_VIEW) { // View row
// id
$lesson->id->ViewValue = $lesson->id->CurrentValue;
$lesson->id->CssStyle = "";
$lesson->id->CssClass = "";
$lesson->id->ViewCustomAttributes = "";
// name
$lesson->name->ViewValue = $lesson->name->CurrentValue;
$lesson->name->CssStyle = "";
$lesson->name->CssClass = "";
$lesson->name->ViewCustomAttributes = "";
// starts
$lesson->starts->ViewValue = $lesson->starts->CurrentValue;
$lesson->starts->ViewValue = ew_FormatDateTime($lesson->starts->ViewValue, 4);
$lesson->starts->CssStyle = "";
$lesson->starts->CssClass = "";
$lesson->starts->ViewCustomAttributes = "";
// ends
$lesson->ends->ViewValue = $lesson->ends->CurrentValue;
$lesson->ends->ViewValue = ew_FormatDateTime($lesson->ends->ViewValue, 4);
$lesson->ends->CssStyle = "";
$lesson->ends->CssClass = "";
$lesson->ends->ViewCustomAttributes = "";
// id
$lesson->id->HrefValue = "";
$lesson->id->TooltipValue = "";
// name
$lesson->name->HrefValue = "";
$lesson->name->TooltipValue = "";
// starts
$lesson->starts->HrefValue = "";
$lesson->starts->TooltipValue = "";
// ends
$lesson->ends->HrefValue = "";
$lesson->ends->TooltipValue = "";
} elseif ($lesson->RowType == EW_ROWTYPE_EDIT) { // Edit row
// id
$lesson->id->EditCustomAttributes = "";
$lesson->id->EditValue = $lesson->id->CurrentValue;
$lesson->id->CssStyle = "";
$lesson->id->CssClass = "";
$lesson->id->ViewCustomAttributes = "";
// name
$lesson->name->EditCustomAttributes = "";
$lesson->name->EditValue = ew_HtmlEncode($lesson->name->CurrentValue);
// starts
$lesson->starts->EditCustomAttributes = "";
$lesson->starts->EditValue = ew_HtmlEncode(ew_FormatDateTime($lesson->starts->CurrentValue, 4));
// ends
$lesson->ends->EditCustomAttributes = "";
$lesson->ends->EditValue = ew_HtmlEncode(ew_FormatDateTime($lesson->ends->CurrentValue, 4));
// Edit refer script
// id
$lesson->id->HrefValue = "";
// name
$lesson->name->HrefValue = "";
// starts
$lesson->starts->HrefValue = "";
// ends
$lesson->ends->HrefValue = "";
}
// Call Row Rendered event
if ($lesson->RowType <> EW_ROWTYPE_AGGREGATEINIT)
$lesson->Row_Rendered();
}
// Validate form
function ValidateForm() {
global $Language, $gsFormError, $lesson;
// Initialize form error message
$gsFormError = "";
// Check if validation required
if (!EW_SERVER_VALIDATE)
return ($gsFormError == "");
if (!is_null($lesson->name->FormValue) && $lesson->name->FormValue == "") {
$gsFormError .= ($gsFormError <> "") ? "<br>" : "";
$gsFormError .= $Language->Phrase("EnterRequiredField") . " - " . $lesson->name->FldCaption();
}
if (!ew_CheckTime($lesson->starts->FormValue)) {
if ($gsFormError <> "") $gsFormError .= "<br>";
$gsFormError .= $lesson->starts->FldErrMsg();
}
if (!ew_CheckTime($lesson->ends->FormValue)) {
if ($gsFormError <> "") $gsFormError .= "<br>";
$gsFormError .= $lesson->ends->FldErrMsg();
}
// Return validate result
$ValidateForm = ($gsFormError == "");
// Call Form_CustomValidate event
$sFormCustomError = "";
$ValidateForm = $ValidateForm && $this->Form_CustomValidate($sFormCustomError);
if ($sFormCustomError <> "") {
$gsFormError .= ($gsFormError <> "") ? "<br>" : "";
$gsFormError .= $sFormCustomError;
}
return $ValidateForm;
}
// Update record based on key values
function EditRow() {
global $conn, $Security, $Language, $lesson;
$sFilter = $lesson->KeyFilter();
$lesson->CurrentFilter = $sFilter;
$sSql = $lesson->SQL();
$conn->raiseErrorFn = 'ew_ErrorFn';
$rs = $conn->Execute($sSql);
$conn->raiseErrorFn = '';
if ($rs === FALSE)
return FALSE;
if ($rs->EOF) {
$EditRow = FALSE; // Update Failed
} else {
// Save old values
$rsold =& $rs->fields;
$rsnew = array();
// name
$lesson->name->SetDbValueDef($rsnew, $lesson->name->CurrentValue, "", FALSE);
// starts
$lesson->starts->SetDbValueDef($rsnew, ew_FormatDateTime($lesson->starts->CurrentValue, 4), NULL, FALSE);
// ends
$lesson->ends->SetDbValueDef($rsnew, ew_FormatDateTime($lesson->ends->CurrentValue, 4), NULL, FALSE);
// Call Row Updating event
$bUpdateRow = $lesson->Row_Updating($rsold, $rsnew);
if ($bUpdateRow) {
$conn->raiseErrorFn = 'ew_ErrorFn';
$EditRow = $conn->Execute($lesson->UpdateSQL($rsnew));
$conn->raiseErrorFn = '';
} else {
if ($lesson->CancelMessage <> "") {
$this->setMessage($lesson->CancelMessage);
$lesson->CancelMessage = "";
} else {
$this->setMessage($Language->Phrase("UpdateCancelled"));
}
$EditRow = FALSE;
}
}
// Call Row_Updated event
if ($EditRow)
$lesson->Row_Updated($rsold, $rsnew);
$rs->Close();
return $EditRow;
}
// 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
function Message_Showing(&$msg) {
// Example:
//$msg = "your new message";
}
// Form Custom Validate event
function Form_CustomValidate(&$CustomError) {
// Return error message in CustomError
return TRUE;
}
}
?>