protected function fetch_datas() { global $dbh; $query = "select id_faq_question from faq_questions !!join!!!!where!! order by faq_question_question_date desc, faq_question_answer_date desc"; $join = $where = array(); $where[] = $_SESSION["id_empr_session"] ? "faq_question_statut in (2,3)" : "faq_question_statut = 2"; if (count($this->themes)) { $where[] = "faq_question_num_theme in (" . implode(",", $this->themes) . ")"; } if (count($this->types)) { $where[] = "faq_question_num_type in (" . implode(",", $this->types) . ")"; } if (count($this->descriptors)) { $join[] = "join faq_questions_categories on id_faq_question=num_faq_question "; $where[] = "num_categ in (" . implode(",", $this->descriptors) . ")"; } if (count($this->years)) { $where[] = "year(faq_question_answer_date) in (" . implode(",", $this->years) . ")"; } $query = str_replace("!!join!!", implode(" ", $join), $query); if (count($where)) { $where = implode(" and ", $where); $query = str_replace("!!where!!", "where " . $where, $query); } else { $query = str_replace("!!where!!", "", $query); } $result = pmb_mysql_query($query); if (pmb_mysql_num_rows($result)) { $this->questions_ids = array(); while ($row = pmb_mysql_fetch_object($result)) { $this->questions_ids[] = $row->id_faq_question; } } if ($this->user_query) { $aq = new analyse_query($this->user_query); $query = $aq->get_query_mot("id_faq_question", "faq_questions_words_global_index", "word", "faq_questions_fields_global_index", "value"); $query .= " where id_faq_question in(" . implode(",", $this->questions_ids) . ")"; $this->questions_ids = array(); $result = pmb_mysql_query($query); if (pmb_mysql_num_rows($result)) { while ($row = pmb_mysql_fetch_object($result)) { $this->questions_ids[] = $row->id_faq_question; } } } }