123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- <?php
- require_once dirname(__FILE__) . '/../inc/global.inc.php';
- function get_suggestions_from_search_engine($q) {
- if (strlen($q)<2) { return null;}
- global $charset;
- $table_sfv = Database :: get_main_table(TABLE_MAIN_SPECIFIC_FIELD_VALUES);
- $q = Database::escape_string($q);
- $cid = api_get_course_id();
- $sql_add = '';
- if ($cid != -1) {
- $sql_add = " AND course_code = '".$cid."' ";
- }
- $sql = "SELECT * FROM $table_sfv where value LIKE '%$q%'".$sql_add." ORDER BY course_code, tool_id, ref_id, field_id";
- $sql_result = Database::query($sql);
- $data = array();
- $i = 0;
- while ($row = Database::fetch_array($sql_result)) {
- echo api_convert_encoding($row['value'],'UTF-8',$charset)."| value\n";
- if ($i<20) {
- $data[ $row['course_code'] ] [ $row['tool_id'] ] [ $row['ref_id'] ] = 1;
- }
- $i++;
- }
-
-
-
- $more_sugg = array();
- foreach ($data as $cc => $course_id) {
- foreach ($course_id as $ti => $item_tool_id) {
- foreach ($item_tool_id as $ri => $item_ref_id) {
-
- $output = array();
- $field_val = array();
- $sql2 = "SELECT * FROM $table_sfv where course_code = '$cc' AND tool_id = '$ti' AND ref_id = '$ri' ORDER BY field_id";
- $res2 = Database::query($sql2);
-
- $field_id = 0;
- while ($row2 = Database::fetch_array($res2)) {
-
-
-
-
-
-
-
- $field_val[$row2['field_id']] = $row2['value'];
- $current_field_val = '';
- foreach ($field_val as $id => $val) {
- $current_field_val .= $val.' - ';
- }
-
-
-
- if ($field_id == $row2['field_id']) {
-
-
-
-
-
-
- $c = count($output);
- for ($i=0;$i<$c; $i++) {
- $output[($c+$i)] = $current_field_val;
- }
- } else {
-
- $c = count($output);
- if ($c == 0) {
- $output[] = $row2['value'].' - ';
- } else {
- foreach ($output as $i=>$out) {
-
- $output[$i] .= $row2['value'].' - ';
- }
- }
- $field_id = $row2['field_id'];
- }
- }
- foreach ($output as $i=>$out) {
- if (api_stristr($out,$q) === false) {continue;}
- $s = api_convert_encoding(substr($out,0,-3),'UTF-8',$charset) . "| value\n";
- if (!in_array($s,$more_sugg)) {
- $more_sugg[] = $s;
- }
- }
- }
- }
- }
- foreach ($more_sugg as $sugg) {
- echo $sugg;
- }
- }
- $q = strtolower($_GET["q"]);
- if (!$q) return;
- get_suggestions_from_search_engine($q);
|