event.5x-2.inc in Signup 5.2
Code required to support version 5.x-2.* of the event module.
File
includes/event.5x-2.incView source
<?php
/**
* @file
* Code required to support version 5.x-2.* of the event module.
*/
/**
*
* @return Array of SQL clauses for cron reminder email query builder.
*/
function _signup_event_reminder_sql($content_type) {
global $db_type;
event_include_files();
switch ($db_type) {
case 'mysql':
case 'mysqli':
$where = array(
"('" . gmdate('Y-m-d H:i:s') . "' > (" . event_where_utc() . " - INTERVAL s.reminder_days_before DAY))",
"('" . gmdate('Y-m-d H:i:s') . "' <= (" . event_where_utc() . "))",
);
break;
case 'pgsql':
$where = array(
"('" . gmdate('Y-m-d H:i:s') . "' > (" . event_where_utc() . " - INTERVAL 's.reminder_days_before days'))",
"('" . gmdate('Y-m-d H:i:s') . "' <= (" . event_where_utc() . "))",
);
break;
}
return array(
'fields' => array(
event_select(),
'e.timezone',
),
'joins' => array(
event_join(),
),
'where' => $where,
);
}
/**
*
* @return Array of SQL clauses for cron auto-close query builder.
*/
function _signup_event_autoclose_sql($content_type) {
event_include_files();
return array(
'fields' => array(
event_select(),
'e.timezone',
),
'joins' => array(
event_join('s'),
),
'where' => array(
event_where_utc() . " < '" . gmdate('Y-m-d H:i:s', time() + variable_get('signup_close_early', 1) * 3600) . "'",
),
);
}
/**
*
* @return Array of SQL clauses for admin overview page query builder.
*/
function _signup_event_admin_sql($content_type = NULL) {
// Since all event node types store their event data in the same table, we
// need to make sure we only JOIN on this table once. It doesn't matter
// which node type we use to add this JOIN.
static $did_event_join = FALSE;
if ($did_event_join) {
return array();
}
$did_event_join = TRUE;
return array(
'fields' => array(
event_select(),
'e.timezone',
),
'group_by' => array(
'event_start',
'e.timezone',
),
'joins' => array(
event_join('n', 'LEFT'),
),
);
}
/**
* Returns TRUE if the given node is event-enabled, and the start time
* has already passed the "Close x hours before" setting.
*/
function _signup_event_node_completed($node) {
if (isset($node->event)) {
$closing_time = gmdate('Y-m-d H:i:s', time() + variable_get('signup_close_early', 1) * 3600);
if (event_is_later($closing_time, $node->event['start_utc'], 'string')) {
return TRUE;
}
}
return FALSE;
}
function _signup_event_format_date($node) {
$event_date = array();
if (!empty($node->event['start'])) {
$event_date = event_explode_date($node->event['start']);
}
elseif (!empty($node->event_start)) {
$event_date = event_explode_date($node->event_start);
}
return !empty($event_date) ? event_format_date($event_date, variable_get('signup_date_format', 'medium')) : t('[Untimed]');
}
/**
* Determine if the given node has a start time managed by the event.module.
*
* @param $node
* Fully loaded node object to test.
*
* @return
* 'event' if this is an event node, otherwise 'none'.
*
* @see _signup_get_node_scheduler()
*/
function _signup_event_get_node_scheduler($node) {
if (isset($node->event) && isset($node->event['start'])) {
return 'event';
}
return isset($node->event_start) ? 'event' : 'none';
}
Functions
Name | Description |
---|---|
_signup_event_admin_sql | |
_signup_event_autoclose_sql | |
_signup_event_format_date | |
_signup_event_get_node_scheduler | Determine if the given node has a start time managed by the event.module. |
_signup_event_node_completed | Returns TRUE if the given node is event-enabled, and the start time has already passed the "Close x hours before" setting. |
_signup_event_reminder_sql |