function AdminArticlesPreview()
{
    $_POST = ObjectUtf8ToCp1251($_POST);
    $preview = new Page('module/page.html', '', false, PAGE_SPECIAL);
    $preview->Doctype = '<!DOCTYPE html>';
    $preview->AddCSSFile('style.css');
    $preview->AddBlock('page');
    $vars = array();
    $vars['show_info'] = false;
    $vars['show_title'] = true;
    $vars['title'] = SafeDB($_POST['title'], 255, str);
    if ($_POST['auto_br_desc'] == '1') {
        $description = nl2br(SafeDB($_POST['description'], 0, str, false, false));
    } else {
        $description = SafeDB($_POST['description'], 0, str, false, false);
    }
    $vars['text'] = $description;
    if ($_POST['auto_br_article'] == '1') {
        $article = nl2br(SafeDB($_POST['article'], 0, str, false, false));
    } else {
        $article = SafeDB($_POST['article'], 0, str, false, false);
    }
    $vars['text'] .= $article;
    $preview->SetTitle($vars['title']);
    $preview->SetVars('page', $vars);
    $preview->TEcho(false, false);
    exit;
}
function AdminNewsPreview()
{
    $_POST = ObjectUtf8ToCp1251($_POST);
    $preview = new Page('module/news_preview.html', '', false, PAGE_SPECIAL);
    $preview->Doctype = '<!DOCTYPE html>';
    $preview->AddCSSFile('style.css');
    $preview->AddBlock('news', true, true);
    // Отключаем показ блоков с комментариями
    $preview->SetVar('template', 'enabled_comments', false);
    $preview->SetVar('template', 'disabled_comments', true);
    // Скрываем ненужные блоки
    $preview->AddBlock('comments_navigation', false);
    $preview->AddBlock('news_comments', false);
    $preview->AddBlock('news_comments_form', false);
    $preview->SetTitle(SafeDB($_POST['title'], 255, str));
    $topic_id = SafeEnv($_POST['topic_id'], 11, int);
    System::database()->Select('news_topics', "`id`='{$topic_id}'");
    $topic = System::database()->FetchRow();
    $topic_title = SafeDB($topic['title'], 255, str);
    if (isset($_GET['id'])) {
        $news_id = SafeDB($_GET['id'], 11, int);
        System::database()->Select('news', "`id`='" . SafeEnv($_GET['id'], 11, int) . "'");
        $news = System::database()->FetchRow();
        $comments_counter = SafeDB($news['comments_counter'], 11, int);
        $hit_counter = SafeDB($news['hit_counter'], 11, int);
    } else {
        $news_id = 0;
        $comments_counter = 0;
        $hit_counter = 0;
    }
    $img_view = SafeDB($_POST['img_view'], 1, int);
    $link = Ufu('index.php?name=news&op=readfull&news=' . $news_id . '&topic=' . $topic_id, 'news/{topic}/{news}/');
    $topic_link = Ufu('index.php?name=news&topic=' . $topic_id, 'news/{topic}/');
    $vars['topic'] = $topic_title;
    $vars['id'] = $news_id;
    $vars['title'] = SafeDB($_POST['title'], 255, str);
    $vars['author'] = System::user()->Get('u_name');
    $date = strtotime(str_replace('.', '-', $_POST['public_date']) . ' ' . $_POST['public_time']);
    $vars['date'] = TimeRender($date);
    $vars['time'] = date('H:i', $date);
    $vars['day'] = date('d', $date);
    $vars['month'] = date('m', $date);
    $vars['year'] = date('y', $date);
    $vars['year_full'] = date('Y', $date);
    $vars['link'] = $link;
    $vars['cat_link'] = $topic_link;
    $vars['com_count'] = $comments_counter;
    $vars['hit_count'] = $hit_counter;
    $vars['admin'] = System::user()->isAdmin();
    if (strlen(strip_tags($_POST['continuation'])) > 0) {
        // Есть ли продолжение новости
        $vars['full'] = '<a href="' . $link . '">Читать далее…</a>';
        $read_more = true;
    } else {
        $vars['full'] = '';
        $read_more = false;
    }
    $image = SafeDB($_POST['icon'], 255, str);
    list($width, $height) = SafeDB(explode(':', System::config('news/tmb_size')), 11, int);
    if ($image == '' || substr($image, 0, 7) == 'http://') {
        $vars['image'] = $image;
        $vars['image_url'] = false;
    } elseif ($img_view == 1) {
        // Исходная картинка
        $vars['image'] = GetThumb($image, $width, $height);
        $vars['image_url'] = false;
    } elseif ($img_view == 2) {
        // Эскиз
        $vars['image'] = GetThumb($image, $width, $height);
        $vars['image_url'] = $image;
    } elseif ($img_view == 0) {
        // Авто
        $size = ImageSize($image);
        if ($size['width'] > $width) {
            $vars['image'] = GetThumb($image, $width, $height);
            $vars['image_url'] = $image;
        } else {
            $vars['image'] = $image;
            $vars['image_url'] = false;
        }
    }
    $vars['com_status'] = '';
    if ($read_more) {
        $vars['text'] = SafeDB($_POST['shorttext'] . $_POST['continuation'], 0, str, false, false);
    } else {
        $vars['text'] = SafeDB($_POST['shorttext'], 0, str, false, false);
    }
    if ($_POST['auto_br'] == 'on') {
        $vars['text'] = nl2br($vars['text']);
    }
    $preview->AddSubBlock('news', true, $vars);
    $preview->TEcho(false, false);
    exit;
}
function AdminPagesPreview()
{
    $_POST = ObjectUtf8ToCp1251($_POST);
    $preview = new Page('module/page.html', '', false, PAGE_SPECIAL);
    $preview->Doctype = '<!DOCTYPE html>';
    $preview->AddCSSFile('style.css');
    $hits = 0;
    $modified = time();
    $public = time();
    if (isset($_GET['id'])) {
        $page_id = SafeEnv($_GET['id'], 11, int);
        System::database()->Select('pages', "`id`='{$page_id}'");
        $page = System::database()->FetchRow();
        $hits = SafeDB($page['hits'], 11, int);
        $modified = $page['modified'];
        $public = $page['date'];
    }
    $preview->AddBlock('page');
    $vars = array();
    $vars['show_title'] = isset($_POST['ins_title']);
    $vars['show_copy'] = isset($_POST['ins_copy']);
    $vars['show_public'] = isset($_POST['ins_date']);
    $vars['show_modified'] = isset($_POST['ins_modified']);
    $vars['show_hits'] = isset($_POST['ins_counter']);
    $vars['show_info'] = $vars['show_copy'] || $vars['show_public'] || $vars['show_modified'] || $vars['show_hits'];
    $vars['title'] = SafeDB($_POST['title'], 255, str);
    if ($_POST['auto_br'] == '1') {
        $text = nl2br(SafeDB($_POST['text'], 0, str, false, false));
    } else {
        $text = SafeDB($_POST['text'], 0, str, false, false);
    }
    $vars['text'] = $text;
    $vars['copyright'] = '&copy; ' . SafeDB($_POST['copy'], 255, str);
    $vars['public'] = 'Опубликована: ' . TimeRender($public);
    $vars['hits'] = 'Просмотров: ' . $hits;
    $vars['modified'] = 'Изменена: ' . TimeRender($modified);
    $preview->SetTitle($vars['title']);
    $preview->SetVars('page', $vars);
    $preview->TEcho(false, false);
    exit;
}