public function fetchData() { if ($this->m_ActiveRecord != null) { return $this->m_ActiveRecord; } $dataObj = $this->getDataObj(); if ($dataObj == null) { return; } QueryStringParam::setBindValues($this->m_SearchRuleBindValues); if ($this->m_RefreshData) { $dataObj->resetRules(); } else { $dataObj->clearSearchRule(); } if ($this->m_FixSearchRule) { if ($this->m_SearchRule) { $searchRule = $this->m_SearchRule . " AND " . $this->m_FixSearchRule; } else { $searchRule = $this->m_FixSearchRule; } } $dataObj->setSearchRule($searchRule); QueryStringParam::setBindValues($this->m_SearchRuleBindValues); $resultRecords = $dataObj->fetch(); foreach ($resultRecords as $record) { $settingRecord["_" . $record['name']] = $record["value"]; } $this->m_RecordId = $resultRecords[0]['Id']; $this->setActiveRecord($settingRecord); QueryStringParam::ReSet(); return $settingRecord; }
public function fetchDataSet() { $dataObj = $this->getDataObj(); if (!$dataObj) { return null; } QueryStringParam::setBindValues($this->m_SearchRuleBindValues); if ($this->m_RefreshData) { $dataObj->resetRules(); } else { $dataObj->clearSearchRule(); } if ($this->m_FixSearchRule) { if ($this->m_SearchRule) { $searchRule = $this->m_SearchRule . " AND " . $this->m_FixSearchRule; } else { $searchRule = $this->m_FixSearchRule; } } else { $searchRule = $this->m_SearchRule; } $dataObj->setSearchRule($searchRule); if ($this->m_StartItem > 1) { $dataObj->setLimit($this->m_Range, $this->m_StartItem); } else { $dataObj->setLimit($this->m_Range, ($this->m_CurrentPage - 1) * $this->m_Range); } //$resultRecords = $dataObj->fetch(); $resultRecordTree = $dataObj->fetchTree($this->m_RootSearchRule, $this->m_TreeDepth); if (is_array($resultRecordTree)) { foreach ($resultRecordTree as $resultRecordTreeNode) { $this->tree2array($resultRecordTreeNode, $resultRecords); } } $this->m_TotalRecords = $dataObj->count(); if ($this->m_Range && $this->m_Range > 0) { $this->m_TotalPages = ceil($this->m_TotalRecords / $this->m_Range); } $selectedIndex = 0; $this->getDataObj()->setActiveRecord($resultRecords[$selectedIndex]); QueryStringParam::ReSet(); return $resultRecords; }
public function fetchDataGroup() { //get group list first $dataObj = $this->getDataObj(); if (!$dataObj) { return null; } if ($this->m_RefreshData) { $dataObj->resetRules(); } else { $dataObj->clearSearchRule(); } if (strpos($this->m_GroupBy, ":")) { preg_match("/\\[(.*?):(.*?)\\]/si", $this->m_GroupBy, $match); $GroupFieldName = $match[1]; $GroupField = $match[2]; } else { $GroupField = str_replace("[", "", $this->m_GroupBy); $GroupField = str_replace("]", "", $GroupField); } $GroupSQLRule = "GROUP BY [{$GroupField}]"; $dataObj->setOtherSQLRule($GroupSQLRule); //within each group, search records like before QueryStringParam::setBindValues($this->m_SearchRuleBindValues); if ($this->m_FixSearchRule) { if ($this->m_SearchRule) { $searchRule = $this->m_SearchRule . " AND " . $this->m_FixSearchRule; } else { $searchRule = $this->m_FixSearchRule; } } else { $searchRule = $this->m_SearchRule; } $dataObj->setSearchRule($searchRule); $resultRecords = $dataObj->fetch(); $this->m_TotalRecords = $dataObj->count(); if ($this->m_Range && $this->m_Range > 0) { $this->m_TotalPages = ceil($this->m_TotalRecords / $this->m_Range); } QueryStringParam::ReSet(); //looping $i = 0; $results = array(); foreach ($resultRecords as $record) { if ($this->m_RefreshData) { $dataObj->resetRules(); } else { $dataObj->clearSearchRule(); } QueryStringParam::setBindValues($this->m_SearchRuleBindValues); $group_val = $record[$GroupField]; if ($this->m_FixSearchRule) { if ($this->m_SearchRule) { $searchRule = $this->m_SearchRule . " AND " . $this->m_FixSearchRule; } else { $searchRule = $this->m_FixSearchRule; } } else { $searchRule = $this->m_SearchRule; } if ($group_val) { if ($searchRule != "") { $searchRule = $searchRule . " AND [{$GroupField}]='{$group_val}'"; } else { $searchRule = " [{$GroupField}]='{$group_val}'"; } } else { if ($searchRule != "") { $searchRule = $searchRule . " AND [{$GroupField}] is NULL"; } else { $searchRule = " [{$GroupField}] is NULL"; } } $dataObj->setOtherSQLRule(""); $dataObj->setLimit(0, 0); $dataObj->setSearchRule($searchRule); $resultRecords_grouped = $dataObj->fetch(); //renderTable $resultRecords_grouped_table = $this->m_DataPanel->renderTable($resultRecords_grouped); if ($record[$GroupField]) { if ($GroupFieldName) { $results[$record[$GroupFieldName]] = $resultRecords_grouped_table; } else { $results[$record[$GroupField]] = $resultRecords_grouped_table; } } else { $results["Empty"] = $resultRecords_grouped_table; } $i++; QueryStringParam::ReSet(); } //set active records $selectedIndex = 0; $this->getDataObj()->setActiveRecord($resultRecords[$selectedIndex]); return $results; }
/** * Fetch single record * * @return array one record array */ public function fetchData() { QueryStringParam::setBindValues($this->m_SearchRuleBindValues); // if has valid active record, return it, otherwise do a query if ($this->m_ActiveRecord != null) { return $this->m_ActiveRecord; } $dataObj = $this->getDataObj(); if ($dataObj == null) { return; } if ($this->m_FormType == "NEW") { return $this->getNewRecord(); } if (!$this->m_FixSearchRule && !$this->m_SearchRule) { return array(); } if ($this->m_RefreshData) { $dataObj->resetRules(); } else { $dataObj->clearSearchRule(); } if ($this->m_FixSearchRule) { if ($this->m_SearchRule) { $searchRule = $this->m_SearchRule . " AND " . $this->m_FixSearchRule; } else { $searchRule = $this->m_FixSearchRule; } } $dataObj->setSearchRule($searchRule); QueryStringParam::setBindValues($this->m_SearchRuleBindValues); $dataObj->setLimit(1); $resultRecords = $dataObj->fetch(); $this->m_RecordId = $resultRecords[0]['Id']; $this->setActiveRecord($resultRecords[0]); QueryStringParam::ReSet(); return $resultRecords[0]; }