diff --git a/application/classes/controller/navigation.php b/application/classes/controller/navigation.php index ad7cb2b..68a3cfc 100644 --- a/application/classes/controller/navigation.php +++ b/application/classes/controller/navigation.php @@ -4,7 +4,9 @@ class Controller_Navigation extends Controller_Template { public $template = 'navigation/actions'; public function action_actions() { $this->template = new View('navigation/actions'); - $this->template->login_or_logout = HTML::anchor('login', 'Вход'); + $login_or_logout = HTML::anchor('login', 'Вход'); + if (Kohana::config('common.vote_opens') > new DateTime('now')) $login_or_logout .= "
  • ".HTML::anchor('register', 'Регистрация'); + $this->template->login_or_logout = $login_or_logout; if (Auth::instance()->logged_in()){ $this->template->login_or_logout = HTML::anchor('logout', 'Выход'); } diff --git a/application/classes/controller/register.php b/application/classes/controller/register.php new file mode 100644 index 0000000..60ef7a7 --- /dev/null +++ b/application/classes/controller/register.php @@ -0,0 +1,21 @@ +logged_in()) return $this->request->redirect(''); + if (Kohana::config('common.vote_opens') <= new DateTime('now')) $this->$template = 'registration/closed'; + if ($_POST){ + if (Kohana::config('common.vote_opens') <= new DateTime('now')){ + $this->template->error = "Регистрация закрыта."; + return; + } + $user = ORM::factory('user'); + $status = Auth::instance()->login($_POST['login'], $_POST['password']); + if ($status){ + return $this->request->redirect(''); + } + else $this->template->error = "Ошибка регистрации."; + } + } +} diff --git a/application/config/common.php b/application/config/common.php index ee6f688..d0dfb8c 100644 --- a/application/config/common.php +++ b/application/config/common.php @@ -2,5 +2,6 @@ return array( 'this_year' => "2011", - 'title' => "Конкурс быстрого программирования «Поихаил!»" -); \ No newline at end of file + 'title' => "Конкурс быстрого программирования «Поихаил!»", + 'vote_opens' => new DateTime('2011-07-01') +); diff --git a/application/views/registration/closed.php b/application/views/registration/closed.php new file mode 100644 index 0000000..134eb3f --- /dev/null +++ b/application/views/registration/closed.php @@ -0,0 +1,6 @@ +post('title',"Регистрация закрыта")->post('styles','main.css')->execute() ?> + +

    К сожалению, голосование уже началось, а значит, регистрация закрыта.

    +

    Желаем удачи в следующем конкурсе!

    + +execute() ?> diff --git a/application/views/registration/opened.php b/application/views/registration/opened.php new file mode 100644 index 0000000..8a4105f --- /dev/null +++ b/application/views/registration/opened.php @@ -0,0 +1,15 @@ +post('title',"Регистрация")->post('styles','main.css')->execute() ?> + +
    +
    +

    Введите логин, пароль и e-mail.

    + +

    +

    +

    +

    +

    +

    + + +execute() ?> diff --git a/assets/css/main.css b/assets/css/main.css index c41c8a3..0a6af8f 100644 --- a/assets/css/main.css +++ b/assets/css/main.css @@ -42,4 +42,11 @@ img { border: none; } .hidden{ display: none; -} \ No newline at end of file +} +input[type="text"],input[type="password"]{ + margin-right: 40%; + float: right; +} +input[type="submit"]{ + margin-left: 3em; +}