public function messagesListAction() { if (Session::hasUser('admin')) { $adminModel = new AdminModel(); $data_admin = $adminModel->getAdminPage(Router::getId()); $request = new Request(); $contactModel = new ContactModel($request); $data_message = $contactModel->getMessagesList(); $items_count = count($data_message); $items_per_page = Config::get('message_per_page'); $currentPage = $request->get('page') ? (int) $request->get('page') : 1; $data_pagination = self::getPagination($items_count, $items_per_page, $currentPage); if ($items_count) { $data_message_page = array_chunk($data_message, $items_per_page, true); if (isset($data_message_page[$currentPage - 1])) { $data_message_page = $data_message_page[$currentPage - 1]; } else { throw new Exception('Page (' . Router::getUri() . ') not found', 404); } } else { $data_message_page = null; } $data_url = explode('?', Router::getUri()); $args = array('data_admin' => $data_admin[0], 'data_message' => $data_message, 'data_materials' => $data_message_page, 'data_pagination' => $data_pagination, 'data_url' => $data_url[0], 'items_per_page' => $items_per_page); return $this->render_admin($args); } else { throw new Exception('Access is forbidden', 403); } }