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 IndexNewsTopics() { $title = 'Разделы новостей'; System::site()->SetTitle($title); System::site()->BreadCrumbAdd($title); $topics = IndexNewsGetTopics(); if (count($topics) == 0) { System::site()->AddTextBox('Разделы новостей', '<p align="center">Разделов новостей пока нет.</p>'); } else { System::site()->AddTemplatedBox('Разделы новостей', 'module/news_topics.html'); System::site()->AddBlock('news_topics', true, true, 'newstopic'); foreach ($topics as $topic) { $vars = array(); $image = SafeDB($topic['image'], 255, str); if ($image == '' || substr($image, 0, 7) == 'http://') { $vars['image'] = $image; $vars['image_url'] = false; } else { $size = ImageSize($image); list($width, $height) = SafeDB(explode(':', System::config('news/topics_tmb_size')), 11, int); if ($size['width'] > $width) { $vars['image'] = GetThumb($image, $width, $height); $vars['image_url'] = $image; } else { $vars['image'] = $image; $vars['image_url'] = false; } } $vars['url'] = Ufu('index.php?name=news&topic=' . SafeDB($topic['id'], 11, int), 'news/{topic}/'); $vars['desc'] = SafeDB($topic['description'], 255, str); $vars['title'] = SafeDB($topic['title'], 255, str); $vars['num_news'] = SafeDB($topic['counter'], 11, int); System::site()->AddSubBlock('news_topics', true, $vars); } } }