get(DatabaseInterface::class); $query = $db->getQuery(true) ->select('*') ->from($db->quoteName('#__mokosuiteclient_snippets')); if (!empty($filters['search'])) { $search = $db->quote('%' . $db->escape($filters['search'], true) . '%'); $query->where('(' . $db->quoteName('name') . ' LIKE ' . $search . ' OR ' . $db->quoteName('alias') . ' LIKE ' . $search . ')'); } if ($filters['published'] !== '' && $filters['published'] !== null) { $query->where($db->quoteName('published') . ' = ' . (int) $filters['published']); } $query->order($db->quoteName('ordering') . ' ASC, ' . $db->quoteName('name') . ' ASC'); $db->setQuery($query, $offset, $limit); return $db->loadObjectList() ?: []; } public function getTotal(array $filters = []): int { $db = Factory::getContainer()->get(DatabaseInterface::class); $query = $db->getQuery(true) ->select('COUNT(*)') ->from($db->quoteName('#__mokosuiteclient_snippets')); if (!empty($filters['search'])) { $search = $db->quote('%' . $db->escape($filters['search'], true) . '%'); $query->where('(' . $db->quoteName('name') . ' LIKE ' . $search . ' OR ' . $db->quoteName('alias') . ' LIKE ' . $search . ')'); } if ($filters['published'] !== '' && $filters['published'] !== null) { $query->where($db->quoteName('published') . ' = ' . (int) $filters['published']); } $db->setQuery($query); return (int) $db->loadResult(); } }