View Full Version : How to get Todays Birthdays and Todays Events on another page
TNCclubman
03-25-2009, 05:19 PM
Trying to display both the Todays birthdays and todays events on another page, used this code... is there some javascript line Im missing to get it to display (like I was missing for the edit icon)
<if condition="$show['birthdays']">
<!-- today's birthdays -->
<tbody>
<tr>
<td class="thead" colspan="2">
<a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('forumhome_birthdays')"><img id="collapseimg_forumhome_birthdays" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_forumhome_birthdays].gif" alt="" border="0" /></a>
$vbphrase[todays_birthdays]
</td>
</tr>
</tbody>
<tbody id="collapseobj_forumhome_birthdays" style="$vbcollapse[collapseobj_forumhome_birthdays]">
<tr>
<td class="alt2"><a href="calendar.php?$session[sessionurl]do=getday&day=$today&sb=1"><img src="$stylevar[imgdir_misc]/birthday.gif" alt="$vbphrase[view_birthdays]" border="0" /></a></td>
<td class="alt1" width="100%"><div class="smallfont">$birthdays</div></td>
</tr>
</tbody>
<!-- end today's birthdays -->
</if>
$template_hook[forumhome_wgo_pos4]
<if condition="$show['upcomingevents']">
<tbody>
<tr>
<td class="thead" colspan="2">
<a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('forumhome_events')"><img id="collapseimg_forumhome_events" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_forumhome_events].gif" alt="" border="0" /></a>
<if condition="$show['todaysevents']">$vbphrase[todays_events]<else /><phrase 1="$vboptions[showevents]">$vbphrase[upcoming_events_for_the_next_x_days]</phrase></if>
</td>
</tr>
</tbody>
<tbody id="collapseobj_forumhome_events" style="$vbcollapse[collapseobj_forumhome_events]">
<tr>
<td class="alt2"><a href="calendar.php$session[sessionurl_q]"><img src="$stylevar[imgdir_misc]/calendar.gif" alt="$vbphrase[calendar]" border="0" /></a></td>
<td class="alt1" width="100%"><div class="smallfont">$upcomingevents</div></td>
</tr>
</tbody>
</if>
TigerC10
03-25-2009, 10:13 PM
You need to define the variables:
$birthdays and $upcomingevents
If you're calling this from a .php page, then that's a good place to do it. Otherwise, you'll have to use a plugin.
TNCclubman
03-25-2009, 11:12 PM
Heres the php page... Ive tried placing those 2 conditionals on different parts of the page and it prevents the page from loading...
<?php
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'clubslist'); // change this depending on your filename
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array(
);
// get special data templates from the datastore
$specialtemplates = array(
);
// pre-cache templates used by all actions
$globaltemplates = array(
'navigation',
);
// pre-cache templates used by specific actions
$actiontemplates = array(
);
$specialtemplates = array(
'birthdaycache',
'eventcache'
);
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################
$navbits = array();
$navbits[$parent] = 'Club Listings';
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
$show['latestalbums'] = true;
eval('print_output("' . fetch_template('navigation') . '");');
?>
TigerC10
03-25-2009, 11:22 PM
You have a few things missing, I haven't really read over the rest of the script but try adding the code in red to see what happens (the $today variable is very important):
<?php
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'clubslist'); // change this depending on your filename
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array(
'holiday'
);
// get special data templates from the datastore
$specialtemplates = array(
'birthdaycache',
'eventcache',
);
// pre-cache templates used by all actions
$globaltemplates = array(
'navigation',
'forumhome_event',
'forumhome_birthdaybit'
);
// pre-cache templates used by specific actions
$actiontemplates = array(
);
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################
$navbits = array();
$navbits[$parent] = 'Club Listings';
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
$today = vbdate('Y-m-d', TIMENOW, false, false);
// ### TODAY'S BIRTHDAYS #################################################
if ($vbulletin->options['showbirthdays'])
{
if (!is_array($vbulletin->birthdaycache)
OR ($today != $vbulletin->birthdaycache['day1'] AND $today !=
$vbulletin->birthdaycache['day2'])
OR !is_array($vbulletin->birthdaycache['users1'])
)
{
// Need to update!
require_once(DIR . '/includes/functions_databuild.php');
$birthdaystore = build_birthdays();
DEVDEBUG('Updated Birthdays');
}
else
{
$birthdaystore = $vbulletin->birthdaycache;
}
switch ($today)
{
case $birthdaystore['day1']:
$birthdaysarray = $birthdaystore['users1'];
break;
case $birthdaystore['day2']:
$birthdaysarray = $birthdaystore['users2'];
break;
default:
$birthdaysarray = array();
}
// memory saving
unset($birthdaystore);
$birthdaybits = array();
foreach ($birthdaysarray AS $birthday)
{
eval('$birthdaybits[] = "' . fetch_template('forumhome_birthdaybit')
. '";');
}
$birthdays = implode(', ', $birthdaybits);
if ($stylevar['dirmark'])
{
$birthdays = str_replace('<!--rlm-->', $stylevar['dirmark'],
$birthdays);
}
$show['birthdays'] = iif ($birthdays, true, false);
}
else
{
$show['birthdays'] = false;
}
// ### TODAY'S EVENTS #################################################
if ($vbulletin->options['showevents'])
{
require_once(DIR . '/includes/functions_calendar.php');
$future = gmdate('n-j-Y' , TIMENOW + 86400 + 86400 * $vbulletin->options
['showevents']);
if (!is_array($vbulletin->eventcache) OR $future != $vbulletin->eventcache
['date'])
{
// Need to update!
$eventstore = build_events();
DEVDEBUG('Updated Events');
}
else
{
$eventstore = $vbulletin->eventcache;
}
unset($eventstore['date']);
$events = array();
$eventcount = 0;
$holiday_calendarid = 0;
foreach ($eventstore AS $eventid => $eventinfo)
{
$offset = $eventinfo['dst'] ? $vbulletin->userinfo['timezoneoffset']
: $vbulletin->userinfo['tzoffset'];
$eventstore["$eventid"]['dateline_from_user'] = $eventinfo
['dateline_from_user'] = $eventinfo['dateline_from'] + $offset * 3600;
$eventstore["$eventid"]['dateline_to_user'] = $eventinfo
['dateline_to_user'] = $eventinfo['dateline_to'] + $offset * 3600;
$gettime = TIMENOW - $vbulletin->options['hourdiff'];
$iterations = 0;
$todaydate = getdate($gettime);
if (!$eventinfo['singleday'] AND !$eventinfo['recurring'] AND
$eventinfo['dateline_from_user'] < gmmktime(0, 0, 0, $todaydate['mon'], $todaydate
['mday'], $todaydate['year']))
{
$sub = -3;
}
else if ($eventinfo['holidayid'])
{
$sub = -2;
}
else if ($eventinfo['singleday'])
{
$sub = -1;
}
else
{
$sub = $eventinfo['dateline_from_user'] - (86400 * (intval
($eventinfo['dateline_from_user'] / 86400)));
}
if ($vbulletin->userinfo['calendarpermissions']["$eventinfo
[calendarid]"] & $vbulletin->bf_ugp_calendarpermissions['canviewcalendar'] OR
($eventinfo['holidayid'] AND $vbulletin->options['showholidays']))
{
if ($eventinfo['holidayid'] AND $vbulletin->options
['showholidays'])
{
if (!$holiday_calendarid)
{
$holiday_calendarid = -1;
if (is_array($eventinfo
['holiday_calendarids']))
{
foreach ($eventinfo
['holiday_calendarids'] AS $potential_holiday_calendarid)
{
if ($vbulletin->userinfo
['calendarpermissions']["$potential_holiday_calendarid"] & $vbulletin->bf_ugp_calendarpermissions
['canviewcalendar'])
{
$holiday_calendarid =
$potential_holiday_calendarid;
break;
}
}
}
}
if ($holiday_calendarid < 0)
{
continue;
}
$eventstore["$eventid"]['calendarid'] = $holiday_calendarid;
$eventinfo['calendarid'] = $holiday_calendarid;
}
if ($eventinfo['userid'] == $vbulletin->userinfo['userid'] OR
$vbulletin->userinfo['calendarpermissions']["$eventinfo[calendarid]"] & $vbulletin-
>bf_ugp_calendarpermissions['canviewothersevent'] OR ($eventinfo['holidayid'] AND
$vbulletin->options['showholidays']))
{
if (!$eventinfo['recurring'] AND !$vbulletin->options['showeventtype'] AND !
$eventinfo['singleday'] AND cache_event_info
($eventinfo, $todaydate['mon'], $todaydate['mday'], $todaydate['year']))
{
$events["$eventid"][] = $gettime . "_$sub";
}
else
{
while ($iterations < $vbulletin->options
['showevents'])
{
$addcache = false;
$todaydate = getdate($gettime);
if ($eventinfo['holidayid'] AND
$eventinfo['recurring'] == 6)
{
if ($eventinfo['recuroption']
== "$todaydate[mon]|$todaydate[mday]")
{
$addcache = true;
}
}
else if (cache_event_info($eventinfo,
$todaydate['mon'], $todaydate['mday'], $todaydate['year']))
{
$addcache = true;
}
if ($addcache)
{
if (!$vbulletin->options
['showeventtype'])
{
$events["$eventid"][]
= $gettime . "_$sub";
}
else
{
$events["$gettime"][]
= $eventid;
}
$eventcount++;
}
$iterations++;
$gettime += 86400;
}
}
}
}
}
if (!empty($events))
{
if ($vbulletin->options['showeventtype'])
{
ksort($events, SORT_NUMERIC);
}
else
{
function groupbyevent($a, $b)
{
if ($a[0] == $b[0])
{
return 0;
}
else
{
$values1 = explode('_', $a[0]);
$values2 = explode('_', $b[0]);
if ($values1[0] != $values2[0])
{
return ($values1[0] < $values2[0]) ?
-1 : 1;
}
else
{
// Same day events. Check the event start time to order them properly
(compare number of seconds from 00:00)
return ($values1[1] < $values2[1]) ?
-1 : 1;
}
}
}
uasort($events, 'groupbyevent');
foreach($events AS $eventid => $times)
{
foreach ($times AS $key => $time)
{
$events["$eventid"]["$key"] = intval($time);
}
}
}
$upcomingevents = '';
foreach($events AS $index => $value)
{
$pastevent = 0;
$pastcount = 0;
$comma = $eventdates = $daysevents = '';
if (!$vbulletin->options['showeventtype'])
{ // Group by Event // $index = $eventid
$eventinfo = $eventstore["$index"];
if (empty($eventinfo['recurring']) AND empty
($eventinfo['singleday']))
{
$fromdate = vbdate($vbulletin->options
['dateformat'], $eventinfo['dateline_from_user'], false, true, false, true);
$todate = vbdate($vbulletin->options
['dateformat'], $eventinfo['dateline_to_user'], false, true, false, true);
if ($fromdate != $todate)
{
$eventdates = construct_phrase
($vbphrase['event_x_to_y'], $fromdate, $todate);
}
else
{
$eventdates = vbdate($vbulletin->options['dateformat'], $eventinfo
['dateline_from_user'], false, true, false, true);
}
$day = vbdate('Y-n-j', $eventinfo
['dateline_from_user'], false, false);
}
else
{
unset($day);
foreach($value AS $key => $dateline)
{
if (($dateline - 86400) == $pastevent
AND !$eventinfo['holidayid'])
{
$pastevent = $dateline;
$pastcount++;
continue;
}
else
{
if ($pastcount)
{
$eventdates =
construct_phrase($vbphrase['event_x_to_y'], $eventdates, vbdate($vbulletin->options
['dateformat'], $pastevent, false, true, false));
}
$pastcount = 0;
$pastevent = $dateline;
}
if (!$day)
{
$day = vbdate('Y-n-j',
$dateline, false, false, false);
}
$eventdates .= $comma . vbdate
($vbulletin->options['dateformat'], $dateline, false, true, false);
$comma = ', ';
}
if ($pastcount)
{
$eventdates = construct_phrase
($vbphrase['event_x_to_y'], $eventdates, vbdate($vbulletin->options['dateformat'],
$pastevent, false, true, false));
}
}
if ($eventinfo['holidayid'])
{
$callink = '<a href="calendar.php?' .
$vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day&c=$eventinfo
[calendarid]\">" . $vbphrase['holiday' . $eventinfo['holidayid'] . '_title'] .
"</a>";
}
else
{
$callink = '<a href="calendar.php?' .
$vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day&e=$eventinfo
[eventid]&c=$eventinfo[calendarid]\">$eventinfo[title]</a>";
}
}
else
{ // Group by Date
$eventdate = vbdate($vbulletin->options
['dateformat'], $index, false, true, false);
$day = vbdate('Y-n-j', $index, false, false, false);
foreach($value AS $key => $eventid)
{
$eventinfo = $eventstore["$eventid"];
if ($eventinfo['holidayid'])
{
$daysevents .= $comma . '<a
href="calendar.php?' . $vbulletin->session->vars['sessionurl'] .
"do=getinfo&day=$day&c=$eventinfo[calendarid]\">" . $vbphrase['holiday' .
$eventinfo['holidayid'] . '_title'] . "</a>";
}
else
{
$daysevents .= $comma . '<a
href="calendar.php?' . $vbulletin->session->vars['sessionurl'] .
"do=getinfo&day=$day&e=$eventinfo[eventid]&c=$eventinfo[calendarid]
\">$eventinfo[title]</a>";
}
$comma = ', ';
}
}
($hook = vBulletinHook::fetch_hook('forumhome_event')) ?
eval($hook) : false;
eval('$upcomingevents .= "' . fetch_template
('forumhome_event') . '";');
}
// memory saving
unset($events, $eventstore);
}
$show['upcomingevents'] = iif ($upcomingevents, true, false);
$show['todaysevents'] = iif ($vbulletin->options['showevents'] == 1, true,
false);
}
else
{
$show['upcomingevents'] = false;
}
//var_dump($upcomingevents);
$show['latestalbums'] = true;
eval('print_output("' . fetch_template('navigation') . '");');
?>
EDIT:
Looks like you defined the $specialtemplates variable twice. That's not good for business ;)
TNCclubman
03-25-2009, 11:58 PM
Looks like you defined the $specialtemplates variable twice. That's not good for business
cant find where its down twice...
Also, got birthdays to show... but in the template, I had to remove all the EVENT stuff or the page wouldnt load...
what is the correct code for the template to show events?
--------------- Added 1238029556 at 1238029556 ---------------
also you've been a great help to me these last 2 days... pm me your email so I can send you some paypal thanks...
TigerC10
03-26-2009, 12:10 AM
cant find where its down twice...
Here's a code snippet from your original post, I've highlighted the duplicated variable.
<?php
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'clubslist'); // change this depending on your filename
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array(
);
// get special data templates from the datastore
$specialtemplates = array(
);
// pre-cache templates used by all actions
$globaltemplates = array(
'navigation',
);
// pre-cache templates used by specific actions
$actiontemplates = array(
);
$specialtemplates = array(
'birthdaycache',
'eventcache'
);
It shouldn't matter, your second one should override the first one - but it's just more work for the PHP engine to do.
I'll investigate the rest of the code in a little bit.
TNCclubman
03-26-2009, 12:16 AM
must be blind... saw that... removed the 2nd one... thanks!
TigerC10
03-26-2009, 12:42 AM
I heard that vBulletin's iif function is depricated. This could easily be the cause of the issue, since it may not be defined properly for the use of outside code. However, since it's still being used in forumhome - I don't think this is really the case.
iif is a ternary operator.
variable = iff(boolean, true, false);
is the same as saying
if(boolean)
{
variable = true
{
else
{
variable = false
}
So you might consider replacing the iif calls with the idea above - there aren't many of them.
Next, there's a hook being called. I don't know if you have any calendar affecting plugins, but it might be causing your script to break. You might want to remove the hook.
Areas of code I mentioned are highlighted:
<?php
// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// #################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'clubslist'); // change this depending on your filename
// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array(
'holiday'
);
// get special data templates from the datastore
$specialtemplates = array(
'birthdaycache',
'eventcache',
);
// pre-cache templates used by all actions
$globaltemplates = array(
'navigation',
'forumhome_event',
'forumhome_birthdaybit'
);
// pre-cache templates used by specific actions
$actiontemplates = array(
);
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');
// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################
$navbits = array();
$navbits[$parent] = 'Club Listings';
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
$today = vbdate('Y-m-d', TIMENOW, false, false);
// ### TODAY'S BIRTHDAYS #################################################
if ($vbulletin->options['showbirthdays'])
{
if (!is_array($vbulletin->birthdaycache)
OR ($today != $vbulletin->birthdaycache['day1'] AND $today !=
$vbulletin->birthdaycache['day2'])
OR !is_array($vbulletin->birthdaycache['users1'])
)
{
// Need to update!
require_once(DIR . '/includes/functions_databuild.php');
$birthdaystore = build_birthdays();
DEVDEBUG('Updated Birthdays');
}
else
{
$birthdaystore = $vbulletin->birthdaycache;
}
switch ($today)
{
case $birthdaystore['day1']:
$birthdaysarray = $birthdaystore['users1'];
break;
case $birthdaystore['day2']:
$birthdaysarray = $birthdaystore['users2'];
break;
default:
$birthdaysarray = array();
}
// memory saving
unset($birthdaystore);
$birthdaybits = array();
foreach ($birthdaysarray AS $birthday)
{
eval('$birthdaybits[] = "' . fetch_template('forumhome_birthdaybit')
. '";');
}
$birthdays = implode(', ', $birthdaybits);
if ($stylevar['dirmark'])
{
$birthdays = str_replace('<!--rlm-->', $stylevar['dirmark'],
$birthdays);
}
$show['birthdays'] = iif ($birthdays, true, false);
}
else
{
$show['birthdays'] = false;
}
// ### TODAY'S EVENTS #################################################
if ($vbulletin->options['showevents'])
{
require_once(DIR . '/includes/functions_calendar.php');
$future = gmdate('n-j-Y' , TIMENOW + 86400 + 86400 * $vbulletin->options
['showevents']);
if (!is_array($vbulletin->eventcache) OR $future != $vbulletin->eventcache
['date'])
{
// Need to update!
$eventstore = build_events();
DEVDEBUG('Updated Events');
}
else
{
$eventstore = $vbulletin->eventcache;
}
unset($eventstore['date']);
$events = array();
$eventcount = 0;
$holiday_calendarid = 0;
foreach ($eventstore AS $eventid => $eventinfo)
{
$offset = $eventinfo['dst'] ? $vbulletin->userinfo['timezoneoffset']
: $vbulletin->userinfo['tzoffset'];
$eventstore["$eventid"]['dateline_from_user'] = $eventinfo
['dateline_from_user'] = $eventinfo['dateline_from'] + $offset * 3600;
$eventstore["$eventid"]['dateline_to_user'] = $eventinfo
['dateline_to_user'] = $eventinfo['dateline_to'] + $offset * 3600;
$gettime = TIMENOW - $vbulletin->options['hourdiff'];
$iterations = 0;
$todaydate = getdate($gettime);
if (!$eventinfo['singleday'] AND !$eventinfo['recurring'] AND
$eventinfo['dateline_from_user'] < gmmktime(0, 0, 0, $todaydate['mon'], $todaydate
['mday'], $todaydate['year']))
{
$sub = -3;
}
else if ($eventinfo['holidayid'])
{
$sub = -2;
}
else if ($eventinfo['singleday'])
{
$sub = -1;
}
else
{
$sub = $eventinfo['dateline_from_user'] - (86400 * (intval
($eventinfo['dateline_from_user'] / 86400)));
}
if ($vbulletin->userinfo['calendarpermissions']["$eventinfo
[calendarid]"] & $vbulletin->bf_ugp_calendarpermissions['canviewcalendar'] OR
($eventinfo['holidayid'] AND $vbulletin->options['showholidays']))
{
if ($eventinfo['holidayid'] AND $vbulletin->options
['showholidays'])
{
if (!$holiday_calendarid)
{
$holiday_calendarid = -1;
if (is_array($eventinfo
['holiday_calendarids']))
{
foreach ($eventinfo
['holiday_calendarids'] AS $potential_holiday_calendarid)
{
if ($vbulletin->userinfo
['calendarpermissions']["$potential_holiday_calendarid"] & $vbulletin->bf_ugp_calendarpermissions
['canviewcalendar'])
{
$holiday_calendarid =
$potential_holiday_calendarid;
break;
}
}
}
}
if ($holiday_calendarid < 0)
{
continue;
}
$eventstore["$eventid"]['calendarid'] = $holiday_calendarid;
$eventinfo['calendarid'] = $holiday_calendarid;
}
if ($eventinfo['userid'] == $vbulletin->userinfo['userid'] OR
$vbulletin->userinfo['calendarpermissions']["$eventinfo[calendarid]"] & $vbulletin-
>bf_ugp_calendarpermissions['canviewothersevent'] OR ($eventinfo['holidayid'] AND
$vbulletin->options['showholidays']))
{
if (!$eventinfo['recurring'] AND !$vbulletin->options['showeventtype'] AND !
$eventinfo['singleday'] AND cache_event_info
($eventinfo, $todaydate['mon'], $todaydate['mday'], $todaydate['year']))
{
$events["$eventid"][] = $gettime . "_$sub";
}
else
{
while ($iterations < $vbulletin->options
['showevents'])
{
$addcache = false;
$todaydate = getdate($gettime);
if ($eventinfo['holidayid'] AND
$eventinfo['recurring'] == 6)
{
if ($eventinfo['recuroption']
== "$todaydate[mon]|$todaydate[mday]")
{
$addcache = true;
}
}
else if (cache_event_info($eventinfo,
$todaydate['mon'], $todaydate['mday'], $todaydate['year']))
{
$addcache = true;
}
if ($addcache)
{
if (!$vbulletin->options
['showeventtype'])
{
$events["$eventid"][]
= $gettime . "_$sub";
}
else
{
$events["$gettime"][]
= $eventid;
}
$eventcount++;
}
$iterations++;
$gettime += 86400;
}
}
}
}
}
if (!empty($events))
{
if ($vbulletin->options['showeventtype'])
{
ksort($events, SORT_NUMERIC);
}
else
{
function groupbyevent($a, $b)
{
if ($a[0] == $b[0])
{
return 0;
}
else
{
$values1 = explode('_', $a[0]);
$values2 = explode('_', $b[0]);
if ($values1[0] != $values2[0])
{
return ($values1[0] < $values2[0]) ?
-1 : 1;
}
else
{
// Same day events. Check the event start time to order them properly
(compare number of seconds from 00:00)
return ($values1[1] < $values2[1]) ?
-1 : 1;
}
}
}
uasort($events, 'groupbyevent');
foreach($events AS $eventid => $times)
{
foreach ($times AS $key => $time)
{
$events["$eventid"]["$key"] = intval($time);
}
}
}
$upcomingevents = '';
foreach($events AS $index => $value)
{
$pastevent = 0;
$pastcount = 0;
$comma = $eventdates = $daysevents = '';
if (!$vbulletin->options['showeventtype'])
{ // Group by Event // $index = $eventid
$eventinfo = $eventstore["$index"];
if (empty($eventinfo['recurring']) AND empty
($eventinfo['singleday']))
{
$fromdate = vbdate($vbulletin->options
['dateformat'], $eventinfo['dateline_from_user'], false, true, false, true);
$todate = vbdate($vbulletin->options
['dateformat'], $eventinfo['dateline_to_user'], false, true, false, true);
if ($fromdate != $todate)
{
$eventdates = construct_phrase
($vbphrase['event_x_to_y'], $fromdate, $todate);
}
else
{
$eventdates = vbdate($vbulletin->options['dateformat'], $eventinfo
['dateline_from_user'], false, true, false, true);
}
$day = vbdate('Y-n-j', $eventinfo
['dateline_from_user'], false, false);
}
else
{
unset($day);
foreach($value AS $key => $dateline)
{
if (($dateline - 86400) == $pastevent
AND !$eventinfo['holidayid'])
{
$pastevent = $dateline;
$pastcount++;
continue;
}
else
{
if ($pastcount)
{
$eventdates =
construct_phrase($vbphrase['event_x_to_y'], $eventdates, vbdate($vbulletin->options
['dateformat'], $pastevent, false, true, false));
}
$pastcount = 0;
$pastevent = $dateline;
}
if (!$day)
{
$day = vbdate('Y-n-j',
$dateline, false, false, false);
}
$eventdates .= $comma . vbdate
($vbulletin->options['dateformat'], $dateline, false, true, false);
$comma = ', ';
}
if ($pastcount)
{
$eventdates = construct_phrase
($vbphrase['event_x_to_y'], $eventdates, vbdate($vbulletin->options['dateformat'],
$pastevent, false, true, false));
}
}
if ($eventinfo['holidayid'])
{
$callink = '<a href="calendar.php?' .
$vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day&c=$eventinfo
[calendarid]\">" . $vbphrase['holiday' . $eventinfo['holidayid'] . '_title'] .
"</a>";
}
else
{
$callink = '<a href="calendar.php?' .
$vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day&e=$eventinfo
[eventid]&c=$eventinfo[calendarid]\">$eventinfo[title]</a>";
}
}
else
{ // Group by Date
$eventdate = vbdate($vbulletin->options
['dateformat'], $index, false, true, false);
$day = vbdate('Y-n-j', $index, false, false, false);
foreach($value AS $key => $eventid)
{
$eventinfo = $eventstore["$eventid"];
if ($eventinfo['holidayid'])
{
$daysevents .= $comma . '<a
href="calendar.php?' . $vbulletin->session->vars['sessionurl'] .
"do=getinfo&day=$day&c=$eventinfo[calendarid]\">" . $vbphrase['holiday' .
$eventinfo['holidayid'] . '_title'] . "</a>";
}
else
{
$daysevents .= $comma . '<a href="calendar.php?' . $vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day&e=$eventinfo[eventid]&c=$eventinfo[calendarid]\">$eventinfo[title]</a>";
}
$comma = ', ';
}
}
($hook = vBulletinHook::fetch_hook('forumhome_event')) ? eval($hook) : false;
eval('$upcomingevents .= "' . fetch_template('forumhome_event') . '";');
}
// memory saving
unset($events, $eventstore);
}
$show['upcomingevents'] = iif ($upcomingevents, true, false);
$show['todaysevents'] = iif ($vbulletin->options['showevents'] == 1, true, false);
}
else
{
$show['upcomingevents'] = false;
}
//var_dump($upcomingevents);
$show['latestalbums'] = true;
eval('print_output("' . fetch_template('navigation') . '");');
?>
TNCclubman
03-26-2009, 01:15 AM
ok removed the red parts, re-added the entire EVENTS part to the php file... now the page wont load again. (nothing changed on template, works without this whole EVENTS section of the php file)
so it must be something within this code that wont let the page load.
// ### TODAY'S EVENTS #################################################
if ($vbulletin->options['showevents'])
{
require_once(DIR . '/includes/functions_calendar.php');
$future = gmdate('n-j-Y' , TIMENOW + 86400 + 86400 * $vbulletin->options
['showevents']);
if (!is_array($vbulletin->eventcache) OR $future != $vbulletin->eventcache
['date'])
{
// Need to update!
$eventstore = build_events();
DEVDEBUG('Updated Events');
}
else
{
$eventstore = $vbulletin->eventcache;
}
unset($eventstore['date']);
$events = array();
$eventcount = 0;
$holiday_calendarid = 0;
foreach ($eventstore AS $eventid => $eventinfo)
{
$offset = $eventinfo['dst'] ? $vbulletin->userinfo['timezoneoffset']
: $vbulletin->userinfo['tzoffset'];
$eventstore["$eventid"]['dateline_from_user'] = $eventinfo
['dateline_from_user'] = $eventinfo['dateline_from'] + $offset * 3600;
$eventstore["$eventid"]['dateline_to_user'] = $eventinfo
['dateline_to_user'] = $eventinfo['dateline_to'] + $offset * 3600;
$gettime = TIMENOW - $vbulletin->options['hourdiff'];
$iterations = 0;
$todaydate = getdate($gettime);
if (!$eventinfo['singleday'] AND !$eventinfo['recurring'] AND
$eventinfo['dateline_from_user'] < gmmktime(0, 0, 0, $todaydate['mon'], $todaydate
['mday'], $todaydate['year']))
{
$sub = -3;
}
else if ($eventinfo['holidayid'])
{
$sub = -2;
}
else if ($eventinfo['singleday'])
{
$sub = -1;
}
else
{
$sub = $eventinfo['dateline_from_user'] - (86400 * (intval
($eventinfo['dateline_from_user'] / 86400)));
}
if ($vbulletin->userinfo['calendarpermissions']["$eventinfo
[calendarid]"] & $vbulletin->bf_ugp_calendarpermissions['canviewcalendar'] OR
($eventinfo['holidayid'] AND $vbulletin->options['showholidays']))
{
if ($eventinfo['holidayid'] AND $vbulletin->options
['showholidays'])
{
if (!$holiday_calendarid)
{
$holiday_calendarid = -1;
if (is_array($eventinfo
['holiday_calendarids']))
{
foreach ($eventinfo
['holiday_calendarids'] AS $potential_holiday_calendarid)
{
if ($vbulletin->userinfo
['calendarpermissions']["$potential_holiday_calendarid"] & $vbulletin->bf_ugp_calendarpermissions
['canviewcalendar'])
{
$holiday_calendarid =
$potential_holiday_calendarid;
break;
}
}
}
}
if ($holiday_calendarid < 0)
{
continue;
}
$eventstore["$eventid"]['calendarid'] = $holiday_calendarid;
$eventinfo['calendarid'] = $holiday_calendarid;
}
if ($eventinfo['userid'] == $vbulletin->userinfo['userid'] OR
$vbulletin->userinfo['calendarpermissions']["$eventinfo[calendarid]"] & $vbulletin-
>bf_ugp_calendarpermissions['canviewothersevent'] OR ($eventinfo['holidayid'] AND
$vbulletin->options['showholidays']))
{
if (!$eventinfo['recurring'] AND !$vbulletin->options['showeventtype'] AND !
$eventinfo['singleday'] AND cache_event_info
($eventinfo, $todaydate['mon'], $todaydate['mday'], $todaydate['year']))
{
$events["$eventid"][] = $gettime . "_$sub";
}
else
{
while ($iterations < $vbulletin->options
['showevents'])
{
$addcache = false;
$todaydate = getdate($gettime);
if ($eventinfo['holidayid'] AND
$eventinfo['recurring'] == 6)
{
if ($eventinfo['recuroption']
== "$todaydate[mon]|$todaydate[mday]")
{
$addcache = true;
}
}
else if (cache_event_info($eventinfo,
$todaydate['mon'], $todaydate['mday'], $todaydate['year']))
{
$addcache = true;
}
if ($addcache)
{
if (!$vbulletin->options
['showeventtype'])
{
$events["$eventid"][]
= $gettime . "_$sub";
}
else
{
$events["$gettime"][]
= $eventid;
}
$eventcount++;
}
$iterations++;
$gettime += 86400;
}
}
}
}
}
if (!empty($events))
{
if ($vbulletin->options['showeventtype'])
{
ksort($events, SORT_NUMERIC);
}
else
{
function groupbyevent($a, $b)
{
if ($a[0] == $b[0])
{
return 0;
}
else
{
$values1 = explode('_', $a[0]);
$values2 = explode('_', $b[0]);
if ($values1[0] != $values2[0])
{
return ($values1[0] < $values2[0]) ?
-1 : 1;
}
else
{
// Same day events. Check the event start time to order them properly
(compare number of seconds from 00:00)
return ($values1[1] < $values2[1]) ?
-1 : 1;
}
}
}
uasort($events, 'groupbyevent');
foreach($events AS $eventid => $times)
{
foreach ($times AS $key => $time)
{
$events["$eventid"]["$key"] = intval($time);
}
}
}
$upcomingevents = '';
foreach($events AS $index => $value)
{
$pastevent = 0;
$pastcount = 0;
$comma = $eventdates = $daysevents = '';
if (!$vbulletin->options['showeventtype'])
{ // Group by Event // $index = $eventid
$eventinfo = $eventstore["$index"];
if (empty($eventinfo['recurring']) AND empty
($eventinfo['singleday']))
{
$fromdate = vbdate($vbulletin->options
['dateformat'], $eventinfo['dateline_from_user'], false, true, false, true);
$todate = vbdate($vbulletin->options
['dateformat'], $eventinfo['dateline_to_user'], false, true, false, true);
if ($fromdate != $todate)
{
$eventdates = construct_phrase
($vbphrase['event_x_to_y'], $fromdate, $todate);
}
else
{
$eventdates = vbdate($vbulletin->options['dateformat'], $eventinfo
['dateline_from_user'], false, true, false, true);
}
$day = vbdate('Y-n-j', $eventinfo
['dateline_from_user'], false, false);
}
else
{
unset($day);
foreach($value AS $key => $dateline)
{
if (($dateline - 86400) == $pastevent
AND !$eventinfo['holidayid'])
{
$pastevent = $dateline;
$pastcount++;
continue;
}
else
{
if ($pastcount)
{
$eventdates =
construct_phrase($vbphrase['event_x_to_y'], $eventdates, vbdate($vbulletin->options
['dateformat'], $pastevent, false, true, false));
}
$pastcount = 0;
$pastevent = $dateline;
}
if (!$day)
{
$day = vbdate('Y-n-j',
$dateline, false, false, false);
}
$eventdates .= $comma . vbdate
($vbulletin->options['dateformat'], $dateline, false, true, false);
$comma = ', ';
}
if ($pastcount)
{
$eventdates = construct_phrase
($vbphrase['event_x_to_y'], $eventdates, vbdate($vbulletin->options['dateformat'],
$pastevent, false, true, false));
}
}
if ($eventinfo['holidayid'])
{
$callink = '<a href="calendar.php?' .
$vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day&c=$eventinfo
[calendarid]\">" . $vbphrase['holiday' . $eventinfo['holidayid'] . '_title'] .
"</a>";
}
else
{
$callink = '<a href="calendar.php?' .
$vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day&e=$eventinfo
[eventid]&c=$eventinfo[calendarid]\">$eventinfo[title]</a>";
}
}
else
{ // Group by Date
$eventdate = vbdate($vbulletin->options
['dateformat'], $index, false, true, false);
$day = vbdate('Y-n-j', $index, false, false, false);
foreach($value AS $key => $eventid)
{
$eventinfo = $eventstore["$eventid"];
if ($eventinfo['holidayid'])
{
$daysevents .= $comma . '<a
href="calendar.php?' . $vbulletin->session->vars['sessionurl'] .
"do=getinfo&day=$day&c=$eventinfo[calendarid]\">" . $vbphrase['holiday' .
$eventinfo['holidayid'] . '_title'] . "</a>";
}
else
{
$daysevents .= $comma . '<a href="calendar.php?' . $vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day&e=$eventinfo[eventid]&c=$eventinfo[calendarid]\">$eventinfo[title]</a>";
}
$comma = ', ';
}
}
eval('$upcomingevents .= "' . fetch_template('forumhome_event') . '";');
}
// memory saving
unset($events, $eventstore);
}
$show['upcomingevents']
$show['todaysevents']
}
else
{
$show['upcomingevents'] = false;
}
//var_dump($upcomingevents);
--------------- Added 1238034047 at 1238034047 ---------------
Heres the template part that calls the EVENT info to display...
<if condition="$show['upcomingevents']">
<tbody>
<tr>
<td class="thead" colspan="2">
<a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('forumhome_events')"><img id="collapseimg_forumhome_events" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_forumhome_events].gif" alt="" border="0" /></a>
<if condition="$show['todaysevents']">$vbphrase[todays_events]<else /><phrase 1="$vboptions[showevents]">$vbphrase[upcoming_events_for_the_next_x_days]</phrase></if>
</td>
</tr>
</tbody>
<tbody id="collapseobj_forumhome_events" style="$vbcollapse[collapseobj_forumhome_events]">
<tr>
<td class="alt2"><a href="calendar.php$session[sessionurl_q]"><img src="$stylevar[imgdir_misc]/calendar.gif" alt="$vbphrase[calendar]" border="0" /></a></td>
<td class="alt1" width="100%"><div class="smallfont">$upcomingevents</div></td>
</tr>
</tbody>
</if>
TigerC10
03-26-2009, 01:27 AM
Dang, dude. That is some serious bad mojo. At this point, I think it'd just be easier to write your own code instead of copying what forumhome has.
When you say nothing displays, is the page white? Or what?
TNCclubman
03-26-2009, 01:30 AM
completely white... wont load... I remove the php part with the EVENT stuff... loads up. Going through that part of the code right now to see if its callin something that would prevent the page from loading... Do I need all that stuff in the php part for the EVENTS?
--------------- Added 1238034852 at 1238034852 ---------------
I just want to show TODAYS EVENTS. No multiple days or anything else that code is asking for. I also dont care for it to check who has access to see events based on permissions. Just show all TODAYS EVENTS from all the calendars. (If that matters) lol
--------------- Added 1238035345 at 1238035345 ---------------
OK UPDATE. been trying to track down whats preventing the page to load... narrowed it down to the first couple of lines...
// ### TODAY'S EVENTS #################################################
if ($vbulletin->options['showevents'])
{
require_once(DIR . '/includes/functions_calendar.php');
$future = gmdate('n-j-Y' , TIMENOW + 86400 + 86400 * $vbulletin->options
['showevents']);
TigerC10
03-26-2009, 02:00 AM
Well, 86400 = 24 hours, so that's setting it to 2 days in the future at least.
Change the snippet to
// ### TODAY'S EVENTS #################################################
if ($vbulletin->options['showevents'])
{
require_once(DIR . '/includes/functions_calendar.php');
$future = gmdate('n-j-Y' , TIMENOW);
See if that does anything. If not, then there's something in functions_calendar.php that is breaking.
EDIT:
On second thought, add this right below the global.php include:
require_once(DIR . '/includes/functions_bigthree.php');
See if that does anything for you.
TNCclubman
03-26-2009, 06:09 AM
damn, did all that and the page is white again...
TigerC10
03-26-2009, 12:26 PM
Do the scripts conflict with each other? If you delete the birthday stuff, does it still display a blank page? Or does it display the events?
TNCclubman
03-26-2009, 01:32 PM
Let me try that... I'll try to remove the birthday template stuff, then the birthday php stuff...
--------------- Added 1238079024 at 1238079024 ---------------
Put the event stuff on the php, page is white. Removed it, works again (like before)
Now put the event stuff again, but this time removed the birthday stuff, still white page.
For some reason, its something in here that is keeping the page from loading.
I think Id rather scrap this code I got from the FORUMHOME. What php should I use in its place??
Heres the current event php im using
// ### TODAY'S EVENTS #################################################
if ($vbulletin->options['showevents'])
{
require_once(DIR . '/includes/functions_calendar.php');
$future = gmdate('n-j-Y' , TIMENOW + 86400 + 86400 * $vbulletin->options
['showevents']);
if (!is_array($vbulletin->eventcache) OR $future != $vbulletin->eventcache
['date'])
{
// Need to update!
$eventstore = build_events();
DEVDEBUG('Updated Events');
}
else
{
$eventstore = $vbulletin->eventcache;
}
unset($eventstore['date']);
$events = array();
$eventcount = 0;
$holiday_calendarid = 0;
foreach ($eventstore AS $eventid => $eventinfo)
{
$offset = $eventinfo['dst'] ? $vbulletin->userinfo['timezoneoffset']
: $vbulletin->userinfo['tzoffset'];
$eventstore["$eventid"]['dateline_from_user'] = $eventinfo
['dateline_from_user'] = $eventinfo['dateline_from'] + $offset * 3600;
$eventstore["$eventid"]['dateline_to_user'] = $eventinfo
['dateline_to_user'] = $eventinfo['dateline_to'] + $offset * 3600;
$gettime = TIMENOW - $vbulletin->options['hourdiff'];
$iterations = 0;
$todaydate = getdate($gettime);
if (!$eventinfo['singleday'] AND !$eventinfo['recurring'] AND
$eventinfo['dateline_from_user'] < gmmktime(0, 0, 0, $todaydate['mon'], $todaydate
['mday'], $todaydate['year']))
{
$sub = -3;
}
else if ($eventinfo['holidayid'])
{
$sub = -2;
}
else if ($eventinfo['singleday'])
{
$sub = -1;
}
else
{
$sub = $eventinfo['dateline_from_user'] - (86400 * (intval
($eventinfo['dateline_from_user'] / 86400)));
}
if ($vbulletin->userinfo['calendarpermissions']["$eventinfo
[calendarid]"] & $vbulletin->bf_ugp_calendarpermissions['canviewcalendar'] OR
($eventinfo['holidayid'] AND $vbulletin->options['showholidays']))
{
if ($eventinfo['holidayid'] AND $vbulletin->options
['showholidays'])
{
if (!$holiday_calendarid)
{
$holiday_calendarid = -1;
if (is_array($eventinfo
['holiday_calendarids']))
{
foreach ($eventinfo
['holiday_calendarids'] AS $potential_holiday_calendarid)
{
if ($vbulletin->userinfo
['calendarpermissions']["$potential_holiday_calendarid"] & $vbulletin->bf_ugp_calendarpermissions
['canviewcalendar'])
{
$holiday_calendarid =
$potential_holiday_calendarid;
break;
}
}
}
}
if ($holiday_calendarid < 0)
{
continue;
}
$eventstore["$eventid"]['calendarid'] = $holiday_calendarid;
$eventinfo['calendarid'] = $holiday_calendarid;
}
if ($eventinfo['userid'] == $vbulletin->userinfo['userid'] OR
$vbulletin->userinfo['calendarpermissions']["$eventinfo[calendarid]"] & $vbulletin-
>bf_ugp_calendarpermissions['canviewothersevent'] OR ($eventinfo['holidayid'] AND
$vbulletin->options['showholidays']))
{
if (!$eventinfo['recurring'] AND !$vbulletin->options['showeventtype'] AND !
$eventinfo['singleday'] AND cache_event_info
($eventinfo, $todaydate['mon'], $todaydate['mday'], $todaydate['year']))
{
$events["$eventid"][] = $gettime . "_$sub";
}
else
{
while ($iterations < $vbulletin->options
['showevents'])
{
$addcache = false;
$todaydate = getdate($gettime);
if ($eventinfo['holidayid'] AND
$eventinfo['recurring'] == 6)
{
if ($eventinfo['recuroption']
== "$todaydate[mon]|$todaydate[mday]")
{
$addcache = true;
}
}
else if (cache_event_info($eventinfo,
$todaydate['mon'], $todaydate['mday'], $todaydate['year']))
{
$addcache = true;
}
if ($addcache)
{
if (!$vbulletin->options
['showeventtype'])
{
$events["$eventid"][]
= $gettime . "_$sub";
}
else
{
$events["$gettime"][]
= $eventid;
}
$eventcount++;
}
$iterations++;
$gettime += 86400;
}
}
}
}
}
if (!empty($events))
{
if ($vbulletin->options['showeventtype'])
{
ksort($events, SORT_NUMERIC);
}
else
{
function groupbyevent($a, $b)
{
if ($a[0] == $b[0])
{
return 0;
}
else
{
$values1 = explode('_', $a[0]);
$values2 = explode('_', $b[0]);
if ($values1[0] != $values2[0])
{
return ($values1[0] < $values2[0]) ?
-1 : 1;
}
else
{
// Same day events. Check the event start time to order them properly
(compare number of seconds from 00:00)
return ($values1[1] < $values2[1]) ?
-1 : 1;
}
}
}
uasort($events, 'groupbyevent');
foreach($events AS $eventid => $times)
{
foreach ($times AS $key => $time)
{
$events["$eventid"]["$key"] = intval($time);
}
}
}
$upcomingevents = '';
foreach($events AS $index => $value)
{
$pastevent = 0;
$pastcount = 0;
$comma = $eventdates = $daysevents = '';
if (!$vbulletin->options['showeventtype'])
{ // Group by Event // $index = $eventid
$eventinfo = $eventstore["$index"];
if (empty($eventinfo['recurring']) AND empty
($eventinfo['singleday']))
{
$fromdate = vbdate($vbulletin->options
['dateformat'], $eventinfo['dateline_from_user'], false, true, false, true);
$todate = vbdate($vbulletin->options
['dateformat'], $eventinfo['dateline_to_user'], false, true, false, true);
if ($fromdate != $todate)
{
$eventdates = construct_phrase
($vbphrase['event_x_to_y'], $fromdate, $todate);
}
else
{
$eventdates = vbdate($vbulletin->options['dateformat'], $eventinfo
['dateline_from_user'], false, true, false, true);
}
$day = vbdate('Y-n-j', $eventinfo
['dateline_from_user'], false, false);
}
else
{
unset($day);
foreach($value AS $key => $dateline)
{
if (($dateline - 86400) == $pastevent
AND !$eventinfo['holidayid'])
{
$pastevent = $dateline;
$pastcount++;
continue;
}
else
{
if ($pastcount)
{
$eventdates =
construct_phrase($vbphrase['event_x_to_y'], $eventdates, vbdate($vbulletin->options
['dateformat'], $pastevent, false, true, false));
}
$pastcount = 0;
$pastevent = $dateline;
}
if (!$day)
{
$day = vbdate('Y-n-j',
$dateline, false, false, false);
}
$eventdates .= $comma . vbdate
($vbulletin->options['dateformat'], $dateline, false, true, false);
$comma = ', ';
}
if ($pastcount)
{
$eventdates = construct_phrase
($vbphrase['event_x_to_y'], $eventdates, vbdate($vbulletin->options['dateformat'],
$pastevent, false, true, false));
}
}
if ($eventinfo['holidayid'])
{
$callink = '<a href="calendar.php?' .
$vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day&c=$eventinfo
[calendarid]\">" . $vbphrase['holiday' . $eventinfo['holidayid'] . '_title'] .
"</a>";
}
else
{
$callink = '<a href="calendar.php?' .
$vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day&e=$eventinfo
[eventid]&c=$eventinfo[calendarid]\">$eventinfo[title]</a>";
}
}
else
{ // Group by Date
$eventdate = vbdate($vbulletin->options
['dateformat'], $index, false, true, false);
$day = vbdate('Y-n-j', $index, false, false, false);
foreach($value AS $key => $eventid)
{
$eventinfo = $eventstore["$eventid"];
if ($eventinfo['holidayid'])
{
$daysevents .= $comma . '<a
href="calendar.php?' . $vbulletin->session->vars['sessionurl'] .
"do=getinfo&day=$day&c=$eventinfo[calendarid]\">" . $vbphrase['holiday' .
$eventinfo['holidayid'] . '_title'] . "</a>";
}
else
{
$daysevents .= $comma . '<a href="calendar.php?' . $vbulletin->session-
>vars['sessionurl'] . "do=getinfo&day=$day&e=$eventinfo[eventid]&c=$eventinfo
[calendarid]\">$eventinfo[title]</a>";
}
$comma = ', ';
}
}
eval('$upcomingevents .= "' . fetch_template('forumhome_event') . '";');
}
// memory saving
unset($events, $eventstore);
}
$show['upcomingevents']
$show['todaysevents']
}
else
{
$show['upcomingevents'] = false;
}
//var_dump($upcomingevents);
TNCclubman
03-26-2009, 08:25 PM
SOLVED
Got it to work with this php code
// ### TODAY'S EVENTS #################################################
if ($vbulletin->options['showevents'] ==1)
{
require_once(DIR . '/includes/functions_calendar.php');
$future = gmdate('n-j-Y' , TIMENOW + 86400 * $vbulletin->options['showevents']);
if (!is_array($vbulletin->eventcache) OR $future != $vbulletin->eventcache['date'])
{
// Need to update!
require_once(DIR . '/includes/functions_databuild.php');
$eventstore = build_events();
DEVDEBUG('Updated Events');
}
else
{
$eventstore = $vbulletin->eventcache;
}
// Bitfield setup for Calendar
$cpermissions = array (
'view' => 1,
'post' => 2,
'edit' => 4,
'delete' => 8,
'viewothers' => 16,
'notmoderated' => 32
);
// Get the best permissions for each calendar based on all user group memberships.
$results = $vbulletin->db->query_read("
SELECT
c.calendarid,
max(CASE WHEN cp.calendarpermissions IS NULL THEN
ug.calendarpermissions
ELSE cp.calendarpermissions
END) maxPerm
FROM
".TABLE_PREFIX."usergroup ug
CROSS JOIN ".TABLE_PREFIX."calendar c
LEFT JOIN ".TABLE_PREFIX."calendarpermission cp ON
c.calendarid = cp.calendarid
AND cp.usergroupid = ug.usergroupid
WHERE
ug.usergroupid IN (" . $vbulletin->userinfo['usergroupid'] . ", 0" .
$vbulletin->userinfo['membergroupids'] . ")
GROUP BY
c.calendarid;"
);
// Put the permission results into an array
$calperm = array();
while ($row = $vbulletin->db->fetch_array($results))
{
// Decode the bitfield.
$bitperm = convert_bits_to_array(&$row[maxPerm], $cpermissions);
$calperm[$row[calendarid]]=$bitperm;
}
unset($eventstore['date']);
$events = array();
$eventcount = 0;
foreach ($eventstore AS $eventid => $eventinfo)
{
$offset = $eventinfo['dst'] ? $vbulletin->userinfo['timezoneoffset'] : $vbulletin
->userinfo['tzoffset'];
$eventstore["$eventid"]['dateline_from_user'] = $eventinfo['dateline_from_user'] =
$eventinfo['dateline_from'] + $offset * 3600;
$eventstore["$eventid"]['dateline_to_user'] = $eventinfo['dateline_to_user'] =
$eventinfo['dateline_to'] + $offset * 3600;
$gettime = TIMENOW - $vbulletin->options['hourdiff'];
$iterations = 0;
$todaydate = getdate($gettime);
DEVDEBUG('Processing Event - '.$calperm[$eventinfo[calendarid]]
['view'].",".$calperm[$eventinfo[calendarid]]['viewothers']);
if ($calperm[$eventinfo[calendarid]][view]==1 & $vbulletin-
>bf_ugp_calendarpermissions['canviewcalendar'] OR ($eventinfo['holidayid'] AND $vbulletin-
>options['showholidays']))
{
if ($eventinfo['userid'] == $vbulletin->userinfo['userid'] OR $calperm
[$eventinfo[calendarid]][viewothers]==1 OR ($eventinfo['holidayid'] AND $vbulletin->options
['showholidays']))
{
if (!$eventinfo['recurring'] AND !$vbulletin->options
['showeventtype'] AND !$eventinfo['singleday'] AND cache_event_info($eventinfo, $todaydate['mon'],
$todaydate['mday'], $todaydate['year']))
{
$events["$eventid"][] = $gettime;
}
else
{
while ($iterations < $vbulletin->options['showevents'])
{
$addcache = false;
$todaydate = getdate($gettime);
if ($eventinfo['holidayid'] AND $eventinfo
['recurring'] == 6)
{
if ($eventinfo['recuroption'] ==
"$todaydate[mon]|$todaydate[mday]")
{
$addcache = true;
}
}
else if (cache_event_info($eventinfo, $todaydate
['mon'], $todaydate['mday'], $todaydate['year']))
{
$addcache = true;
}
if ($addcache)
{
if (!$vbulletin->options['showeventtype'])
{
$events["$eventid"][] = $gettime;
}
else
{
$events["$gettime"][] = $eventid;
}
$eventcount++;
}
$iterations++;
$gettime += 86400;
}
}
}
}
}
if (!empty($events))
{
if ($vbulletin->options['showeventtype'])
{
ksort($events, SORT_NUMERIC);
}
else
{
function groupbyevent($a, $b)
{
if ($a[0] == $b[0]) { return 0; }
else { return ($a[0] < $b[0]) ? -1 : 1; }
}
uasort($events, 'groupbyevent');
}
foreach($events AS $index => $value)
{
$pastevent = 0;
$pastcount = 0;
$comma = $eventdates = $daysevents = '';
if (!$vbulletin->options['showeventtype'])
{ // Group by Event // $index = $eventid
$eventinfo = $eventstore["$index"];
if (empty($eventinfo['recurring']) AND empty($eventinfo
['singleday']))
{ // ranged event -- show it from its real start and real
end date (vbgmdate)
// $eventdates = construct_phrase($vbphrase
['event_x_to_y'], vbdate($vbulletin->options['dateformat'], $eventinfo['dateline_from_user'],
false, true, false, true), vbdate($vbulletin->options['dateformat'], $eventinfo
['dateline_to_user'], false, true, false, true));
$day = vbdate('Y-n-j', $eventinfo['dateline_from_user'],
false, false);
$eventdates = vbdate($vbulletin->options['dateformat'],
$eventinfo['dateline_from_user'], false, true, false, true);
$eventdates .= " to ". vbdate($vbulletin->options
['dateformat'], $eventinfo['dateline_to_user'], false, true, false, true);
}
else
{
unset($day);
foreach($value AS $key => $dateline)
{
if (($dateline - 86400) == $pastevent AND !
$eventinfo['holidayid'])
{
$pastevent = $dateline;
$pastcount++;
continue;
}
else
{
if ($pastcount)
{
$eventdates = construct_phrase
($vbphrase['event_x_to_y'], $eventdates, vbdate($vbulletin->options['dateformat'], $pastevent,
false, true, false));
}
$pastcount = 0;
$pastevent = $dateline;
}
if (!$day)
{
$day = vbdate('Y-n-j', $dateline, false,
false, false);
}
$eventdates .= $comma . vbdate($vbulletin-
>options['dateformat'], $dateline, false, true, false);
$comma = ', ';
}
if ($pastcount)
{
$eventdates = construct_phrase($vbphrase
['event_x_to_y'], $eventdates, vbdate($vbulletin->options['dateformat'], $pastevent, false, true,
false));
}
}
if ($eventinfo['holidayid'])
{
$callink = '<a href="calendar.php?' . $vbulletin->session
->vars['sessionurl'] . "do=getinfo&day=$day\">" . $vbphrase['holiday' . $eventinfo
['holidayid'] . '_title'] . "</a>";
}
else
{
$callink = '<a href="calendar.php?' . $vbulletin->session
->vars['sessionurl'] . "do=getinfo&day=$day&e=$eventinfo[eventid]&c=$eventinfo
[calendarid]\">$eventinfo[title]</a>";
}
}
else
{ // Group by Date
$eventdate = vbdate($vbulletin->options['dateformat'], $index,
false, true, false);
$day = vbdate('Y-n-j', $index, false, true, false);
foreach($value AS $key => $eventid)
{
$eventinfo = $eventstore["$eventid"];
if ($eventinfo['holidayid'])
{
$daysevents .= $comma . '<a href="calendar.php?' .
$vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day\">" . $vbphrase['holiday' .
$eventinfo['holidayid'] . '_title'] . "</a>";
}
else
{
$daysevents .= $comma . '<a href="calendar.php?' .
$vbulletin->session->vars['sessionurl'] . "do=getinfo&day=$day&e=$eventinfo[eventid]
&c=$eventinfo[calendarid]\">$eventinfo[title]</a>";
}
$comma = ', ';
}
}
//($hook = vBulletinHook::fetch_hook('forumhome_event')) ? eval($hook) :
false;
eval('$upcomingevents .= "' . fetch_template('forumhome_event') . '";');
}
// memory saving
unset($events, $eventstore);
}
$show['upcomingevents'] = iif ($upcomingevents, true, false);
$show['todaysevents'] = iif ($vbulletin->options['showevents'] == 1, true, false);
}
and this template code
<if condition="$show['upcomingevents']">
<if condition="$show['todaysevents']">$vbphrase[todays_events]<else /><phrase 1="$vboptions[showevents]">$vbphrase[upcoming_events_for_the_next_x_days]</phrase></if>
<a href="calendar.php$session[sessionurl_q]"><img src="$stylevar[imgdir_misc]/calendar.gif" alt="$vbphrase[calendar]" border="0" /></a>
<div class="smallfont">$upcomingevents</div>
</if>
Tiger, can you message me your email if you have a paypal account?
TigerC10
03-26-2009, 09:43 PM
SOLVED
Got it to work with this php code
That's great! Glad you got it worked out.
Tiger, can you message me your email if you have a paypal account?
Nah, I didn't solve this problem for you and the last one was like a 10 minute fix. I'd feel bad about taking even 25 cents.
vBulletin® v3.8.12 by vBS, Copyright ©2000-2024, vBulletin Solutions Inc.