champ_base_path = "$include_path/indexation/authorities/authperso/champs_base.xml"; parent::__construct($user_query); $this->index_name = 'authperso'; $this->authority_type = AUT_TABLE_AUTHPERSO; $this->authperso_id = $id_authperso; $this->object_table = "authperso_authorities"; $this->object_table_key = "id_authperso_authority"; } protected function get_filters() { $filters = parent::get_filters(); return $filters; } protected function get_search_indexes() { global $lang, $id_authperso, $authperso_id, $sphinx_indexes_prefix; // AR - C'est quand même pas super pratique... $current_authperso_id = $this->authperso_id; if (empty($current_authperso_id)) { $current_authperso_id = ($id_authperso ? $id_authperso : $authperso_id); } if (!empty($current_authperso_id)) { return $sphinx_indexes_prefix . $this->index_name . '_' . $current_authperso_id . '_' . $lang . ',' . $sphinx_indexes_prefix . $this->index_name . '_' . $current_authperso_id; } // On cherche dans toutes les autorités persos $indexes = ''; $result = pmb_mysql_query('select id_authperso from authperso'); if (pmb_mysql_num_rows($result)) { while ($row = pmb_mysql_fetch_object($result)) { if (!empty($indexes)) { $indexes .= ','; } $indexes .= $this->index_name . '_' . $row->id_authperso . '_' . $lang . ',' . $this->index_name . '_' . $row->id_authperso; } } return $indexes; } protected function get_full_raw_query() { global $id_authperso, $authperso_id; $current_authperso_id = $this->authperso_id; if (empty($current_authperso_id)) { $current_authperso_id = ($id_authperso ? $id_authperso : $authperso_id); } if (!empty($current_authperso_id)) { return "SELECT id_authority AS id, 100 AS weight FROM authorities JOIN authperso_authorities ON num_object = id_authperso_authority WHERE type_object = $this->authority_type AND authperso_authority_authperso_num = $current_authperso_id"; } return "SELECT id_authority AS id, 100 AS weight FROM authorities WHERE type_object = $this->authority_type"; } public function get_authority_tri() { return 'authperso_index_infos_global'; } }