<?php
// Global variable for table object
$orders = NULL;
//
// Table class for orders
//
class corders {
var $TableVar = 'orders';
var $TableName = 'orders';
var $TableType = 'TABLE';
var $id;
var $lesson;
var $title;
var $room;
var $order_date;
var $request_date;
var $return_date;
var $teacher;
var $attachment;
var $note;
var $fields = array();
var $UseTokenInUrl = EW_USE_TOKEN_IN_URL;
var $Export; // Export
var $ExportOriginalValue = EW_EXPORT_ORIGINAL_VALUE;
var $ExportAll = TRUE;
var $SendEmail; // Send email
var $TableCustomInnerHtml; // Custom inner HTML
var $BasicSearchKeyword; // Basic search keyword
var $BasicSearchType; // Basic search type
var $CurrentFilter; // Current filter
var $CurrentOrder; // Current order
var $CurrentOrderType; // Current order type
var $RowType; // Row type
var $CssClass; // CSS class
var $CssStyle; // CSS style
var $RowAttrs = array(); // Row custom attributes
var $TableFilter = "";
var $CurrentAction; // Current action
var $UpdateConflict; // Update conflict
var $EventName; // Event name
var $EventCancelled; // Event cancelled
var $CancelMessage; // Cancel message
//
// Table class constructor
//
function corders() {
global $Language;
// id
$this->id = new cField('orders', 'orders', 'x_id', 'id', '`id`', 19, -1, FALSE, '`id`', FALSE);
$this->id->FldDefaultErrMsg = $Language->Phrase("IncorrectInteger");
$this->fields['id'] =& $this->id;
// lesson
$this->lesson = new cField('orders', 'orders', 'x_lesson', 'lesson', '`lesson`', 17, -1, FALSE, '`lesson`', FALSE);
$this->lesson->FldDefaultErrMsg = $Language->Phrase("IncorrectInteger");
$this->fields['lesson'] =& $this->lesson;
// title
$this->title = new cField('orders', 'orders', 'x_title', 'title', '`title`', 200, -1, FALSE, '`title`', FALSE);
$this->fields['title'] =& $this->title;
// room
$this->room = new cField('orders', 'orders', 'x_room', 'room', '`room`', 200, -1, FALSE, '`room`', FALSE);
$this->fields['room'] =& $this->room;
// order_date
$this->order_date = new cField('orders', 'orders', 'x_order_date', 'order_date', '`order_date`', 135, 5, FALSE, '`order_date`', FALSE);
$this->order_date->FldDefaultErrMsg = str_replace("%s", "/", $Language->Phrase("IncorrectDateYMD"));
$this->fields['order_date'] =& $this->order_date;
// request_date
$this->request_date = new cField('orders', 'orders', 'x_request_date', 'request_date', '`request_date`', 133, 5, FALSE, '`request_date`', FALSE);
$this->request_date->FldDefaultErrMsg = str_replace("%s", "/", $Language->Phrase("IncorrectDateYMD"));
$this->fields['request_date'] =& $this->request_date;
// return_date
$this->return_date = new cField('orders', 'orders', 'x_return_date', 'return_date', '`return_date`', 133, 5, FALSE, '`return_date`', FALSE);
$this->return_date->FldDefaultErrMsg = str_replace("%s", "/", $Language->Phrase("IncorrectDateYMD"));
$this->fields['return_date'] =& $this->return_date;
// teacher
$this->teacher = new cField('orders', 'orders', 'x_teacher', 'teacher', '`teacher`', 200, -1, FALSE, '`teacher`', FALSE);
$this->fields['teacher'] =& $this->teacher;
// attachment
$this->attachment = new cField('orders', 'orders', 'x_attachment', 'attachment', '`attachment`', 200, -1, TRUE, '`attachment`', FALSE);
$this->attachment->UploadPath = EW_UPLOAD_DEST_PATH;
$this->fields['attachment'] =& $this->attachment;
// note
$this->note = new cField('orders', 'orders', 'x_note', 'note', '`note`', 201, -1, FALSE, '`note`', FALSE);
$this->note->TruncateMemoRemoveHtml = TRUE;
$this->fields['note'] =& $this->note;
}
// Table caption
function TableCaption() {
global $Language;
return $Language->TablePhrase($this->TableVar, "TblCaption");
}
// Page caption
function PageCaption($Page) {
global $Language;
$Caption = $Language->TablePhrase($this->TableVar, "TblPageCaption" . $Page);
if ($Caption == "") $Caption = "Page " . $Page;
return $Caption;
}
// Export return page
function ExportReturnUrl() {
$url = @$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_EXPORT_RETURN_URL];
return ($url <> "") ? $url : ew_CurrentPage();
}
function setExportReturnUrl($v) {
$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_EXPORT_RETURN_URL] = $v;
}
// Records per page
function getRecordsPerPage() {
return @$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_REC_PER_PAGE];
}
function setRecordsPerPage($v) {
$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_REC_PER_PAGE] = $v;
}
// Start record number
function getStartRecordNumber() {
return @$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_START_REC];
}
function setStartRecordNumber($v) {
$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_START_REC] = $v;
}
// Search highlight name
function HighlightName() {
return "orders_Highlight";
}
// Advanced search
function getAdvancedSearch($fld) {
return @$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_ADVANCED_SEARCH . "_" . $fld];
}
function setAdvancedSearch($fld, $v) {
if (@$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_ADVANCED_SEARCH . "_" . $fld] <> $v) {
$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_ADVANCED_SEARCH . "_" . $fld] = $v;
}
}
// Basic search keyword
function getSessionBasicSearchKeyword() {
return @$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_BASIC_SEARCH];
}
function setSessionBasicSearchKeyword($v) {
$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_BASIC_SEARCH] = $v;
}
// Basic search type
function getSessionBasicSearchType() {
return @$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_BASIC_SEARCH_TYPE];
}
function setSessionBasicSearchType($v) {
$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_BASIC_SEARCH_TYPE] = $v;
}
// Search WHERE clause
function getSearchWhere() {
return @$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_SEARCH_WHERE];
}
function setSearchWhere($v) {
$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_SEARCH_WHERE] = $v;
}
// Single column sort
function UpdateSort(&$ofld) {
if ($this->CurrentOrder == $ofld->FldName) {
$sSortField = $ofld->FldExpression;
$sLastSort = $ofld->getSort();
if ($this->CurrentOrderType == "ASC" || $this->CurrentOrderType == "DESC") {
$sThisSort = $this->CurrentOrderType;
} else {
$sThisSort = ($sLastSort == "ASC") ? "DESC" : "ASC";
}
$ofld->setSort($sThisSort);
$this->setSessionOrderBy($sSortField . " " . $sThisSort); // Save to Session
} else {
$ofld->setSort("");
}
}
// Session WHERE clause
function getSessionWhere() {
return @$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_WHERE];
}
function setSessionWhere($v) {
$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_WHERE] = $v;
}
// Session ORDER BY
function getSessionOrderBy() {
return @$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_ORDER_BY];
}
function setSessionOrderBy($v) {
$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_ORDER_BY] = $v;
}
// Session key
function getKey($fld) {
return @$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_KEY . "_" . $fld];
}
function setKey($fld, $v) {
$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_KEY . "_" . $fld] = $v;
}
// Current master table name
function getCurrentMasterTable() {
return @$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_MASTER_TABLE];
}
function setCurrentMasterTable($v) {
$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_MASTER_TABLE] = $v;
}
// Session master WHERE clause
function getMasterFilter() {
return @$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_MASTER_FILTER];
}
function setMasterFilter($v) {
$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_MASTER_FILTER] = $v;
}
// Session detail WHERE clause
function getDetailFilter() {
return @$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_DETAIL_FILTER];
}
function setDetailFilter($v) {
$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_DETAIL_FILTER] = $v;
}
// Master filter
function SqlMasterFilter_lesson() {
return "`id`=@id@";
}
// Detail filter
function SqlDetailFilter_lesson() {
return "`lesson`=@lesson@";
}
// Master filter
function SqlMasterFilter_rooms() {
return "`id`='@id@'";
}
// Detail filter
function SqlDetailFilter_rooms() {
return "`room`='@room@'";
}
// Master filter
function SqlMasterFilter_useraccounts() {
return "`username`='@username@'";
}
// Detail filter
function SqlDetailFilter_useraccounts() {
return "`teacher`='@teacher@'";
}
// Table level SQL
function SqlFrom() { // From
return "`orders`";
}
function SqlSelect() { // Select
return "SELECT * FROM " . $this->SqlFrom();
}
function SqlWhere() { // Where
$sWhere = "";
$this->TableFilter = "";
if ($this->TableFilter <> "") {
if ($sWhere <> "") $sWhere .= "(" . $sWhere . ") AND (";
$sWhere .= "(" . $this->TableFilter . ")";
}
return $sWhere;
}
function SqlGroupBy() { // Group By
return "";
}
function SqlHaving() { // Having
return "";
}
function SqlOrderBy() { // Order By
return "`request_date` DESC,`lesson` ASC,`teacher` ASC";
}
// Check if Anonymous User is allowed
function AllowAnonymousUser() {
switch (EW_PAGE_ID) {
case "add":
case "register":
case "addopt":
return FALSE;
case "edit":
case "update":
return FALSE;
case "delete":
return FALSE;
case "view":
return FALSE;
case "search":
return FALSE;
default:
return FALSE;
}
}
// Apply User ID filters
function ApplyUserIDFilters($sFilter) {
global $Security;
// Add User ID filter
if (!$this->AllowAnonymousUser() && $Security->CurrentUserID() <> "" && !$Security->IsAdmin()) { // Non system admin
$sFilter = $this->AddUserIDFilter($sFilter);
if ($this->getCurrentMasterTable() == "lesson")
$sFilter = $this->AddDetailUserIDFilter($sFilter, "lesson"); // Add detail User ID filter
if ($this->getCurrentMasterTable() == "rooms")
$sFilter = $this->AddDetailUserIDFilter($sFilter, "rooms"); // Add detail User ID filter
if ($this->getCurrentMasterTable() == "useraccounts")
$sFilter = $this->AddDetailUserIDFilter($sFilter, "useraccounts"); // Add detail User ID filter
}
return $sFilter;
}
// Get SQL
function GetSQL($where, $orderby) {
return ew_BuildSelectSql($this->SqlSelect(), $this->SqlWhere(),
$this->SqlGroupBy(), $this->SqlHaving(), $this->SqlOrderBy(),
$where, $orderby);
}
// Table SQL
function SQL() {
$sFilter = $this->CurrentFilter;
$sFilter = $this->ApplyUserIDFilters($sFilter);
$sSort = $this->getSessionOrderBy();
return ew_BuildSelectSql($this->SqlSelect(), $this->SqlWhere(),
$this->SqlGroupBy(), $this->SqlHaving(), $this->SqlOrderBy(),
$sFilter, $sSort);
}
// Table SQL with List page filter
function SelectSQL() {
$sFilter = $this->getSessionWhere();
if ($this->CurrentFilter <> "") {
if ($sFilter <> "") $sFilter = "(" . $sFilter . ") AND ";
$sFilter .= "(" . $this->CurrentFilter . ")";
}
$sFilter = $this->ApplyUserIDFilters($sFilter);
$sSort = $this->getSessionOrderBy();
return ew_BuildSelectSql($this->SqlSelect(), $this->SqlWhere(), $this->SqlGroupBy(),
$this->SqlHaving(), $this->SqlOrderBy(), $sFilter, $sSort);
}
// Try to get record count
function TryGetRecordCount($sSql) {
global $conn;
$cnt = -1;
if ($this->TableType == 'TABLE' || $this->TableType == 'VIEW') {
$sSql = "SELECT COUNT(*) FROM" . substr($sSql, 13);
} else {
$sSql = "SELECT COUNT(*) FROM (" . $sSql . ") EW_COUNT_TABLE";
}
if ($rs = $conn->Execute($sSql)) {
if (!$rs->EOF && $rs->FieldCount() > 0) {
$cnt = $rs->fields[0];
$rs->Close();
}
}
return intval($cnt);
}
// Get record count based on filter (for detail record count in master table pages)
function LoadRecordCount($sFilter) {
$origFilter = $this->CurrentFilter;
$this->CurrentFilter = $sFilter;
$this->Recordset_Selecting($this->CurrentFilter);
$sSql = $this->SQL();
$cnt = $this->TryGetRecordCount($sSql);
if ($cnt == -1) {
if ($rs = $this->LoadRs($this->CurrentFilter)) {
$cnt = $rs->RecordCount();
$rs->Close();
}
}
$this->CurrentFilter = $origFilter;
return intval($cnt);
}
// Get record count (for current List page)
function SelectRecordCount() {
global $conn;
$origFilter = $this->CurrentFilter;
$this->Recordset_Selecting($this->CurrentFilter);
$sSql = $this->SelectSQL();
$cnt = $this->TryGetRecordCount($sSql);
if ($cnt == -1) {
if ($rs = $conn->Execute($this->SelectSQL())) {
$cnt = $rs->RecordCount();
$rs->Close();
}
}
$this->CurrentFilter = $origFilter;
return intval($cnt);
}
// INSERT statement
function InsertSQL(&$rs) {
global $conn;
$names = "";
$values = "";
foreach ($rs as $name => $value) {
$names .= $this->fields[$name]->FldExpression . ",";
$values .= ew_QuotedValue($value, $this->fields[$name]->FldDataType) . ",";
}
if (substr($names, -1) == ",") $names = substr($names, 0, strlen($names)-1);
if (substr($values, -1) == ",") $values = substr($values, 0, strlen($values)-1);
return "INSERT INTO `orders` ($names) VALUES ($values)";
}
// UPDATE statement
function UpdateSQL(&$rs) {
global $conn;
$SQL = "UPDATE `orders` SET ";
foreach ($rs as $name => $value) {
$SQL .= $this->fields[$name]->FldExpression . "=";
$SQL .= ew_QuotedValue($value, $this->fields[$name]->FldDataType) . ",";
}
if (substr($SQL, -1) == ",") $SQL = substr($SQL, 0, strlen($SQL)-1);
if ($this->CurrentFilter <> "") $SQL .= " WHERE " . $this->CurrentFilter;
return $SQL;
}
// DELETE statement
function DeleteSQL(&$rs) {
$SQL = "DELETE FROM `orders` WHERE ";
$SQL .= ew_QuotedName('id') . '=' . ew_QuotedValue($rs['id'], $this->id->FldDataType) . ' AND ';
if (substr($SQL, -5) == " AND ") $SQL = substr($SQL, 0, strlen($SQL)-5);
if ($this->CurrentFilter <> "") $SQL .= " AND " . $this->CurrentFilter;
return $SQL;
}
// Key filter WHERE clause
function SqlKeyFilter() {
return "`id` = @id@";
}
// Key filter
function KeyFilter() {
$sKeyFilter = $this->SqlKeyFilter();
if (!is_numeric($this->id->CurrentValue))
$sKeyFilter = "0=1"; // Invalid key
$sKeyFilter = str_replace("@id@", ew_AdjustSql($this->id->CurrentValue), $sKeyFilter); // Replace key value
return $sKeyFilter;
}
// Return page URL
function getReturnUrl() {
$name = EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_RETURN_URL;
// Get referer URL automatically
if (ew_ServerVar("HTTP_REFERER") <> "" && ew_ReferPage() <> ew_CurrentPage() && ew_ReferPage() <> "login.php") // Referer not same page or login page
$_SESSION[$name] = ew_ServerVar("HTTP_REFERER"); // Save to Session
if (@$_SESSION[$name] <> "") {
return $_SESSION[$name];
} else {
return "orderslist.php";
}
}
function setReturnUrl($v) {
$_SESSION[EW_PROJECT_NAME . "_" . $this->TableVar . "_" . EW_TABLE_RETURN_URL] = $v;
}
// List URL
function ListUrl() {
return "orderslist.php";
}
// View URL
function ViewUrl() {
return $this->KeyUrl("ordersview.php", $this->UrlParm());
}
// Add URL
function AddUrl() {
$AddUrl = "ordersadd.php";
$sUrlParm = $this->UrlParm();
if ($sUrlParm <> "")
$AddUrl .= "?" . $sUrlParm;
return $AddUrl;
}
// Edit URL
function EditUrl() {
return $this->KeyUrl("ordersedit.php", $this->UrlParm());
}
// Inline edit URL
function InlineEditUrl() {
return $this->KeyUrl(ew_CurrentPage(), $this->UrlParm("a=edit"));
}
// Copy URL
function CopyUrl() {
return $this->KeyUrl("ordersadd.php", $this->UrlParm());
}
// Inline copy URL
function InlineCopyUrl() {
return $this->KeyUrl(ew_CurrentPage(), $this->UrlParm("a=copy"));
}
// Delete URL
function DeleteUrl() {
return $this->KeyUrl("ordersdelete.php", $this->UrlParm());
}
// Add key value to URL
function KeyUrl($url, $parm = "") {
$sUrl = $url . "?";
if ($parm <> "") $sUrl .= $parm . "&";
if (!is_null($this->id->CurrentValue)) {
$sUrl .= "id=" . urlencode($this->id->CurrentValue);
} else {
return "javascript:alert(ewLanguage.Phrase(\"InvalidRecord\"));";
}
return $sUrl;
}
// Sort URL
function SortUrl(&$fld) {
if ($this->CurrentAction <> "" || $this->Export <> "" ||
in_array($fld->FldType, array(128, 204, 205))) { // Unsortable data type
return "";
} elseif ($fld->Sortable) {
$sUrlParm = $this->UrlParm("order=" . urlencode($fld->FldName) . "&ordertype=" . $fld->ReverseSort());
return ew_CurrentPage() . "?" . $sUrlParm;
} else {
return "";
}
}
// Add URL parameter
function UrlParm($parm = "") {
$UrlParm = ($this->UseTokenInUrl) ? "t=orders" : "";
if ($parm <> "") {
if ($UrlParm <> "")
$UrlParm .= "&";
$UrlParm .= $parm;
}
return $UrlParm;
}
// Load rows based on filter
function &LoadRs($sFilter) {
global $conn;
// Set up filter (SQL WHERE clause) and get return SQL
$this->CurrentFilter = $sFilter;
$sSql = $this->SQL();
return $conn->Execute($sSql);
}
// Load row values from recordset
function LoadListRowValues(&$rs) {
$this->id->setDbValue($rs->fields('id'));
$this->lesson->setDbValue($rs->fields('lesson'));
$this->title->setDbValue($rs->fields('title'));
$this->room->setDbValue($rs->fields('room'));
$this->order_date->setDbValue($rs->fields('order_date'));
$this->request_date->setDbValue($rs->fields('request_date'));
$this->return_date->setDbValue($rs->fields('return_date'));
$this->teacher->setDbValue($rs->fields('teacher'));
$this->attachment->Upload->DbValue = $rs->fields('attachment');
$this->note->setDbValue($rs->fields('note'));
}
// Render list row values
function RenderListRow() {
global $conn, $Security;
// Call Row Rendering event
$this->Row_Rendering();
// Common render codes
// lesson
$this->lesson->CellCssStyle = ""; $this->lesson->CellCssClass = "";
$this->lesson->CellAttrs = array(); $this->lesson->ViewAttrs = array(); $this->lesson->EditAttrs = array();
// title
$this->title->CellCssStyle = ""; $this->title->CellCssClass = "";
$this->title->CellAttrs = array(); $this->title->ViewAttrs = array(); $this->title->EditAttrs = array();
// room
$this->room->CellCssStyle = ""; $this->room->CellCssClass = "";
$this->room->CellAttrs = array(); $this->room->ViewAttrs = array(); $this->room->EditAttrs = array();
// order_date
$this->order_date->CellCssStyle = ""; $this->order_date->CellCssClass = "";
$this->order_date->CellAttrs = array(); $this->order_date->ViewAttrs = array(); $this->order_date->EditAttrs = array();
// request_date
$this->request_date->CellCssStyle = ""; $this->request_date->CellCssClass = "";
$this->request_date->CellAttrs = array(); $this->request_date->ViewAttrs = array(); $this->request_date->EditAttrs = array();
// return_date
$this->return_date->CellCssStyle = ""; $this->return_date->CellCssClass = "";
$this->return_date->CellAttrs = array(); $this->return_date->ViewAttrs = array(); $this->return_date->EditAttrs = array();
// teacher
$this->teacher->CellCssStyle = ""; $this->teacher->CellCssClass = "";
$this->teacher->CellAttrs = array(); $this->teacher->ViewAttrs = array(); $this->teacher->EditAttrs = array();
// attachment
$this->attachment->CellCssStyle = ""; $this->attachment->CellCssClass = "";
$this->attachment->CellAttrs = array(); $this->attachment->ViewAttrs = array(); $this->attachment->EditAttrs = array();
// lesson
if (strval($this->lesson->CurrentValue) <> "") {
$sFilterWrk = "`id` = " . ew_AdjustSql($this->lesson->CurrentValue) . "";
$sSqlWrk = "SELECT `name` FROM `lesson`";
$sWhereWrk = "";
if ($sFilterWrk <> "") {
if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
$sWhereWrk .= "(" . $sFilterWrk . ")";
}
if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk;
$sSqlWrk .= " ORDER BY `id` Asc";
$rswrk = $conn->Execute($sSqlWrk);
if ($rswrk && !$rswrk->EOF) { // Lookup values found
$this->lesson->ViewValue = $rswrk->fields('name');
$rswrk->Close();
} else {
$this->lesson->ViewValue = $this->lesson->CurrentValue;
}
} else {
$this->lesson->ViewValue = NULL;
}
$this->lesson->CssStyle = "";
$this->lesson->CssClass = "";
$this->lesson->ViewCustomAttributes = "";
// title
$this->title->ViewValue = $this->title->CurrentValue;
$this->title->CssStyle = "";
$this->title->CssClass = "";
$this->title->ViewCustomAttributes = "";
// room
if (strval($this->room->CurrentValue) <> "") {
$sFilterWrk = "`id` = '" . ew_AdjustSql($this->room->CurrentValue) . "'";
$sSqlWrk = "SELECT `name` FROM `rooms`";
$sWhereWrk = "";
if ($sFilterWrk <> "") {
if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
$sWhereWrk .= "(" . $sFilterWrk . ")";
}
if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk;
$sSqlWrk .= " ORDER BY `name` Asc";
$rswrk = $conn->Execute($sSqlWrk);
if ($rswrk && !$rswrk->EOF) { // Lookup values found
$this->room->ViewValue = $rswrk->fields('name');
$rswrk->Close();
} else {
$this->room->ViewValue = $this->room->CurrentValue;
}
} else {
$this->room->ViewValue = NULL;
}
$this->room->CssStyle = "";
$this->room->CssClass = "";
$this->room->ViewCustomAttributes = "";
// order_date
$this->order_date->ViewValue = $this->order_date->CurrentValue;
$this->order_date->ViewValue = ew_FormatDateTime($this->order_date->ViewValue, 5);
$this->order_date->CssStyle = "";
$this->order_date->CssClass = "";
$this->order_date->ViewCustomAttributes = "";
// request_date
$this->request_date->ViewValue = $this->request_date->CurrentValue;
$this->request_date->ViewValue = ew_FormatDateTime($this->request_date->ViewValue, 5);
$this->request_date->CssStyle = "";
$this->request_date->CssClass = "";
$this->request_date->ViewCustomAttributes = "";
// return_date
$this->return_date->ViewValue = $this->return_date->CurrentValue;
$this->return_date->ViewValue = ew_FormatDateTime($this->return_date->ViewValue, 5);
$this->return_date->CssStyle = "";
$this->return_date->CssClass = "";
$this->return_date->ViewCustomAttributes = "";
// teacher
$this->teacher->ViewValue = $this->teacher->CurrentValue;
$this->teacher->CssStyle = "";
$this->teacher->CssClass = "";
$this->teacher->ViewCustomAttributes = "";
// attachment
if (!ew_Empty($this->attachment->Upload->DbValue)) {
$this->attachment->ViewValue = $this->attachment->Upload->DbValue;
} else {
$this->attachment->ViewValue = "";
}
$this->attachment->CssStyle = "";
$this->attachment->CssClass = "";
$this->attachment->ViewCustomAttributes = "";
// lesson
$this->lesson->HrefValue = "";
$this->lesson->TooltipValue = $this->note->CurrentValue;
// title
$this->title->HrefValue = "";
$this->title->TooltipValue = "";
// room
$this->room->HrefValue = "";
$this->room->TooltipValue = "";
// order_date
$this->order_date->HrefValue = "";
$this->order_date->TooltipValue = "";
// request_date
$this->request_date->HrefValue = "";
$this->request_date->TooltipValue = "";
// return_date
$this->return_date->HrefValue = "";
$this->return_date->TooltipValue = "";
// teacher
$this->teacher->HrefValue = "";
$this->teacher->TooltipValue = "";
// attachment
if (!ew_Empty($this->attachment->Upload->DbValue)) {
$this->attachment->HrefValue = ew_UploadPathEx(FALSE, $this->attachment->UploadPath) . ((!empty($this->attachment->ViewValue)) ? $this->attachment->ViewValue : $this->attachment->CurrentValue);
if ($this->Export <> "") $orders->attachment->HrefValue = ew_ConvertFullUrl($this->attachment->HrefValue);
} else {
$this->attachment->HrefValue = "";
}
$this->attachment->TooltipValue = "";
// Call Row Rendered event
$this->Row_Rendered();
}
// Aggregate list row values
function AggregateListRowValues() {
}
// Aggregate list row (for rendering)
function AggregateListRow() {
}
// Add User ID filter
function AddUserIDFilter($sFilter) {
global $Security;
$sFilterWrk = $Security->UserIDList();
if (!$Security->IsAdmin() && $sFilterWrk <> "") {
$sFilterWrk = '`teacher` IN (' . $sFilterWrk . ')';
if ($sFilter <> "")
$sFilterWrk = "(" . $sFilter . ") AND (" . $sFilterWrk . ")";
} else {
$sFilterWrk = $sFilter;
}
return $sFilterWrk;
}
// User ID subquery
function GetUserIDSubquery(&$fld, &$masterfld) {
global $conn;
$sWrk = "";
$sSql = "SELECT " . $masterfld->FldExpression . " FROM `orders` WHERE " . $this->AddUserIDFilter("");
// List all values
if ($rs = $conn->Execute($sSql)) {
while (!$rs->EOF) {
if ($sWrk <> "") $sWrk .= ",";
$sWrk .= ew_QuotedValue($rs->fields[0], $masterfld->FldDataType);
$rs->MoveNext();
}
$rs->Close();
}
if ($sWrk <> "") {
$sWrk = $fld->FldExpression . " IN (" . $sWrk . ")";
}
return $sWrk;
}
// Add master User ID filter
function AddMasterUserIDFilter($sFilter, $sCurrentMasterTable) {
$sFilterWrk = $sFilter;
if ($sCurrentMasterTable == "useraccounts") {
$sFilterWrk = $GLOBALS["useraccounts"]->AddUserIDFilter($sFilterWrk);
}
return $sFilterWrk;
}
// Add detail User ID filter
function AddDetailUserIDFilter($sFilter, $sCurrentMasterTable) {
$sFilterWrk = $sFilter;
if ($sCurrentMasterTable == "useraccounts") {
$sSubqueryWrk = $GLOBALS["useraccounts"]->GetUserIDSubquery($this->teacher, $GLOBALS["useraccounts"]->username);
if ($sSubqueryWrk <> "") {
if ($sFilterWrk <> "") {
$sFilterWrk = "($sFilterWrk) AND ($sSubqueryWrk)";
} else {
$sFilterWrk = $sSubqueryWrk;
}
}
}
return $sFilterWrk;
}
// Row styles
function RowStyles() {
$sAtt = "";
$sStyle = trim($this->CssStyle);
if (@$this->RowAttrs["style"] <> "")
$sStyle .= " " . $this->RowAttrs["style"];
$sClass = trim($this->CssClass);
if (@$this->RowAttrs["class"] <> "")
$sClass .= " " . $this->RowAttrs["class"];
if (trim($sStyle) <> "")
$sAtt .= " style=\"" . trim($sStyle) . "\"";
if (trim($sClass) <> "")
$sAtt .= " class=\"" . trim($sClass) . "\"";
return $sAtt;
}
// Row attributes
function RowAttributes() {
$sAtt = $this->RowStyles();
if ($this->Export == "") {
foreach ($this->RowAttrs as $k => $v) {
if ($k <> "class" && $k <> "style" && trim($v) <> "")
$sAtt .= " " . $k . "=\"" . trim($v) . "\"";
}
}
return $sAtt;
}
// Field object by name
function fields($fldname) {
return $this->fields[$fldname];
}
// Table level events
// Recordset Selecting event
function Recordset_Selecting(&$filter) {
// Enter your code here
}
// Recordset Selected event
function Recordset_Selected(&$rs) {
//echo "Recordset Selected";
}
// Recordset Search Validated event
function Recordset_SearchValidated() {
// Example:
//global $MyTable;
//$MyTable->MyField1->AdvancedSearch->SearchValue = "your search criteria"; // Search value
}
// Recordset Searching event
function Recordset_Searching(&$filter) {
// Enter your code here
}
// Row_Selecting event
function Row_Selecting(&$filter) {
// Enter your code here
}
// Row Selected event
function Row_Selected(&$rs) {
//echo "Row Selected";
}
// Row Rendering event
function Row_Rendering() {
// Enter your code here
}
// Row Rendered event
function Row_Rendered() {
// To view properties of field class, use:
//var_dump($this-><FieldName>);
}
// Row Inserting event
function Row_Inserting(&$rs) {
// Enter your code here
// To cancel, set return value to FALSE
return TRUE;
}
// Row Inserted event
function Row_Inserted(&$rs) {
//echo "Row Inserted"
}
// Row Updating event
function Row_Updating(&$rsold, &$rsnew) {
// Enter your code here
// To cancel, set return value to FALSE
return TRUE;
}
// Row Updated event
function Row_Updated(&$rsold, &$rsnew) {
//echo "Row Updated";
}
// Row Update Conflict event
function Row_UpdateConflict(&$rsold, &$rsnew) {
// Enter your code here
// To ignore conflict, set return value to FALSE
return TRUE;
}
// Row Deleting event
function Row_Deleting(&$rs) {
// Enter your code here
// To cancel, set return value to False
return TRUE;
}
// Row Deleted event
function Row_Deleted(&$rs) {
//echo "Row Deleted";
}
// Email Sending event
function Email_Sending(&$Email, &$Args) {
//var_dump($Email); var_dump($Args); exit();
return TRUE;
}
}
?>