/** * Смена темы: */ public function switchAction(Application $application, Template $template) { $session = Session::getInstance(); if ($_GET['theme'] == 'normal') { $session->persistenceSet('global_theme', false); } else { if (is_file(VIEWS_DIR . '/layout_' . str_replace('/', '', $_GET['theme']) . '.php')) { $session->persistenceSet('global_theme', 'layout_' . $_GET['theme']); } } $template->headerSeeOther('http://' . TemplateHelper::getSiteUrl() . '/'); return false; }
/** * Добавление комнаты чата: */ public function addAction(Application $application, Template $template) { $session = Session::getInstance(); $this['form_errors'] = array(); $this['blog_form'] = array(); if ($_SERVER['REQUEST_METHOD'] == 'POST') { $validator = new ValidatorHelper($_POST); $validator->assertExists('captcha_key', 'Введите капчу'); if ($_POST['captcha_key']) { $validator->assertEqual('captcha', $session->instantGet('captcha_' . $_POST['captcha_key'], false), 'Капча введена неверно'); } $validator->assertExists('title', 'Не введен заголовок'); $validator->assertLength('title', 25, 'Заголовок слишком длинный'); $validator->assertExists('description', 'Не введен вводный текст'); $validator->assertLength('description', 75, 'Вводный текст слишком длинный'); $validator->assertExists('controlword', 'Не введен контрольный пароль'); if ($validator->fieldValid('title')) { $validator->assertLengthMore('title', 3, 'Заголовок слишком короткий'); } if ($validator->fieldValid('description')) { $validator->assertLengthMore('description', 5, 'Описание слишком короткое'); } if ($validator->fieldValid('controlword')) { $validator->assertLengthMore('controlword', 3, 'Контрольный пароль слишком короткий'); } $validator->assertNotExists('email', 'Заполнено лишнее поле'); if ($validator->isValid()) { $id = Chat_ChatRoomsModel::CreateRoom($_POST); $template->headerSeeOther('http://' . TemplateHelper::getSiteUrl() . '/chat/' . $id . '/'); return false; } $this['form_errors'] = $validator->getValidationResults(); $this['blog_form'] = $_POST; } $key = 'chat'; $template->setParameter('captcha_key', $key); $session->instantSet('captcha_' . $key, true); $template->setParameter('title', 'Добавление комнаты чата'); $template->setParameter('section', 'add'); return true; }
/** * Переход по ссылке: */ public function redirectAction(Application $application, Template $template) { Blog_BlogOnlineModel::Click($_GET['id']); $template->headerSeeOther($_GET['to']); }
/** * Действие выбора сортировки: */ public function sortAction(Application $application, Template $template) { $session = Session::getInstance(); $session->persistenceSet('posts_sortby', $_GET['sortby']); $template->headerSeeOther($_SERVER['HTTP_REFERER']); return false; }
/** * Действие: добавление/удаление из избранного: */ public function toggleFavoriteAction(Application $application, Template $template) { $state = Board_FavoritesModel::ToggleFavoritePost($_GET['board'], $_GET['id']); $key = Session::getInstance()->getKey(); if ($state) { Board_BoardModel::subscribeThread($key, $_GET['board'] . '_' . $_GET['id']); } else { Board_BoardModel::unsubscribeThread($key, $_GET['board'] . '_' . $_GET['id']); } $template->headerSeeOther($_SERVER['HTTP_REFERER']); return false; }
/** * Удаление страницы: */ public function staticFilesDeleteAction(Application $application, Template $template) { StaticModel::RemoveFile($_GET['name']); $template->headerSeeOther($_SERVER['HTTP_REFERER']); exit; }