vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   How to get Todays Birthdays and Todays Events on another page (https://vborg.vbsupport.ru/showthread.php?t=209424)

TNCclubman 03-25-2009 05:19 PM

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>


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...

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') . '");');
?>


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

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

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 [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...

TigerC10 03-26-2009 12:10 AM

Quote:

Originally Posted by TNCclubman (Post 1777126)
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.

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.

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') . '");');
?>


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.

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>


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?


All times are GMT. The time now is 02:31 PM.

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.01500 seconds
  • Memory Usage 2,030KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (9)bbcode_code_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete