function index() { $view = new G2_TwigView('pages/index'); $test_a = R::findOne('audit'); $args = []; if (!empty($_GET)) { $wheres = []; foreach ($_GET as $field => $value) { if (isset($test_a->{$field}) && trim($value)) { $wheres[] = "{$field} LIKE :{$field}"; $args[$field] = $value; } } $where = implode(' AND ', $wheres); } else { $where = ''; } $audits = Audit::deserialize(Mvc_Db::paginate_findAll('audit', 10, "{$where} ORDER BY id DESC", $args)); // Sort into entities $sorted = []; foreach ($audits as $audit) { // Limit to 10 entries per entity if (count($sorted[$audit->entity]) <= 10) { $sorted[$audit->entity][] = $audit; } } $view->set('sorted', $sorted); $view->entities = R::getCol('SELECT DISTINCT entity FROM audit'); $view->set_entity = $_GET['entity']; $view->page_count = Mvc_Db::get_last_total_pages(); $view->current = Mvc_Db::get_current_page(); unset($_GET['p']); $view->current_url = PACKAGE_URL . '?' . http_build_query($_GET); $view->render(); }