MakeQuery/MakeQuerySingleTable * * @author Erwan Taloc * @author Romain Quetiez * @author Denis Flaven * @license http://www.opensource.org/licenses/gpl-3.0.html LGPL */ class QueryBuilderContext { protected $m_oRootFilter; protected $m_aClassAliases; protected $m_aTableAliases; protected $m_aModifierProperties; public $m_oQBExpressions; public function __construct($oFilter, $aModifierProperties) { $this->m_oRootFilter = $oFilter; $this->m_oQBExpressions = new QueryBuilderExpressions($oFilter->GetCriteria()); $this->m_aClassAliases = $oFilter->GetJoinedClasses(); $this->m_aTableAliases = array(); $this->m_aModifierProperties = $aModifierProperties; } public function GetRootFilter() { return $this->m_oRootFilter; } public function GenerateTableAlias($sNewName, $sRealName) { return MetaModel::GenerateUniqueAlias($this->m_aTableAliases, $sNewName, $sRealName); } public function GenerateClassAlias($sNewName, $sRealName) { return MetaModel::GenerateUniqueAlias($this->m_aClassAliases, $sNewName, $sRealName); } public function GetModifierProperties($sPluginClass) { if (array_key_exists($sPluginClass, $this->m_aModifierProperties)) { return $this->m_aModifierProperties[$sPluginClass]; } else { return array(); } } } ?>