|
Кирилл Хряпин
NetCat
Зарегистрирован: 2006-06-15
Сообщений: 207
|
Дмитрий, не могли бы Вы уточнить задачу?
Достаточно ли допущения, что "дата последнего обновления страницы" это:
1) для страницы со списком объектов - дата изменения объекта, который был отредактирован в этом разделе последним;
2) для страницы с полным выводом информации об объекте - дата последнего изменения данного объекта.
Учитываются ли дополнительные обстоятельства, влияющие на реальную "дату последнего обновления страницы" - наличие динамических блоков (например, баннеров), информации из других разделов (полученных при помощи функций s_list_class, listQuery); дата изменения разеделов, информация о которых выводится на странице... и т.д. и т.п.?
Ниже - пример для простейшего, описанного выше случая (пп. 1 и 2).
Примечание: для списка объектов будет получена дата изменения изменения последнего отредактированного объекта в разделе (чтобы получить только для данной страницы, как указал выше DmD, нужно полностью воспроизвести условие выборки списка объектов).
Код:Макет дизайна, хедер/футер (после небольшой модификации можно
вставить также и в префикс/суффикс списка объеков - на Ваше усмотрение)
";
if (!$user_table_mode) {
$timestamp_last = 0;
if ($action=='index') {
$timestamp_last = listQuery("SELECT MAX(UNIX_TIMESTAMP(LastUpdated)) as last FROM Message$classID
WHERE Subdivision_ID='$sub' AND Sub_Class_ID='$cc' AND Checked=1", '$data[last]');
}
else if ($action=='full') {
if (preg_match("/(d{4})-?(d{2})-?(d{2})s?(d{2}):?(d{2}):?(d{2})/", $f_LastUpdated, $regs)) {
$timestamp_last = mktime($regs[4], $regs[5], $regs[6], $regs[2], $regs[3], $regs[1]);
}
}
if ($timestamp_last > 0) {
// Вывод HTTP-заголовка:
header('Last-Modified: '.gmdate('D, d M Y H:i:s T', $timestamp_last));
// Вывод текста на странице:
echo "Последнее обновление - ".date("d M Y H:i:s", $timestamp_last);
}
}
echo "
|