Sazanof.ru Блог PHP скрипт для обработки jQuery Autocomplete

PHP скрипт для обработки jQuery Autocomplete

Не так часто, но мне приходилось сталкиваться в виджетом jQuery Autocomplete. А именно с реализацией парсинга данных из базы MySQL. Так вот, этот виджет поддерживает обработку данных json. Ниже приведен скрипт (сниппет) для MODx Evolution, собранный на коленке, однако работает, вполне себе не плохо.

<?php
function normJsonStr($str){
    global $modx;
    $str = preg_replace_callback('/\\\u([a-f0-9]{4})/i', create_function('$m', 'return chr(hexdec($m[1])-1072+224);'), $str);
    return iconv('cp1251', 'utf-8', $str);
}

$sql = "SELECT id,pagetitle FROM ".$modx->getFullTableName('site_content')." WHERE parent IN (7,8,9,10,206,159)";
$res = $modx->db->makeArray($modx->db->query($sql));

$resAr = array();
if ($_GET['term'])
{
  foreach ($res as $it)
  {
    $pt = strtolower($it['pagetitle']);
    // echo $pt;
if (strstr($it['id'],$_GET['term']) or strstr($pt,$_GET['term']))
{
  $resAr[] = array('id'=>$it['id'],'value'=>$it['pagetitle']);
  //$resAr[] = $it['pagetitle'];
}
  }
}

//echo '<pre>';
//print_r ($resAr);
$r = json_encode($resAr);
$res = str_replace ('pagetitle', 'value', $r);
$res = normJsonStr($res);
return $res;
?>

 

Error