Приднестровская поддержка XOOPS
Чтобы редактировать существующие события или добавлять новые, требуется форма. Для генерации такой формы добавим в класс Calendar метод displayForm(). Этот простой метод решает следующие задачи:
■ проверяет, передан ли ему целочисленный параметр, представляющий уникальный идентификатор события;
■ создает пустые переменные для различных полей, описывающих событие;
■ загружает информацию о событии, если был передан соответствующий идентификатор;
■ сохраняет в ранее созданных переменных информацию о событии, если оно существует;
■ отображает форму.
Создайте метод displayForm(), добавив в класс Calendar следующий код, выделенный желтым фоном.
<?php
class Calendar extends DB_Connect
{
private $_useDate;
private $_m;
private $_y;
private $_daysInMonth;
private $_startDay;
public function __construct($dbo=NULL, $useDate=NULL) {...}
public function buildCalendar() {...}
public function displayEvent($id) {...}
/**
* Генерирует форму, позволяющую редактировать или создавать события
*
* @return string: HTML-раэметка формы для редактирования событий
*/
public function displayForm()
{
/*
* Проверить, был ли передан идентификатор (ID)
*/
if ( isset($_POST['event_id']) )
{
$id = (int) $_POST['event_id'];
// Принудительно задать целочисленный тип
// для обеспечения безопасности данных
}
else
{
$id = NULL;
}
/*
* Инициализировать переменную, хранящую текст заголовка
* и надписи на кнопке отправки формы
*/
$submit = "Создать событие";
/*
* Если передан ID, загрузить соотватстаующаа событие
*/
if ( !empty($id) )
{
$event = $this->_loadEventById($id);
/*
* Если не возвращен объект, возвратить NULL
*/
if ( !is_object($event) ) { return NULL; }
$submit = "Изменить событие";
}
/*
* Создать разметку
*/
return <<<FORM_MARKUP
<form action="assets/inc/process.inc.php" method="post">
<fieldset>
<legend>$submit</legend>
<label for="event_title">Название события</label>
<input type="text" name="event_title"
id="event_title" value="$event->title" />
<label for="event_start">Время начала</label>
<input type="text" name="event_start"
id="event_start" value="$event->start" />
<label for="event_end">Время окончания</label>
<input type="text" name="event_end"
id="event_end" value="$event->end" />
<label for="event_description">Описание события-</label>
<textarea name="event_description"
id="event_description">$event->description</textarea>
<input type="hidden" name="event_id" value="$event->id" />
<input type="hidden" name="token" value="$_SESSION[token]" />
<input type="hidden" name="action" value="event_edit" />
<input type="submit" name="event_submit" value="$submit" />
or <a href="./">cancel</a>
</fieldset>
</form>
FORM_MARKUP;
}
private function _loadEventData($id=NULL) {...}
private function _createEventObj() {...}
private function _loadEventById($id) {...}
}
?>
Отправитель | Нити |
---|
4 пользователь(ей) активно (2 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 4 далее... |