/** * Generate query for contribution search. * * @param array $versions Supported phpBB versions to limit search to. * @param array $categories Categories to filter by. * @param bool $search_subcategories Whether to search a category children. * * @return null */ protected function generate_contrib_query($versions, $categories, $search_subcategories) { if (!empty($categories) && (sizeof($categories) != 1 || $categories[0] != 0)) { // Grab the children if ($search_subcategories) { foreach ($categories as $category_id) { $categories = array_merge($categories, array_keys($this->cache->get_category_children($category_id))); } } $this->engine->where_in_set('categories', $categories); } if (!empty($versions)) { $this->engine->where_in_set('phpbb_versions', $versions); } $this->engine->set_type(TITANIA_CONTRIB); }
/** * Get the id's of the current category's children. * * @return array */ protected function get_children_ids() { return array_keys($this->cache->get_category_children($this->id)); }