Esempio n. 1
0
 /**
  * Cache method to populate autocomplete options
  *
  * @param   plgFabrik_Element  $elementModel  element model
  * @param   string             $search        serch string
  *
  * @since   3.0.7
  *
  * @return string  json encoded search results
  */
 public static function cacheAutoCompleteOptions($elementModel, $search)
 {
     $name = $elementModel->getFullName(false, false, false);
     $elementModel->encryptFieldName($name);
     $listModel = $elementModel->getListModel();
     $db = $listModel->getDb();
     $query = $db->getQuery(true);
     $tableName = $listModel->getTable()->db_table_name;
     $query->select('DISTINCT(' . $name . ') AS value, ' . $name . ' AS text')->from($tableName);
     $query->where($name . ' LIKE ' . $db->quote(addslashes('%' . $search . '%')));
     $query = $listModel->_buildQueryJoin($query);
     $query = $listModel->_buildQueryWhere(false, $query);
     $query = $listModel->pluginQuery($query);
     $db->setQuery($query);
     $tmp = $db->loadObjectList();
     foreach ($tmp as &$t) {
         $elementModel->toLabel($t->text);
     }
     return json_encode($tmp);
 }