Get completion list.
{
include_once './Services/JSON/classes/class.ilJsonUtil.php';
$result->response =
new stdClass();
$result->response->results = array();
if (strlen($a_str) < 3)
{
}
$a_str = str_replace('"', "", $a_str);
$object_types = array('cat','dbk','crs','fold','frm','grp','lm','sahs','glo','mep','htlm','exc','file','qpl','tst','svy','spl',
'chat','icrs','icla','webr','mcst','sess','pg','st','wiki');
$set = $ilDB->query("SELECT title, obj_id FROM object_data WHERE "
.$ilDB->like('title', 'text', $a_str."%")." AND "
.$ilDB->in('type', $object_types, false, 'text')." ORDER BY title");
$max = ($settings->getAutoCompleteLength() > 0)
? $settings->getAutoCompleteLength()
: 10;
$cnt = 0;
$list = array();
$checked = array();
$lim = "";
while (($rec = $ilDB->fetchAssoc($set)) && $cnt < $max)
{
if (!in_array($rec["title"], $list) && !in_array($rec["obj_id"], $checked))
{
{
if (strpos($rec["title"], " ") > 0 || strpos($rec["title"], "-") > 0)
{
$rec["title"] = '"'.$rec["title"].'"';
}
$list[] = $lim.$rec["title"];
$cnt++;
}
$checked[] = $rec["obj_id"];
}
}
$set = $ilDB->query("SELECT rbac_id,obj_id,obj_type, keyword FROM il_meta_keyword WHERE "
.$ilDB->like('keyword', 'text', $a_str."%")." AND "
.$ilDB->in('obj_type', $object_types, false, 'text')." ORDER BY keyword");
while (($rec = $ilDB->fetchAssoc($set)) && $cnt < $max)
{
if (!in_array($rec["keyword"], $list) && !in_array($rec["rbac_id"], $checked))
{
{
if (strpos($rec["keyword"], " ") > 0)
{
$rec["keyword"] = '"'.$rec["keyword"].'"';
}
$list[] = $lim.$rec["keyword"];
$cnt++;
}
}
$checked[] = $rec["rbac_id"];
}
$i = 0;
foreach ($list as $l)
{
$result->response->results[$i] =
new stdClass();
$result->response->results[$i]->term = $l;
$i++;
}
}