public function execute() { // Setting the frontend layout // Задаём лайаут для фронтенда $this->setLayout(new guestbook2FrontendLayout()); // Setting the theme template // Задаём шаблон темы $this->setThemeTemplate('guestbook.html'); // if a POST request has been received then write a new record to the database // Если пришёл POST-запрос, то нужно записать в БД новую запись if (waRequest::method() == 'post') { $this->add(); } // Creating a model instance for retrieving data from the database // Создаем экземпляр модели для получения данных из БД $model = new guestbook2Model(); // Retrieving the record count per page from the app's settings // Получаем количество записей на одной странице из настроек приложения $limit = $this->getConfig()->getOption('records_per_page'); // Current page // Текущая страница $page = waRequest::param('page'); if (!$page) { $page = 1; } $this->view->assign('page', $page); // Calculating offset // Вычисляем смещение $offset = ($page - 1) * $limit; // Retrieving all records from the database // Получаем записи гостевой книги из БД $records = $model->getRecords($offset, $limit); // Total record count // Всего записей $records_count = $model->countAll(); $pages_count = ceil($records_count / $limit); $this->view->assign('pages_count', $pages_count); // Preparing records for being passed to the theme template // Подготавливаем записи для передачи в шаблон темы foreach ($records as &$r) { if ($r['contact_id']) { $r['name'] = htmlspecialchars($r['contact_name']); // getting contact photo URL // получаем URL на фотографию контакта $r['photo_url'] = waContact::getPhotoUrl($r['contact_id'], $r['photo'], 20); } else { $r['name'] = htmlspecialchars($r['name']); } $r['text'] = nl2br(htmlspecialchars($r['text'])); } unset($r); // Passing records to the template // Передаем записи в шаблон $this->view->assign('records', $records); // URL portion for links to pages // Часть урла для ссылок на страницы $this->view->assign('url', wa()->getRouteUrl('/frontend')); }
public function execute() { // Задаём лайаут для фронтенда $this->setLayout(new guestbook2FrontendLayout()); // Задаём шаблон темы $this->setThemeTemplate('guestbook.html'); // Если пришёл POST-запрос, то нужно записать в БД новую запись if (waRequest::method() == 'post') { $this->add(); } // Создаем экземпляр модели для получения данных из БД $model = new guestbook2Model(); // Получаем количество записей на одной странице из настроек приложения $limit = $this->getConfig()->getOption('records_per_page'); // Текущая страница $page = waRequest::param('page'); if (!$page) { $page = 1; } $this->view->assign('page', $page); // Вычисляем смещение $offset = ($page - 1) * $limit; // Получаем записи гостевой книги из БД $records = $model->getRecords($offset, $limit); // Всего записей $records_count = $model->countAll(); $pages_count = ceil($records_count / $limit); $this->view->assign('pages_count', $pages_count); // Подготавливаем записи для передачи в шаблон темы foreach ($records as &$r) { if ($r['contact_id']) { $r['name'] = htmlspecialchars($r['contact_name']); // получаем URL на фотографию контакта $r['photo_url'] = waContact::getPhotoUrl($r['contact_id'], $r['photo'], 20); } else { $r['name'] = htmlspecialchars($r['name']); } $r['text'] = nl2br(htmlspecialchars($r['text'])); } unset($r); // Передаем записи в шаблон $this->view->assign('records', $records); // Часть урла для ссылок на страницы $this->view->assign('url', wa()->getRouteUrl('/frontend')); }