Exemplo n.º 1
0
 public function __construct(SearchQuery $objSearchQuery, $objParentObject, $strControlId = null)
 {
     try {
         parent::__construct($objParentObject, $strControlId);
     } catch (QCallerException $objExc) {
         $objExc->IncrementOffset();
         throw $objExc;
     }
     $this->objSearchQuery = $objSearchQuery;
     $this->strTemplate = dirname(__FILE__) . '/SearchQueryPanel.tpl.php';
     $this->dtgConditions = new QDataGrid($this);
     $this->dtgConditions->AddColumn(new QDataGridColumn('Item', '<?= $_CONTROL->ParentControl->RenderItem($_ITEM); ?>', 'HtmlEntities=false', 'Width=160px'));
     $this->dtgConditions->AddColumn(new QDataGridColumn('Operation', '<?= $_CONTROL->ParentControl->RenderOperation($_ITEM); ?>', 'HtmlEntities=false', 'Width=180px'));
     $this->dtgConditions->AddColumn(new QDataGridColumn('Value', '<?= $_CONTROL->ParentControl->RenderValue($_ITEM); ?>', 'HtmlEntities=false', 'Width=390px'));
     $this->dtgConditions->SetDataBinder('dtgConditions_Bind', $this);
     $this->btnAddCondition = new QButton($this);
     $this->btnAddCondition->CssClass = 'primary';
     $this->btnAddCondition->Text = 'Add a Condition';
     $this->btnAddCondition->AddAction(new QClickEvent(), new QAjaxControlAction($this, 'btnAddCondition_Click'));
     if ($this->objSearchQuery->Id) {
         $this->objQueryConditionArray = QueryCondition::LoadArrayBySearchQueryId($this->objSearchQuery->Id, QQ::OrderBy(QQN::QueryCondition()->Id));
         $this->objQueryConditionArray[] = new QueryCondition();
     } else {
         $this->objQueryConditionArray = array(new QueryCondition());
     }
     // Single Lookup of Node and Operations
     $this->objNodeArray = array();
     foreach (QueryNode::LoadAll(QQ::OrderBy(QQN::QueryNode()->Name)) as $objNode) {
         $this->objNodeArray[$objNode->Id] = $objNode;
     }
     $this->objOperationArray = array();
     foreach (QueryOperation::LoadAll(QQ::OrderBy(QQN::QueryOperation()->Name)) as $objOperation) {
         $this->objOperationArray[$objOperation->Id] = $objOperation;
     }
 }
Exemplo n.º 2
0
    /**
     * Deletes all associated QueryConditions
     * @return void
     */
    public function DeleteAllQueryConditions()
    {
        if (is_null($this->intId)) {
            throw new QUndefinedPrimaryKeyException('Unable to call UnassociateQueryCondition on this unsaved SearchQuery.');
        }
        // Get the Database Object for this Class
        $objDatabase = SearchQuery::GetDatabase();
        // Journaling
        if ($objDatabase->JournalingDatabase) {
            foreach (QueryCondition::LoadArrayBySearchQueryId($this->intId) as $objQueryCondition) {
                $objQueryCondition->Journal('DELETE');
            }
        }
        // Perform the SQL Query
        $objDatabase->NonQuery('
				DELETE FROM
					`query_condition`
				WHERE
					`search_query_id` = ' . $objDatabase->SqlVariable($this->intId) . '
			');
    }