Example #1
0
 /**
  * Смена темы:
  */
 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;
 }
Example #2
0
 /**
  * Добавление комнаты чата:
  */
 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;
 }
Example #3
0
 /**
  * Переход по ссылке:
  */
 public function redirectAction(Application $application, Template $template)
 {
     Blog_BlogOnlineModel::Click($_GET['id']);
     $template->headerSeeOther($_GET['to']);
 }
Example #4
0
 /**
  * Действие выбора сортировки:
  */
 public function sortAction(Application $application, Template $template)
 {
     $session = Session::getInstance();
     $session->persistenceSet('posts_sortby', $_GET['sortby']);
     $template->headerSeeOther($_SERVER['HTTP_REFERER']);
     return false;
 }
Example #5
0
 /**
  * Действие: добавление/удаление из избранного:
  */
 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;
 }
Example #6
0
 /**
  * Удаление страницы:
  */
 public function staticFilesDeleteAction(Application $application, Template $template)
 {
     StaticModel::RemoveFile($_GET['name']);
     $template->headerSeeOther($_SERVER['HTTP_REFERER']);
     exit;
 }