UseTokenInUrl) $PageUrl .= "t=" . $this->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; var $ExportPdfUrl; // Custom export var $ExportExcelCustom = FALSE; var $ExportWordCustom = FALSE; var $ExportPdfCustom = FALSE; var $ExportEmailCustom = FALSE; // 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) { ew_AddMessage($_SESSION[EW_SESSION_MESSAGE], $v); } function getFailureMessage() { return @$_SESSION[EW_SESSION_FAILURE_MESSAGE]; } function setFailureMessage($v) { ew_AddMessage($_SESSION[EW_SESSION_FAILURE_MESSAGE], $v); } function getSuccessMessage() { return @$_SESSION[EW_SESSION_SUCCESS_MESSAGE]; } function setSuccessMessage($v) { ew_AddMessage($_SESSION[EW_SESSION_SUCCESS_MESSAGE], $v); } function getWarningMessage() { return @$_SESSION[EW_SESSION_WARNING_MESSAGE]; } function setWarningMessage($v) { ew_AddMessage($_SESSION[EW_SESSION_WARNING_MESSAGE], $v); } // Methods to clear message function ClearMessage() { $_SESSION[EW_SESSION_MESSAGE] = ""; } function ClearFailureMessage() { $_SESSION[EW_SESSION_FAILURE_MESSAGE] = ""; } function ClearSuccessMessage() { $_SESSION[EW_SESSION_SUCCESS_MESSAGE] = ""; } function ClearWarningMessage() { $_SESSION[EW_SESSION_WARNING_MESSAGE] = ""; } function ClearMessages() { $_SESSION[EW_SESSION_MESSAGE] = ""; $_SESSION[EW_SESSION_FAILURE_MESSAGE] = ""; $_SESSION[EW_SESSION_SUCCESS_MESSAGE] = ""; $_SESSION[EW_SESSION_WARNING_MESSAGE] = ""; } // Show message function ShowMessage() { $hidden = FALSE; $html = ""; // Message $sMessage = $this->getMessage(); if (method_exists($this, "Message_Showing")) $this->Message_Showing($sMessage, ""); if ($sMessage <> "") { // Message in Session, display if (!$hidden) $sMessage = "" . $sMessage; $html .= "
" . $sMessage . "
"; $_SESSION[EW_SESSION_MESSAGE] = ""; // Clear message in Session } // Warning message $sWarningMessage = $this->getWarningMessage(); if (method_exists($this, "Message_Showing")) $this->Message_Showing($sWarningMessage, "warning"); if ($sWarningMessage <> "") { // Message in Session, display if (!$hidden) $sWarningMessage = "" . $sWarningMessage; $html .= "
" . $sWarningMessage . "
"; $_SESSION[EW_SESSION_WARNING_MESSAGE] = ""; // Clear message in Session } // Success message $sSuccessMessage = $this->getSuccessMessage(); if (method_exists($this, "Message_Showing")) $this->Message_Showing($sSuccessMessage, "success"); if ($sSuccessMessage <> "") { // Message in Session, display if (!$hidden) $sSuccessMessage = "" . $sSuccessMessage; $html .= "
" . $sSuccessMessage . "
"; $_SESSION[EW_SESSION_SUCCESS_MESSAGE] = ""; // Clear message in Session } // Failure message $sErrorMessage = $this->getFailureMessage(); if (method_exists($this, "Message_Showing")) $this->Message_Showing($sErrorMessage, "failure"); if ($sErrorMessage <> "") { // Message in Session, display if (!$hidden) $sErrorMessage = "" . $sErrorMessage; $html .= "
" . $sErrorMessage . "
"; $_SESSION[EW_SESSION_FAILURE_MESSAGE] = ""; // Clear message in Session } echo "
" . $html . "
"; } var $PageHeader; var $PageFooter; // Show Page Header function ShowPageHeader() { $sHeader = $this->PageHeader; $this->Page_DataRendering($sHeader); if ($sHeader <> "") { // Header exists, display echo "

" . $sHeader . "

"; } } // Show Page Footer function ShowPageFooter() { $sFooter = $this->PageFooter; $this->Page_DataRendered($sFooter); if ($sFooter <> "") { // Footer exists, display echo "

" . $sFooter . "

"; } } // Validate page request function IsPageRequest() { global $objForm; if ($this->UseTokenInUrl) { if ($objForm) return ($this->TableVar == $objForm->GetValue("t")); if (@$_GET["t"] <> "") return ($this->TableVar == $_GET["t"]); } else { return TRUE; } } var $Token = ""; var $TokenTimeout = 0; var $CheckToken = EW_CHECK_TOKEN; var $CheckTokenFn = "ew_CheckToken"; var $CreateTokenFn = "ew_CreateToken"; // Valid Post function ValidPost() { if (!$this->CheckToken || !ew_IsHttpPost()) return TRUE; if (!isset($_POST[EW_TOKEN_NAME])) return FALSE; $fn = $this->CheckTokenFn; if (is_callable($fn)) return $fn($_POST[EW_TOKEN_NAME], $this->TokenTimeout); return FALSE; } // Create Token function CreateToken() { global $gsToken; if ($this->CheckToken) { $fn = $this->CreateTokenFn; if ($this->Token == "" && is_callable($fn)) // Create token $this->Token = $fn(); $gsToken = $this->Token; // Save to global variable } } // // Page class constructor // function __construct() { global $conn, $Language; global $UserTable, $UserTableConn; $GLOBALS["Page"] = &$this; $this->TokenTimeout = ew_SessionTimeoutTime(); // Language object if (!isset($Language)) $Language = new cLanguage(); // Parent constuctor parent::__construct(); // Table object (tofferers) if (!isset($GLOBALS["tofferers"]) || get_class($GLOBALS["tofferers"]) == "ctofferers") { $GLOBALS["tofferers"] = &$this; $GLOBALS["Table"] = &$GLOBALS["tofferers"]; } // Initialize URLs $this->ExportPrintUrl = $this->PageUrl() . "export=print"; $this->ExportExcelUrl = $this->PageUrl() . "export=excel"; $this->ExportWordUrl = $this->PageUrl() . "export=word"; $this->ExportHtmlUrl = $this->PageUrl() . "export=html"; $this->ExportXmlUrl = $this->PageUrl() . "export=xml"; $this->ExportCsvUrl = $this->PageUrl() . "export=csv"; $this->ExportPdfUrl = $this->PageUrl() . "export=pdf"; $this->AddUrl = "tofferersadd.php?" . EW_TABLE_SHOW_DETAIL . "="; $this->InlineAddUrl = $this->PageUrl() . "a=add"; $this->GridAddUrl = $this->PageUrl() . "a=gridadd"; $this->GridEditUrl = $this->PageUrl() . "a=gridedit"; $this->MultiDeleteUrl = "tofferersdelete.php"; $this->MultiUpdateUrl = "tofferersupdate.php"; // Table object (users) if (!isset($GLOBALS['users'])) $GLOBALS['users'] = new cusers(); // Page ID if (!defined("EW_PAGE_ID")) define("EW_PAGE_ID", 'list', TRUE); // Table name (for backward compatibility) if (!defined("EW_TABLE_NAME")) define("EW_TABLE_NAME", 'tofferers', TRUE); // Start timer if (!isset($GLOBALS["gTimer"])) $GLOBALS["gTimer"] = new cTimer(); // Open connection if (!isset($conn)) $conn = ew_Connect($this->DBID); // User table object (users) if (!isset($UserTable)) { $UserTable = new cusers(); $UserTableConn = Conn($UserTable->DBID); } // List options $this->ListOptions = new cListOptions(); $this->ListOptions->TableVar = $this->TableVar; // Export options $this->ExportOptions = new cListOptions(); $this->ExportOptions->Tag = "div"; $this->ExportOptions->TagClassName = "ewExportOption"; // Other options $this->OtherOptions['addedit'] = new cListOptions(); $this->OtherOptions['addedit']->Tag = "div"; $this->OtherOptions['addedit']->TagClassName = "ewAddEditOption"; $this->OtherOptions['detail'] = new cListOptions(); $this->OtherOptions['detail']->Tag = "div"; $this->OtherOptions['detail']->TagClassName = "ewDetailOption"; $this->OtherOptions['action'] = new cListOptions(); $this->OtherOptions['action']->Tag = "div"; $this->OtherOptions['action']->TagClassName = "ewActionOption"; // Filter options $this->FilterOptions = new cListOptions(); $this->FilterOptions->Tag = "div"; $this->FilterOptions->TagClassName = "ewFilterOption ftoffererslistsrch"; // List actions $this->ListActions = new cListActions(); } // // Page_Init // function Page_Init() { global $gsExport, $gsCustomExport, $gsExportFile, $UserProfile, $Language, $Security, $objForm; // Security $Security = new cAdvancedSecurity(); if (!$Security->IsLoggedIn()) $Security->AutoLogin(); if ($Security->IsLoggedIn()) $Security->TablePermission_Loading(); $Security->LoadCurrentUserLevel($this->ProjectID . $this->TableName); if ($Security->IsLoggedIn()) $Security->TablePermission_Loaded(); if (!$Security->CanList()) { $Security->SaveLastUrl(); $this->setFailureMessage(ew_DeniedMsg()); // Set no permission $this->Page_Terminate(ew_GetUrl("index.php")); } // Get export parameters $custom = ""; if (@$_GET["export"] <> "") { $this->Export = $_GET["export"]; $custom = @$_GET["custom"]; } elseif (@$_POST["export"] <> "") { $this->Export = $_POST["export"]; $custom = @$_POST["custom"]; } elseif (ew_IsHttpPost()) { if (@$_POST["exporttype"] <> "") $this->Export = $_POST["exporttype"]; $custom = @$_POST["custom"]; } else { $this->setExportReturnUrl(ew_CurrentUrl()); } $gsExportFile = $this->TableVar; // Get export file, used in header // Get custom export parameters if ($this->Export <> "" && $custom <> "") { $this->CustomExport = $this->Export; $this->Export = "print"; } $gsCustomExport = $this->CustomExport; $gsExport = $this->Export; // Get export parameter, used in header // Update Export URLs if (defined("EW_USE_PHPEXCEL")) $this->ExportExcelCustom = FALSE; if ($this->ExportExcelCustom) $this->ExportExcelUrl .= "&custom=1"; if (defined("EW_USE_PHPWORD")) $this->ExportWordCustom = FALSE; if ($this->ExportWordCustom) $this->ExportWordUrl .= "&custom=1"; if ($this->ExportPdfCustom) $this->ExportPdfUrl .= "&custom=1"; $this->CurrentAction = (@$_GET["a"] <> "") ? $_GET["a"] : @$_POST["a_list"]; // Set up current action // Get grid add count $gridaddcnt = @$_GET[EW_TABLE_GRID_ADD_ROW_COUNT]; if (is_numeric($gridaddcnt) && $gridaddcnt > 0) $this->GridAddRowCount = $gridaddcnt; // Set up list options $this->SetupListOptions(); // Setup export options $this->SetupExportOptions(); $this->Name->SetVisibility(); $this->Surname->SetVisibility(); $this->Institution_Type->SetVisibility(); $this->Institution_Name->SetVisibility(); $this->Address->SetVisibility(); $this->Phone->SetVisibility(); $this->Phone_Mobile->SetVisibility(); $this->Town->SetVisibility(); // Global Page Loading event (in userfn*.php) Page_Loading(); // Page Load event $this->Page_Load(); // Check token if (!$this->ValidPost()) { echo $Language->Phrase("InvalidPostRequest"); $this->Page_Terminate(); exit(); } // Process auto fill if (@$_POST["ajax"] == "autofill") { // Process auto fill for detail table 'taccomodations' if (@$_POST["grid"] == "ftaccomodationsgrid") { if (!isset($GLOBALS["taccomodations_grid"])) $GLOBALS["taccomodations_grid"] = new ctaccomodations_grid; $GLOBALS["taccomodations_grid"]->Page_Init(); $this->Page_Terminate(); exit(); } $results = $this->GetAutoFill(@$_POST["name"], @$_POST["q"]); if ($results) { // Clean output buffer if (!EW_DEBUG_ENABLED && ob_get_length()) ob_end_clean(); echo $results; $this->Page_Terminate(); exit(); } } // Create Token $this->CreateToken(); // Setup other options $this->SetupOtherOptions(); // Set up custom action (compatible with old version) foreach ($this->CustomActions as $name => $action) $this->ListActions->Add($name, $action); // Show checkbox column if multiple action foreach ($this->ListActions->Items as $listaction) { if ($listaction->Select == EW_ACTION_MULTIPLE && $listaction->Allow) { $this->ListOptions->Items["checkbox"]->Visible = TRUE; break; } } } // // Page_Terminate // function Page_Terminate($url = "") { global $gsExportFile, $gTmpImages; // Page Unload event $this->Page_Unload(); // Global Page Unloaded event (in userfn*.php) Page_Unloaded(); // Export global $EW_EXPORT, $tofferers; if ($this->CustomExport <> "" && $this->CustomExport == $this->Export && array_key_exists($this->CustomExport, $EW_EXPORT)) { $sContent = ob_get_contents(); if ($gsExportFile == "") $gsExportFile = $this->TableVar; $class = $EW_EXPORT[$this->CustomExport]; if (class_exists($class)) { $doc = new $class($tofferers); $doc->Text = $sContent; if ($this->Export == "email") echo $this->ExportEmail($doc->Text); else $doc->Export(); ew_DeleteTmpImages(); // Delete temp images exit(); } } $this->Page_Redirecting($url); // Close connection ew_CloseConn(); // Go to URL if specified if ($url <> "") { if (!EW_DEBUG_ENABLED && ob_get_length()) ob_end_clean(); header("Location: " . $url); } exit(); } // Class variables var $ListOptions; // List options var $ExportOptions; // Export options var $SearchOptions; // Search options var $OtherOptions = array(); // Other options var $FilterOptions; // Filter options var $ListActions; // List actions var $SelectedCount = 0; var $SelectedIndex = 0; var $DisplayRecs = 20; var $StartRec; var $StopRec; var $TotalRecs = 0; var $RecRange = 10; var $Pager; var $DefaultSearchWhere = ""; // Default search WHERE clause var $SearchWhere = ""; // Search WHERE clause var $RecCnt = 0; // Record count var $EditRowCnt; var $StartRowCnt = 1; var $RowCnt = 0; var $Attrs = array(); // Row attributes and cell attributes var $RowIndex = 0; // Row index var $KeyCount = 0; // Key count var $RowAction = ""; // Row action var $RowOldKey = ""; // Row old key (for copy) var $RecPerRow = 0; var $MultiColumnClass; var $MultiColumnEditClass = "col-sm-12"; var $MultiColumnCnt = 12; var $MultiColumnEditCnt = 12; var $GridCnt = 0; var $ColCnt = 0; var $DbMasterFilter = ""; // Master filter var $DbDetailFilter = ""; // Detail filter var $MasterRecordExists; var $MultiSelectKey; var $Command; var $RestoreSearch = FALSE; var $taccomodations_Count; var $DetailPages; var $Recordset; var $OldRecordset; // // Page main // function Page_Main() { global $objForm, $Language, $gsFormError, $gsSearchError, $Security; // Search filters $sSrchAdvanced = ""; // Advanced search filter $sSrchBasic = ""; // Basic search filter $sFilter = ""; // Get command $this->Command = strtolower(@$_GET["cmd"]); if ($this->IsPageRequest()) { // Validate request // Process list action first if ($this->ProcessListAction()) // Ajax request $this->Page_Terminate(); // Set up records per page $this->SetUpDisplayRecs(); // Handle reset command $this->ResetCmd(); // Set up Breadcrumb if ($this->Export == "") $this->SetupBreadcrumb(); // Hide list options if ($this->Export <> "") { $this->ListOptions->HideAllOptions(array("sequence")); $this->ListOptions->UseDropDownButton = FALSE; // Disable drop down button $this->ListOptions->UseButtonGroup = FALSE; // Disable button group } elseif ($this->CurrentAction == "gridadd" || $this->CurrentAction == "gridedit") { $this->ListOptions->HideAllOptions(); $this->ListOptions->UseDropDownButton = FALSE; // Disable drop down button $this->ListOptions->UseButtonGroup = FALSE; // Disable button group } // Hide options if ($this->Export <> "" || $this->CurrentAction <> "") { $this->ExportOptions->HideAllOptions(); $this->FilterOptions->HideAllOptions(); } // Hide other options if ($this->Export <> "") { foreach ($this->OtherOptions as &$option) $option->HideAllOptions(); } // Get default search criteria ew_AddFilter($this->DefaultSearchWhere, $this->BasicSearchWhere(TRUE)); // Get basic search values $this->LoadBasicSearchValues(); // Process filter list $this->ProcessFilterList(); // Restore search parms from Session if not searching / reset / export if (($this->Export <> "" || $this->Command <> "search" && $this->Command <> "reset" && $this->Command <> "resetall") && $this->CheckSearchParms()) $this->RestoreSearchParms(); // Call Recordset SearchValidated event $this->Recordset_SearchValidated(); // Set up sorting order $this->SetUpSortOrder(); // Get basic search criteria if ($gsSearchError == "") $sSrchBasic = $this->BasicSearchWhere(); } // Restore display records if ($this->getRecordsPerPage() <> "") { $this->DisplayRecs = $this->getRecordsPerPage(); // Restore from Session } else { $this->DisplayRecs = 20; // Load default } // Load Sorting Order $this->LoadSortOrder(); // Load search default if no existing search criteria if (!$this->CheckSearchParms()) { // Load basic search from default $this->BasicSearch->LoadDefault(); if ($this->BasicSearch->Keyword != "") $sSrchBasic = $this->BasicSearchWhere(); } // Build search criteria ew_AddFilter($this->SearchWhere, $sSrchAdvanced); ew_AddFilter($this->SearchWhere, $sSrchBasic); // Call Recordset_Searching event $this->Recordset_Searching($this->SearchWhere); // Save search criteria if ($this->Command == "search" && !$this->RestoreSearch) { $this->setSearchWhere($this->SearchWhere); // Save to Session $this->StartRec = 1; // Reset start record counter $this->setStartRecordNumber($this->StartRec); } else { $this->SearchWhere = $this->getSearchWhere(); } // Build filter $sFilter = ""; if (!$Security->CanList()) $sFilter = "(0=1)"; // Filter all records ew_AddFilter($sFilter, $this->DbDetailFilter); ew_AddFilter($sFilter, $this->SearchWhere); // Set up filter in session $this->setSessionWhere($sFilter); $this->CurrentFilter = ""; // Export data only if ($this->CustomExport == "" && in_array($this->Export, array("html","word","excel","xml","csv","email","pdf"))) { $this->ExportData(); $this->Page_Terminate(); // Terminate response exit(); } // Load record count first if (!$this->IsAddOrEdit()) { $bSelectLimit = $this->UseSelectLimit; if ($bSelectLimit) { $this->TotalRecs = $this->SelectRecordCount(); } else { if ($this->Recordset = $this->LoadRecordset()) $this->TotalRecs = $this->Recordset->RecordCount(); } } // Search options $this->SetupSearchOptions(); } // Set up number of records displayed per page function SetUpDisplayRecs() { $sWrk = @$_GET[EW_TABLE_REC_PER_PAGE]; if ($sWrk <> "") { if (is_numeric($sWrk)) { $this->DisplayRecs = intval($sWrk); } else { if (strtolower($sWrk) == "all") { // Display all records $this->DisplayRecs = -1; } else { $this->DisplayRecs = 20; // Non-numeric, load default } } $this->setRecordsPerPage($this->DisplayRecs); // Save to Session // Reset start position $this->StartRec = 1; $this->setStartRecordNumber($this->StartRec); } } // Build filter for all keys function BuildKeyFilter() { global $objForm; $sWrkFilter = ""; // Update row index and get row key $rowindex = 1; $objForm->Index = $rowindex; $sThisKey = strval($objForm->GetValue($this->FormKeyName)); while ($sThisKey <> "") { if ($this->SetupKeyValues($sThisKey)) { $sFilter = $this->KeyFilter(); if ($sWrkFilter <> "") $sWrkFilter .= " OR "; $sWrkFilter .= $sFilter; } else { $sWrkFilter = "0=1"; break; } // Update row index and get row key $rowindex++; // Next row $objForm->Index = $rowindex; $sThisKey = strval($objForm->GetValue($this->FormKeyName)); } return $sWrkFilter; } // Set up key values function SetupKeyValues($key) { $arrKeyFlds = explode($GLOBALS["EW_COMPOSITE_KEY_SEPARATOR"], $key); if (count($arrKeyFlds) >= 1) { $this->idOfferer->setFormValue($arrKeyFlds[0]); if (!is_numeric($this->idOfferer->FormValue)) return FALSE; } return TRUE; } // Get list of filters function GetFilterList() { global $UserProfile; // Load server side filters if (EW_SEARCH_FILTER_OPTION == "Server") { $sSavedFilterList = isset($UserProfile) ? $UserProfile->GetSearchFilters(CurrentUserName(), "ftoffererslistsrch") : ""; } else { $sSavedFilterList = ""; } // Initialize $sFilterList = ""; $sFilterList = ew_Concat($sFilterList, $this->idOfferer->AdvancedSearch->ToJSON(), ","); // Field idOfferer $sFilterList = ew_Concat($sFilterList, $this->Name->AdvancedSearch->ToJSON(), ","); // Field Name $sFilterList = ew_Concat($sFilterList, $this->Surname->AdvancedSearch->ToJSON(), ","); // Field Surname $sFilterList = ew_Concat($sFilterList, $this->Institution_Type->AdvancedSearch->ToJSON(), ","); // Field Institution_Type $sFilterList = ew_Concat($sFilterList, $this->Institution_Name->AdvancedSearch->ToJSON(), ","); // Field Institution_Name $sFilterList = ew_Concat($sFilterList, $this->Address->AdvancedSearch->ToJSON(), ","); // Field Address $sFilterList = ew_Concat($sFilterList, $this->Phone->AdvancedSearch->ToJSON(), ","); // Field Phone $sFilterList = ew_Concat($sFilterList, $this->Phone_Mobile->AdvancedSearch->ToJSON(), ","); // Field Phone_Mobile $sFilterList = ew_Concat($sFilterList, $this->_Email->AdvancedSearch->ToJSON(), ","); // Field Email $sFilterList = ew_Concat($sFilterList, $this->Town->AdvancedSearch->ToJSON(), ","); // Field Town $sFilterList = ew_Concat($sFilterList, $this->District->AdvancedSearch->ToJSON(), ","); // Field District $sFilterList = ew_Concat($sFilterList, $this->Region->AdvancedSearch->ToJSON(), ","); // Field Region $sFilterList = ew_Concat($sFilterList, $this->Suggest_by->AdvancedSearch->ToJSON(), ","); // Field Suggest_by $sFilterList = ew_Concat($sFilterList, $this->Suggest_by_note->AdvancedSearch->ToJSON(), ","); // Field Suggest_by_note $sFilterList = ew_Concat($sFilterList, $this->Referent->AdvancedSearch->ToJSON(), ","); // Field Referent $sFilterList = ew_Concat($sFilterList, $this->add_documents->AdvancedSearch->ToJSON(), ","); // Field add_documents $sFilterList = ew_Concat($sFilterList, $this->add_care->AdvancedSearch->ToJSON(), ","); // Field add_care $sFilterList = ew_Concat($sFilterList, $this->add_food->AdvancedSearch->ToJSON(), ","); // Field add_food $sFilterList = ew_Concat($sFilterList, $this->add_clothes->AdvancedSearch->ToJSON(), ","); // Field add_clothes $sFilterList = ew_Concat($sFilterList, $this->add_utilities->AdvancedSearch->ToJSON(), ","); // Field add_utilities $sFilterList = ew_Concat($sFilterList, $this->add_job->AdvancedSearch->ToJSON(), ","); // Field add_job if ($this->BasicSearch->Keyword <> "") { $sWrk = "\"" . EW_TABLE_BASIC_SEARCH . "\":\"" . ew_JsEncode2($this->BasicSearch->Keyword) . "\",\"" . EW_TABLE_BASIC_SEARCH_TYPE . "\":\"" . ew_JsEncode2($this->BasicSearch->Type) . "\""; $sFilterList = ew_Concat($sFilterList, $sWrk, ","); } $sFilterList = preg_replace('/,$/', "", $sFilterList); // Return filter list in json if ($sFilterList <> "") $sFilterList = "\"data\":{" . $sFilterList . "}"; if ($sSavedFilterList <> "") { if ($sFilterList <> "") $sFilterList .= ","; $sFilterList .= "\"filters\":" . $sSavedFilterList; } return ($sFilterList <> "") ? "{" . $sFilterList . "}" : "null"; } // Process filter list function ProcessFilterList() { global $UserProfile; if (@$_POST["ajax"] == "savefilters") { // Save filter request (Ajax) $filters = ew_StripSlashes(@$_POST["filters"]); $UserProfile->SetSearchFilters(CurrentUserName(), "ftoffererslistsrch", $filters); // Clean output buffer if (!EW_DEBUG_ENABLED && ob_get_length()) ob_end_clean(); echo ew_ArrayToJson(array(array("success" => TRUE))); // Success $this->Page_Terminate(); exit(); } elseif (@$_POST["cmd"] == "resetfilter") { $this->RestoreFilterList(); } } // Restore list of filters function RestoreFilterList() { // Return if not reset filter if (@$_POST["cmd"] <> "resetfilter") return FALSE; $filter = json_decode(ew_StripSlashes(@$_POST["filter"]), TRUE); $this->Command = "search"; // Field idOfferer $this->idOfferer->AdvancedSearch->SearchValue = @$filter["x_idOfferer"]; $this->idOfferer->AdvancedSearch->SearchOperator = @$filter["z_idOfferer"]; $this->idOfferer->AdvancedSearch->SearchCondition = @$filter["v_idOfferer"]; $this->idOfferer->AdvancedSearch->SearchValue2 = @$filter["y_idOfferer"]; $this->idOfferer->AdvancedSearch->SearchOperator2 = @$filter["w_idOfferer"]; $this->idOfferer->AdvancedSearch->Save(); // Field Name $this->Name->AdvancedSearch->SearchValue = @$filter["x_Name"]; $this->Name->AdvancedSearch->SearchOperator = @$filter["z_Name"]; $this->Name->AdvancedSearch->SearchCondition = @$filter["v_Name"]; $this->Name->AdvancedSearch->SearchValue2 = @$filter["y_Name"]; $this->Name->AdvancedSearch->SearchOperator2 = @$filter["w_Name"]; $this->Name->AdvancedSearch->Save(); // Field Surname $this->Surname->AdvancedSearch->SearchValue = @$filter["x_Surname"]; $this->Surname->AdvancedSearch->SearchOperator = @$filter["z_Surname"]; $this->Surname->AdvancedSearch->SearchCondition = @$filter["v_Surname"]; $this->Surname->AdvancedSearch->SearchValue2 = @$filter["y_Surname"]; $this->Surname->AdvancedSearch->SearchOperator2 = @$filter["w_Surname"]; $this->Surname->AdvancedSearch->Save(); // Field Institution_Type $this->Institution_Type->AdvancedSearch->SearchValue = @$filter["x_Institution_Type"]; $this->Institution_Type->AdvancedSearch->SearchOperator = @$filter["z_Institution_Type"]; $this->Institution_Type->AdvancedSearch->SearchCondition = @$filter["v_Institution_Type"]; $this->Institution_Type->AdvancedSearch->SearchValue2 = @$filter["y_Institution_Type"]; $this->Institution_Type->AdvancedSearch->SearchOperator2 = @$filter["w_Institution_Type"]; $this->Institution_Type->AdvancedSearch->Save(); // Field Institution_Name $this->Institution_Name->AdvancedSearch->SearchValue = @$filter["x_Institution_Name"]; $this->Institution_Name->AdvancedSearch->SearchOperator = @$filter["z_Institution_Name"]; $this->Institution_Name->AdvancedSearch->SearchCondition = @$filter["v_Institution_Name"]; $this->Institution_Name->AdvancedSearch->SearchValue2 = @$filter["y_Institution_Name"]; $this->Institution_Name->AdvancedSearch->SearchOperator2 = @$filter["w_Institution_Name"]; $this->Institution_Name->AdvancedSearch->Save(); // Field Address $this->Address->AdvancedSearch->SearchValue = @$filter["x_Address"]; $this->Address->AdvancedSearch->SearchOperator = @$filter["z_Address"]; $this->Address->AdvancedSearch->SearchCondition = @$filter["v_Address"]; $this->Address->AdvancedSearch->SearchValue2 = @$filter["y_Address"]; $this->Address->AdvancedSearch->SearchOperator2 = @$filter["w_Address"]; $this->Address->AdvancedSearch->Save(); // Field Phone $this->Phone->AdvancedSearch->SearchValue = @$filter["x_Phone"]; $this->Phone->AdvancedSearch->SearchOperator = @$filter["z_Phone"]; $this->Phone->AdvancedSearch->SearchCondition = @$filter["v_Phone"]; $this->Phone->AdvancedSearch->SearchValue2 = @$filter["y_Phone"]; $this->Phone->AdvancedSearch->SearchOperator2 = @$filter["w_Phone"]; $this->Phone->AdvancedSearch->Save(); // Field Phone_Mobile $this->Phone_Mobile->AdvancedSearch->SearchValue = @$filter["x_Phone_Mobile"]; $this->Phone_Mobile->AdvancedSearch->SearchOperator = @$filter["z_Phone_Mobile"]; $this->Phone_Mobile->AdvancedSearch->SearchCondition = @$filter["v_Phone_Mobile"]; $this->Phone_Mobile->AdvancedSearch->SearchValue2 = @$filter["y_Phone_Mobile"]; $this->Phone_Mobile->AdvancedSearch->SearchOperator2 = @$filter["w_Phone_Mobile"]; $this->Phone_Mobile->AdvancedSearch->Save(); // Field Email $this->_Email->AdvancedSearch->SearchValue = @$filter["x__Email"]; $this->_Email->AdvancedSearch->SearchOperator = @$filter["z__Email"]; $this->_Email->AdvancedSearch->SearchCondition = @$filter["v__Email"]; $this->_Email->AdvancedSearch->SearchValue2 = @$filter["y__Email"]; $this->_Email->AdvancedSearch->SearchOperator2 = @$filter["w__Email"]; $this->_Email->AdvancedSearch->Save(); // Field Town $this->Town->AdvancedSearch->SearchValue = @$filter["x_Town"]; $this->Town->AdvancedSearch->SearchOperator = @$filter["z_Town"]; $this->Town->AdvancedSearch->SearchCondition = @$filter["v_Town"]; $this->Town->AdvancedSearch->SearchValue2 = @$filter["y_Town"]; $this->Town->AdvancedSearch->SearchOperator2 = @$filter["w_Town"]; $this->Town->AdvancedSearch->Save(); // Field District $this->District->AdvancedSearch->SearchValue = @$filter["x_District"]; $this->District->AdvancedSearch->SearchOperator = @$filter["z_District"]; $this->District->AdvancedSearch->SearchCondition = @$filter["v_District"]; $this->District->AdvancedSearch->SearchValue2 = @$filter["y_District"]; $this->District->AdvancedSearch->SearchOperator2 = @$filter["w_District"]; $this->District->AdvancedSearch->Save(); // Field Region $this->Region->AdvancedSearch->SearchValue = @$filter["x_Region"]; $this->Region->AdvancedSearch->SearchOperator = @$filter["z_Region"]; $this->Region->AdvancedSearch->SearchCondition = @$filter["v_Region"]; $this->Region->AdvancedSearch->SearchValue2 = @$filter["y_Region"]; $this->Region->AdvancedSearch->SearchOperator2 = @$filter["w_Region"]; $this->Region->AdvancedSearch->Save(); // Field Suggest_by $this->Suggest_by->AdvancedSearch->SearchValue = @$filter["x_Suggest_by"]; $this->Suggest_by->AdvancedSearch->SearchOperator = @$filter["z_Suggest_by"]; $this->Suggest_by->AdvancedSearch->SearchCondition = @$filter["v_Suggest_by"]; $this->Suggest_by->AdvancedSearch->SearchValue2 = @$filter["y_Suggest_by"]; $this->Suggest_by->AdvancedSearch->SearchOperator2 = @$filter["w_Suggest_by"]; $this->Suggest_by->AdvancedSearch->Save(); // Field Suggest_by_note $this->Suggest_by_note->AdvancedSearch->SearchValue = @$filter["x_Suggest_by_note"]; $this->Suggest_by_note->AdvancedSearch->SearchOperator = @$filter["z_Suggest_by_note"]; $this->Suggest_by_note->AdvancedSearch->SearchCondition = @$filter["v_Suggest_by_note"]; $this->Suggest_by_note->AdvancedSearch->SearchValue2 = @$filter["y_Suggest_by_note"]; $this->Suggest_by_note->AdvancedSearch->SearchOperator2 = @$filter["w_Suggest_by_note"]; $this->Suggest_by_note->AdvancedSearch->Save(); // Field Referent $this->Referent->AdvancedSearch->SearchValue = @$filter["x_Referent"]; $this->Referent->AdvancedSearch->SearchOperator = @$filter["z_Referent"]; $this->Referent->AdvancedSearch->SearchCondition = @$filter["v_Referent"]; $this->Referent->AdvancedSearch->SearchValue2 = @$filter["y_Referent"]; $this->Referent->AdvancedSearch->SearchOperator2 = @$filter["w_Referent"]; $this->Referent->AdvancedSearch->Save(); // Field add_documents $this->add_documents->AdvancedSearch->SearchValue = @$filter["x_add_documents"]; $this->add_documents->AdvancedSearch->SearchOperator = @$filter["z_add_documents"]; $this->add_documents->AdvancedSearch->SearchCondition = @$filter["v_add_documents"]; $this->add_documents->AdvancedSearch->SearchValue2 = @$filter["y_add_documents"]; $this->add_documents->AdvancedSearch->SearchOperator2 = @$filter["w_add_documents"]; $this->add_documents->AdvancedSearch->Save(); // Field add_care $this->add_care->AdvancedSearch->SearchValue = @$filter["x_add_care"]; $this->add_care->AdvancedSearch->SearchOperator = @$filter["z_add_care"]; $this->add_care->AdvancedSearch->SearchCondition = @$filter["v_add_care"]; $this->add_care->AdvancedSearch->SearchValue2 = @$filter["y_add_care"]; $this->add_care->AdvancedSearch->SearchOperator2 = @$filter["w_add_care"]; $this->add_care->AdvancedSearch->Save(); // Field add_food $this->add_food->AdvancedSearch->SearchValue = @$filter["x_add_food"]; $this->add_food->AdvancedSearch->SearchOperator = @$filter["z_add_food"]; $this->add_food->AdvancedSearch->SearchCondition = @$filter["v_add_food"]; $this->add_food->AdvancedSearch->SearchValue2 = @$filter["y_add_food"]; $this->add_food->AdvancedSearch->SearchOperator2 = @$filter["w_add_food"]; $this->add_food->AdvancedSearch->Save(); // Field add_clothes $this->add_clothes->AdvancedSearch->SearchValue = @$filter["x_add_clothes"]; $this->add_clothes->AdvancedSearch->SearchOperator = @$filter["z_add_clothes"]; $this->add_clothes->AdvancedSearch->SearchCondition = @$filter["v_add_clothes"]; $this->add_clothes->AdvancedSearch->SearchValue2 = @$filter["y_add_clothes"]; $this->add_clothes->AdvancedSearch->SearchOperator2 = @$filter["w_add_clothes"]; $this->add_clothes->AdvancedSearch->Save(); // Field add_utilities $this->add_utilities->AdvancedSearch->SearchValue = @$filter["x_add_utilities"]; $this->add_utilities->AdvancedSearch->SearchOperator = @$filter["z_add_utilities"]; $this->add_utilities->AdvancedSearch->SearchCondition = @$filter["v_add_utilities"]; $this->add_utilities->AdvancedSearch->SearchValue2 = @$filter["y_add_utilities"]; $this->add_utilities->AdvancedSearch->SearchOperator2 = @$filter["w_add_utilities"]; $this->add_utilities->AdvancedSearch->Save(); // Field add_job $this->add_job->AdvancedSearch->SearchValue = @$filter["x_add_job"]; $this->add_job->AdvancedSearch->SearchOperator = @$filter["z_add_job"]; $this->add_job->AdvancedSearch->SearchCondition = @$filter["v_add_job"]; $this->add_job->AdvancedSearch->SearchValue2 = @$filter["y_add_job"]; $this->add_job->AdvancedSearch->SearchOperator2 = @$filter["w_add_job"]; $this->add_job->AdvancedSearch->Save(); $this->BasicSearch->setKeyword(@$filter[EW_TABLE_BASIC_SEARCH]); $this->BasicSearch->setType(@$filter[EW_TABLE_BASIC_SEARCH_TYPE]); } // Return basic search SQL function BasicSearchSQL($arKeywords, $type) { $sWhere = ""; $this->BuildBasicSearchSQL($sWhere, $this->Name, $arKeywords, $type); $this->BuildBasicSearchSQL($sWhere, $this->Surname, $arKeywords, $type); $this->BuildBasicSearchSQL($sWhere, $this->Institution_Type, $arKeywords, $type); $this->BuildBasicSearchSQL($sWhere, $this->Institution_Name, $arKeywords, $type); $this->BuildBasicSearchSQL($sWhere, $this->Address, $arKeywords, $type); $this->BuildBasicSearchSQL($sWhere, $this->Phone, $arKeywords, $type); $this->BuildBasicSearchSQL($sWhere, $this->Phone_Mobile, $arKeywords, $type); $this->BuildBasicSearchSQL($sWhere, $this->_Email, $arKeywords, $type); $this->BuildBasicSearchSQL($sWhere, $this->Town, $arKeywords, $type); $this->BuildBasicSearchSQL($sWhere, $this->District, $arKeywords, $type); $this->BuildBasicSearchSQL($sWhere, $this->Region, $arKeywords, $type); $this->BuildBasicSearchSQL($sWhere, $this->Suggest_by, $arKeywords, $type); $this->BuildBasicSearchSQL($sWhere, $this->Suggest_by_note, $arKeywords, $type); $this->BuildBasicSearchSQL($sWhere, $this->Referent, $arKeywords, $type); return $sWhere; } // Build basic search SQL function BuildBasicSearchSQL(&$Where, &$Fld, $arKeywords, $type) { global $EW_BASIC_SEARCH_IGNORE_PATTERN; $sDefCond = ($type == "OR") ? "OR" : "AND"; $arSQL = array(); // Array for SQL parts $arCond = array(); // Array for search conditions $cnt = count($arKeywords); $j = 0; // Number of SQL parts for ($i = 0; $i < $cnt; $i++) { $Keyword = $arKeywords[$i]; $Keyword = trim($Keyword); if ($EW_BASIC_SEARCH_IGNORE_PATTERN <> "") { $Keyword = preg_replace($EW_BASIC_SEARCH_IGNORE_PATTERN, "\\", $Keyword); $ar = explode("\\", $Keyword); } else { $ar = array($Keyword); } foreach ($ar as $Keyword) { if ($Keyword <> "") { $sWrk = ""; if ($Keyword == "OR" && $type == "") { if ($j > 0) $arCond[$j-1] = "OR"; } elseif ($Keyword == EW_NULL_VALUE) { $sWrk = $Fld->FldExpression . " IS NULL"; } elseif ($Keyword == EW_NOT_NULL_VALUE) { $sWrk = $Fld->FldExpression . " IS NOT NULL"; } elseif ($Fld->FldIsVirtual) { $sWrk = $Fld->FldVirtualExpression . ew_Like(ew_QuotedValue("%" . $Keyword . "%", EW_DATATYPE_STRING, $this->DBID), $this->DBID); } elseif ($Fld->FldDataType != EW_DATATYPE_NUMBER || is_numeric($Keyword)) { $sWrk = $Fld->FldBasicSearchExpression . ew_Like(ew_QuotedValue("%" . $Keyword . "%", EW_DATATYPE_STRING, $this->DBID), $this->DBID); } if ($sWrk <> "") { $arSQL[$j] = $sWrk; $arCond[$j] = $sDefCond; $j += 1; } } } } $cnt = count($arSQL); $bQuoted = FALSE; $sSql = ""; if ($cnt > 0) { for ($i = 0; $i < $cnt-1; $i++) { if ($arCond[$i] == "OR") { if (!$bQuoted) $sSql .= "("; $bQuoted = TRUE; } $sSql .= $arSQL[$i]; if ($bQuoted && $arCond[$i] <> "OR") { $sSql .= ")"; $bQuoted = FALSE; } $sSql .= " " . $arCond[$i] . " "; } $sSql .= $arSQL[$cnt-1]; if ($bQuoted) $sSql .= ")"; } if ($sSql <> "") { if ($Where <> "") $Where .= " OR "; $Where .= "(" . $sSql . ")"; } } // Return basic search WHERE clause based on search keyword and type function BasicSearchWhere($Default = FALSE) { global $Security; $sSearchStr = ""; if (!$Security->CanSearch()) return ""; $sSearchKeyword = ($Default) ? $this->BasicSearch->KeywordDefault : $this->BasicSearch->Keyword; $sSearchType = ($Default) ? $this->BasicSearch->TypeDefault : $this->BasicSearch->Type; if ($sSearchKeyword <> "") { $sSearch = trim($sSearchKeyword); if ($sSearchType <> "=") { $ar = array(); // Match quoted keywords (i.e.: "...") if (preg_match_all('/"([^"]*)"/i', $sSearch, $matches, PREG_SET_ORDER)) { foreach ($matches as $match) { $p = strpos($sSearch, $match[0]); $str = substr($sSearch, 0, $p); $sSearch = substr($sSearch, $p + strlen($match[0])); if (strlen(trim($str)) > 0) $ar = array_merge($ar, explode(" ", trim($str))); $ar[] = $match[1]; // Save quoted keyword } } // Match individual keywords if (strlen(trim($sSearch)) > 0) $ar = array_merge($ar, explode(" ", trim($sSearch))); // Search keyword in any fields if (($sSearchType == "OR" || $sSearchType == "AND") && $this->BasicSearch->BasicSearchAnyFields) { foreach ($ar as $sKeyword) { if ($sKeyword <> "") { if ($sSearchStr <> "") $sSearchStr .= " " . $sSearchType . " "; $sSearchStr .= "(" . $this->BasicSearchSQL(array($sKeyword), $sSearchType) . ")"; } } } else { $sSearchStr = $this->BasicSearchSQL($ar, $sSearchType); } } else { $sSearchStr = $this->BasicSearchSQL(array($sSearch), $sSearchType); } if (!$Default) $this->Command = "search"; } if (!$Default && $this->Command == "search") { $this->BasicSearch->setKeyword($sSearchKeyword); $this->BasicSearch->setType($sSearchType); } return $sSearchStr; } // Check if search parm exists function CheckSearchParms() { // Check basic search if ($this->BasicSearch->IssetSession()) return TRUE; return FALSE; } // Clear all search parameters function ResetSearchParms() { // Clear search WHERE clause $this->SearchWhere = ""; $this->setSearchWhere($this->SearchWhere); // Clear basic search parameters $this->ResetBasicSearchParms(); } // Load advanced search default values function LoadAdvancedSearchDefault() { return FALSE; } // Clear all basic search parameters function ResetBasicSearchParms() { $this->BasicSearch->UnsetSession(); } // Restore all search parameters function RestoreSearchParms() { $this->RestoreSearch = TRUE; // Restore basic search values $this->BasicSearch->Load(); } // Set up sort parameters function SetUpSortOrder() { // Check for "order" parameter if (@$_GET["order"] <> "") { $this->CurrentOrder = ew_StripSlashes(@$_GET["order"]); $this->CurrentOrderType = @$_GET["ordertype"]; $this->UpdateSort($this->Name); // Name $this->UpdateSort($this->Surname); // Surname $this->UpdateSort($this->Institution_Type); // Institution_Type $this->UpdateSort($this->Institution_Name); // Institution_Name $this->UpdateSort($this->Address); // Address $this->UpdateSort($this->Phone); // Phone $this->UpdateSort($this->Phone_Mobile); // Phone_Mobile $this->UpdateSort($this->Town); // Town $this->setStartRecordNumber(1); // Reset start position } } // Load sort order parameters function LoadSortOrder() { $sOrderBy = $this->getSessionOrderBy(); // Get ORDER BY from Session if ($sOrderBy == "") { if ($this->getSqlOrderBy() <> "") { $sOrderBy = $this->getSqlOrderBy(); $this->setSessionOrderBy($sOrderBy); } } } // Reset command // - cmd=reset (Reset search parameters) // - cmd=resetall (Reset search and master/detail parameters) // - cmd=resetsort (Reset sort parameters) function ResetCmd() { // Check if reset command if (substr($this->Command,0,5) == "reset") { // Reset search criteria if ($this->Command == "reset" || $this->Command == "resetall") $this->ResetSearchParms(); // Reset sorting order if ($this->Command == "resetsort") { $sOrderBy = ""; $this->setSessionOrderBy($sOrderBy); $this->Name->setSort(""); $this->Surname->setSort(""); $this->Institution_Type->setSort(""); $this->Institution_Name->setSort(""); $this->Address->setSort(""); $this->Phone->setSort(""); $this->Phone_Mobile->setSort(""); $this->Town->setSort(""); } // Reset start position $this->StartRec = 1; $this->setStartRecordNumber($this->StartRec); } } // Set up list options function SetupListOptions() { global $Security, $Language; // Add group option item $item = &$this->ListOptions->Add($this->ListOptions->GroupOptionName); $item->Body = ""; $item->OnLeft = FALSE; $item->Visible = FALSE; // "view" $item = &$this->ListOptions->Add("view"); $item->CssStyle = "white-space: nowrap;"; $item->Visible = $Security->CanView(); $item->OnLeft = FALSE; // "edit" $item = &$this->ListOptions->Add("edit"); $item->CssStyle = "white-space: nowrap;"; $item->Visible = $Security->CanEdit(); $item->OnLeft = FALSE; // "delete" $item = &$this->ListOptions->Add("delete"); $item->CssStyle = "white-space: nowrap;"; $item->Visible = $Security->CanDelete(); $item->OnLeft = FALSE; // "detail_taccomodations" $item = &$this->ListOptions->Add("detail_taccomodations"); $item->CssStyle = "white-space: nowrap;"; $item->Visible = $Security->AllowList(CurrentProjectID() . 'taccomodations') && !$this->ShowMultipleDetails; $item->OnLeft = FALSE; $item->ShowInButtonGroup = FALSE; if (!isset($GLOBALS["taccomodations_grid"])) $GLOBALS["taccomodations_grid"] = new ctaccomodations_grid; // Multiple details if ($this->ShowMultipleDetails) { $item = &$this->ListOptions->Add("details"); $item->CssStyle = "white-space: nowrap;"; $item->Visible = $this->ShowMultipleDetails; $item->OnLeft = FALSE; $item->ShowInButtonGroup = FALSE; } // Set up detail pages $pages = new cSubPages(); $pages->Add("taccomodations"); $this->DetailPages = $pages; // List actions $item = &$this->ListOptions->Add("listactions"); $item->CssStyle = "white-space: nowrap;"; $item->OnLeft = FALSE; $item->Visible = FALSE; $item->ShowInButtonGroup = FALSE; $item->ShowInDropDown = FALSE; // "checkbox" $item = &$this->ListOptions->Add("checkbox"); $item->Visible = FALSE; $item->OnLeft = FALSE; $item->Header = ""; $item->ShowInDropDown = FALSE; $item->ShowInButtonGroup = FALSE; // Drop down button for ListOptions $this->ListOptions->UseImageAndText = TRUE; $this->ListOptions->UseDropDownButton = FALSE; $this->ListOptions->DropDownButtonPhrase = $Language->Phrase("ButtonListOptions"); $this->ListOptions->UseButtonGroup = TRUE; if ($this->ListOptions->UseButtonGroup && ew_IsMobile()) $this->ListOptions->UseDropDownButton = TRUE; $this->ListOptions->ButtonClass = "btn-sm"; // Class for button group // Call ListOptions_Load event $this->ListOptions_Load(); $this->SetupListOptionsExt(); $item = &$this->ListOptions->GetItem($this->ListOptions->GroupOptionName); $item->Visible = $this->ListOptions->GroupOptionVisible(); } // Render list options function RenderListOptions() { global $Security, $Language, $objForm; $this->ListOptions->LoadDefault(); // "view" $oListOpt = &$this->ListOptions->Items["view"]; $viewcaption = ew_HtmlTitle($Language->Phrase("ViewLink")); if ($Security->CanView()) { $oListOpt->Body = "ViewUrl) . "\">" . $Language->Phrase("ViewLink") . ""; } else { $oListOpt->Body = ""; } // "edit" $oListOpt = &$this->ListOptions->Items["edit"]; $editcaption = ew_HtmlTitle($Language->Phrase("EditLink")); if ($Security->CanEdit()) { $oListOpt->Body = "Phrase("EditLink")) . "\" data-caption=\"" . ew_HtmlTitle($Language->Phrase("EditLink")) . "\" href=\"" . ew_HtmlEncode($this->EditUrl) . "\">" . $Language->Phrase("EditLink") . ""; } else { $oListOpt->Body = ""; } // "delete" $oListOpt = &$this->ListOptions->Items["delete"]; if ($Security->CanDelete()) $oListOpt->Body = "Phrase("DeleteLink")) . "\" data-caption=\"" . ew_HtmlTitle($Language->Phrase("DeleteLink")) . "\" href=\"" . ew_HtmlEncode($this->DeleteUrl) . "\">" . $Language->Phrase("DeleteLink") . ""; else $oListOpt->Body = ""; // Set up list action buttons $oListOpt = &$this->ListOptions->GetItem("listactions"); if ($oListOpt && $this->Export == "" && $this->CurrentAction == "") { $body = ""; $links = array(); foreach ($this->ListActions->Items as $listaction) { if ($listaction->Select == EW_ACTION_SINGLE && $listaction->Allow) { $action = $listaction->Action; $caption = $listaction->Caption; $icon = ($listaction->Icon <> "") ? "Icon)) . "\" data-caption=\"" . ew_HtmlTitle($caption) . "\"> " : ""; $links[] = "
  • KeyToJson() . "}," . $listaction->ToJson(TRUE) . "));return false;\">" . $icon . $listaction->Caption . "
  • "; if (count($links) == 1) // Single button $body = "KeyToJson() . "}," . $listaction->ToJson(TRUE) . "));return false;\">" . $Language->Phrase("ListActionButton") . ""; } } if (count($links) > 1) { // More than one buttons, use dropdown $body = ""; $content = ""; foreach ($links as $link) $content .= "
  • " . $link . "
  • "; $body .= ""; $body = "
    " . $body . "
    "; } if (count($links) > 0) { $oListOpt->Body = $body; $oListOpt->Visible = TRUE; } } $DetailViewTblVar = ""; $DetailCopyTblVar = ""; $DetailEditTblVar = ""; // "detail_taccomodations" $oListOpt = &$this->ListOptions->Items["detail_taccomodations"]; if ($Security->AllowList(CurrentProjectID() . 'taccomodations')) { $body = $Language->Phrase("DetailLink") . $Language->TablePhrase("taccomodations", "TblCaption"); $body .= str_replace("%c", $this->taccomodations_Count, $Language->Phrase("DetailCount")); $body = "idOfferer->CurrentValue)) . "") . "\">" . $body . ""; $links = ""; if ($GLOBALS["taccomodations_grid"]->DetailView && $Security->CanView() && $Security->AllowView(CurrentProjectID() . 'taccomodations')) { $links .= "
  • Phrase("MasterDetailViewLink")) . "\" href=\"" . ew_HtmlEncode($this->GetViewUrl(EW_TABLE_SHOW_DETAIL . "=taccomodations")) . "\">" . ew_HtmlImageAndText($Language->Phrase("MasterDetailViewLink")) . "
  • "; if ($DetailViewTblVar <> "") $DetailViewTblVar .= ","; $DetailViewTblVar .= "taccomodations"; } if ($GLOBALS["taccomodations_grid"]->DetailEdit && $Security->CanEdit() && $Security->AllowEdit(CurrentProjectID() . 'taccomodations')) { $links .= "
  • Phrase("MasterDetailEditLink")) . "\" href=\"" . ew_HtmlEncode($this->GetEditUrl(EW_TABLE_SHOW_DETAIL . "=taccomodations")) . "\">" . ew_HtmlImageAndText($Language->Phrase("MasterDetailEditLink")) . "
  • "; if ($DetailEditTblVar <> "") $DetailEditTblVar .= ","; $DetailEditTblVar .= "taccomodations"; } if ($links <> "") { $body .= ""; $body .= ""; } $body = "
    " . $body . "
    "; $oListOpt->Body = $body; if ($this->ShowMultipleDetails) $oListOpt->Visible = FALSE; } if ($this->ShowMultipleDetails) { $body = $Language->Phrase("MultipleMasterDetails"); $body = "
    "; $links = ""; if ($DetailViewTblVar <> "") { $links .= "
  • Phrase("MasterDetailViewLink")) . "\" href=\"" . ew_HtmlEncode($this->GetViewUrl(EW_TABLE_SHOW_DETAIL . "=" . $DetailViewTblVar)) . "\">" . ew_HtmlImageAndText($Language->Phrase("MasterDetailViewLink")) . "
  • "; } if ($DetailEditTblVar <> "") { $links .= "
  • Phrase("MasterDetailEditLink")) . "\" href=\"" . ew_HtmlEncode($this->GetEditUrl(EW_TABLE_SHOW_DETAIL . "=" . $DetailEditTblVar)) . "\">" . ew_HtmlImageAndText($Language->Phrase("MasterDetailEditLink")) . "
  • "; } if ($DetailCopyTblVar <> "") { $links .= "
  • Phrase("MasterDetailCopyLink")) . "\" href=\"" . ew_HtmlEncode($this->GetCopyUrl(EW_TABLE_SHOW_DETAIL . "=" . $DetailCopyTblVar)) . "\">" . ew_HtmlImageAndText($Language->Phrase("MasterDetailCopyLink")) . "
  • "; } if ($links <> "") { $body .= ""; $body .= ""; } $body .= "
    "; // Multiple details $oListOpt = &$this->ListOptions->Items["details"]; $oListOpt->Body = $body; } // "checkbox" $oListOpt = &$this->ListOptions->Items["checkbox"]; $oListOpt->Body = "idOfferer->CurrentValue) . "\" onclick='ew_ClickMultiCheckbox(event);'>"; $this->RenderListOptionsExt(); // Call ListOptions_Rendered event $this->ListOptions_Rendered(); } // Set up other options function SetupOtherOptions() { global $Language, $Security; $options = &$this->OtherOptions; $option = $options["addedit"]; // Add $item = &$option->Add("add"); $addcaption = ew_HtmlTitle($Language->Phrase("AddLink")); $item->Body = "AddUrl) . "\">" . $Language->Phrase("AddLink") . ""; $item->Visible = ($this->AddUrl <> "" && $Security->CanAdd()); $option = $options["detail"]; $DetailTableLink = ""; $item = &$option->Add("detailadd_taccomodations"); $url = $this->GetAddUrl(EW_TABLE_SHOW_DETAIL . "=taccomodations"); $caption = $Language->Phrase("Add") . " " . $this->TableCaption() . "/" . $GLOBALS["taccomodations"]->TableCaption(); $item->Body = "" . $caption . ""; $item->Visible = ($GLOBALS["taccomodations"]->DetailAdd && $Security->AllowAdd(CurrentProjectID() . 'taccomodations') && $Security->CanAdd()); if ($item->Visible) { if ($DetailTableLink <> "") $DetailTableLink .= ","; $DetailTableLink .= "taccomodations"; } // Add multiple details if ($this->ShowMultipleDetails) { $item = &$option->Add("detailsadd"); $url = $this->GetAddUrl(EW_TABLE_SHOW_DETAIL . "=" . $DetailTableLink); $item->Body = "Phrase("AddMasterDetailLink")) . "\" data-caption=\"" . ew_HtmlTitle($Language->Phrase("AddMasterDetailLink")) . "\" href=\"" . ew_HtmlEncode($url) . "\">" . $Language->Phrase("AddMasterDetailLink") . ""; $item->Visible = ($DetailTableLink <> "" && $Security->CanAdd()); // Hide single master/detail items $ar = explode(",", $DetailTableLink); $cnt = count($ar); for ($i = 0; $i < $cnt; $i++) { if ($item = &$option->GetItem("detailadd_" . $ar[$i])) $item->Visible = FALSE; } } $option = $options["action"]; // Set up options default foreach ($options as &$option) { $option->UseImageAndText = TRUE; $option->UseDropDownButton = TRUE; $option->UseButtonGroup = TRUE; $option->ButtonClass = "btn-sm"; // Class for button group $item = &$option->Add($option->GroupOptionName); $item->Body = ""; $item->Visible = FALSE; } $options["addedit"]->DropDownButtonPhrase = $Language->Phrase("ButtonAddEdit"); $options["detail"]->DropDownButtonPhrase = $Language->Phrase("ButtonDetails"); $options["action"]->DropDownButtonPhrase = $Language->Phrase("ButtonActions"); // Filter button $item = &$this->FilterOptions->Add("savecurrentfilter"); $item->Body = "" . $Language->Phrase("SaveCurrentFilter") . ""; $item->Visible = TRUE; $item = &$this->FilterOptions->Add("deletefilter"); $item->Body = "" . $Language->Phrase("DeleteFilter") . ""; $item->Visible = TRUE; $this->FilterOptions->UseDropDownButton = TRUE; $this->FilterOptions->UseButtonGroup = !$this->FilterOptions->UseDropDownButton; $this->FilterOptions->DropDownButtonPhrase = $Language->Phrase("Filters"); // Add group option item $item = &$this->FilterOptions->Add($this->FilterOptions->GroupOptionName); $item->Body = ""; $item->Visible = FALSE; } // Render other options function RenderOtherOptions() { global $Language, $Security; $options = &$this->OtherOptions; $option = &$options["action"]; // Set up list action buttons foreach ($this->ListActions->Items as $listaction) { if ($listaction->Select == EW_ACTION_MULTIPLE) { $item = &$option->Add("custom_" . $listaction->Action); $caption = $listaction->Caption; $icon = ($listaction->Icon <> "") ? "Icon) . "\" data-caption=\"" . ew_HtmlEncode($caption) . "\"> " : $caption; $item->Body = "ToJson(TRUE) . "));return false;\">" . $icon . ""; $item->Visible = $listaction->Allow; } } // Hide grid edit and other options if ($this->TotalRecs <= 0) { $option = &$options["addedit"]; $item = &$option->GetItem("gridedit"); if ($item) $item->Visible = FALSE; $option = &$options["action"]; $option->HideAllOptions(); } } // Process list action function ProcessListAction() { global $Language, $Security; $userlist = ""; $user = ""; $sFilter = $this->GetKeyFilter(); $UserAction = @$_POST["useraction"]; if ($sFilter <> "" && $UserAction <> "") { // Check permission first $ActionCaption = $UserAction; if (array_key_exists($UserAction, $this->ListActions->Items)) { $ActionCaption = $this->ListActions->Items[$UserAction]->Caption; if (!$this->ListActions->Items[$UserAction]->Allow) { $errmsg = str_replace('%s', $ActionCaption, $Language->Phrase("CustomActionNotAllowed")); if (@$_POST["ajax"] == $UserAction) // Ajax echo "

    " . $errmsg . "

    "; else $this->setFailureMessage($errmsg); return FALSE; } } $this->CurrentFilter = $sFilter; $sSql = $this->SQL(); $conn = &$this->Connection(); $conn->raiseErrorFn = $GLOBALS["EW_ERROR_FN"]; $rs = $conn->Execute($sSql); $conn->raiseErrorFn = ''; $this->CurrentAction = $UserAction; // Call row action event if ($rs && !$rs->EOF) { $conn->BeginTrans(); $this->SelectedCount = $rs->RecordCount(); $this->SelectedIndex = 0; while (!$rs->EOF) { $this->SelectedIndex++; $row = $rs->fields; $Processed = $this->Row_CustomAction($UserAction, $row); if (!$Processed) break; $rs->MoveNext(); } if ($Processed) { $conn->CommitTrans(); // Commit the changes if ($this->getSuccessMessage() == "") $this->setSuccessMessage(str_replace('%s', $ActionCaption, $Language->Phrase("CustomActionCompleted"))); // Set up success message } else { $conn->RollbackTrans(); // Rollback changes // Set up error message if ($this->getSuccessMessage() <> "" || $this->getFailureMessage() <> "") { // Use the message, do nothing } elseif ($this->CancelMessage <> "") { $this->setFailureMessage($this->CancelMessage); $this->CancelMessage = ""; } else { $this->setFailureMessage(str_replace('%s', $ActionCaption, $Language->Phrase("CustomActionFailed"))); } } } if ($rs) $rs->Close(); $this->CurrentAction = ""; // Clear action if (@$_POST["ajax"] == $UserAction) { // Ajax if ($this->getSuccessMessage() <> "") { echo "

    " . $this->getSuccessMessage() . "

    "; $this->ClearSuccessMessage(); // Clear message } if ($this->getFailureMessage() <> "") { echo "

    " . $this->getFailureMessage() . "

    "; $this->ClearFailureMessage(); // Clear message } return TRUE; } } return FALSE; // Not ajax request } // Set up search options function SetupSearchOptions() { global $Language; $this->SearchOptions = new cListOptions(); $this->SearchOptions->Tag = "div"; $this->SearchOptions->TagClassName = "ewSearchOption"; // Search button $item = &$this->SearchOptions->Add("searchtoggle"); $SearchToggleClass = ($this->SearchWhere <> "") ? " active" : ""; $item->Body = ""; $item->Visible = TRUE; // Show all button $item = &$this->SearchOptions->Add("showall"); $item->Body = "Phrase("ShowAll") . "\" data-caption=\"" . $Language->Phrase("ShowAll") . "\" href=\"" . $this->PageUrl() . "cmd=reset\">" . $Language->Phrase("ShowAllBtn") . ""; $item->Visible = ($this->SearchWhere <> $this->DefaultSearchWhere && $this->SearchWhere <> "0=101"); // Button group for search $this->SearchOptions->UseDropDownButton = FALSE; $this->SearchOptions->UseImageAndText = TRUE; $this->SearchOptions->UseButtonGroup = TRUE; $this->SearchOptions->DropDownButtonPhrase = $Language->Phrase("ButtonSearch"); // Add group option item $item = &$this->SearchOptions->Add($this->SearchOptions->GroupOptionName); $item->Body = ""; $item->Visible = FALSE; // Hide search options if ($this->Export <> "" || $this->CurrentAction <> "") $this->SearchOptions->HideAllOptions(); global $Security; if (!$Security->CanSearch()) { $this->SearchOptions->HideAllOptions(); $this->FilterOptions->HideAllOptions(); } } function SetupListOptionsExt() { global $Security, $Language; // Hide detail items for dropdown if necessary $this->ListOptions->HideDetailItemsForDropDown(); } function RenderListOptionsExt() { global $Security, $Language; $links = ""; $btngrps = ""; $sSqlWrk = "`idOfferer`=" . ew_AdjustSql($this->idOfferer->CurrentValue, $this->DBID) . ""; // Column "detail_taccomodations" if ($this->DetailPages->Items["taccomodations"]->Visible) { $link = ""; $option = &$this->ListOptions->Items["detail_taccomodations"]; $url = "taccomodationspreview.php?t=tofferers&f=" . ew_Encrypt($sSqlWrk); $btngrp = "
    "; if ($Security->AllowList(CurrentProjectID() . 'taccomodations')) { $label = $Language->TablePhrase("taccomodations", "TblCaption"); $label .= " " . ew_JsEncode2(str_replace("%c", $this->taccomodations_Count, $Language->Phrase("DetailCount"))); $link = "
  • " . $label . "
  • "; $links .= $link; $detaillnk = ew_JsEncode3("taccomodationslist.php?" . EW_TABLE_SHOW_MASTER . "=tofferers&fk_idOfferer=" . urlencode(strval($this->idOfferer->CurrentValue)) . ""); $btngrp .= ""; } if ($GLOBALS["taccomodations_grid"]->DetailView && $Security->CanView() && $Security->AllowView(CurrentProjectID() . 'taccomodations')) $btngrp .= ""; if ($GLOBALS["taccomodations_grid"]->DetailEdit && $Security->CanEdit() && $Security->AllowEdit(CurrentProjectID() . 'taccomodations')) $btngrp .= ""; $btngrp .= "
    "; if ($link <> "") { $btngrps .= $btngrp; $option->Body .= "
    " . $link . $btngrp . "
    "; } } // Hide detail items if necessary $this->ListOptions->HideDetailItemsForDropDown(); // Column "preview" $option = &$this->ListOptions->GetItem("preview"); if (!$option) { // Add preview column $option = &$this->ListOptions->Add("preview"); $option->OnLeft = FALSE; if ($option->OnLeft) { $option->MoveTo($this->ListOptions->ItemPos("checkbox") + 1); } else { $option->MoveTo($this->ListOptions->ItemPos("checkbox")); } $option->Visible = !($this->Export <> "" || $this->CurrentAction == "gridadd" || $this->CurrentAction == "gridedit"); $option->ShowInDropDown = FALSE; $option->ShowInButtonGroup = FALSE; } if ($option) { $option->Body = ""; $option->Body .= "
    " . $links . $btngrps . "
    "; if ($option->Visible) $option->Visible = $links <> ""; } // Column "details" (Multiple details) $option = &$this->ListOptions->GetItem("details"); if ($option) { $option->Body .= "
    " . $links . $btngrps . "
    "; if ($option->Visible) $option->Visible = $links <> ""; } } // Set up starting record parameters function SetUpStartRec() { if ($this->DisplayRecs == 0) return; if ($this->IsPageRequest()) { // Validate request if (@$_GET[EW_TABLE_START_REC] <> "") { // Check for "start" parameter $this->StartRec = $_GET[EW_TABLE_START_REC]; $this->setStartRecordNumber($this->StartRec); } elseif (@$_GET[EW_TABLE_PAGE_NO] <> "") { $PageNo = $_GET[EW_TABLE_PAGE_NO]; if (is_numeric($PageNo)) { $this->StartRec = ($PageNo-1)*$this->DisplayRecs+1; if ($this->StartRec <= 0) { $this->StartRec = 1; } elseif ($this->StartRec >= intval(($this->TotalRecs-1)/$this->DisplayRecs)*$this->DisplayRecs+1) { $this->StartRec = intval(($this->TotalRecs-1)/$this->DisplayRecs)*$this->DisplayRecs+1; } $this->setStartRecordNumber($this->StartRec); } } } $this->StartRec = $this->getStartRecordNumber(); // Check if correct start record counter if (!is_numeric($this->StartRec) || $this->StartRec == "") { // Avoid invalid start record counter $this->StartRec = 1; // Reset start record counter $this->setStartRecordNumber($this->StartRec); } elseif (intval($this->StartRec) > intval($this->TotalRecs)) { // Avoid starting record > total records $this->StartRec = intval(($this->TotalRecs-1)/$this->DisplayRecs)*$this->DisplayRecs+1; // Point to last page first record $this->setStartRecordNumber($this->StartRec); } elseif (($this->StartRec-1) % $this->DisplayRecs <> 0) { $this->StartRec = intval(($this->StartRec-1)/$this->DisplayRecs)*$this->DisplayRecs+1; // Point to page boundary $this->setStartRecordNumber($this->StartRec); } } // Load basic search values function LoadBasicSearchValues() { $this->BasicSearch->Keyword = @$_GET[EW_TABLE_BASIC_SEARCH]; if ($this->BasicSearch->Keyword <> "") $this->Command = "search"; $this->BasicSearch->Type = @$_GET[EW_TABLE_BASIC_SEARCH_TYPE]; } // Load recordset function LoadRecordset($offset = -1, $rowcnt = -1) { // Load List page SQL $sSql = $this->SelectSQL(); $conn = &$this->Connection(); // Load recordset $dbtype = ew_GetConnectionType($this->DBID); if ($this->UseSelectLimit) { $conn->raiseErrorFn = $GLOBALS["EW_ERROR_FN"]; if ($dbtype == "MSSQL") { $rs = $conn->SelectLimit($sSql, $rowcnt, $offset, array("_hasOrderBy" => trim($this->getOrderBy()) || trim($this->getSessionOrderBy()))); } else { $rs = $conn->SelectLimit($sSql, $rowcnt, $offset); } $conn->raiseErrorFn = ''; } else { $rs = ew_LoadRecordset($sSql, $conn); } // Call Recordset Selected event $this->Recordset_Selected($rs); return $rs; } // Load row based on key values function LoadRow() { global $Security, $Language; $sFilter = $this->KeyFilter(); // Call Row Selecting event $this->Row_Selecting($sFilter); // Load SQL based on filter $this->CurrentFilter = $sFilter; $sSql = $this->SQL(); $conn = &$this->Connection(); $res = FALSE; $rs = ew_LoadRecordset($sSql, $conn); if ($rs && !$rs->EOF) { $res = TRUE; $this->LoadRowValues($rs); // Load row values $rs->Close(); } return $res; } // Load row values from recordset function LoadRowValues(&$rs) { if (!$rs || $rs->EOF) return; // Call Row Selected event $row = &$rs->fields; $this->Row_Selected($row); $this->idOfferer->setDbValue($rs->fields('idOfferer')); $this->Name->setDbValue($rs->fields('Name')); $this->Surname->setDbValue($rs->fields('Surname')); $this->Institution_Type->setDbValue($rs->fields('Institution_Type')); $this->Institution_Name->setDbValue($rs->fields('Institution_Name')); $this->Address->setDbValue($rs->fields('Address')); $this->Phone->setDbValue($rs->fields('Phone')); $this->Phone_Mobile->setDbValue($rs->fields('Phone_Mobile')); $this->_Email->setDbValue($rs->fields('Email')); $this->Town->setDbValue($rs->fields('Town')); $this->District->setDbValue($rs->fields('District')); $this->Region->setDbValue($rs->fields('Region')); $this->Suggest_by->setDbValue($rs->fields('Suggest_by')); $this->Suggest_by_note->setDbValue($rs->fields('Suggest_by_note')); $this->Referent->setDbValue($rs->fields('Referent')); $this->add_network->setDbValue($rs->fields('add_network')); $this->add_documents->setDbValue($rs->fields('add_documents')); $this->add_care->setDbValue($rs->fields('add_care')); $this->add_food->setDbValue($rs->fields('add_food')); $this->add_clothes->setDbValue($rs->fields('add_clothes')); $this->add_utilities->setDbValue($rs->fields('add_utilities')); $this->add_job->setDbValue($rs->fields('add_job')); if (!isset($GLOBALS["taccomodations_grid"])) $GLOBALS["taccomodations_grid"] = new ctaccomodations_grid; $sDetailFilter = $GLOBALS["taccomodations"]->SqlDetailFilter_tofferers(); $sDetailFilter = str_replace("@idOfferer@", ew_AdjustSql($this->idOfferer->DbValue, "DB"), $sDetailFilter); $GLOBALS["taccomodations"]->setCurrentMasterTable("tofferers"); $sDetailFilter = $GLOBALS["taccomodations"]->ApplyUserIDFilters($sDetailFilter); $this->taccomodations_Count = $GLOBALS["taccomodations"]->LoadRecordCount($sDetailFilter); } // Load DbValue from recordset function LoadDbValues(&$rs) { if (!$rs || !is_array($rs) && $rs->EOF) return; $row = is_array($rs) ? $rs : $rs->fields; $this->idOfferer->DbValue = $row['idOfferer']; $this->Name->DbValue = $row['Name']; $this->Surname->DbValue = $row['Surname']; $this->Institution_Type->DbValue = $row['Institution_Type']; $this->Institution_Name->DbValue = $row['Institution_Name']; $this->Address->DbValue = $row['Address']; $this->Phone->DbValue = $row['Phone']; $this->Phone_Mobile->DbValue = $row['Phone_Mobile']; $this->_Email->DbValue = $row['Email']; $this->Town->DbValue = $row['Town']; $this->District->DbValue = $row['District']; $this->Region->DbValue = $row['Region']; $this->Suggest_by->DbValue = $row['Suggest_by']; $this->Suggest_by_note->DbValue = $row['Suggest_by_note']; $this->Referent->DbValue = $row['Referent']; $this->add_network->DbValue = $row['add_network']; $this->add_documents->DbValue = $row['add_documents']; $this->add_care->DbValue = $row['add_care']; $this->add_food->DbValue = $row['add_food']; $this->add_clothes->DbValue = $row['add_clothes']; $this->add_utilities->DbValue = $row['add_utilities']; $this->add_job->DbValue = $row['add_job']; } // Load old record function LoadOldRecord() { // Load key values from Session $bValidKey = TRUE; if (strval($this->getKey("idOfferer")) <> "") $this->idOfferer->CurrentValue = $this->getKey("idOfferer"); // idOfferer else $bValidKey = FALSE; // Load old recordset if ($bValidKey) { $this->CurrentFilter = $this->KeyFilter(); $sSql = $this->SQL(); $conn = &$this->Connection(); $this->OldRecordset = ew_LoadRecordset($sSql, $conn); $this->LoadRowValues($this->OldRecordset); // Load row values } else { $this->OldRecordset = NULL; } return $bValidKey; } // Render row values based on field settings function RenderRow() { global $Security, $Language, $gsLanguage; // Initialize URLs $this->ViewUrl = $this->GetViewUrl(); $this->EditUrl = $this->GetEditUrl(); $this->InlineEditUrl = $this->GetInlineEditUrl(); $this->CopyUrl = $this->GetCopyUrl(); $this->InlineCopyUrl = $this->GetInlineCopyUrl(); $this->DeleteUrl = $this->GetDeleteUrl(); // Call Row_Rendering event $this->Row_Rendering(); // Common render codes for all row types // idOfferer // Name // Surname // Institution_Type // Institution_Name // Address // Phone // Phone_Mobile // Email // Town // District // Region // Suggest_by // Suggest_by_note // Referent // add_network $this->add_network->CellCssStyle = "white-space: nowrap;"; // add_documents // add_care // add_food // add_clothes // add_utilities // add_job if ($this->RowType == EW_ROWTYPE_VIEW) { // View row // idOfferer $this->idOfferer->ViewValue = $this->idOfferer->CurrentValue; $this->idOfferer->ViewCustomAttributes = ""; // Name $this->Name->ViewValue = $this->Name->CurrentValue; $this->Name->ViewCustomAttributes = ""; // Surname $this->Surname->ViewValue = $this->Surname->CurrentValue; $this->Surname->ViewCustomAttributes = ""; // Institution_Type if (strval($this->Institution_Type->CurrentValue) <> "") { $sFilterWrk = "`Institution_Type`" . ew_SearchString("=", $this->Institution_Type->CurrentValue, EW_DATATYPE_STRING, ""); switch (@$gsLanguage) { case "en": $sSqlWrk = "SELECT `Institution_Type`, `Description` AS `DispFld`, '' AS `Disp2Fld`, '' AS `Disp3Fld`, '' AS `Disp4Fld` FROM `tinstitutions`"; $sWhereWrk = ""; $this->Institution_Type->LookupFilters = array(); break; case "it": $sSqlWrk = "SELECT `Institution_Type`, `Description_it` AS `DispFld`, '' AS `Disp2Fld`, '' AS `Disp3Fld`, '' AS `Disp4Fld` FROM `tinstitutions`"; $sWhereWrk = ""; $this->Institution_Type->LookupFilters = array(); break; default: $sSqlWrk = "SELECT `Institution_Type`, `Description` AS `DispFld`, '' AS `Disp2Fld`, '' AS `Disp3Fld`, '' AS `Disp4Fld` FROM `tinstitutions`"; $sWhereWrk = ""; $this->Institution_Type->LookupFilters = array(); break; } ew_AddFilter($sWhereWrk, $sFilterWrk); $this->Lookup_Selecting($this->Institution_Type, $sWhereWrk); // Call Lookup selecting if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk; $rswrk = Conn()->Execute($sSqlWrk); if ($rswrk && !$rswrk->EOF) { // Lookup values found $arwrk = array(); $arwrk[1] = $rswrk->fields('DispFld'); $this->Institution_Type->ViewValue = $this->Institution_Type->DisplayValue($arwrk); $rswrk->Close(); } else { $this->Institution_Type->ViewValue = $this->Institution_Type->CurrentValue; } } else { $this->Institution_Type->ViewValue = NULL; } $this->Institution_Type->ViewCustomAttributes = ""; // Institution_Name $this->Institution_Name->ViewValue = $this->Institution_Name->CurrentValue; $this->Institution_Name->ViewCustomAttributes = ""; // Address $this->Address->ViewValue = $this->Address->CurrentValue; $this->Address->ViewCustomAttributes = ""; // Phone $this->Phone->ViewValue = $this->Phone->CurrentValue; $this->Phone->ViewCustomAttributes = ""; // Phone_Mobile $this->Phone_Mobile->ViewValue = $this->Phone_Mobile->CurrentValue; $this->Phone_Mobile->ViewCustomAttributes = ""; // Email $this->_Email->ViewValue = $this->_Email->CurrentValue; $this->_Email->ViewCustomAttributes = ""; // Town $this->Town->ViewValue = $this->Town->CurrentValue; $this->Town->ViewCustomAttributes = ""; // District $this->District->ViewValue = $this->District->CurrentValue; $this->District->ViewCustomAttributes = ""; // Region $this->Region->ViewValue = $this->Region->CurrentValue; $this->Region->ViewCustomAttributes = ""; // Suggest_by if (strval($this->Suggest_by->CurrentValue) <> "") { $sFilterWrk = "`suggesttype`" . ew_SearchString("=", $this->Suggest_by->CurrentValue, EW_DATATYPE_STRING, ""); switch (@$gsLanguage) { case "en": $sSqlWrk = "SELECT `suggesttype`, `Description` AS `DispFld`, '' AS `Disp2Fld`, '' AS `Disp3Fld`, '' AS `Disp4Fld` FROM `tsuggest_type`"; $sWhereWrk = ""; $this->Suggest_by->LookupFilters = array(); break; case "it": $sSqlWrk = "SELECT `suggesttype`, `Description_IT` AS `DispFld`, '' AS `Disp2Fld`, '' AS `Disp3Fld`, '' AS `Disp4Fld` FROM `tsuggest_type`"; $sWhereWrk = ""; $this->Suggest_by->LookupFilters = array(); break; default: $sSqlWrk = "SELECT `suggesttype`, `Description` AS `DispFld`, '' AS `Disp2Fld`, '' AS `Disp3Fld`, '' AS `Disp4Fld` FROM `tsuggest_type`"; $sWhereWrk = ""; $this->Suggest_by->LookupFilters = array(); break; } ew_AddFilter($sWhereWrk, $sFilterWrk); $this->Lookup_Selecting($this->Suggest_by, $sWhereWrk); // Call Lookup selecting if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk; $rswrk = Conn()->Execute($sSqlWrk); if ($rswrk && !$rswrk->EOF) { // Lookup values found $arwrk = array(); $arwrk[1] = $rswrk->fields('DispFld'); $this->Suggest_by->ViewValue = $this->Suggest_by->DisplayValue($arwrk); $rswrk->Close(); } else { $this->Suggest_by->ViewValue = $this->Suggest_by->CurrentValue; } } else { $this->Suggest_by->ViewValue = NULL; } $this->Suggest_by->ViewCustomAttributes = ""; // Referent $this->Referent->ViewValue = $this->Referent->CurrentValue; $this->Referent->ViewCustomAttributes = ""; // add_documents if (ew_ConvertToBool($this->add_documents->CurrentValue)) { $this->add_documents->ViewValue = $this->add_documents->FldTagCaption(1) <> "" ? $this->add_documents->FldTagCaption(1) : "Y"; } else { $this->add_documents->ViewValue = $this->add_documents->FldTagCaption(2) <> "" ? $this->add_documents->FldTagCaption(2) : "N"; } $this->add_documents->ViewCustomAttributes = ""; // add_care if (ew_ConvertToBool($this->add_care->CurrentValue)) { $this->add_care->ViewValue = $this->add_care->FldTagCaption(1) <> "" ? $this->add_care->FldTagCaption(1) : "Y"; } else { $this->add_care->ViewValue = $this->add_care->FldTagCaption(2) <> "" ? $this->add_care->FldTagCaption(2) : "N"; } $this->add_care->ViewCustomAttributes = ""; // add_food if (ew_ConvertToBool($this->add_food->CurrentValue)) { $this->add_food->ViewValue = $this->add_food->FldTagCaption(1) <> "" ? $this->add_food->FldTagCaption(1) : "Y"; } else { $this->add_food->ViewValue = $this->add_food->FldTagCaption(2) <> "" ? $this->add_food->FldTagCaption(2) : "N"; } $this->add_food->ViewCustomAttributes = ""; // add_clothes if (ew_ConvertToBool($this->add_clothes->CurrentValue)) { $this->add_clothes->ViewValue = $this->add_clothes->FldTagCaption(1) <> "" ? $this->add_clothes->FldTagCaption(1) : "Y"; } else { $this->add_clothes->ViewValue = $this->add_clothes->FldTagCaption(2) <> "" ? $this->add_clothes->FldTagCaption(2) : "N"; } $this->add_clothes->ViewCustomAttributes = ""; // add_utilities if (ew_ConvertToBool($this->add_utilities->CurrentValue)) { $this->add_utilities->ViewValue = $this->add_utilities->FldTagCaption(1) <> "" ? $this->add_utilities->FldTagCaption(1) : "Y"; } else { $this->add_utilities->ViewValue = $this->add_utilities->FldTagCaption(2) <> "" ? $this->add_utilities->FldTagCaption(2) : "N"; } $this->add_utilities->ViewCustomAttributes = ""; // add_job if (ew_ConvertToBool($this->add_job->CurrentValue)) { $this->add_job->ViewValue = $this->add_job->FldTagCaption(1) <> "" ? $this->add_job->FldTagCaption(1) : "Y"; } else { $this->add_job->ViewValue = $this->add_job->FldTagCaption(2) <> "" ? $this->add_job->FldTagCaption(2) : "N"; } $this->add_job->ViewCustomAttributes = ""; // Name $this->Name->LinkCustomAttributes = ""; $this->Name->HrefValue = ""; $this->Name->TooltipValue = ""; // Surname $this->Surname->LinkCustomAttributes = ""; $this->Surname->HrefValue = ""; $this->Surname->TooltipValue = ""; // Institution_Type $this->Institution_Type->LinkCustomAttributes = ""; $this->Institution_Type->HrefValue = ""; $this->Institution_Type->TooltipValue = ""; // Institution_Name $this->Institution_Name->LinkCustomAttributes = ""; $this->Institution_Name->HrefValue = ""; $this->Institution_Name->TooltipValue = ""; // Address $this->Address->LinkCustomAttributes = ""; $this->Address->HrefValue = ""; $this->Address->TooltipValue = ""; // Phone $this->Phone->LinkCustomAttributes = ""; $this->Phone->HrefValue = ""; $this->Phone->TooltipValue = ""; // Phone_Mobile $this->Phone_Mobile->LinkCustomAttributes = ""; $this->Phone_Mobile->HrefValue = ""; $this->Phone_Mobile->TooltipValue = ""; // Town $this->Town->LinkCustomAttributes = ""; $this->Town->HrefValue = ""; $this->Town->TooltipValue = ""; } // Call Row Rendered event if ($this->RowType <> EW_ROWTYPE_AGGREGATEINIT) $this->Row_Rendered(); } // Set up export options function SetupExportOptions() { global $Language; // Printer friendly $item = &$this->ExportOptions->Add("print"); $item->Body = "ExportPrintUrl . "\" class=\"ewExportLink ewPrint\" title=\"" . ew_HtmlEncode($Language->Phrase("PrinterFriendlyText")) . "\" data-caption=\"" . ew_HtmlEncode($Language->Phrase("PrinterFriendlyText")) . "\">" . $Language->Phrase("PrinterFriendly") . ""; $item->Visible = TRUE; // Export to Excel $item = &$this->ExportOptions->Add("excel"); $item->Body = "ExportExcelUrl . "\" class=\"ewExportLink ewExcel\" title=\"" . ew_HtmlEncode($Language->Phrase("ExportToExcelText")) . "\" data-caption=\"" . ew_HtmlEncode($Language->Phrase("ExportToExcelText")) . "\">" . $Language->Phrase("ExportToExcel") . ""; $item->Visible = TRUE; // Export to Word $item = &$this->ExportOptions->Add("word"); $item->Body = "ExportWordUrl . "\" class=\"ewExportLink ewWord\" title=\"" . ew_HtmlEncode($Language->Phrase("ExportToWordText")) . "\" data-caption=\"" . ew_HtmlEncode($Language->Phrase("ExportToWordText")) . "\">" . $Language->Phrase("ExportToWord") . ""; $item->Visible = TRUE; // Export to Html $item = &$this->ExportOptions->Add("html"); $item->Body = "ExportHtmlUrl . "\" class=\"ewExportLink ewHtml\" title=\"" . ew_HtmlEncode($Language->Phrase("ExportToHtmlText")) . "\" data-caption=\"" . ew_HtmlEncode($Language->Phrase("ExportToHtmlText")) . "\">" . $Language->Phrase("ExportToHtml") . ""; $item->Visible = TRUE; // Export to Xml $item = &$this->ExportOptions->Add("xml"); $item->Body = "ExportXmlUrl . "\" class=\"ewExportLink ewXml\" title=\"" . ew_HtmlEncode($Language->Phrase("ExportToXmlText")) . "\" data-caption=\"" . ew_HtmlEncode($Language->Phrase("ExportToXmlText")) . "\">" . $Language->Phrase("ExportToXml") . ""; $item->Visible = FALSE; // Export to Csv $item = &$this->ExportOptions->Add("csv"); $item->Body = "ExportCsvUrl . "\" class=\"ewExportLink ewCsv\" title=\"" . ew_HtmlEncode($Language->Phrase("ExportToCsvText")) . "\" data-caption=\"" . ew_HtmlEncode($Language->Phrase("ExportToCsvText")) . "\">" . $Language->Phrase("ExportToCsv") . ""; $item->Visible = TRUE; // Export to Pdf $item = &$this->ExportOptions->Add("pdf"); $item->Body = "ExportPdfUrl . "\" class=\"ewExportLink ewPdf\" title=\"" . ew_HtmlEncode($Language->Phrase("ExportToPDFText")) . "\" data-caption=\"" . ew_HtmlEncode($Language->Phrase("ExportToPDFText")) . "\">" . $Language->Phrase("ExportToPDF") . ""; $item->Visible = FALSE; // Export to Email $item = &$this->ExportOptions->Add("email"); $url = ""; $item->Body = ""; $item->Visible = TRUE; // Drop down button for export $this->ExportOptions->UseButtonGroup = TRUE; $this->ExportOptions->UseImageAndText = TRUE; $this->ExportOptions->UseDropDownButton = TRUE; if ($this->ExportOptions->UseButtonGroup && ew_IsMobile()) $this->ExportOptions->UseDropDownButton = TRUE; $this->ExportOptions->DropDownButtonPhrase = $Language->Phrase("ButtonExport"); // Add group option item $item = &$this->ExportOptions->Add($this->ExportOptions->GroupOptionName); $item->Body = ""; $item->Visible = FALSE; } // Export data in HTML/CSV/Word/Excel/XML/Email/PDF format function ExportData() { $utf8 = (strtolower(EW_CHARSET) == "utf-8"); $bSelectLimit = $this->UseSelectLimit; // Load recordset if ($bSelectLimit) { $this->TotalRecs = $this->SelectRecordCount(); } else { if (!$this->Recordset) $this->Recordset = $this->LoadRecordset(); $rs = &$this->Recordset; if ($rs) $this->TotalRecs = $rs->RecordCount(); } $this->StartRec = 1; // Export all if ($this->ExportAll) { set_time_limit(EW_EXPORT_ALL_TIME_LIMIT); $this->DisplayRecs = $this->TotalRecs; $this->StopRec = $this->TotalRecs; } else { // Export one page only $this->SetUpStartRec(); // Set up start record position // Set the last record to display if ($this->DisplayRecs <= 0) { $this->StopRec = $this->TotalRecs; } else { $this->StopRec = $this->StartRec + $this->DisplayRecs - 1; } } if ($bSelectLimit) $rs = $this->LoadRecordset($this->StartRec-1, $this->DisplayRecs <= 0 ? $this->TotalRecs : $this->DisplayRecs); if (!$rs) { header("Content-Type:"); // Remove header header("Content-Disposition:"); $this->ShowMessage(); return; } $this->ExportDoc = ew_ExportDocument($this, "h"); $Doc = &$this->ExportDoc; if ($bSelectLimit) { $this->StartRec = 1; $this->StopRec = $this->DisplayRecs <= 0 ? $this->TotalRecs : $this->DisplayRecs; } else { //$this->StartRec = $this->StartRec; //$this->StopRec = $this->StopRec; } // Call Page Exporting server event $this->ExportDoc->ExportCustom = !$this->Page_Exporting(); $ParentTable = ""; $sHeader = $this->PageHeader; $this->Page_DataRendering($sHeader); $Doc->Text .= $sHeader; $this->ExportDocument($Doc, $rs, $this->StartRec, $this->StopRec, ""); $sFooter = $this->PageFooter; $this->Page_DataRendered($sFooter); $Doc->Text .= $sFooter; // Close recordset $rs->Close(); // Call Page Exported server event $this->Page_Exported(); // Export header and footer $Doc->ExportHeaderAndFooter(); // Clean output buffer if (!EW_DEBUG_ENABLED && ob_get_length()) ob_end_clean(); // Write debug message if enabled if (EW_DEBUG_ENABLED && $this->Export <> "pdf") echo ew_DebugMsg(); // Output data if ($this->Export == "email") { echo $this->ExportEmail($Doc->Text); } else { $Doc->Export(); } } // Export email function ExportEmail($EmailContent) { global $gTmpImages, $Language; $sSender = @$_POST["sender"]; $sRecipient = @$_POST["recipient"]; $sCc = @$_POST["cc"]; $sBcc = @$_POST["bcc"]; $sContentType = @$_POST["contenttype"]; // Subject $sSubject = ew_StripSlashes(@$_POST["subject"]); $sEmailSubject = $sSubject; // Message $sContent = ew_StripSlashes(@$_POST["message"]); $sEmailMessage = $sContent; // Check sender if ($sSender == "") { return "

    " . $Language->Phrase("EnterSenderEmail") . "

    "; } if (!ew_CheckEmail($sSender)) { return "

    " . $Language->Phrase("EnterProperSenderEmail") . "

    "; } // Check recipient if (!ew_CheckEmailList($sRecipient, EW_MAX_EMAIL_RECIPIENT)) { return "

    " . $Language->Phrase("EnterProperRecipientEmail") . "

    "; } // Check cc if (!ew_CheckEmailList($sCc, EW_MAX_EMAIL_RECIPIENT)) { return "

    " . $Language->Phrase("EnterProperCcEmail") . "

    "; } // Check bcc if (!ew_CheckEmailList($sBcc, EW_MAX_EMAIL_RECIPIENT)) { return "

    " . $Language->Phrase("EnterProperBccEmail") . "

    "; } // Check email sent count if (!isset($_SESSION[EW_EXPORT_EMAIL_COUNTER])) $_SESSION[EW_EXPORT_EMAIL_COUNTER] = 0; if (intval($_SESSION[EW_EXPORT_EMAIL_COUNTER]) > EW_MAX_EMAIL_SENT_COUNT) { return "

    " . $Language->Phrase("ExceedMaxEmailExport") . "

    "; } // Send email $Email = new cEmail(); $Email->Sender = $sSender; // Sender $Email->Recipient = $sRecipient; // Recipient $Email->Cc = $sCc; // Cc $Email->Bcc = $sBcc; // Bcc $Email->Subject = $sEmailSubject; // Subject $Email->Format = ($sContentType == "url") ? "text" : "html"; if ($sEmailMessage <> "") { $sEmailMessage = ew_RemoveXSS($sEmailMessage); $sEmailMessage .= ($sContentType == "url") ? "\r\n\r\n" : "

    "; } if ($sContentType == "url") { $sUrl = ew_ConvertFullUrl(ew_CurrentPage() . "?" . $this->ExportQueryString()); $sEmailMessage .= $sUrl; // Send URL only } else { foreach ($gTmpImages as $tmpimage) $Email->AddEmbeddedImage($tmpimage); $sEmailMessage .= ew_CleanEmailContent($EmailContent); // Send HTML } $Email->Content = $sEmailMessage; // Content $EventArgs = array(); if ($this->Recordset) { $this->RecCnt = $this->StartRec - 1; $this->Recordset->MoveFirst(); if ($this->StartRec > 1) $this->Recordset->Move($this->StartRec - 1); $EventArgs["rs"] = &$this->Recordset; } $bEmailSent = FALSE; if ($this->Email_Sending($Email, $EventArgs)) $bEmailSent = $Email->Send(); // Check email sent status if ($bEmailSent) { // Update email sent count $_SESSION[EW_EXPORT_EMAIL_COUNTER]++; // Sent email success return "

    " . $Language->Phrase("SendEmailSuccess") . "

    "; // Set up success message } else { // Sent email failure return "

    " . $Email->SendErrDescription . "

    "; } } // Export QueryString function ExportQueryString() { // Initialize $sQry = "export=html"; // Build QueryString for search if ($this->BasicSearch->getKeyword() <> "") { $sQry .= "&" . EW_TABLE_BASIC_SEARCH . "=" . urlencode($this->BasicSearch->getKeyword()) . "&" . EW_TABLE_BASIC_SEARCH_TYPE . "=" . urlencode($this->BasicSearch->getType()); } // Build QueryString for pager $sQry .= "&" . EW_TABLE_REC_PER_PAGE . "=" . urlencode($this->getRecordsPerPage()) . "&" . EW_TABLE_START_REC . "=" . urlencode($this->getStartRecordNumber()); return $sQry; } // Add search QueryString function AddSearchQueryString(&$Qry, &$Fld) { $FldSearchValue = $Fld->AdvancedSearch->getValue("x"); $FldParm = substr($Fld->FldVar,2); if (strval($FldSearchValue) <> "") { $Qry .= "&x_" . $FldParm . "=" . urlencode($FldSearchValue) . "&z_" . $FldParm . "=" . urlencode($Fld->AdvancedSearch->getValue("z")); } $FldSearchValue2 = $Fld->AdvancedSearch->getValue("y"); if (strval($FldSearchValue2) <> "") { $Qry .= "&v_" . $FldParm . "=" . urlencode($Fld->AdvancedSearch->getValue("v")) . "&y_" . $FldParm . "=" . urlencode($FldSearchValue2) . "&w_" . $FldParm . "=" . urlencode($Fld->AdvancedSearch->getValue("w")); } } // Set up Breadcrumb function SetupBreadcrumb() { global $Breadcrumb, $Language; $Breadcrumb = new cBreadcrumb(); $url = substr(ew_CurrentUrl(), strrpos(ew_CurrentUrl(), "/")+1); $url = preg_replace('/\?cmd=reset(all){0,1}$/i', '', $url); // Remove cmd=reset / cmd=resetall $Breadcrumb->Add("list", $this->TableVar, $url, "", $this->TableVar, TRUE); } // Setup lookup filters of a field function SetupLookupFilters($fld, $pageId = null) { global $gsLanguage; $pageId = $pageId ?: $this->PageID; switch ($fld->FldVar) { } } // Setup AutoSuggest filters of a field function SetupAutoSuggestFilters($fld, $pageId = null) { global $gsLanguage; $pageId = $pageId ?: $this->PageID; switch ($fld->FldVar) { } } // Page Load event function Page_Load() { //echo "Page Load"; } // Page Unload event function Page_Unload() { //echo "Page Unload"; } // Page Redirecting event function Page_Redirecting(&$url) { // Example: //$url = "your URL"; } // Message Showing event // $type = ''|'success'|'failure'|'warning' function Message_Showing(&$msg, $type) { if ($type == 'success') { //$msg = "your success message"; } elseif ($type == 'failure') { //$msg = "your failure message"; } elseif ($type == 'warning') { //$msg = "your warning message"; } else { //$msg = "your message"; } } // Page Render event function Page_Render() { //echo "Page Render"; } // Page Data Rendering event function Page_DataRendering(&$header) { // Example: //$header = "your header"; } // Page Data Rendered event function Page_DataRendered(&$footer) { // Example: //$footer = "your footer"; } // Form Custom Validate event function Form_CustomValidate(&$CustomError) { // Return error message in CustomError return TRUE; } // ListOptions Load event function ListOptions_Load() { // Example: //$opt = &$this->ListOptions->Add("new"); //$opt->Header = "xxx"; //$opt->OnLeft = TRUE; // Link on left //$opt->MoveTo(0); // Move to first column } // ListOptions Rendered event function ListOptions_Rendered() { // Example: //$this->ListOptions->Items["new"]->Body = "xxx"; } // Row Custom Action event function Row_CustomAction($action, $row) { // Return FALSE to abort return TRUE; } // Page Exporting event // $this->ExportDoc = export document object function Page_Exporting() { //$this->ExportDoc->Text = "my header"; // Export header //return FALSE; // Return FALSE to skip default export and use Row_Export event return TRUE; // Return TRUE to use default export and skip Row_Export event } // Row Export event // $this->ExportDoc = export document object function Row_Export($rs) { //$this->ExportDoc->Text .= "my content"; // Build HTML with field value: $rs["MyField"] or $this->MyField->ViewValue } // Page Exported event // $this->ExportDoc = export document object function Page_Exported() { //$this->ExportDoc->Text .= "my footer"; // Export footer //echo $this->ExportDoc->Text; } } ?> Page_Init(); // Page main $tofferers_list->Page_Main(); // Global Page Rendering event (in userfn*.php) Page_Rendering(); // Page Rendering event $tofferers_list->Page_Render(); ?> Export == "") { ?>
    Export == "") { ?>
    Export == "") { ?> Render(); ?> TotalRecs > 0 && $tofferers_list->ExportOptions->Visible()) { ?> ExportOptions->Render("body") ?> SearchOptions->Visible()) { ?> SearchOptions->Render("body") ?> FilterOptions->Visible()) { ?> FilterOptions->Render("body") ?> Export == "") { ?> SelectionForm(); ?>
    UseSelectLimit; if ($bSelectLimit) { if ($tofferers_list->TotalRecs <= 0) $tofferers_list->TotalRecs = $tofferers->SelectRecordCount(); } else { if (!$tofferers_list->Recordset && ($tofferers_list->Recordset = $tofferers_list->LoadRecordset())) $tofferers_list->TotalRecs = $tofferers_list->Recordset->RecordCount(); } $tofferers_list->StartRec = 1; if ($tofferers_list->DisplayRecs <= 0 || ($tofferers->Export <> "" && $tofferers->ExportAll)) // Display all records $tofferers_list->DisplayRecs = $tofferers_list->TotalRecs; if (!($tofferers->Export <> "" && $tofferers->ExportAll)) $tofferers_list->SetUpStartRec(); // Set up start record position if ($bSelectLimit) $tofferers_list->Recordset = $tofferers_list->LoadRecordset($tofferers_list->StartRec-1, $tofferers_list->DisplayRecs); // Set no record found message if ($tofferers->CurrentAction == "" && $tofferers_list->TotalRecs == 0) { if (!$Security->CanList()) $tofferers_list->setWarningMessage(ew_DeniedMsg()); if ($tofferers_list->SearchWhere == "0=101") $tofferers_list->setWarningMessage($Language->Phrase("EnterSearchCriteria")); else $tofferers_list->setWarningMessage($Language->Phrase("NoRecord")); } $tofferers_list->RenderOtherOptions(); ?> CanSearch()) { ?> Export == "" && $tofferers->CurrentAction == "") { ?>
    SearchWhere <> "") ? " in" : ""; ?>
    ">
    ShowPageHeader(); ?> ShowMessage(); ?> TotalRecs > 0 || $tofferers->CurrentAction <> "") { ?>
    Export == "") { ?>
    CurrentAction <> "gridadd" && $tofferers->CurrentAction <> "gridedit") { ?>
    Pager)) $tofferers_list->Pager = new cNumericPager($tofferers_list->StartRec, $tofferers_list->DisplayRecs, $tofferers_list->TotalRecs, $tofferers_list->RecRange) ?> Pager->RecordCount > 0 && $tofferers_list->Pager->Visible) { ?>
    Phrase("Record") ?> Pager->FromIndex ?> Phrase("To") ?> Pager->ToIndex ?> Phrase("Of") ?> Pager->RecordCount ?>
    TotalRecs > 0 && (!EW_AUTO_HIDE_PAGE_SIZE_SELECTOR || $tofferers_list->Pager->Visible)) { ?>
    OtherOptions as &$option) $option->Render("body"); ?>
    CheckToken) { ?>
    ewGridMiddlePanel"> TotalRecs > 0 || $tofferers->CurrentAction == "gridedit") { ?> TableCustomInnerHtml ?> RowType = EW_ROWTYPE_HEADER; // Render list options $tofferers_list->RenderListOptions(); // Render list options (header, left) $tofferers_list->ListOptions->Render("header", "left"); ?> Name->Visible) { // Name ?> SortUrl($tofferers->Name) == "") { ?> Surname->Visible) { // Surname ?> SortUrl($tofferers->Surname) == "") { ?> Institution_Type->Visible) { // Institution_Type ?> SortUrl($tofferers->Institution_Type) == "") { ?> Institution_Name->Visible) { // Institution_Name ?> SortUrl($tofferers->Institution_Name) == "") { ?> Address->Visible) { // Address ?> SortUrl($tofferers->Address) == "") { ?> Phone->Visible) { // Phone ?> SortUrl($tofferers->Phone) == "") { ?> Phone_Mobile->Visible) { // Phone_Mobile ?> SortUrl($tofferers->Phone_Mobile) == "") { ?> Town->Visible) { // Town ?> SortUrl($tofferers->Town) == "") { ?> ListOptions->Render("header", "right"); ?> ExportAll && $tofferers->Export <> "") { $tofferers_list->StopRec = $tofferers_list->TotalRecs; } else { // Set the last record to display if ($tofferers_list->TotalRecs > $tofferers_list->StartRec + $tofferers_list->DisplayRecs - 1) $tofferers_list->StopRec = $tofferers_list->StartRec + $tofferers_list->DisplayRecs - 1; else $tofferers_list->StopRec = $tofferers_list->TotalRecs; } $tofferers_list->RecCnt = $tofferers_list->StartRec - 1; if ($tofferers_list->Recordset && !$tofferers_list->Recordset->EOF) { $tofferers_list->Recordset->MoveFirst(); $bSelectLimit = $tofferers_list->UseSelectLimit; if (!$bSelectLimit && $tofferers_list->StartRec > 1) $tofferers_list->Recordset->Move($tofferers_list->StartRec - 1); } elseif (!$tofferers->AllowAddDeleteRow && $tofferers_list->StopRec == 0) { $tofferers_list->StopRec = $tofferers->GridAddRowCount; } // Initialize aggregate $tofferers->RowType = EW_ROWTYPE_AGGREGATEINIT; $tofferers->ResetAttrs(); $tofferers_list->RenderRow(); while ($tofferers_list->RecCnt < $tofferers_list->StopRec) { $tofferers_list->RecCnt++; if (intval($tofferers_list->RecCnt) >= intval($tofferers_list->StartRec)) { $tofferers_list->RowCnt++; // Set up key count $tofferers_list->KeyCount = $tofferers_list->RowIndex; // Init row class and style $tofferers->ResetAttrs(); $tofferers->CssClass = ""; if ($tofferers->CurrentAction == "gridadd") { } else { $tofferers_list->LoadRowValues($tofferers_list->Recordset); // Load row values } $tofferers->RowType = EW_ROWTYPE_VIEW; // Render view // Set up row id / data-rowindex $tofferers->RowAttrs = array_merge($tofferers->RowAttrs, array('data-rowindex'=>$tofferers_list->RowCnt, 'id'=>'r' . $tofferers_list->RowCnt . '_tofferers', 'data-rowtype'=>$tofferers->RowType)); // Render row $tofferers_list->RenderRow(); // Render list options $tofferers_list->RenderListOptions(); ?> RowAttributes() ?>> ListOptions->Render("body", "left", $tofferers_list->RowCnt); ?> Name->Visible) { // Name ?> Surname->Visible) { // Surname ?> Institution_Type->Visible) { // Institution_Type ?> Institution_Name->Visible) { // Institution_Name ?> Address->Visible) { // Address ?> Phone->Visible) { // Phone ?> Phone_Mobile->Visible) { // Phone_Mobile ?> Town->Visible) { // Town ?> ListOptions->Render("body", "right", $tofferers_list->RowCnt); ?> CurrentAction <> "gridadd") $tofferers_list->Recordset->MoveNext(); } ?>
    Name->FldCaption() ?>
    Name->FldCaption() ?>Phrase("SrchLegend") ?>Name->getSort() == "ASC") { ?>Name->getSort() == "DESC") { ?>
    Surname->FldCaption() ?>
    Surname->FldCaption() ?>Phrase("SrchLegend") ?>Surname->getSort() == "ASC") { ?>Surname->getSort() == "DESC") { ?>
    Institution_Type->FldCaption() ?>
    Institution_Type->FldCaption() ?>Institution_Type->getSort() == "ASC") { ?>Institution_Type->getSort() == "DESC") { ?>
    Institution_Name->FldCaption() ?>
    Institution_Name->FldCaption() ?>Phrase("SrchLegend") ?>Institution_Name->getSort() == "ASC") { ?>Institution_Name->getSort() == "DESC") { ?>
    Address->FldCaption() ?>
    Address->FldCaption() ?>Phrase("SrchLegend") ?>Address->getSort() == "ASC") { ?>Address->getSort() == "DESC") { ?>
    Phone->FldCaption() ?>
    Phone->FldCaption() ?>Phrase("SrchLegend") ?>Phone->getSort() == "ASC") { ?>Phone->getSort() == "DESC") { ?>
    Phone_Mobile->FldCaption() ?>
    Phone_Mobile->FldCaption() ?>Phrase("SrchLegend") ?>Phone_Mobile->getSort() == "ASC") { ?>Phone_Mobile->getSort() == "DESC") { ?>
    Town->FldCaption() ?>
    Town->FldCaption() ?>Phrase("SrchLegend") ?>Town->getSort() == "ASC") { ?>Town->getSort() == "DESC") { ?>
    Name->CellAttributes() ?>> Name->ViewAttributes() ?>> Name->ListViewValue() ?> RowCnt ?>"> Surname->CellAttributes() ?>> Surname->ViewAttributes() ?>> Surname->ListViewValue() ?> Institution_Type->CellAttributes() ?>> Institution_Type->ViewAttributes() ?>> Institution_Type->ListViewValue() ?> Institution_Name->CellAttributes() ?>> Institution_Name->ViewAttributes() ?>> Institution_Name->ListViewValue() ?> Address->CellAttributes() ?>> Address->ViewAttributes() ?>> Address->ListViewValue() ?> Phone->CellAttributes() ?>> Phone->ViewAttributes() ?>> Phone->ListViewValue() ?> Phone_Mobile->CellAttributes() ?>> Phone_Mobile->ViewAttributes() ?>> Phone_Mobile->ListViewValue() ?> Town->CellAttributes() ?>> Town->ViewAttributes() ?>> Town->ListViewValue() ?>
    CurrentAction == "") { ?>
    Recordset) $tofferers_list->Recordset->Close(); ?> Export == "") { ?>
    TotalRecs == 0 && $tofferers->CurrentAction == "") { // Show other options ?>
    OtherOptions as &$option) { $option->ButtonClass = ""; $option->Render("body", ""); } ?>
    Export == "") { ?> ShowPageFooter(); if (EW_DEBUG_ENABLED) echo ew_DebugMsg(); ?> Export == "") { ?> Page_Terminate(); ?>