/** * Отображает страницу ошибки 404 и завершает скрипт. * @param bool $Exit Если false то скрипт не завершиться. */ function Error404($Exit = true) { Header("HTTP/1.1 404 Not Found"); $path = System::config('tpl_dir') . System::config('general/site_template') . '/'; if ($path . '404.html') { $page = new Page('404.html', '', false, PAGE_AJAX); $page->TEcho(false, false); } else { readfile('errorpages/404.html'); } if ($Exit) { exit; } }
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'] = '© ' . 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; }