Your IP : 216.73.217.79


Current Path : /var/www/cesa.co.za/echasl23/
Upload File :
Current File : /var/www/cesa.co.za/echasl23/Booksedit.php

<?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 "Booksinfo.php" ?>
<?php include "adminusersinfo.php" ?>
<?php include "userfn7.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

// Create page object
$Books_edit = new cBooks_edit();
$Page =& $Books_edit;

// Page init
$Books_edit->Page_Init();

// Page main
$Books_edit->Page_Main();
?>
<?php include "header.php" ?>
<script type="text/javascript">
<!--

// Create page object
var Books_edit = new ew_Page("Books_edit");

// page properties
Books_edit.PageID = "edit"; // page ID
Books_edit.FormID = "fBooksedit"; // form ID
var EW_PAGE_ID = Books_edit.PageID; // for backward compatibility

// extend page with ValidateForm function
Books_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 + "_BookThumb"];
		if (elm && !ew_CheckFileType(elm.value))
			return ew_OnError(this, elm, ewLanguage.Phrase("WrongFileType"));
		elm = fobj.elements["x" + infix + "_BookPhoto"];
		if (elm && !ew_CheckFileType(elm.value))
			return ew_OnError(this, elm, ewLanguage.Phrase("WrongFileType"));
		elm = fobj.elements["x" + infix + "_BookPrice"];
		if (elm && !ew_CheckNumber(elm.value))
			return ew_OnError(this, elm, "<?php echo ew_JsEncode2($Books->BookPrice->FldErrMsg()) ?>");

		// Call Form Custom Validate event
		if (!this.Form_CustomValidate(fobj)) return false;
	}
	return true;
}

// extend page with Form_CustomValidate function
Books_edit.Form_CustomValidate =  
 function(fobj) { // DO NOT CHANGE THIS LINE!

 	// Your custom validation code here, return false if invalid. 
 	return true;
 }
<?php if (EW_CLIENT_VALIDATE) { ?>
Books_edit.ValidateRequired = true; // uses JavaScript validation
<?php } else { ?>
Books_edit.ValidateRequired = false; // no JavaScript validation
<?php } ?>

//-->
</script>
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
<script type="text/javascript">
<!--
_width_multiplier = 20;
_height_multiplier = 60;
var ew_DHTMLEditors = [];

// update value from editor to textarea
function ew_UpdateTextArea() {
	if (typeof ew_DHTMLEditors != 'undefined' && typeof CKEDITOR != 'undefined') {			
		var inst;			
		for (inst in CKEDITOR.instances)
			CKEDITOR.instances[inst].updateElement();
	}
}

// update value from textarea to editor
function ew_UpdateDHTMLEditor(name) {
	if (typeof ew_DHTMLEditors != 'undefined' && typeof CKEDITOR != 'undefined') {
		var inst = CKEDITOR.instances[name];		
		if (inst)
			inst.setData(inst.element.value);
	}
}

// focus editor
function ew_FocusDHTMLEditor(name) {
	if (typeof ew_DHTMLEditors != 'undefined' && typeof CKEDITOR != 'undefined') {
		var inst = CKEDITOR.instances[name];	
		if (inst)
			inst.focus();
	}
}

//-->
</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") ?>&nbsp;<?php echo $Language->Phrase("TblTypeTABLE") ?><?php echo $Books->TableCaption() ?><br><br>
<a href="<?php echo $Books->getReturnUrl() ?>"><?php echo $Language->Phrase("GoBack") ?></a></span></p>
<?php
if (EW_DEBUG_ENABLED)
	echo ew_DebugMsg();
$Books_edit->ShowMessage();
?>
<form name="fBooksedit" id="fBooksedit" action="<?php echo ew_CurrentPage() ?>" method="post" enctype="multipart/form-data" onsubmit="return Books_edit.ValidateForm(this);">
<p>
<input type="hidden" name="a_table" id="a_table" value="Books">
<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 ($Books->BookID->Visible) { // BookID ?>
	<tr<?php echo $Books->BookID->RowAttributes ?>>
		<td class="ewTableHeader"><?php echo $Books->BookID->FldCaption() ?></td>
		<td<?php echo $Books->BookID->CellAttributes() ?>><span id="el_BookID">
<div<?php echo $Books->BookID->ViewAttributes() ?>><?php echo $Books->BookID->EditValue ?></div><input type="hidden" name="x_BookID" id="x_BookID" value="<?php echo ew_HtmlEncode($Books->BookID->CurrentValue) ?>">
</span><?php echo $Books->BookID->CustomMsg ?></td>
	</tr>
<?php } ?>
<?php if ($Books->BookName->Visible) { // BookName ?>
	<tr<?php echo $Books->BookName->RowAttributes ?>>
		<td class="ewTableHeader"><?php echo $Books->BookName->FldCaption() ?></td>
		<td<?php echo $Books->BookName->CellAttributes() ?>><span id="el_BookName">
<input type="text" name="x_BookName" id="x_BookName" title="<?php echo $Books->BookName->FldTitle() ?>" size="30" maxlength="255" value="<?php echo $Books->BookName->EditValue ?>"<?php echo $Books->BookName->EditAttributes() ?>>
</span><?php echo $Books->BookName->CustomMsg ?></td>
	</tr>
<?php } ?>
<?php if ($Books->BookThumb->Visible) { // BookThumb ?>
	<tr<?php echo $Books->BookThumb->RowAttributes ?>>
		<td class="ewTableHeader"><?php echo $Books->BookThumb->FldCaption() ?></td>
		<td<?php echo $Books->BookThumb->CellAttributes() ?>><span id="el_BookThumb">
<div id="old_x_BookThumb">
<?php if ($Books->BookThumb->HrefValue <> "" || $Books->BookThumb->TooltipValue <> "") { ?>
<?php if (!empty($Books->BookThumb->Upload->DbValue)) { ?>
<img src="<?php echo ew_UploadPathEx(FALSE, $Books->BookThumb->UploadPath) . $Books->BookThumb->Upload->DbValue ?>" border=0<?php echo $Books->BookThumb->ViewAttributes() ?>>
<?php } elseif (!in_array($Books->CurrentAction, array("I", "edit", "gridedit"))) { ?>	
&nbsp;
<?php } ?>
<?php } else { ?>
<?php if (!empty($Books->BookThumb->Upload->DbValue)) { ?>
<img src="<?php echo ew_UploadPathEx(FALSE, $Books->BookThumb->UploadPath) . $Books->BookThumb->Upload->DbValue ?>" border=0<?php echo $Books->BookThumb->ViewAttributes() ?>>
<?php } elseif (!in_array($Books->CurrentAction, array("I", "edit", "gridedit"))) { ?>	
&nbsp;
<?php } ?>
<?php } ?>
</div>
<div id="new_x_BookThumb">
<?php if (!empty($Books->BookThumb->Upload->DbValue)) { ?>
<label><input type="radio" name="a_BookThumb" id="a_BookThumb" value="1" checked="checked"><?php echo $Language->Phrase("Keep") ?></label>&nbsp;
<label><input type="radio" name="a_BookThumb" id="a_BookThumb" value="2"><?php echo $Language->Phrase("Remove") ?></label>&nbsp;
<label><input type="radio" name="a_BookThumb" id="a_BookThumb" value="3"><?php echo $Language->Phrase("Replace") ?><br></label>
<?php $Books->BookThumb->EditAttrs["onchange"] = "this.form.a_BookThumb[2].checked=true;" . @$Books->BookThumb->EditAttrs["onchange"]; ?>
<?php } else { ?>
<input type="hidden" name="a_BookThumb" id="a_BookThumb" value="3">
<?php } ?>
<input type="file" name="x_BookThumb" id="x_BookThumb" title="<?php echo $Books->BookThumb->FldTitle() ?>" size="30"<?php echo $Books->BookThumb->EditAttributes() ?>>
</div>
</span><?php echo $Books->BookThumb->CustomMsg ?></td>
	</tr>
<?php } ?>
<?php if ($Books->BookPhoto->Visible) { // BookPhoto ?>
	<tr<?php echo $Books->BookPhoto->RowAttributes ?>>
		<td class="ewTableHeader"><?php echo $Books->BookPhoto->FldCaption() ?></td>
		<td<?php echo $Books->BookPhoto->CellAttributes() ?>><span id="el_BookPhoto">
<div id="old_x_BookPhoto">
<?php if ($Books->BookPhoto->HrefValue <> "" || $Books->BookPhoto->TooltipValue <> "") { ?>
<?php if (!empty($Books->BookPhoto->Upload->DbValue)) { ?>
<img src="<?php echo ew_UploadPathEx(FALSE, $Books->BookPhoto->UploadPath) . $Books->BookPhoto->Upload->DbValue ?>" border=0<?php echo $Books->BookPhoto->ViewAttributes() ?>>
<?php } elseif (!in_array($Books->CurrentAction, array("I", "edit", "gridedit"))) { ?>	
&nbsp;
<?php } ?>
<?php } else { ?>
<?php if (!empty($Books->BookPhoto->Upload->DbValue)) { ?>
<img src="<?php echo ew_UploadPathEx(FALSE, $Books->BookPhoto->UploadPath) . $Books->BookPhoto->Upload->DbValue ?>" border=0<?php echo $Books->BookPhoto->ViewAttributes() ?>>
<?php } elseif (!in_array($Books->CurrentAction, array("I", "edit", "gridedit"))) { ?>	
&nbsp;
<?php } ?>
<?php } ?>
</div>
<div id="new_x_BookPhoto">
<?php if (!empty($Books->BookPhoto->Upload->DbValue)) { ?>
<label><input type="radio" name="a_BookPhoto" id="a_BookPhoto" value="1" checked="checked"><?php echo $Language->Phrase("Keep") ?></label>&nbsp;
<label><input type="radio" name="a_BookPhoto" id="a_BookPhoto" value="2"><?php echo $Language->Phrase("Remove") ?></label>&nbsp;
<label><input type="radio" name="a_BookPhoto" id="a_BookPhoto" value="3"><?php echo $Language->Phrase("Replace") ?><br></label>
<?php $Books->BookPhoto->EditAttrs["onchange"] = "this.form.a_BookPhoto[2].checked=true;" . @$Books->BookPhoto->EditAttrs["onchange"]; ?>
<?php } else { ?>
<input type="hidden" name="a_BookPhoto" id="a_BookPhoto" value="3">
<?php } ?>
<input type="file" name="x_BookPhoto" id="x_BookPhoto" title="<?php echo $Books->BookPhoto->FldTitle() ?>" size="30"<?php echo $Books->BookPhoto->EditAttributes() ?>>
</div>
</span><?php echo $Books->BookPhoto->CustomMsg ?></td>
	</tr>
<?php } ?>
<?php if ($Books->BookCategory->Visible) { // BookCategory ?>
	<tr<?php echo $Books->BookCategory->RowAttributes ?>>
		<td class="ewTableHeader"><?php echo $Books->BookCategory->FldCaption() ?></td>
		<td<?php echo $Books->BookCategory->CellAttributes() ?>><span id="el_BookCategory">
<input type="text" name="x_BookCategory" id="x_BookCategory" title="<?php echo $Books->BookCategory->FldTitle() ?>" size="30" maxlength="255" value="<?php echo $Books->BookCategory->EditValue ?>"<?php echo $Books->BookCategory->EditAttributes() ?>>
</span><?php echo $Books->BookCategory->CustomMsg ?></td>
	</tr>
<?php } ?>
<?php if ($Books->BookDescription->Visible) { // BookDescription ?>
	<tr<?php echo $Books->BookDescription->RowAttributes ?>>
		<td class="ewTableHeader"><?php echo $Books->BookDescription->FldCaption() ?></td>
		<td<?php echo $Books->BookDescription->CellAttributes() ?>><span id="el_BookDescription">
<textarea name="x_BookDescription" id="x_BookDescription" title="<?php echo $Books->BookDescription->FldTitle() ?>" cols="35" rows="10"<?php echo $Books->BookDescription->EditAttributes() ?>><?php echo $Books->BookDescription->EditValue ?></textarea>
<script type="text/javascript">
<!--
ew_DHTMLEditors.push(new ew_DHTMLEditor("x_BookDescription", function() {
	var oCKeditor = CKEDITOR.replace('x_BookDescription', { width: 35*_width_multiplier, height: 10*_height_multiplier, autoUpdateElement: false, baseHref: 'ckeditor/'});
	this.active = true;
}));
-->
</script>
</span><?php echo $Books->BookDescription->CustomMsg ?></td>
	</tr>
<?php } ?>
<?php if ($Books->BookPrice->Visible) { // BookPrice ?>
	<tr<?php echo $Books->BookPrice->RowAttributes ?>>
		<td class="ewTableHeader"><?php echo $Books->BookPrice->FldCaption() ?></td>
		<td<?php echo $Books->BookPrice->CellAttributes() ?>><span id="el_BookPrice">
<input type="text" name="x_BookPrice" id="x_BookPrice" title="<?php echo $Books->BookPrice->FldTitle() ?>" size="30" value="<?php echo $Books->BookPrice->EditValue ?>"<?php echo $Books->BookPrice->EditAttributes() ?>>
</span><?php echo $Books->BookPrice->CustomMsg ?></td>
	</tr>
<?php } ?>
<?php if ($Books->StockCode->Visible) { // StockCode ?>
	<tr<?php echo $Books->StockCode->RowAttributes ?>>
		<td class="ewTableHeader"><?php echo $Books->StockCode->FldCaption() ?></td>
		<td<?php echo $Books->StockCode->CellAttributes() ?>><span id="el_StockCode">
<input type="text" name="x_StockCode" id="x_StockCode" title="<?php echo $Books->StockCode->FldTitle() ?>" size="30" maxlength="255" value="<?php echo $Books->StockCode->EditValue ?>"<?php echo $Books->StockCode->EditAttributes() ?>>
</span><?php echo $Books->StockCode->CustomMsg ?></td>
	</tr>
<?php } ?>
<?php if ($Books->ISBN->Visible) { // ISBN ?>
	<tr<?php echo $Books->ISBN->RowAttributes ?>>
		<td class="ewTableHeader"><?php echo $Books->ISBN->FldCaption() ?></td>
		<td<?php echo $Books->ISBN->CellAttributes() ?>><span id="el_ISBN">
<input type="text" name="x_ISBN" id="x_ISBN" title="<?php echo $Books->ISBN->FldTitle() ?>" size="30" maxlength="255" value="<?php echo $Books->ISBN->EditValue ?>"<?php echo $Books->ISBN->EditAttributes() ?>>
</span><?php echo $Books->ISBN->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 type="text/javascript">
<!--
ew_CreateEditor();  // Create DHTML editor(s)

//-->
</script>
<script language="JavaScript" type="text/javascript">
<!--

// Write your table-specific startup script here
// document.write("page loaded");
//-->

</script>
<?php include "footer.php" ?>
<?php
$Books_edit->Page_Terminate();
?>
<?php

//
// Page class
//
class cBooks_edit {

	// Page ID
	var $PageID = 'edit';

	// Table name
	var $TableName = 'Books';

	// Page object name
	var $PageObjName = 'Books_edit';

	// Page name
	function PageName() {
		return ew_CurrentPage();
	}

	// Page URL
	function PageUrl() {
		$PageUrl = ew_CurrentPage() . "?";
		global $Books;
		if ($Books->UseTokenInUrl) $PageUrl .= "t=" . $Books->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, $Books;
		if ($Books->UseTokenInUrl) {
			if ($objForm)
				return ($Books->TableVar == $objForm->GetValue("t"));
			if (@$_GET["t"] <> "")
				return ($Books->TableVar == $_GET["t"]);
		} else {
			return TRUE;
		}
	}

	//
	// Page class constructor
	//
	function __construct() {
		global $conn, $Language;

		// Language object
		$Language = new cLanguage();

		// Table object (Books)
		$GLOBALS["Books"] = new cBooks();

		// Table object (adminusers)
		$GLOBALS['adminusers'] = new cadminusers();

		// 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", 'Books', 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 $Books;

		// 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("Bookslist.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, $Books;

		// Load key from QueryString
		if (@$_GET["BookID"] <> "")
			$Books->BookID->setQueryStringValue($_GET["BookID"]);
		if (@$_POST["a_edit"] <> "") {
			$Books->CurrentAction = $_POST["a_edit"]; // Get action code
			$this->GetUploadFiles(); // Get upload files
			$this->LoadFormValues(); // Get form values

			// Validate form
			if (!$this->ValidateForm()) {
				$Books->CurrentAction = ""; // Form error, reset action
				$this->setMessage($gsFormError);
				$Books->EventCancelled = TRUE; // Event cancelled
				$this->RestoreFormValues();
			}
		} else {
			$Books->CurrentAction = "I"; // Default action is display
		}

		// Check if valid key
		if ($Books->BookID->CurrentValue == "")
			$this->Page_Terminate("Bookslist.php"); // Invalid key, return to list
		switch ($Books->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("Bookslist.php"); // No matching record, return to list
				}
				break;
			Case "U": // Update
				$Books->SendEmail = TRUE; // Send email on update success
				if ($this->EditRow()) { // Update record based on key
					$this->setMessage($Language->Phrase("UpdateSuccess")); // Update success
					$sReturnUrl = $Books->getReturnUrl();
					if (ew_GetPageName($sReturnUrl) == "Booksview.php")
						$sReturnUrl = $Books->ViewUrl(); // View paging, return to View page directly
					$this->Page_Terminate($sReturnUrl); // Return to caller
				} else {
					$Books->EventCancelled = TRUE; // Event cancelled
					$this->RestoreFormValues(); // Restore form values if update failed
				}
		}

		// Render the record
		$Books->RowType = EW_ROWTYPE_EDIT; // Render as Edit
		$this->RenderRow();
	}

	// Get upload files
	function GetUploadFiles() {
		global $objForm, $Books;

		// Get upload data
			if ($Books->BookThumb->Upload->UploadFile()) {

				// No action required
			} else {
				echo $Books->BookThumb->Upload->Message;
				$this->Page_Terminate();
				exit();
			}
			if ($Books->BookPhoto->Upload->UploadFile()) {

				// No action required
			} else {
				echo $Books->BookPhoto->Upload->Message;
				$this->Page_Terminate();
				exit();
			}
	}

	// Load form values
	function LoadFormValues() {

		// Load from form
		global $objForm, $Books;
		$Books->BookID->setFormValue($objForm->GetValue("x_BookID"));
		$Books->BookName->setFormValue($objForm->GetValue("x_BookName"));
		$Books->BookCategory->setFormValue($objForm->GetValue("x_BookCategory"));
		$Books->BookDescription->setFormValue($objForm->GetValue("x_BookDescription"));
		$Books->BookPrice->setFormValue($objForm->GetValue("x_BookPrice"));
		$Books->StockCode->setFormValue($objForm->GetValue("x_StockCode"));
		$Books->ISBN->setFormValue($objForm->GetValue("x_ISBN"));
	}

	// Restore form values
	function RestoreFormValues() {
		global $objForm, $Books;
		$this->LoadRow();
		$Books->BookID->CurrentValue = $Books->BookID->FormValue;
		$Books->BookName->CurrentValue = $Books->BookName->FormValue;
		$Books->BookCategory->CurrentValue = $Books->BookCategory->FormValue;
		$Books->BookDescription->CurrentValue = $Books->BookDescription->FormValue;
		$Books->BookPrice->CurrentValue = $Books->BookPrice->FormValue;
		$Books->StockCode->CurrentValue = $Books->StockCode->FormValue;
		$Books->ISBN->CurrentValue = $Books->ISBN->FormValue;
	}

	// Load row based on key values
	function LoadRow() {
		global $conn, $Security, $Books;
		$sFilter = $Books->KeyFilter();

		// Call Row Selecting event
		$Books->Row_Selecting($sFilter);

		// Load SQL based on filter
		$Books->CurrentFilter = $sFilter;
		$sSql = $Books->SQL();
		$res = FALSE;
		$rs = ew_LoadRecordset($sSql);
		if ($rs && !$rs->EOF) {
			$res = TRUE;
			$this->LoadRowValues($rs); // Load row values

			// Call Row Selected event
			$Books->Row_Selected($rs);
			$rs->Close();
		}
		return $res;
	}

	// Load row values from recordset
	function LoadRowValues(&$rs) {
		global $conn, $Books;
		$Books->BookID->setDbValue($rs->fields('BookID'));
		$Books->BookName->setDbValue($rs->fields('BookName'));
		$Books->BookThumb->Upload->DbValue = $rs->fields('BookThumb');
		$Books->BookPhoto->Upload->DbValue = $rs->fields('BookPhoto');
		$Books->BookCategory->setDbValue($rs->fields('BookCategory'));
		$Books->BookDescription->setDbValue($rs->fields('BookDescription'));
		$Books->BookPrice->setDbValue($rs->fields('BookPrice'));
		$Books->StockCode->setDbValue($rs->fields('StockCode'));
		$Books->ISBN->setDbValue($rs->fields('ISBN'));
	}

	// Render row values based on field settings
	function RenderRow() {
		global $conn, $Security, $Language, $Books;

		// Initialize URLs
		// Call Row_Rendering event

		$Books->Row_Rendering();

		// Common render codes for all row types
		// BookID

		$Books->BookID->CellCssStyle = ""; $Books->BookID->CellCssClass = "";
		$Books->BookID->CellAttrs = array(); $Books->BookID->ViewAttrs = array(); $Books->BookID->EditAttrs = array();

		// BookName
		$Books->BookName->CellCssStyle = ""; $Books->BookName->CellCssClass = "";
		$Books->BookName->CellAttrs = array(); $Books->BookName->ViewAttrs = array(); $Books->BookName->EditAttrs = array();

		// BookThumb
		$Books->BookThumb->CellCssStyle = ""; $Books->BookThumb->CellCssClass = "";
		$Books->BookThumb->CellAttrs = array(); $Books->BookThumb->ViewAttrs = array(); $Books->BookThumb->EditAttrs = array();

		// BookPhoto
		$Books->BookPhoto->CellCssStyle = ""; $Books->BookPhoto->CellCssClass = "";
		$Books->BookPhoto->CellAttrs = array(); $Books->BookPhoto->ViewAttrs = array(); $Books->BookPhoto->EditAttrs = array();

		// BookCategory
		$Books->BookCategory->CellCssStyle = ""; $Books->BookCategory->CellCssClass = "";
		$Books->BookCategory->CellAttrs = array(); $Books->BookCategory->ViewAttrs = array(); $Books->BookCategory->EditAttrs = array();

		// BookDescription
		$Books->BookDescription->CellCssStyle = ""; $Books->BookDescription->CellCssClass = "";
		$Books->BookDescription->CellAttrs = array(); $Books->BookDescription->ViewAttrs = array(); $Books->BookDescription->EditAttrs = array();

		// BookPrice
		$Books->BookPrice->CellCssStyle = ""; $Books->BookPrice->CellCssClass = "";
		$Books->BookPrice->CellAttrs = array(); $Books->BookPrice->ViewAttrs = array(); $Books->BookPrice->EditAttrs = array();

		// StockCode
		$Books->StockCode->CellCssStyle = ""; $Books->StockCode->CellCssClass = "";
		$Books->StockCode->CellAttrs = array(); $Books->StockCode->ViewAttrs = array(); $Books->StockCode->EditAttrs = array();

		// ISBN
		$Books->ISBN->CellCssStyle = ""; $Books->ISBN->CellCssClass = "";
		$Books->ISBN->CellAttrs = array(); $Books->ISBN->ViewAttrs = array(); $Books->ISBN->EditAttrs = array();
		if ($Books->RowType == EW_ROWTYPE_VIEW) { // View row

			// BookID
			$Books->BookID->ViewValue = $Books->BookID->CurrentValue;
			$Books->BookID->CssStyle = "";
			$Books->BookID->CssClass = "";
			$Books->BookID->ViewCustomAttributes = "";

			// BookName
			$Books->BookName->ViewValue = $Books->BookName->CurrentValue;
			$Books->BookName->CssStyle = "";
			$Books->BookName->CssClass = "";
			$Books->BookName->ViewCustomAttributes = "";

			// BookThumb
			if (!ew_Empty($Books->BookThumb->Upload->DbValue)) {
				$Books->BookThumb->ViewValue = $Books->BookThumb->Upload->DbValue;
				$Books->BookThumb->ImageAlt = $Books->BookThumb->FldAlt();
			} else {
				$Books->BookThumb->ViewValue = "";
			}
			$Books->BookThumb->CssStyle = "";
			$Books->BookThumb->CssClass = "";
			$Books->BookThumb->ViewCustomAttributes = "";

			// BookPhoto
			if (!ew_Empty($Books->BookPhoto->Upload->DbValue)) {
				$Books->BookPhoto->ViewValue = $Books->BookPhoto->Upload->DbValue;
				$Books->BookPhoto->ImageAlt = $Books->BookPhoto->FldAlt();
			} else {
				$Books->BookPhoto->ViewValue = "";
			}
			$Books->BookPhoto->CssStyle = "";
			$Books->BookPhoto->CssClass = "";
			$Books->BookPhoto->ViewCustomAttributes = "";

			// BookCategory
			$Books->BookCategory->ViewValue = $Books->BookCategory->CurrentValue;
			$Books->BookCategory->CssStyle = "";
			$Books->BookCategory->CssClass = "";
			$Books->BookCategory->ViewCustomAttributes = "";

			// BookDescription
			$Books->BookDescription->ViewValue = $Books->BookDescription->CurrentValue;
			$Books->BookDescription->CssStyle = "";
			$Books->BookDescription->CssClass = "";
			$Books->BookDescription->ViewCustomAttributes = "";

			// BookPrice
			$Books->BookPrice->ViewValue = $Books->BookPrice->CurrentValue;
			$Books->BookPrice->CssStyle = "";
			$Books->BookPrice->CssClass = "";
			$Books->BookPrice->ViewCustomAttributes = "";

			// StockCode
			$Books->StockCode->ViewValue = $Books->StockCode->CurrentValue;
			$Books->StockCode->CssStyle = "";
			$Books->StockCode->CssClass = "";
			$Books->StockCode->ViewCustomAttributes = "";

			// ISBN
			$Books->ISBN->ViewValue = $Books->ISBN->CurrentValue;
			$Books->ISBN->CssStyle = "";
			$Books->ISBN->CssClass = "";
			$Books->ISBN->ViewCustomAttributes = "";

			// BookID
			$Books->BookID->HrefValue = "";
			$Books->BookID->TooltipValue = "";

			// BookName
			$Books->BookName->HrefValue = "";
			$Books->BookName->TooltipValue = "";

			// BookThumb
			$Books->BookThumb->HrefValue = "";
			$Books->BookThumb->TooltipValue = "";

			// BookPhoto
			$Books->BookPhoto->HrefValue = "";
			$Books->BookPhoto->TooltipValue = "";

			// BookCategory
			$Books->BookCategory->HrefValue = "";
			$Books->BookCategory->TooltipValue = "";

			// BookDescription
			$Books->BookDescription->HrefValue = "";
			$Books->BookDescription->TooltipValue = "";

			// BookPrice
			$Books->BookPrice->HrefValue = "";
			$Books->BookPrice->TooltipValue = "";

			// StockCode
			$Books->StockCode->HrefValue = "";
			$Books->StockCode->TooltipValue = "";

			// ISBN
			$Books->ISBN->HrefValue = "";
			$Books->ISBN->TooltipValue = "";
		} elseif ($Books->RowType == EW_ROWTYPE_EDIT) { // Edit row

			// BookID
			$Books->BookID->EditCustomAttributes = "";
			$Books->BookID->EditValue = $Books->BookID->CurrentValue;
			$Books->BookID->CssStyle = "";
			$Books->BookID->CssClass = "";
			$Books->BookID->ViewCustomAttributes = "";

			// BookName
			$Books->BookName->EditCustomAttributes = "";
			$Books->BookName->EditValue = ew_HtmlEncode($Books->BookName->CurrentValue);

			// BookThumb
			$Books->BookThumb->EditCustomAttributes = "";
			if (!ew_Empty($Books->BookThumb->Upload->DbValue)) {
				$Books->BookThumb->EditValue = $Books->BookThumb->Upload->DbValue;
				$Books->BookThumb->ImageAlt = $Books->BookThumb->FldAlt();
			} else {
				$Books->BookThumb->EditValue = "";
			}

			// BookPhoto
			$Books->BookPhoto->EditCustomAttributes = "";
			if (!ew_Empty($Books->BookPhoto->Upload->DbValue)) {
				$Books->BookPhoto->EditValue = $Books->BookPhoto->Upload->DbValue;
				$Books->BookPhoto->ImageAlt = $Books->BookPhoto->FldAlt();
			} else {
				$Books->BookPhoto->EditValue = "";
			}

			// BookCategory
			$Books->BookCategory->EditCustomAttributes = "";
			$Books->BookCategory->EditValue = ew_HtmlEncode($Books->BookCategory->CurrentValue);

			// BookDescription
			$Books->BookDescription->EditCustomAttributes = "";
			$Books->BookDescription->EditValue = ew_HtmlEncode($Books->BookDescription->CurrentValue);

			// BookPrice
			$Books->BookPrice->EditCustomAttributes = "";
			$Books->BookPrice->EditValue = ew_HtmlEncode($Books->BookPrice->CurrentValue);

			// StockCode
			$Books->StockCode->EditCustomAttributes = "";
			$Books->StockCode->EditValue = ew_HtmlEncode($Books->StockCode->CurrentValue);

			// ISBN
			$Books->ISBN->EditCustomAttributes = "";
			$Books->ISBN->EditValue = ew_HtmlEncode($Books->ISBN->CurrentValue);

			// Edit refer script
			// BookID

			$Books->BookID->HrefValue = "";

			// BookName
			$Books->BookName->HrefValue = "";

			// BookThumb
			$Books->BookThumb->HrefValue = "";

			// BookPhoto
			$Books->BookPhoto->HrefValue = "";

			// BookCategory
			$Books->BookCategory->HrefValue = "";

			// BookDescription
			$Books->BookDescription->HrefValue = "";

			// BookPrice
			$Books->BookPrice->HrefValue = "";

			// StockCode
			$Books->StockCode->HrefValue = "";

			// ISBN
			$Books->ISBN->HrefValue = "";
		}

		// Call Row Rendered event
		if ($Books->RowType <> EW_ROWTYPE_AGGREGATEINIT)
			$Books->Row_Rendered();
	}

	// Validate form
	function ValidateForm() {
		global $Language, $gsFormError, $Books;

		// Initialize form error message
		$gsFormError = "";
		if (!ew_CheckFileType($Books->BookThumb->Upload->FileName)) {
			$gsFormError .= ($gsFormError <> "") ? "<br>" : "";
			$gsFormError .= $Language->Phrase("WrongFileType");
		}
		if ($Books->BookThumb->Upload->FileSize > 0 && EW_MAX_FILE_SIZE > 0 && $Books->BookThumb->Upload->FileSize > EW_MAX_FILE_SIZE) {
			$gsFormError .= ($gsFormError <> "") ? "<br>" : "";
			$gsFormError .= str_replace("%s", EW_MAX_FILE_SIZE, $Language->Phrase("MaxFileSize"));
		}
		if (in_array($Books->BookThumb->Upload->Error, array(1, 2, 3, 6, 7, 8))) {
			$gsFormError .= ($gsFormError <> "") ? "<br>" : "";
			$gsFormError .= $Language->Phrase("PhpUploadErr" . $Books->BookThumb->Upload->Error);
		}
		if (!ew_CheckFileType($Books->BookPhoto->Upload->FileName)) {
			$gsFormError .= ($gsFormError <> "") ? "<br>" : "";
			$gsFormError .= $Language->Phrase("WrongFileType");
		}
		if ($Books->BookPhoto->Upload->FileSize > 0 && EW_MAX_FILE_SIZE > 0 && $Books->BookPhoto->Upload->FileSize > EW_MAX_FILE_SIZE) {
			$gsFormError .= ($gsFormError <> "") ? "<br>" : "";
			$gsFormError .= str_replace("%s", EW_MAX_FILE_SIZE, $Language->Phrase("MaxFileSize"));
		}
		if (in_array($Books->BookPhoto->Upload->Error, array(1, 2, 3, 6, 7, 8))) {
			$gsFormError .= ($gsFormError <> "") ? "<br>" : "";
			$gsFormError .= $Language->Phrase("PhpUploadErr" . $Books->BookPhoto->Upload->Error);
		}

		// Check if validation required
		if (!EW_SERVER_VALIDATE)
			return ($gsFormError == "");
		if (!ew_CheckNumber($Books->BookPrice->FormValue)) {
			if ($gsFormError <> "") $gsFormError .= "<br>";
			$gsFormError .= $Books->BookPrice->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, $Books;
		$sFilter = $Books->KeyFilter();
		$Books->CurrentFilter = $sFilter;
		$sSql = $Books->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();

			// BookName
			$Books->BookName->SetDbValueDef($rsnew, $Books->BookName->CurrentValue, NULL, FALSE);

			// BookThumb
			$Books->BookThumb->Upload->SaveToSession(); // Save file value to Session
						if ($Books->BookThumb->Upload->Action == "2" || $Books->BookThumb->Upload->Action == "3") { // Update/Remove
			$Books->BookThumb->Upload->DbValue = $rs->fields('BookThumb'); // Get original value
			if (is_null($Books->BookThumb->Upload->Value)) {
				$rsnew['BookThumb'] = NULL;
			} else {
				if ($Books->BookThumb->Upload->FileName == $Books->BookThumb->Upload->DbValue) { // Upload file name same as old file name
					$rsnew['BookThumb'] = $Books->BookThumb->Upload->FileName;
				} else {
					$rsnew['BookThumb'] = ew_UploadFileNameEx(ew_UploadPathEx(TRUE, $Books->BookThumb->UploadPath), $Books->BookThumb->Upload->FileName);
				}
			}
			}

			// BookPhoto
			$Books->BookPhoto->Upload->SaveToSession(); // Save file value to Session
						if ($Books->BookPhoto->Upload->Action == "2" || $Books->BookPhoto->Upload->Action == "3") { // Update/Remove
			$Books->BookPhoto->Upload->DbValue = $rs->fields('BookPhoto'); // Get original value
			if (is_null($Books->BookPhoto->Upload->Value)) {
				$rsnew['BookPhoto'] = NULL;
			} else {
				if ($Books->BookPhoto->Upload->FileName == $Books->BookPhoto->Upload->DbValue) { // Upload file name same as old file name
					$rsnew['BookPhoto'] = $Books->BookPhoto->Upload->FileName;
				} else {
					$rsnew['BookPhoto'] = ew_UploadFileNameEx(ew_UploadPathEx(TRUE, $Books->BookPhoto->UploadPath), $Books->BookPhoto->Upload->FileName);
				}
			}
			}

			// BookCategory
			$Books->BookCategory->SetDbValueDef($rsnew, $Books->BookCategory->CurrentValue, NULL, FALSE);

			// BookDescription
			$Books->BookDescription->SetDbValueDef($rsnew, $Books->BookDescription->CurrentValue, NULL, FALSE);

			// BookPrice
			$Books->BookPrice->SetDbValueDef($rsnew, $Books->BookPrice->CurrentValue, NULL, FALSE);

			// StockCode
			$Books->StockCode->SetDbValueDef($rsnew, $Books->StockCode->CurrentValue, NULL, FALSE);

			// ISBN
			$Books->ISBN->SetDbValueDef($rsnew, $Books->ISBN->CurrentValue, NULL, FALSE);

			// Call Row Updating event
			$bUpdateRow = $Books->Row_Updating($rsold, $rsnew);
			if ($bUpdateRow) {
			if (!ew_Empty($Books->BookThumb->Upload->Value)) {
				if ($Books->BookThumb->Upload->FileName == $Books->BookThumb->Upload->DbValue) { // Overwrite if same file name
					$Books->BookThumb->Upload->SaveToFile($Books->BookThumb->UploadPath, $rsnew['BookThumb'], TRUE);
					$Books->BookThumb->Upload->DbValue = ""; // No need to delete any more
				} else {
					$Books->BookThumb->Upload->SaveToFile($Books->BookThumb->UploadPath, $rsnew['BookThumb'], FALSE);
				}
			}
			if ($Books->BookThumb->Upload->Action == "2" || $Books->BookThumb->Upload->Action == "3") { // Update/Remove
				if ($Books->BookThumb->Upload->DbValue <> "")
					@unlink(ew_UploadPathEx(TRUE, $Books->BookThumb->UploadPath) . $Books->BookThumb->Upload->DbValue);
			}
			if (!ew_Empty($Books->BookPhoto->Upload->Value)) {
				if ($Books->BookPhoto->Upload->FileName == $Books->BookPhoto->Upload->DbValue) { // Overwrite if same file name
					$Books->BookPhoto->Upload->SaveToFile($Books->BookPhoto->UploadPath, $rsnew['BookPhoto'], TRUE);
					$Books->BookPhoto->Upload->DbValue = ""; // No need to delete any more
				} else {
					$Books->BookPhoto->Upload->SaveToFile($Books->BookPhoto->UploadPath, $rsnew['BookPhoto'], FALSE);
				}
			}
			if ($Books->BookPhoto->Upload->Action == "2" || $Books->BookPhoto->Upload->Action == "3") { // Update/Remove
				if ($Books->BookPhoto->Upload->DbValue <> "")
					@unlink(ew_UploadPathEx(TRUE, $Books->BookPhoto->UploadPath) . $Books->BookPhoto->Upload->DbValue);
			}
				$conn->raiseErrorFn = 'ew_ErrorFn';
				$EditRow = $conn->Execute($Books->UpdateSQL($rsnew));
				$conn->raiseErrorFn = '';
			} else {
				if ($Books->CancelMessage <> "") {
					$this->setMessage($Books->CancelMessage);
					$Books->CancelMessage = "";
				} else {
					$this->setMessage($Language->Phrase("UpdateCancelled"));
				}
				$EditRow = FALSE;
			}
		}

		// Call Row_Updated event
		if ($EditRow)
			$Books->Row_Updated($rsold, $rsnew);
		$rs->Close();

		// BookThumb
		$Books->BookThumb->Upload->RemoveFromSession(); // Remove file value from Session

		// BookPhoto
		$Books->BookPhoto->Upload->RemoveFromSession(); // Remove file value from Session
		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;
	}
}
?>