Your IP : 216.73.217.79


Current Path : /var/www/cesa.co.za/echasl23/
Upload File :
Current File : /var/www/cesa.co.za/echasl23/ClientContactsedit.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 "ClientContactsinfo.php" ?>
<?php include "tblClientsinfo.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
$ClientContacts_edit = new cClientContacts_edit();
$Page =& $ClientContacts_edit;

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

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

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

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

// extend page with ValidateForm function
ClientContacts_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) : "";

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

// extend page with Form_CustomValidate function
ClientContacts_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) { ?>
ClientContacts_edit.ValidateRequired = true; // uses JavaScript validation
<?php } else { ?>
ClientContacts_edit.ValidateRequired = false; // no JavaScript validation
<?php } ?>

// search highlight properties
ClientContacts_edit.ShowHighlightText = ewLanguage.Phrase("ShowHighlight"); 
ClientContacts_edit.HideHighlightText = ewLanguage.Phrase("HideHighlight");

//-->
</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 $ClientContacts->TableCaption() ?><br><br>
<a href="<?php echo $ClientContacts->getReturnUrl() ?>"><?php echo $Language->Phrase("GoBack") ?></a></span></p>
<?php
if (EW_DEBUG_ENABLED)
	echo ew_DebugMsg();
$ClientContacts_edit->ShowMessage();
?>
<form name="fClientContactsedit" id="fClientContactsedit" action="<?php echo ew_CurrentPage() ?>" method="post" onsubmit="return ClientContacts_edit.ValidateForm(this);">
<p>
<input type="hidden" name="a_table" id="a_table" value="ClientContacts">
<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 ($ClientContacts->ClientID->Visible) { // ClientID ?>
	<tr<?php echo $ClientContacts->ClientID->RowAttributes ?>>
		<td class="ewTableHeader"><?php echo $ClientContacts->ClientID->FldCaption() ?><?php echo $Language->Phrase("FieldRequiredIndicator") ?></td>
		<td<?php echo $ClientContacts->ClientID->CellAttributes() ?>><span id="el_ClientID">
<div<?php echo $ClientContacts->ClientID->ViewAttributes() ?>><?php echo $ClientContacts->ClientID->EditValue ?></div><input type="hidden" name="x_ClientID" id="x_ClientID" value="<?php echo ew_HtmlEncode($ClientContacts->ClientID->CurrentValue) ?>">
</span><?php echo $ClientContacts->ClientID->CustomMsg ?></td>
	</tr>
<?php } ?>
<?php if ($ClientContacts->ContactsID->Visible) { // ContactsID ?>
	<tr<?php echo $ClientContacts->ContactsID->RowAttributes ?>>
		<td class="ewTableHeader"><?php echo $ClientContacts->ContactsID->FldCaption() ?><?php echo $Language->Phrase("FieldRequiredIndicator") ?></td>
		<td<?php echo $ClientContacts->ContactsID->CellAttributes() ?>><span id="el_ContactsID">
<div<?php echo $ClientContacts->ContactsID->ViewAttributes() ?>><?php echo $ClientContacts->ContactsID->EditValue ?></div><input type="hidden" name="x_ContactsID" id="x_ContactsID" value="<?php echo ew_HtmlEncode($ClientContacts->ContactsID->CurrentValue) ?>">
</span><?php echo $ClientContacts->ContactsID->CustomMsg ?></td>
	</tr>
<?php } ?>
<?php if ($ClientContacts->Position->Visible) { // Position ?>
	<tr<?php echo $ClientContacts->Position->RowAttributes ?>>
		<td class="ewTableHeader"><?php echo $ClientContacts->Position->FldCaption() ?></td>
		<td<?php echo $ClientContacts->Position->CellAttributes() ?>><span id="el_Position">
<input type="text" name="x_Position" id="x_Position" title="<?php echo $ClientContacts->Position->FldTitle() ?>" size="30" maxlength="50" value="<?php echo $ClientContacts->Position->EditValue ?>"<?php echo $ClientContacts->Position->EditAttributes() ?>>
</span><?php echo $ClientContacts->Position->CustomMsg ?></td>
	</tr>
<?php } ?>
<?php if ($ClientContacts->DirectoryReceive->Visible) { // DirectoryReceive ?>
	<tr<?php echo $ClientContacts->DirectoryReceive->RowAttributes ?>>
		<td class="ewTableHeader"><?php echo $ClientContacts->DirectoryReceive->FldCaption() ?></td>
		<td<?php echo $ClientContacts->DirectoryReceive->CellAttributes() ?>><span id="el_DirectoryReceive">
<div id="tp_x_DirectoryReceive" class="<?php echo EW_ITEM_TEMPLATE_CLASSNAME; ?>"><input type="checkbox" name="x_DirectoryReceive[]" id="x_DirectoryReceive[]" title="<?php echo $ClientContacts->DirectoryReceive->FldTitle() ?>" value="{value}"<?php echo $ClientContacts->DirectoryReceive->EditAttributes() ?>></div>
<div id="dsl_x_DirectoryReceive" repeatcolumn="5">
<?php
$arwrk = $ClientContacts->DirectoryReceive->EditValue;
if (is_array($arwrk)) {
	$armultiwrk= explode(",", strval($ClientContacts->DirectoryReceive->CurrentValue));
	$rowswrk = count($arwrk);
	$emptywrk = TRUE;
	for ($rowcntwrk = 0; $rowcntwrk < $rowswrk; $rowcntwrk++) {
		$selwrk = "";
		for ($ari = 0; $ari < count($armultiwrk); $ari++) {
			if (strval($arwrk[$rowcntwrk][0]) == trim(strval($armultiwrk[$ari]))) {
				$selwrk = " checked=\"checked\"";
				if ($selwrk <> "") $emptywrk = FALSE;
				break;
			}
		}

		// Note: No spacing within the LABEL tag
?>
<?php echo ew_RepeatColumnTable($rowswrk, $rowcntwrk, 5, 1) ?>
<label><input type="checkbox" name="x_DirectoryReceive[]" id="x_DirectoryReceive[]" title="<?php echo $ClientContacts->DirectoryReceive->FldTitle() ?>" value="<?php echo ew_HtmlEncode($arwrk[$rowcntwrk][0]) ?>"<?php echo $selwrk ?><?php echo $ClientContacts->DirectoryReceive->EditAttributes() ?>><?php echo $arwrk[$rowcntwrk][1] ?></label>
<?php echo ew_RepeatColumnTable($rowswrk, $rowcntwrk, 5, 2) ?>
<?php
	}
}
?>
</div>
</span><?php echo $ClientContacts->DirectoryReceive->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
$ClientContacts_edit->Page_Terminate();
?>
<?php

//
// Page class
//
class cClientContacts_edit {

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

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

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

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

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

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

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

		// Table object (ClientContacts)
		$GLOBALS["ClientContacts"] = new cClientContacts();

		// Table object (tblClients)
		$GLOBALS['tblClients'] = new ctblClients();

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

		// 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("ClientContactslist.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, $ClientContacts;

		// Load key from QueryString
		if (@$_GET["ClientID"] <> "")
			$ClientContacts->ClientID->setQueryStringValue($_GET["ClientID"]);
		if (@$_GET["ContactsID"] <> "")
			$ClientContacts->ContactsID->setQueryStringValue($_GET["ContactsID"]);

		// Set up master detail parameters
		$this->SetUpMasterDetail();
		if (@$_POST["a_edit"] <> "") {
			$ClientContacts->CurrentAction = $_POST["a_edit"]; // Get action code
			$this->LoadFormValues(); // Get form values

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

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

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

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

		// Get upload data
	}

	// Load form values
	function LoadFormValues() {

		// Load from form
		global $objForm, $ClientContacts;
		$ClientContacts->ClientID->setFormValue($objForm->GetValue("x_ClientID"));
		$ClientContacts->ContactsID->setFormValue($objForm->GetValue("x_ContactsID"));
		$ClientContacts->Position->setFormValue($objForm->GetValue("x_Position"));
		$ClientContacts->DirectoryReceive->setFormValue($objForm->GetValue("x_DirectoryReceive"));
	}

	// Restore form values
	function RestoreFormValues() {
		global $objForm, $ClientContacts;
		$this->LoadRow();
		$ClientContacts->ClientID->CurrentValue = $ClientContacts->ClientID->FormValue;
		$ClientContacts->ContactsID->CurrentValue = $ClientContacts->ContactsID->FormValue;
		$ClientContacts->Position->CurrentValue = $ClientContacts->Position->FormValue;
		$ClientContacts->DirectoryReceive->CurrentValue = $ClientContacts->DirectoryReceive->FormValue;
	}

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

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

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

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

	// Load row values from recordset
	function LoadRowValues(&$rs) {
		global $conn, $ClientContacts;
		$ClientContacts->ClientID->setDbValue($rs->fields('ClientID'));
		if (array_key_exists('EV__ClientID', $rs->fields)) {
			$ClientContacts->ClientID->VirtualValue = $rs->fields('EV__ClientID'); // Set up virtual field value
		} else {
			$ClientContacts->ClientID->VirtualValue = ""; // Clear value
		}
		$ClientContacts->ContactsID->setDbValue($rs->fields('ContactsID'));
		if (array_key_exists('EV__ContactsID', $rs->fields)) {
			$ClientContacts->ContactsID->VirtualValue = $rs->fields('EV__ContactsID'); // Set up virtual field value
		} else {
			$ClientContacts->ContactsID->VirtualValue = ""; // Clear value
		}
		$ClientContacts->Position->setDbValue($rs->fields('Position'));
		$ClientContacts->ForumReceive->setDbValue($rs->fields('ForumReceive'));
		$ClientContacts->DirectoryReceive->setDbValue($rs->fields('DirectoryReceive'));
	}

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

		// Initialize URLs
		// Call Row_Rendering event

		$ClientContacts->Row_Rendering();

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

		$ClientContacts->ClientID->CellCssStyle = ""; $ClientContacts->ClientID->CellCssClass = "";
		$ClientContacts->ClientID->CellAttrs = array(); $ClientContacts->ClientID->ViewAttrs = array(); $ClientContacts->ClientID->EditAttrs = array();

		// ContactsID
		$ClientContacts->ContactsID->CellCssStyle = ""; $ClientContacts->ContactsID->CellCssClass = "";
		$ClientContacts->ContactsID->CellAttrs = array(); $ClientContacts->ContactsID->ViewAttrs = array(); $ClientContacts->ContactsID->EditAttrs = array();

		// Position
		$ClientContacts->Position->CellCssStyle = ""; $ClientContacts->Position->CellCssClass = "";
		$ClientContacts->Position->CellAttrs = array(); $ClientContacts->Position->ViewAttrs = array(); $ClientContacts->Position->EditAttrs = array();

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

			// ClientID
			if ($ClientContacts->ClientID->VirtualValue <> "") {
				$ClientContacts->ClientID->ViewValue = $ClientContacts->ClientID->VirtualValue;
			} else {
			if (strval($ClientContacts->ClientID->CurrentValue) <> "") {
				$sFilterWrk = "`ClientID` = " . ew_AdjustSql($ClientContacts->ClientID->CurrentValue) . "";
			$sSqlWrk = "SELECT `ClientName`, `ClientAcronym` FROM `tblClients`";
			$sWhereWrk = "";
			if ($sFilterWrk <> "") {
				if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
				$sWhereWrk .= "(" . $sFilterWrk . ")";
			}
			if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk;
			$sSqlWrk .= " ORDER BY `ClientName`";
				$rswrk = $conn->Execute($sSqlWrk);
				if ($rswrk && !$rswrk->EOF) { // Lookup values found
					$ClientContacts->ClientID->ViewValue = $rswrk->fields('ClientName');
					$ClientContacts->ClientID->ViewValue .= ew_ValueSeparator(0) . $rswrk->fields('ClientAcronym');
					$rswrk->Close();
				} else {
					$ClientContacts->ClientID->ViewValue = $ClientContacts->ClientID->CurrentValue;
				}
			} else {
				$ClientContacts->ClientID->ViewValue = NULL;
			}
			}
			$ClientContacts->ClientID->CssStyle = "";
			$ClientContacts->ClientID->CssClass = "";
			$ClientContacts->ClientID->ViewCustomAttributes = "";

			// ContactsID
			if ($ClientContacts->ContactsID->VirtualValue <> "") {
				$ClientContacts->ContactsID->ViewValue = $ClientContacts->ContactsID->VirtualValue;
			} else {
			if (strval($ClientContacts->ContactsID->CurrentValue) <> "") {
				$sFilterWrk = "`ContactsID` = " . ew_AdjustSql($ClientContacts->ContactsID->CurrentValue) . "";
			$sSqlWrk = "SELECT `ContactSurname`, `ContactFirstName` FROM `Contacts`";
			$sWhereWrk = "";
			if ($sFilterWrk <> "") {
				if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
				$sWhereWrk .= "(" . $sFilterWrk . ")";
			}
			if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk;
			$sSqlWrk .= " ORDER BY `ContactSurname`";
				$rswrk = $conn->Execute($sSqlWrk);
				if ($rswrk && !$rswrk->EOF) { // Lookup values found
					$ClientContacts->ContactsID->ViewValue = $rswrk->fields('ContactSurname');
					$ClientContacts->ContactsID->ViewValue .= ew_ValueSeparator(0) . $rswrk->fields('ContactFirstName');
					$rswrk->Close();
				} else {
					$ClientContacts->ContactsID->ViewValue = $ClientContacts->ContactsID->CurrentValue;
				}
			} else {
				$ClientContacts->ContactsID->ViewValue = NULL;
			}
			}
			$ClientContacts->ContactsID->CssStyle = "";
			$ClientContacts->ContactsID->CssClass = "";
			$ClientContacts->ContactsID->ViewCustomAttributes = "";

			// Position
			$ClientContacts->Position->ViewValue = $ClientContacts->Position->CurrentValue;
			$ClientContacts->Position->CssStyle = "";
			$ClientContacts->Position->CssClass = "";
			$ClientContacts->Position->ViewCustomAttributes = "";

			// DirectoryReceive
			if (strval($ClientContacts->DirectoryReceive->CurrentValue) <> "") {
				$ClientContacts->DirectoryReceive->ViewValue = "";
				$arwrk = explode(",", strval($ClientContacts->DirectoryReceive->CurrentValue));
				for ($ari = 0; $ari < count($arwrk); $ari++) {
					switch (trim($arwrk[$ari])) {
						case "1":
							$ClientContacts->DirectoryReceive->ViewValue .= "Yes";
							break;
						default:
							$ClientContacts->DirectoryReceive->ViewValue .= trim($arwrk[$ari]);
					}
					if ($ari < count($arwrk)-1) $ClientContacts->DirectoryReceive->ViewValue .= ew_ViewOptionSeparator($ari);
				}
			} else {
				$ClientContacts->DirectoryReceive->ViewValue = NULL;
			}
			$ClientContacts->DirectoryReceive->CssStyle = "";
			$ClientContacts->DirectoryReceive->CssClass = "";
			$ClientContacts->DirectoryReceive->ViewCustomAttributes = "";

			// ClientID
			$ClientContacts->ClientID->HrefValue = "";
			$ClientContacts->ClientID->TooltipValue = "";

			// ContactsID
			$ClientContacts->ContactsID->HrefValue = "";
			$ClientContacts->ContactsID->TooltipValue = "";

			// Position
			$ClientContacts->Position->HrefValue = "";
			$ClientContacts->Position->TooltipValue = "";

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

			// ClientID
			$ClientContacts->ClientID->EditCustomAttributes = "";
			if ($ClientContacts->ClientID->VirtualValue <> "") {
				$ClientContacts->ClientID->ViewValue = $ClientContacts->ClientID->VirtualValue;
			} else {
			if (strval($ClientContacts->ClientID->CurrentValue) <> "") {
				$sFilterWrk = "`ClientID` = " . ew_AdjustSql($ClientContacts->ClientID->CurrentValue) . "";
			$sSqlWrk = "SELECT `ClientName`, `ClientAcronym` FROM `tblClients`";
			$sWhereWrk = "";
			if ($sFilterWrk <> "") {
				if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
				$sWhereWrk .= "(" . $sFilterWrk . ")";
			}
			if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk;
			$sSqlWrk .= " ORDER BY `ClientName`";
				$rswrk = $conn->Execute($sSqlWrk);
				if ($rswrk && !$rswrk->EOF) { // Lookup values found
					$ClientContacts->ClientID->EditValue = $rswrk->fields('ClientName');
					$ClientContacts->ClientID->EditValue .= ew_ValueSeparator(0) . $rswrk->fields('ClientAcronym');
					$rswrk->Close();
				} else {
					$ClientContacts->ClientID->EditValue = $ClientContacts->ClientID->CurrentValue;
				}
			} else {
				$ClientContacts->ClientID->EditValue = NULL;
			}
			}
			$ClientContacts->ClientID->CssStyle = "";
			$ClientContacts->ClientID->CssClass = "";
			$ClientContacts->ClientID->ViewCustomAttributes = "";

			// ContactsID
			$ClientContacts->ContactsID->EditCustomAttributes = "";
			if ($ClientContacts->ContactsID->VirtualValue <> "") {
				$ClientContacts->ContactsID->ViewValue = $ClientContacts->ContactsID->VirtualValue;
			} else {
			if (strval($ClientContacts->ContactsID->CurrentValue) <> "") {
				$sFilterWrk = "`ContactsID` = " . ew_AdjustSql($ClientContacts->ContactsID->CurrentValue) . "";
			$sSqlWrk = "SELECT `ContactSurname`, `ContactFirstName` FROM `Contacts`";
			$sWhereWrk = "";
			if ($sFilterWrk <> "") {
				if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
				$sWhereWrk .= "(" . $sFilterWrk . ")";
			}
			if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk;
			$sSqlWrk .= " ORDER BY `ContactSurname`";
				$rswrk = $conn->Execute($sSqlWrk);
				if ($rswrk && !$rswrk->EOF) { // Lookup values found
					$ClientContacts->ContactsID->EditValue = $rswrk->fields('ContactSurname');
					$ClientContacts->ContactsID->EditValue .= ew_ValueSeparator(0) . $rswrk->fields('ContactFirstName');
					$rswrk->Close();
				} else {
					$ClientContacts->ContactsID->EditValue = $ClientContacts->ContactsID->CurrentValue;
				}
			} else {
				$ClientContacts->ContactsID->EditValue = NULL;
			}
			}
			$ClientContacts->ContactsID->CssStyle = "";
			$ClientContacts->ContactsID->CssClass = "";
			$ClientContacts->ContactsID->ViewCustomAttributes = "";

			// Position
			$ClientContacts->Position->EditCustomAttributes = "";
			$ClientContacts->Position->EditValue = ew_HtmlEncode($ClientContacts->Position->CurrentValue);

			// DirectoryReceive
			$ClientContacts->DirectoryReceive->EditCustomAttributes = "";
			$arwrk = array();
			$arwrk[] = array("1", "Yes");
			$ClientContacts->DirectoryReceive->EditValue = $arwrk;

			// Edit refer script
			// ClientID

			$ClientContacts->ClientID->HrefValue = "";

			// ContactsID
			$ClientContacts->ContactsID->HrefValue = "";

			// Position
			$ClientContacts->Position->HrefValue = "";

			// DirectoryReceive
			$ClientContacts->DirectoryReceive->HrefValue = "";
		}

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

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

		// Initialize form error message
		$gsFormError = "";

		// Check if validation required
		if (!EW_SERVER_VALIDATE)
			return ($gsFormError == "");

		// 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, $ClientContacts;
		$sFilter = $ClientContacts->KeyFilter();
		$ClientContacts->CurrentFilter = $sFilter;
		$sSql = $ClientContacts->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();

			// ClientID
			// ContactsID
			// Position

			$ClientContacts->Position->SetDbValueDef($rsnew, $ClientContacts->Position->CurrentValue, NULL, FALSE);

			// DirectoryReceive
			$ClientContacts->DirectoryReceive->SetDbValueDef($rsnew, $ClientContacts->DirectoryReceive->CurrentValue, NULL, FALSE);

			// Call Row Updating event
			$bUpdateRow = $ClientContacts->Row_Updating($rsold, $rsnew);
			if ($bUpdateRow) {
				$conn->raiseErrorFn = 'ew_ErrorFn';
				$EditRow = $conn->Execute($ClientContacts->UpdateSQL($rsnew));
				$conn->raiseErrorFn = '';
			} else {
				if ($ClientContacts->CancelMessage <> "") {
					$this->setMessage($ClientContacts->CancelMessage);
					$ClientContacts->CancelMessage = "";
				} else {
					$this->setMessage($Language->Phrase("UpdateCancelled"));
				}
				$EditRow = FALSE;
			}
		}

		// Call Row_Updated event
		if ($EditRow)
			$ClientContacts->Row_Updated($rsold, $rsnew);
		if ($EditRow) {
			$this->WriteAuditTrailOnEdit($rsold, $rsnew);
		}
		$rs->Close();
		return $EditRow;
	}

	// Set up master/detail based on QueryString
	function SetUpMasterDetail() {
		global $ClientContacts;
		$bValidMaster = FALSE;

		// Get the keys for master table
		if (@$_GET[EW_TABLE_SHOW_MASTER] <> "") {
			$sMasterTblVar = $_GET[EW_TABLE_SHOW_MASTER];
			if ($sMasterTblVar == "") {
				$bValidMaster = TRUE;
				$this->sDbMasterFilter = "";
				$this->sDbDetailFilter = "";
			}
			if ($sMasterTblVar == "tblClients") {
				$bValidMaster = TRUE;
				$this->sDbMasterFilter = $ClientContacts->SqlMasterFilter_tblClients();
				$this->sDbDetailFilter = $ClientContacts->SqlDetailFilter_tblClients();
				if (@$_GET["ClientID"] <> "") {
					$GLOBALS["tblClients"]->ClientID->setQueryStringValue($_GET["ClientID"]);
					$ClientContacts->ClientID->setQueryStringValue($GLOBALS["tblClients"]->ClientID->QueryStringValue);
					$ClientContacts->ClientID->setSessionValue($ClientContacts->ClientID->QueryStringValue);
					if (!is_numeric($GLOBALS["tblClients"]->ClientID->QueryStringValue)) $bValidMaster = FALSE;
					$this->sDbMasterFilter = str_replace("@ClientID@", ew_AdjustSql($GLOBALS["tblClients"]->ClientID->QueryStringValue), $this->sDbMasterFilter);
					$this->sDbDetailFilter = str_replace("@ClientID@", ew_AdjustSql($GLOBALS["tblClients"]->ClientID->QueryStringValue), $this->sDbDetailFilter);
				} else {
					$bValidMaster = FALSE;
				}
			}
		}
		if ($bValidMaster) {

			// Save current master table
			$ClientContacts->setCurrentMasterTable($sMasterTblVar);

			// Reset start record counter (new master key)
			$this->lStartRec = 1;
			$ClientContacts->setStartRecordNumber($this->lStartRec);
			$ClientContacts->setMasterFilter($this->sDbMasterFilter); // Set up master filter
			$ClientContacts->setDetailFilter($this->sDbDetailFilter); // Set up detail filter

			// Clear previous master key from Session
			if ($sMasterTblVar <> "tblClients") {
				if ($ClientContacts->ClientID->QueryStringValue == "") $ClientContacts->ClientID->setSessionValue("");
			}
		} else {
			$this->sDbMasterFilter = $ClientContacts->getMasterFilter(); //  Restore master filter
			$this->sDbDetailFilter = $ClientContacts->getDetailFilter(); // Restore detail filter
		}
	}

	// Write Audit Trail start/end for grid update
	function WriteAuditTrailDummy($typ) {
		$table = 'ClientContacts';
	  $usr = CurrentUserID();
		ew_WriteAuditTrail("log", ew_StdCurrentDateTime(), ew_ScriptName(), $usr, $typ, $table, "", "", "", "");
	}

	// Write Audit Trail (edit page)
	function WriteAuditTrailOnEdit(&$rsold, &$rsnew) {
		global $ClientContacts;
		$table = 'ClientContacts';

		// Get key value
		$key = "";
		if ($key <> "") $key .= EW_COMPOSITE_KEY_SEPARATOR;
		$key .= $rsold['ClientID'];
		if ($key <> "") $key .= EW_COMPOSITE_KEY_SEPARATOR;
		$key .= $rsold['ContactsID'];

		// Write Audit Trail
		$dt = ew_StdCurrentDateTime();
		$id = ew_ScriptName();
	  $usr = CurrentUserID();
		foreach (array_keys($rsnew) as $fldname) {
			if ($ClientContacts->fields[$fldname]->FldDataType <> EW_DATATYPE_BLOB) { // Ignore BLOB fields
				if ($ClientContacts->fields[$fldname]->FldDataType == EW_DATATYPE_DATE) { // DateTime field
					$modified = (ew_FormatDateTime($rsold[$fldname], 0) <> ew_FormatDateTime($rsnew[$fldname], 0));
				} else {
					$modified = !ew_CompareValue($rsold[$fldname], $rsnew[$fldname]);
				}
				if ($modified) {
					if ($ClientContacts->fields[$fldname]->FldDataType == EW_DATATYPE_MEMO) { // Memo field
						$oldvalue = "<MEMO>";
						$newvalue = "<MEMO>";
					} elseif ($ClientContacts->fields[$fldname]->FldDataType == EW_DATATYPE_XML) { // XML field
						$oldvalue = "<XML>";
						$newvalue = "<XML>";
					} else {
						$oldvalue = $rsold[$fldname];
						$newvalue = $rsnew[$fldname];
					}
					ew_WriteAuditTrail("log", $dt, $id, $usr, "U", $table, $fldname, $key, $oldvalue, $newvalue);
				}
			}
		}
	}

	// 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;
	}
}
?>