Оглавление

Создание нового файла для отображения подробного описания событий

Для отображения вывода, возвращаемого методом displayEvent(), создадим новый файл. Назовем его  view.php и поместим в папку public (/public/view.php).

 

Этот файл будет вызываться в строке запроса, содержащей уникальный идентификатор (ID) отображаемого события. Если идентификатор не предоставлен, пользователь будет перенаправлен обратно в основное представление календаря.

 
В начале файла view.php выполняется проверка идентификатора события и загружается файл инициализации, в соответствующие переменные заносятся название страницы и имена CSS-файлов и вызывается файл, отображающий начальную часть страницы, а затем создается новый экземпляр класса Calendar.

 
Далее создается новый дескриптор div с идентификатором content и вызывается метод  displayEvent(). Затем добавляется ссылка для возврата на основную страницу календаря, закрывается дескриптор div и включается файл нижнего колонтитула.

 
Содержимое файла, реализующего описанные действия, приведено в следующем листинге.

<?php 
 
/* 
 * Убедиться в том, что ID был передан
 */ 
if ( isset($_GET['event_id']) ) 
{ 
    /* 
     * Убедиться в том, что ID является целым числом
     */ 
    $id = preg_replace('/[^0-9]/', '', $_GET['event_id']); 
 
    /* 
     * В случае недействительности ID вернуть пользователя на основную страницу
     */ 
    if ( empty($id) ) 
    { 
        header("Location: ./"); 
        exit; 
    } 
} 
else 
{ 
    /* 
     * Если ID не был предоставлен, вернуть пользователя на основную страницу
     */ 
    header("Location: ./"); 
    exit; 
} 
 
/* 
 * Включить необходимые файлы
 */ 
include_once '../sys/core/init.inc.php'; 
 
/* 
 * Подключить шапку 
 */ 
$page_title = "Просмотр событий"; 
$css_files = array("style.css"); 
include_once 'assets/common/header.inc.php'; 
 
/* 
 * Загрузить календарь 
 */ 
$cal = new Calendar($dbo); 
 
?> 
 
<div id="content"> 
<?php echo $cal->displayEvent($id) ?> 
 
    <a href="./">&laquo; Вернуться в календарь</a> 
</div><!-- end #content --> 
 
<?php 
 
/* 
 * Подключить футер 
 */ 
include_once 'assets/common/footer.inc.php'; 
 
?> 

 

Протестируйте файл, вернувшись в основное представление календаря и щелкнув на названии события. Это должно привести к загрузке файла view. php и отображению информации о событии в формате, соответствующем календарю (рис. 4.8).

 

Просмотр событий

Рис. 4.8. Информация о событии, отображаемая после щелчка на его названии

Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити