19declare(strict_types=1);
98 if (!is_numeric(
$params[
'limit'])) {
99 throw new InvalidArgumentException(
'Please provide a valid numerical limit.');
102 if (!isset(
$params[
'offset'])) {
104 } elseif (!is_numeric(
$params[
'offset'])) {
105 throw new InvalidArgumentException(
'Please provide a valid numerical offset.');
111 $where = $where !==
'' ?
'WHERE ' . $where :
'';
112 $query =
"SELECT $select FROM $from $where";
115 $query .=
" GROUP BY $group";
118 if ($having !==
'') {
119 $query .=
" HAVING $having";
123 $query .=
" ORDER BY $order";
127 while ($row = $this->db->fetchAssoc(
$res)) {
128 $data[
'items'][] = $row;
132 $cnt_sql =
"SELECT COUNT(*) cnt FROM ($query) subquery";
133 $row_cnt = $this->db->fetchAssoc($this->db->query($cnt_sql));
134 $data[
'cnt'] = (
int) $row_cnt[
'cnt'];
Class ilTermsOfServiceTableDatabaseDataProvider.
getWherePart(array $params, array $filter)
getOrderByPart(array $params, array $filter)
getSelectPart(array $params, array $filter)
getGroupByPart(array $params, array $filter)
getList(array $params, array $filter)
__construct(ilDBInterface $db)
getFromPart(array $params, array $filter)
getHavingPart(array $params, array $filter)
Interface ilTermsOfServiceTableDataProvider.
if(! $DIC->user() ->getId()||!ilLTIConsumerAccess::hasCustomProviderCreationAccess()) $params