function site_status_message_scheduler_page_alter in Site Status Message 7
Implements hook_page_alter().
File
- modules/
site_status_message_scheduler/ site_status_message_scheduler.module, line 114 - Site Status Message Scheduler.
Code
function site_status_message_scheduler_page_alter(&$page) {
// Check if the message is due to be scheduled.
if (variable_get('site_status_message_schedule')) {
$hide_message = FALSE;
$start_date = variable_get('site_status_message_start_date', date('Y-m-d H:i:s'));
$end_date = variable_get('site_status_message_use_end_date') ? variable_get('site_status_message_end_date', date('Y-m-d H:i:s')) : NULL;
$now = new DateTime();
$start = new DateTime($start_date);
if ($start
->getTimestamp() > $now
->getTimestamp()) {
// Hide the message if the start date/time is in the future.
$hide_message = TRUE;
}
// Check if the scheduler uses an end date.
if ($end_date) {
$end = new DateTime($end_date);
if ($end
->getTimestamp() <= $now
->getTimestamp()) {
// Hide the message if the end date/time is in the past.
$hide_message = TRUE;
}
}
if ($hide_message) {
// Remove the message from the page_top array so it won't be rendered.
unset($page['page_top']['site_status_message']);
}
}
}