/** * Static function for create list page * Read params from setting * Create object of class in accordance with mode displaying page * @param String strTableName * @param Array options */ static function &createListPage($strTableName, $options) { global $isGroupSecurity; $gSettings = new ProjectSettings($strTableName, $options['pageType']); $gQuery = $gSettings->getSQLQuery(); $params = $options; $params['tName'] = $strTableName; $params['origTName'] = $gSettings->getOriginalTableName(); $params['gPageSize'] = $gSettings->getInitialPageSize(); $params['gOrderIndexes'] = $gSettings->getOrderIndexes(); $params['gstrOrderBy'] = $gQuery->OrderByToSql(); $params['gsqlHead'] = $gQuery->HeadToSql(); $params['gsqlFrom'] = $gQuery->FromToSql(); $params['gsqlWhereExpr'] = $gQuery->WhereToSql(); $params['gsqlGroupBy'] = $gQuery->GroupByToSql(); $params['gsqlHaving'] = $gQuery->Having()->toSql($gQuery); $params['nSecOptions'] = $gSettings->getAdvancedSecurityType(); $params['nLoginMethod'] = GetGlobalData("nLoginMethod", 0); $params['recsPerRowList'] = isMobile() ? 1 : $gSettings->getRecordsPerRowList(); $params['mainTableOwnerID'] = $gSettings->getTableOwnerIdField(); $params['exportTo'] = $gSettings->hasExportPage(); $params['printFriendly'] = $gSettings->hasPrintPage(); $params['deleteRecs'] = $gSettings->hasDelete(); $params["isGroupSecurity"] = $isGroupSecurity; $params['arrKeyFields'] = $gSettings->getTableKeys(); $params["isUseInlineAdd"] = $gSettings->hasInlineAdd(); $params["isUseInlineEdit"] = $gSettings->hasInlineEdit(); $params["panelSearchFields"] = $gSettings->getPanelSearchFields(); $params['listGridLayout'] = $gSettings->getListGridLayout(); $params['createLoginPage'] = GetGlobalData("createLoginPage", false); $params['noRecordsFirstPage'] = $gSettings->noRecordsOnFirstPage(); $params['totalsFields'] = $gSettings->getTotalsFields(); $params['listAjax'] = $gSettings->ajaxBasedListPage(); $params['arrRecsPerPage'] = $gSettings->getRecordsPerPageArray(); $params['isScrollGridBody'] = $gSettings->getScrollGridBody(); $params['viewPDF'] = $gSettings->isViewPagePDF() || $gSettings->isPrinterPagePDF(); $params['audit'] = GetAuditObject($table); $params['listFields'] = array(); $allfields = $gSettings->getListFields(); foreach ($allfields as $f) { if (!$gSettings->appearOnListPage($f)) { continue; } $params['listFields'][] = array("fName" => $f, "goodFieldName" => GoodFieldName($f), "valueFieldName" => GoodFieldName($f) . "_value", "viewFormat" => $gSettings->getViewFormat($f), "editFormat" => $gSettings->getEditFormat($f)); } // choose class by mode if ($params["mode"] == LIST_SIMPLE) { $pageObject = new ListPage_Simple($params); } else { if ($params["mode"] == LIST_AJAX) { $pageObject = new ListPage_Ajax($params); } else { if ($params["mode"] == LIST_LOOKUP) { $pageObject = new ListPage_Lookup($params); } else { if ($params["mode"] == LIST_DETAILS || $params["mode"] == LIST_DASHDETAILS) { $pageObject = new ListPage_DPInline($params); } else { if ($params["mode"] == RIGHTS_PAGE) { $pageObject = new RightsPage($params); } else { if ($params["mode"] == MEMBERS_PAGE) { $pageObject = new MembersPage($params); } else { if ($params["mode"] == LIST_DASHBOARD) { $pageObject = new ListPage_Dashboard($params); } } } } } } } $pageObject->init(); return $pageObject; }
/** * Static function for create list page * Read params from setting * Create object of class in accordance with mode displaying page */ function &createListPage($table, $options) { global $bSubqueriesSupported, $strTableName, $conn, $locale_info, $isGroupSecurity; $gSettings = new ProjectSettings($strTableName, $options['pageType']); $gQuery = $gSettings->getSQLQuery(); $params = array(); $params = $options; $params['origTName'] = $gSettings->getOriginalTableName(); $params['sessionPrefix'] = $strTableName; $params['tName'] = $table; $params['conn'] =& $conn; $params['gPageSize'] = $gSettings->getInitialPageSize(); $params['gOrderIndexes'] = $gSettings->getOrderIndexes(); $params['gstrOrderBy'] = $gQuery->OrderByToSql(); $params['gsqlHead'] = $gQuery->HeadToSql(); $params['gsqlFrom'] = $gQuery->FromToSql(); $params['gsqlWhereExpr'] = $gQuery->WhereToSql(); $params['gsqlGroupBy'] = $gQuery->GroupByToSql(); $params['gsqlHaving'] = $gQuery->Having()->toSql($gQuery); $params['locale_info'] =& $locale_info; $params["subQueriesSupp"] = $bSubqueriesSupported; $params['nSecOptions'] = $gSettings->getAdvancedSecurityType(); $params['nLoginMethod'] = GetGlobalData("nLoginMethod", 0); $params['recsPerRowList'] = $gSettings->getRecordsPerRowList(); $params['dbType'] = GetGlobalData("dbType", 0); $params['mainTableOwnerID'] = $gSettings->getTableOwnerIdField(); $params['moveNext'] = $gSettings->useMoveNext(); $params['exportTo'] = $gSettings->hasExportPage(); $params['printFriendly'] = $gSettings->hasPrintPage(); $params['deleteRecs'] = $gSettings->hasDelete(); $params['rowHighlite'] = $gSettings->highlightRows(); $params["isGroupSecurity"] = $isGroupSecurity; $params['arrKeyFields'] = $gSettings->getTableKeys(); $params["isUseInlineAdd"] = $gSettings->hasInlineAdd(); $params["isUseInlineEdit"] = $gSettings->hasInlineEdit(); $params["isUseInlineJs"] = $params["isUseInlineAdd"] || $params["isUseInlineEdit"]; $params["panelSearchFields"] = $gSettings->getPanelSearchFields(); $params['isVerLayout'] = $gSettings->isVerticalLayoutList(); $params['isDisplayLoading'] = $gSettings->displayLoading(); $params['createLoginPage'] = GetGlobalData("createLoginPage", false); $params['subQueriesSupAccess'] = $gSettings->tableSupportsSubqueries(); $params['noRecordsFirstPage'] = $gSettings->noRecordsOnFirstPage(); $params['totalsFields'] = $gSettings->getTotalsFields(); $params['listIcons'] = $gSettings->iconsOnList(); $params['edit'] = $gSettings->hasEditPage(); $params['inlineEdit'] = $gSettings->hasInlineEdit(); $params['iCopy'] = $gSettings->hasCopyPage(); $params['iView'] = $gSettings->hasViewPage(); $params['listAjax'] = $gSettings->ajaxBasedListPage(); $params['arrRecsPerPage'] = $gSettings->getRecordsPerPageArray(); $params['isScrollGridBody'] = $gSettings->getScrollGridBody(); $params['audit'] = GetAuditObject($table); $params['listFields'] = array(); $allfields = $gSettings->getListFields(); foreach ($allfields as $f) { if (!$gSettings->appearOnListPage($f)) { continue; } $params['listFields'][] = array("fName" => $f, "goodFieldName" => GoodFieldName($f), "valueFieldName" => GoodFieldName($f) . "_value", "viewFormat" => $gSettings->getViewFormat($f), "editFormat" => $gSettings->getEditFormat($f)); } // choose class by mode if ($params["mode"] == LIST_SIMPLE) { $pageObject = new ListPage_Simple($params); } else { if ($params["mode"] == LIST_AJAX) { $pageObject = new ListPage_Ajax($params); } else { if ($params["mode"] == LIST_LOOKUP) { $pageObject = new ListPage_Lookup($params); } else { if ($params["mode"] == LIST_DETAILS) { $pageObject = new ListPage_DPInline($params); } else { if ($params["mode"] == RIGHTS_PAGE) { $pageObject = new RightsPage($params); } else { if ($params["mode"] == MEMBERS_PAGE) { $pageObject = new MembersPage($params); } } } } } } return $pageObject; }
function SearchClause(&$params) { global $strTableName; $this->searchOptions["contains"] = array("option" => "Contains", "not" => false); $this->searchOptions["equals"] = array("option" => "Equals", "not" => false); $this->searchOptions["startswith"] = array("option" => "Starts with", "not" => false); $this->searchOptions["morethan"] = array("option" => "More than", "not" => false); $this->searchOptions["lessthan"] = array("option" => "Less than", "not" => false); $this->searchOptions["between"] = array("option" => "Between", "not" => false); $this->searchOptions["empty"] = array("option" => "Empty", "not" => false); $this->searchOptions["notcontain"] = array("option" => "Contains", "not" => true); $this->searchOptions["notequal"] = array("option" => "Equals", "not" => true); $this->searchOptions["notstartwith"] = array("option" => "Starts with", "not" => true); $this->searchOptions["notmorethan"] = array("option" => "More than", "not" => true); $this->searchOptions["lessequal"] = array("option" => "More than", "not" => true); $this->searchOptions["notlessthan"] = array("option" => "Less than", "not" => true); $this->searchOptions["moreequal"] = array("option" => "Less than", "not" => true); $this->searchOptions["notbetween"] = array("option" => "Between", "not" => true); $this->searchOptions["notempty"] = array("option" => "Empty", "not" => true); $this->tName = $params['tName'] ? $params['tName'] : $strTableName; $this->sessionPrefix = $params['sessionPrefix'] ? $params['sessionPrefix'] : $this->tName; $this->searchFieldsArr = $params['searchFieldsArr']; $this->cipherer = $params['cipherer']; $settings = new ProjectSettings($this->tName, PAGE_SEARCH); $this->panelSearchFields = $params['panelSearchFields'] ? $params['panelSearchFields'] : $settings->getPanelSearchFields(); $this->googleLikeFields = $params['googleLikeFields'] ? $params['googleLikeFields'] : $settings->getGoogleLikeFields(); $this->requiredSearchFields = $params['requiredSearchFields'] ? $params['requiredSearchFields'] : $settings->getSearchRequiredFields(); $this->isShowSimpleSrchOpt = $settings->showSimpleSearchOptions(); $this->searchSavingEnabled = $params['searchSavingEnabled'] ? $params['searchSavingEnabled'] : false; $this->dashTName = $params['dashTName'] ? $params['dashTName'] : ""; $this->dashElementName = $params['dashElementName'] ? $params['dashElementName'] : ""; }
} $sessionPrefix = $strTableName; $cipherer = new RunnerCipherer($strTableName); $pSet = new ProjectSettings($strTableName, PAGE_SEARCH); // array of fields which were added in wizard for search $allSearchFields = $pSet->getAllSearchFields(); // SearchClause class stuff if (isset($_SESSION[$sessionPrefix . '_advsearch'])) { $searchClauseObj = unserialize($_SESSION[$sessionPrefix . '_advsearch']); } else { $params = array(); $params['tName'] = $strTableName; $params['cipherer'] = $cipherer; $params['searchFieldsArr'] = $allSearchFields; $params['sessionPrefix'] = $sessionPrefix; $params['panelSearchFields'] = $pSet->getPanelSearchFields(); $params['googleLikeFields'] = $pSet->getGoogleLikeFields(); $searchClauseObj = new SearchClause($params); } // array of vals $response = array(); if (postvalue("start")) { $suggestAllContent = false; } $searchFor = postvalue('searchFor'); $searchField = GoodFieldName(postvalue('searchField')); $strSecuritySql = SecuritySQL("Search", $strTableName); $detailKeys = array(); $masterWhere = ""; if ($searchField == "") { $allSearchFields = $pSet->getGoogleLikeFields();