public function getQueryArray(array $p_keepParameters = array(), array $p_removeParameters = array()) { $queryArray = parent::getQueryArray(); if (!is_null($this->m_language) && $this->m_language->defined()) { $queryArray[CampRequest::LANGUAGE_ID] = $this->m_language->number; } if (!is_null($this->m_issue) && $this->m_issue->defined()) { $queryArray[CampRequest::ISSUE_NR] = $this->m_issue->number; } if (!is_null($this->m_section) && $this->m_section->defined()) { $queryArray[CampRequest::SECTION_NR] = $this->m_section->number; } if (!is_null($this->m_article) && $this->m_article->defined()) { $queryArray[CampRequest::ARTICLE_NR] = $this->m_article->number; } if (count($p_removeParameters) > 0) { $removeKeys = array_combine($p_removeParameters, array_fill(0, count($p_removeParameters, null))); $queryArray = array_diff_key($queryArray, $removeKeys); } if (count($p_keepParameters)) { $keepKeys = array_combine($p_keepParameters, array_fill(0, count($p_keepParameters), null)); $queryArray = array_intersect_key($queryArray, $keepKeys); } return $queryArray; }