26 abstract protected function getSelectPart(array $params, array $filter) : string;
33 abstract protected function getFromPart(array $params, array $filter) : string;
40 abstract protected function getWherePart(array $params, array $filter) : string;
47 abstract protected function getGroupByPart(array $params, array $filter) : string;
55 abstract protected function getHavingPart(array $params, array $filter) : string;
62 abstract protected function getOrderByPart(array $params, array $filter) : string;
70 public function getList(array $params, array $filter) : array
84 if (isset($params[
'limit'])) {
85 if (!is_numeric($params[
'limit'])) {
89 if (!isset($params[
'offset'])) {
90 $params[
'offset'] = 0;
92 if (!is_numeric($params[
'offset'])) {
97 $this->db->setLimit($params[
'limit'], $params[
'offset']);
100 $where = strlen($where) ?
'WHERE ' . $where :
'';
101 $query =
"SELECT {$select} FROM {$from} {$where}";
103 if (strlen($group)) {
104 $query .=
" GROUP BY {$group}";
107 if (strlen($having)) {
108 $query .=
" HAVING {$having}";
111 if (strlen($order)) {
112 $query .=
" ORDER BY {$order}";
116 while ($row = $this->db->fetchAssoc(
$res)) {
117 $data[
'items'][] = $row;
120 if (isset($params[
'limit'])) {
121 $cnt_sql =
"SELECT COUNT(*) cnt FROM ({$query}) subquery";
122 $row_cnt = $this->db->fetchAssoc($this->db->query($cnt_sql));
123 $data[
'cnt'] = $row_cnt[
'cnt'];
getHavingPart(array $params, array $filter)
getSelectPart(array $params, array $filter)
Class ilAccessibilityTableDatabaseDataProvider.
getOrderByPart(array $params, array $filter)
Interface ilAccessibilityTableDataProvider.
getWherePart(array $params, array $filter)
foreach($_POST as $key=> $value) $res
getList(array $params, array $filter)
getFromPart(array $params, array $filter)
getGroupByPart(array $params, array $filter)
__construct(ilDBInterface $db)
ilAccessibilityTableDatabaseDataProvider constructor.