public function execute()
 {
     $this->setLayout(new guestbook2BackendLayout());
     // Creating a model instance for retrieving data from the database
     // Создаем экземпляр модели для получения данных из БД
     $model = new guestbook2Model();
     // Retrieving all guestbook records from the database
     // Получаем все записи гостевой книги из БД
     $records = $model->getRecords(0, 0);
     foreach ($records as &$r) {
         if ($r['contact_id']) {
             $r['name'] = $r['contact_name'];
             // getting the contact photo URL
             // получаем URL на фотографию контакта
             $r['photo_url'] = waContact::getPhotoUrl($r['contact_id'], $r['photo'], 20);
         }
     }
     unset($r);
     // Passing records to the template
     // Передаем записи в шаблон
     $this->view->assign('records', $records);
     // Passing the frontend URL to the template
     // Передаём в шаблон УРЛ фронтенда
     $this->view->assign('url', wa()->getRouteUrl($this->getAppId(), true));
     // Passing user's record deletion access rights value to the template
     // Access rights are defined in config file lib/config/guestbookRightConfig.class.php
     // Передаём в шаблон права пользователя на удаление записей из гостевой книги
     // Права описаны в конфиге lib/config/guestbookRightConfig.class.php
     $this->view->assign('rights_delete', $this->getRights('delete'));
     // If user is an admin of the Contacts app then show links to Contacts
     // Если пользователь админ приложения контакты, то показывать ссылки на контакты
     $this->view->assign('rights_contacts', $this->getUser()->isAdmin('contacts'));
 }
 public function execute()
 {
     $this->setLayout(new guestbook2BackendLayout());
     // Создаем экземпляр модели для получения данных из БД
     $model = new guestbook2Model();
     // Получаем все записи гостевой книги из БД
     $records = $model->getRecords(0, 0);
     foreach ($records as &$r) {
         if ($r['contact_id']) {
             $r['name'] = $r['contact_name'];
             // получаем URL на фотографию контакта
             $r['photo_url'] = waContact::getPhotoUrl($r['contact_id'], $r['photo'], 20);
         }
     }
     unset($r);
     // Передаем записи в шаблон
     $this->view->assign('records', $records);
     // Передаём в шаблон УРЛ фронтенда
     $this->view->assign('url', wa()->getRouteUrl($this->getAppId(), true));
     // Передаём в шаблон права пользователя на удаление записей из гостевой книги
     // Права описаны в конфиге lib/config/guestbookRightConfig.class.php
     $this->view->assign('rights_delete', $this->getRights('delete'));
     // Если пользователь админ приложения контакты, то показывать ссылки на контакты
     $this->view->assign('rights_contacts', $this->getUser()->isAdmin('contacts'));
 }
 /**
  * @param array $params deleted contact_id
  * @see waEventHandler::execute()
  * @return void
  */
 public function execute($params)
 {
     // Получаем все удаляемые контакты
     $contact_model = new waContactModel();
     $contacts = $contact_model->getByField('id', $params, true);
     $guestbook_model = new guestbook2Model();
     foreach ($contacts as $contact) {
         // Обновляем записи гостевой книги, чтобы не было "битых" contact_id
         $guestbook_model->updateByField('contact_id', $contact['id'], array('contact_id' => 0, 'name' => $contact['name']));
     }
 }
 /**
  * @param array $params deleted contact_id
  * @see waEventHandler::execute()
  * @return void
  */
 public function execute($params)
 {
     // Getting all contacts to be deleted
     // Получаем все удаляемые контакты
     $contact_model = new waContactModel();
     $contacts = $contact_model->getByField('id', $params, true);
     $guestbook_model = new guestbook2Model();
     foreach ($contacts as $contact) {
         // Updating guestbook records to avoid appearance of non-existent contact_id values
         // Обновляем записи гостевой книги, чтобы не было "битых" contact_id
         $guestbook_model->updateByField('contact_id', $contact['id'], array('contact_id' => 0, 'name' => $contact['name']));
     }
 }
 public function execute()
 {
     // Если у пользователя есть права на удаление записей из гостевой книги
     if ($this->getRights('delete')) {
         // Получаем id удаляемой записи
         $id = waRequest::get('id', 0, 'int');
         if ($id) {
             // Удаляем запись из таблицы
             $model = new guestbook2Model();
             $model->deleteById($id);
         }
     }
     // Редирект на главную страницу приложения
     $this->redirect(wa()->getAppUrl());
 }
 /**
  * Adding a new record to the guestbook
  * Добавление новой записи в гостевую книгу
  */
 protected function add()
 {
     // Creating a model instance for retrieving data from the database
     // Создаем экземпляр модели для получения данных из БД
     $model = new guestbook2Model();
     if ($text = waRequest::post('text')) {
         $data = array('text' => $text, 'datetime' => date('Y-m-d H:i:s'));
         if ($this->getUser()->getId()) {
             $data['contact_id'] = $this->getUser()->getId();
         } else {
             $data['name'] = waRequest::post('name');
         }
         // Inserting a new record into the database table
         // Вставляем новую запись в таблицу
         $model->insert($data);
         // If contact is not a backend user
         // Если контакт не является юзером бэкенда
         if ($this->getUser()->getId() && !$this->getUser()->get('is_user')) {
             // Adding contact to the app's system category
             // Добавляем контакт в системную категорию приложения
             $this->getUser()->addToCategory($this->getAppId());
         }
     }
     // redirecting user to the first page to show the new message
     // редирект на первую страницу, чтобы показать новое сообщение
     $this->redirect(wa()->getRouteUrl('/frontend'));
 }
 public function execute()
 {
     // If user has access rights to delete guestbook records
     // Если у пользователя есть права на удаление записей из гостевой книги
     if ($this->getRights('delete')) {
         // Getting id of the record to be deleted
         // Получаем id удаляемой записи
         $id = waRequest::get('id', 0, 'int');
         if ($id) {
             // Delete record from the database table
             // Удаляем запись из таблицы
             $model = new guestbook2Model();
             $model->deleteById($id);
         }
     }
     // Redirecting user to the app's home page
     // Редирект на главную страницу приложения
     $this->redirect(wa()->getAppUrl());
 }
 /**
  * Добавление новой записи в гостевую книгу
  */
 protected function add()
 {
     // Создаем экземпляр модели для получения данных из БД
     $model = new guestbook2Model();
     if ($text = waRequest::post('text')) {
         $data = array('text' => $text, 'datetime' => date('Y-m-d H:i:s'));
         if ($this->getUser()->getId()) {
             $data['contact_id'] = $this->getUser()->getId();
         } else {
             $data['name'] = waRequest::post('name');
         }
         // Вставляем новую запись в таблицу
         $model->insert($data);
         // Если контакт не является юзером бэкенда
         if ($this->getUser()->getId() && !$this->getUser()->get('is_user')) {
             // Добавляем контакт в системную категорию приложения
             $this->getUser()->addToCategory($this->getAppId());
         }
     }
     // редирект на первую страницу, чтобы показать новое сообщение
     $this->redirect(wa()->getRouteUrl('/frontend'));
 }