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;
+}