Разработка структуры web-узла и реализация web-узла, страница 2

  • Для реализации авторизации используется механизм сессий. Для облегчения их использования создан специальный класс Session, включающий в себя все методы, необходимые для обеспечения удобной работой с сессиями.

Вид главной страницы узла

Вид главной страницы узла представлен на рис. 1.

Рис. 1. Вид главной страницы web-узла

Вид прочих страниц узла

Ниже приведены иллюстрации следующих страниц:

  • Страница каталога программ — рис. 2.
  • Страница подробного просмотра программы — рис. 3.
  • Страница «Как нас найти» — рис. 4.
  • Страница администрирования текстовых разделов — рис. 5.

Рис. 2. Вид страницы каталога программ

Рис. 3. Вид страницы подробного просмотра программы

Рис. 4. Вид страницы «Как нас найти»

Рис. 5. Вид страницы администрирования текстовых разделов

Исходные тексты

Все исходные тексты имеют очень большой объём, поэтому приведём здесь лишь некоторые.

Файл .htaccess:

RewriteEngine on  //включение mod_rewrite

Options +FollowSymlinks

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f //если не файл

RewriteCond %{REQUEST_FILENAME} !-d //если не директория

RewriteRule ^.+$ /index.php [L,QSA] //перенаправить всё на файл index.php

Файл index.php:

<?php

include 'config.php';

include $libs_dir.'setup.php';

$page = $main->Cuts($query['0']);

if ($page == "index") array_splice($query, 0, 1);

if ($page != "index" && file_exists($page.".php")) include $page.".php";

else if ($page != "" && $page != "news" && $page != "index" && $page != "archive")

{

    if ($main->db->Query("SELECT name, text, date FROM $t_pages WHERE name_eng='$page'"))

    {

        $name = $main->db->GetResult(0, 'name');

        $text = $main->db->GetResult(0, 'text');

        $text = str_replace("src=img_upload", "src={$PATH}img_upload", $text);

        $main->assign('header', $name);

        $main->assign('title', $name);

        $main->assign('text', $text);

        $main->assign('show', 1);

        $main->assign('date', $main->db->GetResult(0, 'date'));

        $main->assign('head_nav', array(0 => array("url" => "{$PATH}$page/", "text" => $name)));

    }

    else

    {

        $main->assign('header', "Ошибка");

        $main->assign('title', "Ошибка");

        $main->assign('head_nav', array(0 => array("url" => "{$PATH}$page/", "text" => "Ошибка")));

    }

    $main->display('content.tpl');

}

else

{

    if ($page == "news" && $query['1'] != "")

    {

        $id = intval($query['1']);

        if ($main->db->Query("SELECT text, DATE_FORMAT(date, '%Y-%m-%d') as date, DATE_FORMAT(date, '%e %b %Y года') as date_format FROM $t_news WHERE id='$id'"))

        {

            $news = $main->db->GetArrayResult();

            $news['text']['0'] = str_replace("src=img_upload", "src={$PATH}img_upload", $news['text']['0']);

            $main->assign('news', $news);

            $main->assign('view', 1);

        }

        else $main->assign('view', 0);

        $main->assign('header', "Новости");

        $main->assign('head_nav', array(0 => array("url" => "{$PATH}", "text" => "Новости"), 1 => array("url" => "{$PATH}news/$id/", "text" => "Просмотр новости")));