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?

TNCclubman 03-26-2009 01:30 AM

completely white... wont load... I remove the php part with the EVENT stuff... loads up. Going through that part of the code right now to see if its callin something that would prevent the page from loading... Do I need all that stuff in the php part for the EVENTS?

--------------- Added [DATE]1238034852[/DATE] at [TIME]1238034852[/TIME] ---------------

I just want to show TODAYS EVENTS. No multiple days or anything else that code is asking for. I also dont care for it to check who has access to see events based on permissions. Just show all TODAYS EVENTS from all the calendars. (If that matters) lol

--------------- Added [DATE]1238035345[/DATE] at [TIME]1238035345[/TIME] ---------------

OK UPDATE. been trying to track down whats preventing the page to load... narrowed it down to the first couple of lines...

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


TigerC10 03-26-2009 02:00 AM

Well, 86400 = 24 hours, so that's setting it to 2 days in the future at least.

Change the snippet to

Code:

// ### TODAY'S EVENTS #################################################
if ($vbulletin->options['showevents'])
{
    require_once(DIR . '/includes/functions_calendar.php');

    $future = gmdate('n-j-Y' , TIMENOW);

See if that does anything. If not, then there's something in functions_calendar.php that is breaking.




EDIT:
On second thought, add this right below the global.php include:
Code:

require_once(DIR . '/includes/functions_bigthree.php');
See if that does anything for you.

TNCclubman 03-26-2009 06:09 AM

damn, did all that and the page is white again...

TigerC10 03-26-2009 12:26 PM

Do the scripts conflict with each other? If you delete the birthday stuff, does it still display a blank page? Or does it display the events?

TNCclubman 03-26-2009 01:32 PM

Let me try that... I'll try to remove the birthday template stuff, then the birthday php stuff...

--------------- Added [DATE]1238079024[/DATE] at [TIME]1238079024[/TIME] ---------------

Put the event stuff on the php, page is white. Removed it, works again (like before)

Now put the event stuff again, but this time removed the birthday stuff, still white page.

For some reason, its something in here that is keeping the page from loading.

I think Id rather scrap this code I got from the FORUMHOME. What php should I use in its place??

Heres the current event php im using

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


TNCclubman 03-26-2009 08:25 PM

SOLVED

Got it to work with this php code

Code:

// ### TODAY'S EVENTS #################################################
if ($vbulletin->options['showevents'] ==1)
{
        require_once(DIR . '/includes/functions_calendar.php');

        $future = gmdate('n-j-Y' , TIMENOW + 86400 * $vbulletin->options['showevents']);

        if (!is_array($vbulletin->eventcache) OR $future != $vbulletin->eventcache['date'])
        {
                // Need to update!
                require_once(DIR . '/includes/functions_databuild.php');
                $eventstore = build_events();
                DEVDEBUG('Updated Events');

        }
        else
        {
                $eventstore = $vbulletin->eventcache;
        }
       
        // Bitfield setup for Calendar
        $cpermissions = array (
                'view' => 1,
                'post' => 2,
                'edit' => 4,
                'delete' => 8,
                'viewothers' => 16,
                'notmoderated' => 32
        );
       
       
        // Get the best permissions for each calendar based on all user group memberships.
        $results = $vbulletin->db->query_read("
                SELECT
                        c.calendarid,
                        max(CASE WHEN cp.calendarpermissions IS NULL THEN
                                ug.calendarpermissions
                                ELSE cp.calendarpermissions
                                END) maxPerm
                FROM
                        ".TABLE_PREFIX."usergroup ug
                        CROSS JOIN ".TABLE_PREFIX."calendar c
                        LEFT JOIN ".TABLE_PREFIX."calendarpermission cp ON
                                c.calendarid = cp.calendarid
                                AND cp.usergroupid = ug.usergroupid       
                WHERE       
                        ug.usergroupid IN (" . $vbulletin->userinfo['usergroupid'] . ", 0" .

$vbulletin->userinfo['membergroupids'] . ")
                GROUP BY
                        c.calendarid;"
        );
               
       
        // Put the permission results into an array
        $calperm = array();
        while ($row = $vbulletin->db->fetch_array($results))
                {
                        // Decode the bitfield.
                        $bitperm = convert_bits_to_array(&$row[maxPerm], $cpermissions);
                        $calperm[$row[calendarid]]=$bitperm;
                }
       
       
        unset($eventstore['date']);
        $events = array();
        $eventcount = 0;
        foreach ($eventstore AS $eventid => $eventinfo)
        {

                $offset = $eventinfo['dst'] ? $vbulletin->userinfo['timezoneoffset'] : $vbulletin

->userinfo['tzoffset'];
                $eventstore["$eventid"]['dateline_from_user'] = $eventinfo['dateline_from_user'] =

$eventinfo['dateline_from'] + $offset * 3600;
                $eventstore["$eventid"]['dateline_to_user'] = $eventinfo['dateline_to_user'] =

$eventinfo['dateline_to'] + $offset * 3600;
                $gettime = TIMENOW - $vbulletin->options['hourdiff'];
                $iterations = 0;
                $todaydate = getdate($gettime);
               

                DEVDEBUG('Processing Event - '.$calperm[$eventinfo[calendarid]]

['view'].",".$calperm[$eventinfo[calendarid]]['viewothers']);
                if ($calperm[$eventinfo[calendarid]][view]==1 & $vbulletin-

>bf_ugp_calendarpermissions['canviewcalendar'] OR ($eventinfo['holidayid'] AND $vbulletin-

>options['showholidays']))
                {
                        if ($eventinfo['userid'] == $vbulletin->userinfo['userid'] OR $calperm

[$eventinfo[calendarid]][viewothers]==1 OR ($eventinfo['holidayid'] AND $vbulletin->options

['showholidays']))
                        {
                                if (!$eventinfo['recurring'] AND !$vbulletin->options

['showeventtype'] AND !$eventinfo['singleday'] AND cache_event_info($eventinfo, $todaydate['mon'],

$todaydate['mday'], $todaydate['year']))
                                {
                                       
                                        $events["$eventid"][] = $gettime;
                                }
                                else
                                {
                                        while ($iterations < $vbulletin->options['showevents'])
                                        {
                                                $addcache = false;

                                                $todaydate = getdate($gettime);
                                                if ($eventinfo['holidayid'] AND $eventinfo

['recurring'] == 6)
                                                {
                                                        if ($eventinfo['recuroption'] ==

"$todaydate[mon]|$todaydate[mday]")
                                                        {
                                                                $addcache = true;
                                                        }
                                                }
                                                else if (cache_event_info($eventinfo, $todaydate

['mon'], $todaydate['mday'], $todaydate['year']))
                                                {
                                                        $addcache = true;
                                                }

                                                if ($addcache)
                                                {
                                                        if (!$vbulletin->options['showeventtype'])
                                                        {
                                                                $events["$eventid"][] = $gettime;
                                                        }
                                                        else
                                                        {
                                                                $events["$gettime"][] = $eventid;
                                                        }
                                                        $eventcount++;
                                                }

                                                $iterations++;
                                                $gettime += 86400;
                                        }
                                }
                        }
                }
        }

        if (!empty($events))
        {
                if ($vbulletin->options['showeventtype'])
                {
                        ksort($events, SORT_NUMERIC);
                }
                else
                {
                        function groupbyevent($a, $b)
                        {
                                if ($a[0] == $b[0]) { return 0; }
                                else { return ($a[0] < $b[0]) ? -1 : 1; }
                        }
                        uasort($events, 'groupbyevent');
                }

                foreach($events AS $index => $value)
                {
                        $pastevent = 0;
                        $pastcount = 0;

                        $comma = $eventdates = $daysevents = '';
                        if (!$vbulletin->options['showeventtype'])
                        {        // Group by Event // $index = $eventid
                                $eventinfo = $eventstore["$index"];
                                if (empty($eventinfo['recurring']) AND empty($eventinfo

['singleday']))
                                {        // ranged event -- show it from its real start and real

end date (vbgmdate)
                                        // $eventdates = construct_phrase($vbphrase

['event_x_to_y'], vbdate($vbulletin->options['dateformat'], $eventinfo['dateline_from_user'],

false, true, false, true), vbdate($vbulletin->options['dateformat'], $eventinfo

['dateline_to_user'], false, true, false, true));
                                        $day = vbdate('Y-n-j', $eventinfo['dateline_from_user'],

false, false);
                                        $eventdates = vbdate($vbulletin->options['dateformat'],

$eventinfo['dateline_from_user'], false, true, false, true);
                                        $eventdates .= " to ". vbdate($vbulletin->options

['dateformat'], $eventinfo['dateline_to_user'], false, true, false, true);
                                }
                                else
                                {
                                        unset($day);
                                        foreach($value AS $key => $dateline)
                                        {
                                                if (($dateline - 86400) == $pastevent AND !

$eventinfo['holidayid'])
                                                {
                                                        $pastevent = $dateline;
                                                        $pastcount++;
                                                        continue;
                                                }
                                                else
                                                {
                                                        if ($pastcount)
                                                        {
                                                                $eventdates = construct_phrase

($vbphrase['event_x_to_y'], $eventdates, vbdate($vbulletin->options['dateformat'], $pastevent,

false, true, false));
                                                        }
                                                        $pastcount = 0;
                                                        $pastevent = $dateline;
                                                }
                                                if (!$day)
                                                {
                                                        $day = vbdate('Y-n-j', $dateline, false,

false, false);
                                                }
                                                $eventdates .= $comma . vbdate($vbulletin-

>options['dateformat'], $dateline, false, true, false);
                                                $comma = ', ';
                                        }
                                        if ($pastcount)
                                        {
                       
                                                $eventdates = construct_phrase($vbphrase

['event_x_to_y'], $eventdates, vbdate($vbulletin->options['dateformat'], $pastevent, false, true,

false));
                                        }
                                }

                                if ($eventinfo['holidayid'])
                                {
                                        $callink = '<a href="calendar.php?' . $vbulletin->session

->vars['sessionurl'] . "do=getinfo&amp;day=$day\">" . $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, true, false);
                                foreach($value AS $key => $eventid)
                                {
                                        $eventinfo = $eventstore["$eventid"];
                                        if ($eventinfo['holidayid'])
                                        {
                                                $daysevents .= $comma . '<a href="calendar.php?' .

$vbulletin->session->vars['sessionurl'] . "do=getinfo&amp;day=$day\">" . $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);
       
       
}

and this template code

Code:

<if condition="$show['upcomingevents']">

<if condition="$show['todaysevents']">$vbphrase[todays_events]<else /><phrase 1="$vboptions[showevents]">$vbphrase[upcoming_events_for_the_next_x_days]</phrase></if>

<a href="calendar.php$session[sessionurl_q]"><img src="$stylevar[imgdir_misc]/calendar.gif" alt="$vbphrase[calendar]" border="0" /></a>
<div class="smallfont">$upcomingevents</div>

</if>

Tiger, can you message me your email if you have a paypal account?

TigerC10 03-26-2009 09:43 PM

Quote:

Originally Posted by TNCclubman (Post 1777769)
SOLVED

Got it to work with this php code

That's great! Glad you got it worked out.


Quote:

Originally Posted by TNCclubman (Post 1777769)
Tiger, can you message me your email if you have a paypal account?

Nah, I didn't solve this problem for you and the last one was like a 10 minute fix. I'd feel bad about taking even 25 cents.


All times are GMT. The time now is 03:20 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.02343 seconds
  • Memory Usage 2,215KB
  • 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
  • (15)bbcode_code_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (17)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
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete