File size: 2.76Kb
<?php
class Admin_Controller extends Admin_Model
{
function index($f3)
{
if($this->isAdmin($f3))
{
if(isset($_GET['delete']))
{
if(parent::news_exist_sql('news_id', $_GET['delete']))
{
$f3->set('deleted', parent::news_delete_sql($f3->clean($_GET['delete'])));
}
}
$f3->set('title', 'Админ-панель');
$f3->set('content',$f3->get('TEMPLATE').'/admin/index.htm');
$news_count = parent::news_count_sql();
if($news_count > 0)
{
$navigator = new Paginator($news_count, 5, '?');
$f3->set('news_sql', parent::news_list_sql($navigator->limit()));
$f3->set('navigator', $navigator);
}
$f3->set('news_count', $news_count);
$this->display($f3);
}
else
{
$f3->reroute('/admin/entry');
}
}
function news_add($f3)
{
if($this->isAdmin($f3))
{
$f3->set('title', 'Админ-панель / Добавить новость');
$f3->set('content',$f3->get('TEMPLATE').'/admin/news_add.htm');
$this->display($f3);
}
else
{
$f3->reroute('/admin/entry');
}
}
function news_add_handler($f3)
{
if($this->isAdmin($f3))
{
$news = array();
$error = array();
$f3->set('title', 'Админ-панель / Добавить новость');
$f3->set('content',$f3->get('TEMPLATE').'/admin/news_add.htm');
$news['title'] = $f3->clean($f3->get('POST.news_title'));
$news['text'] = $this->protect($f3->get('POST.news_text'));
$news['date'] = time();
if(empty($news['title']))
{
$error['empty_title'] = 'Ошибка: Не заполнено поле "Название".';
}
if(empty($news['text']))
{
$error['empty_text'] = 'Ошибка: Не заполнено поле "Текст".';
}
if(!empty($news['title']) and parent::news_exist_sql('news_title', $news['title']))
{
$error['empty_text'] = 'Ошибка: Новость с таким названием уже есть.';
}
if(empty($error))
{
$f3->set('news_added', parent::news_add_sql($news['title'], $news['text'], $news['date']));
}
else
{
$f3->set('errors', $error);
}
$this->display($f3);
}
else
{
$f3->reroute('/admin/entry');
}
}
function entry($f3)
{
if(!$this->isAdmin($f3))
{
$f3->set('title', 'Авторизация');
$f3->set('content',$f3->get('TEMPLATE').'/admin/entry.htm');
$this->display($f3);
}
else
{
$f3->reroute('/admin');
}
}
function entry_handler($f3)
{
$password = $f3->get('POST.password');
if(empty($password))
{
$f3->reroute('/admin/entry');
}
if(md5($password) != md5($f3->get('PASSWORD')))
{
$f3->reroute('/admin/entry');
}
else
{
$f3->set('COOKIE.password', md5($password));
$f3->reroute('/admin');
}
}
}