I'm using a hybrid of NicForce's code (formatted to provide the date format that I want), but I noticed that if you are not logged on, the dates are 24 hours ahead (so a July 3rd event will show on July 4), but if you log on, the dates are correct.
here is my code, but I still can figure this out. I don't see anything that tells me to be logged in or not.
ob_start();
// %d
$show_count = 15;
$query = sprintf("SELECT * FROM ".TABLE_PREFIX."event WHERE visible = 1 AND (dateline_from > '%d' || ( dateline_from > '%d' AND dateline_to < '%d' )) ORDER BY dateline_from ASC LIMIT %d",TIMENOW,TIMENOW,TIMENOW,$show_count);
$event_get = vB::$db->query_read($query);
$output_bits = '';
while($event = vB::$db->fetch_array($event_get)) {
$tz_offset = 86400;
if($event['dateline_to'] == 0 )
{
$format = sprintf("On %s", vbdate(VB::$vbulletin->options['dateformat'],$event['dateline_from']+$tz_offset));
} else {
$format = sprintf("From %s to %s", vbdate(VB::$vbulletin->options['dateformat'],$event['dateline_from']), vbdate(VB::$vbulletin->options['dateformat'],$event['dateline_to']));
}
$output_bits .= sprintf('
<div class = "cms_widget_post_bit"><h4 class="cms_widget_post_header"><a href="calendar.php?do=getinfo&e=%d">%s</a></h4>
<p class="cms_widget_post_content">%s</p>
</div>
',$event['eventid'],$event['title'],$format);
}
$output = $output_bits;
ob_end_clean();
Thanks in advance.
|