Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 03-25-2009, 05:19 PM
TNCclubman's Avatar
TNCclubman TNCclubman is offline
 
Join Date: Sep 2008
Posts: 690
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default How to get Todays Birthdays and Todays Events on another page

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)

Code:
<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&amp;day=$today&amp;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>
Reply With Quote
  #2  
Old 03-25-2009, 10:13 PM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #3  
Old 03-25-2009, 11:12 PM
TNCclubman's Avatar
TNCclubman TNCclubman is offline
 
Join Date: Sep 2008
Posts: 690
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Heres the php page... Ive tried placing those 2 conditionals on different parts of the page and it prevents the page from loading...

Code:
<?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') . '");'); 
?>
Reply With Quote
  #4  
Old 03-25-2009, 11:22 PM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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):

Code:
<?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&amp;day=$day&amp;c=$eventinfo

[calendarid]\">" . $vbphrase['holiday' . $eventinfo['holidayid'] . '_title'] . 

"</a>";
                }
                else
                {
                    $callink = '<a href="calendar.php?' . 

$vbulletin->session->vars['sessionurl'] . "do=getinfo&amp;day=$day&amp;e=$eventinfo

[eventid]&amp;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&amp;day=$day&amp;c=$eventinfo[calendarid]\">" . $vbphrase['holiday' . 

$eventinfo['holidayid'] . '_title'] . "</a>";
                    }
                    else
                    {
                        $daysevents .= $comma . '<a 

href="calendar.php?' . $vbulletin->session->vars['sessionurl'] . 

"do=getinfo&amp;day=$day&amp;e=$eventinfo[eventid]&amp;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
Reply With Quote
  #5  
Old 03-25-2009, 11:58 PM
TNCclubman's Avatar
TNCclubman TNCclubman is offline
 
Join Date: Sep 2008
Posts: 690
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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 [DATE]1238029556[/DATE] at [TIME]1238029556[/TIME] ---------------

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...
Reply With Quote
  #6  
Old 03-26-2009, 12:10 AM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by TNCclubman View Post
cant find where its down twice...
Here's a code snippet from your original post, I've highlighted the duplicated variable.

Code:
<?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.
Reply With Quote
  #7  
Old 03-26-2009, 12:16 AM
TNCclubman's Avatar
TNCclubman TNCclubman is offline
 
Join Date: Sep 2008
Posts: 690
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

must be blind... saw that... removed the 2nd one... thanks!
Reply With Quote
  #8  
Old 03-26-2009, 12:42 AM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.

Code:
variable = iff(boolean, true, false);
is the same as saying
Code:
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:
Code:
<?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&amp;day=$day&amp;c=$eventinfo

[calendarid]\">" . $vbphrase['holiday' . $eventinfo['holidayid'] . '_title'] . 

"</a>";
                }
                else
                {
                    $callink = '<a href="calendar.php?' . 

$vbulletin->session->vars['sessionurl'] . "do=getinfo&amp;day=$day&amp;e=$eventinfo

[eventid]&amp;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&amp;day=$day&amp;c=$eventinfo[calendarid]\">" . $vbphrase['holiday' . 

$eventinfo['holidayid'] . '_title'] . "</a>";
                    }
                    else
                    {
                        $daysevents .= $comma . '<a href="calendar.php?' . $vbulletin->session->vars['sessionurl'] . "do=getinfo&amp;day=$day&amp;e=$eventinfo[eventid]&amp;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') . '");'); 
?>
Reply With Quote
  #9  
Old 03-26-2009, 01:15 AM
TNCclubman's Avatar
TNCclubman TNCclubman is offline
 
Join Date: Sep 2008
Posts: 690
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.

Code:
// ### 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&amp;day=$day&amp;c=$eventinfo

[calendarid]\">" . $vbphrase['holiday' . $eventinfo['holidayid'] . '_title'] . 

"</a>";
                }
                else
                {
                    $callink = '<a href="calendar.php?' . 

$vbulletin->session->vars['sessionurl'] . "do=getinfo&amp;day=$day&amp;e=$eventinfo

[eventid]&amp;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&amp;day=$day&amp;c=$eventinfo[calendarid]\">" . $vbphrase['holiday' . 

$eventinfo['holidayid'] . '_title'] . "</a>";
                    }
                    else
                    {
                        $daysevents .= $comma . '<a href="calendar.php?' . $vbulletin->session->vars['sessionurl'] . "do=getinfo&amp;day=$day&amp;e=$eventinfo[eventid]&amp;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 [DATE]1238034047[/DATE] at [TIME]1238034047[/TIME] ---------------

Heres the template part that calls the EVENT info to display...

Code:
<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>
Reply With Quote
  #10  
Old 03-26-2009, 01:27 AM
TigerC10's Avatar
TigerC10 TigerC10 is offline
 
Join Date: Apr 2006
Location: Austin, TX
Posts: 616
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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?
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 05:23 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04659 seconds
  • Memory Usage 2,354KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (9)bbcode_code
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete