db->query( $query ); return $result->result(); } public function display_search_faq($id) { $sql = ""; if ( isset( $id ) ) { $sql = "WHERE CONCAT(ques.question) LIKE \"%" . addslashes($id) . "%\" "; } $result = $this->db->query( "SELECT subj.subject, subj.subject_id, ques.question, ques.question_id, reps.reply, reps.reply_id, link.link FROM frontoffice_faq_subject subj LEFT JOIN frontoffice_faq_questions ques ON subj.subject_id = ques.subject_id LEFT JOIN frontoffice_faq_replies reps ON ques.question_id = reps.question_id LEFT JOIN frontoffice_faq_link link ON reps.reply_id = link.reply_id $sql" ); if ( $result->num_rows() > 0 ) { $arr = []; foreach ( $result->result_array() as $key => $value ) { array_push( $arr, array( "question" => $value['question'], "q_id"=>$value['question_id'], "reply_id" =>$value['reply_id'], "subject_id"=>$value['subject_id'] //"template_name" => $value['email_tpl_name'] ) ); } return $arr; }else{ return false; } } public function displaysearchfaq($id) { $sql = addslashes($id); $result = $this->db->query( "SELECT subj.subject, subj.subject_id, ffq.question, ffqk.question_id, reps.reply, reps.reply_id, link.link FROM `frontoffice_faq_question_keywords` ffqk JOIN frontoffice_faq_keywords ffk JOIN frontoffice_faq_questions ffq JOIN frontoffice_faq_replies reps JOIN frontoffice_faq_link link JOIN frontoffice_faq_subject subj WHERE ffqk.keyword_id = ffk.keyword_id AND ffq.question_id=ffqk.question_id AND ffk.keyword LIKE ? AND reps.reply_id = ffqk.question_id AND subj.subject_id = ffq.subject_id GROUP BY ffqk.question_id", array($sql)); $arr = []; if ( $result->num_rows() > 0 ) { foreach ( $result->result_array() as $key => $value ) { array_push( $arr, [ "question" => $value['question'], "q_id" => $value['question_id'], "reply_id" => $value['reply_id'], "reply" => $value['reply'], "subject_id" => $value['subject_id'], //"template_name" => $value['email_tpl_name'] "result" => "success" ] ); } } return $arr; } public function compares($keyword) { $result = $this->db->query("SELECT subj.subject, subj.subject_id, ffq.question, ffqk.question_id, reps.reply, reps.reply_id, link.link FROM `frontoffice_faq_question_keywords` ffqk JOIN frontoffice_faq_keywords ffk JOIN frontoffice_faq_questions ffq JOIN frontoffice_faq_replies reps JOIN frontoffice_faq_link link JOIN frontoffice_faq_subject subj WHERE ffqk.keyword_id = ffk.keyword_id AND ffq.question_id=ffqk.question_id AND ffk.keyword = ? AND reps.reply_id = link.reply_id AND subj.subject_id = ffq.subject_id GROUP BY ffqk.question_id", array($keyword)); if ( $result->num_rows() > 0 ) { $arr = []; foreach ( $result->result_array() as $key => $value ) { array_push( $arr, array( "question" => $value['question'], "link"=>$value['link'], "q_id"=>$value['question_id'], "reply_id" =>$value['reply_id'], "reply" =>$value['reply'], "subject_id"=>$value['subject_id'] ) ); } return $arr; } } public function suggestions() { $result = $this->db->query( "SELECT subj.subject, subj.subject_id, ques.question, ques.question_id, reps.reply, reps.reply_id, link.link FROM frontoffice_faq_subject subj LEFT JOIN frontoffice_faq_questions ques ON subj.subject_id = ques.subject_id LEFT JOIN frontoffice_faq_replies reps ON ques.question_id = reps.question_id LEFT JOIN frontoffice_faq_link link ON reps.reply_id = link.reply_id WHERE ques.question IS NOT NULL" ); if ( $result->num_rows() > 0 ) { $arr = []; foreach ( $result->result_array() as $key => $value ) { array_push( $arr, array( "question" => $value['question'], "q_id"=>$value['question_id'], "reply_id" =>$value['reply_id'], "subject_id"=>$value['subject_id'] //"template_name" => $value['email_tpl_name'] ) ); } return $arr; } } public function list_faq_cat() { $result = $this->db->query( "SELECT * FROM frontoffice_faq_subject ORDER BY FIELD(subject_id, 1, 2, 3, 6, 4, 5)" ); if ( $result->num_rows() > 0 ) { return $result->result(); } } public function addQuestion( $q, $s, $r, $user_id) { $data1 = array( 'subject_id' => $s, 'question' => $q, 'author' => $user_id, 'status' => 1, 'date_time' => date('Y-m-d H:i:s') ); $this->db->insert('frontoffice_faq_questions', $data1 ); $q_id = $this->db->insert_id(); $data2 = array( 'question_id' => $q_id, 'reply' => $r, 'author' => $user_id, 'status' => 1, 'date_time' => date('Y-m-d H:i:s') ); $this->db->insert('frontoffice_faq_replies', $data2 ); if ($this->db->affected_rows()>0){ return true; }else{ return false; } } public function listfaqquestions() { $qry = $this->db->query( "SELECT * FROM frontoffice_faq_questions ffq JOIN frontoffice_faq_replies ffr WHERE ffq.question_id=ffr.question_id " ); if ( $qry->num_rows() > 0 ) { return $qry->result(); } } public function display_catQ($id) { $qry = $this->db->query( "SELECT * FROM frontoffice_faq_questions ffq JOIN frontoffice_faq_replies ffr WHERE ffq.question_id=ffr.question_id AND ffq.subject_id=?", array($id) ); if ( $qry->num_rows() > 0 ) { return $qry->result(); } } public function display_reply($qid,$id) { $questionID = $qid; $Id = $id; $qry = $this->db->query("SELECT * FROM frontoffice_faq_questions ffq JOIN frontoffice_faq_replies ffr JOIN frontoffice_faq_subject ffs WHERE ffq.question_id=? AND ffr.reply_id=? AND ffs.subject_id = ffq.subject_id", array($questionID,$Id)); if ( $qry->num_rows() > 0 ) { return $qry->result(); } } public function natureofbusiness() { $qry = $this->db->query("SELECT * FROM contact_nature_of_business"); if ( $qry->num_rows() > 0 ) { return $qry->result(); } } public function getQuestion($q) { $qry = $this->db->query("SELECT * FROM frontoffice_faq_questions ffq JOIN frontoffice_faq_replies ffr WHERE ffq.question_id=ffr.question_id AND ffq.question_id= ?",array($q)); if ( $qry->num_rows() > 0 ) { return $qry->row(); }else{ return false; } } public function deleteQuestion($q) { $qry = $this->db->query('DELETE FROM frontoffice_faq_questions WHERE question_id= ?', array($q)); $qry1 = $this->db->query('DELETE FROM frontoffice_faq_replies WHERE question_id= ?', array($q)); if ($this->db->affected_rows()) { return true; }else{ return false; } } public function editQuestion($qid, $q, $s, $a) { $questionId = $qid; $subjectId = $s; $question = $q; $reply = $a; $data = array( 'subject_id' => $subjectId, 'question' => $question, ); $data1 = array( 'reply' => $reply, ); $this->db->where('question_id',$questionId); $this->db->update('frontoffice_faq_questions', $data); $questionUpdated=$this->db->affected_rows(); $this->db->where('question_id',$questionId); $this->db->update('frontoffice_faq_replies', $data1); $replyUpdated=$this->db->affected_rows(); if ($questionUpdated||$replyUpdated) { return true; }else{ return false; } } public function helpfulYes( $q,$a ) { $this->db->insert('frontoffice_faq_helpful_counter', $this->answerHelpful($q,$a)); $q_id = $this->db->insert_id(); if ($this->db->affected_rows()>0){ return true; }else{ return false; } } public function helpfulNo( $q,$a ) { $this->db->insert('frontoffice_faq_helpful_counter', $this->answerHelpful($q,$a)); $q_id = $this->db->insert_id(); if ($this->db->affected_rows()>0){ return true; }else{ return false; } } private function answerHelpful($questionId, $status) : array { return array( 'question_id' => $questionId, 'faq_helpful_status'=> $status, ); } }