vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3 Articles (https://vborg.vbsupport.ru/forumdisplay.php?f=187)
-   -   How to create your own vBulletin-powered page! (uses vB templates) (https://vborg.vbsupport.ru/showthread.php?t=62164)

Lynne 02-25-2009 07:06 PM

Quote:

Originally Posted by RrCoX22 (Post 1754520)
i don't understand why I would need to make another template? I though I was simple placing a file in the forums root?

Reread the article. You make a page for your site that uses a template. That template is what is responsible for making the page look like the rest of your vbulletin site (it will have the header and navbar and footer).

RrCoX22 02-26-2009 04:50 AM

Quote:

Originally Posted by ragtek (Post 1753611)
Here's a tutorial how to create a template:
http://www.vbulletin.com/docs/html/s...edit_templates

Quote:

Originally Posted by Lynne (Post 1754545)
Reread the article. You make a page for your site that uses a template. That template is what is responsible for making the page look like the rest of your vbulletin site (it will have the header and navbar and footer).

ok got it now... thanks guys, a lot easier than I thought it was... now I just need to learn HTML haha :D

never created a new template before... so it's just basically a code to communicate with the file?

atmo5ph3r 02-26-2009 06:21 PM

wow, thanks its work fine.

how to use bb codes ? :D like post in the forum ?

JamesAB 02-26-2009 10:07 PM

Quote:

Originally Posted by ragtek (Post 1661036)
Not if you make this:
PHP Code:

if (THIS_SCRIPT == 'yourscript)
{
    $vbulletin->options['
bbactive'] = true;
    $vbulletin->options['
banning'] = false;
    $servertoobusy = 0;
    $vbulletin->userinfo['
permissions']['forumpermissions'] |= $vbulletin->bf_ugp_forumpermissions['canview'];



I finally got around to testing this out. My custom page works fine when the forums are turned on, but I want it to also be displayed when the forums are turned off. I tried adding the code above, but no luck yet. I still get the standard 'Forums are closed' page.

Any ideas on how to make this work while the forums are turned off?

Thanks,
James

ragtek 02-27-2009 05:06 AM

you added it at hook global_start

Adem GEN? 02-27-2009 09:01 AM

1 Attachment(s)
Hello,

Please you help?

test.php
PHP Code:

<?php

// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS'1);
define('THIS_SCRIPT''test'); // 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(
    
'test',
);

// pre-cache templates used by specific actions
$actiontemplates = array(

);

// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

// #######################################################################
// ######################## START MAIN SCRIPT ############################
// #######################################################################




$navbits = array();
$navbits[$parent] = 'Test Page';

$navbits construct_navbits($navbits);





             
$sorgulamysql_query("SELECT * FROM telefon_listesi ORDER BY telefon_id DESC");
            {
             while(
$tel_list_al=mysql_fetch_object($sorgula)) 

      
$satirlar '</tr><tr><td class="alt1">'.$tel_list_al->telefon_sahibi_adi.' '.$tel_list_al->telefon_sahibi_soyadi.'&nbsp;</td><td class="alt1">'.$tel_list_al->cep_tel_kodu.' '.$tel_list_al->cep_tel_numara.'&nbsp;</td><td class="alt1">'.$tel_list_al->ev_tel_kodu.' '.$tel_list_al->ev_tel_numara.'&nbsp;</td><td class="alt1">'.$tel_list_al->is_tel_kodu.' '.$tel_list_al->is_tel_numara.'&nbsp;</td><td class="alt1">'.$tel_list_al->aciklama.'&nbsp;</td><td class="alt1">'.$tel_list_al->kullanici_adi.'&nbsp;</td>';

            }




eval(
'$navbar = "' fetch_template('navbar') . '";');
eval(
'print_output("' fetch_template('test') . '");');

?>

test template
PHP Code:

$stylevar[htmldoctype]
<
html dir="$stylevar[textdirection]lang="$stylevar[languagecode]">
<
head>
<
title>$vboptions[bbtitle]</title>
$headinclude
</head>
<
body>
$header

$navbar

<table class="tborder" cellpadding="$stylevar[cellpadding]cellspacing="$stylevar[cellspacing]border="0" width="100%" align="center">
<
tr>
        <
td width="135" class="thead">Ad&#305; Soyadı</td>
        
<td width="120" class="thead">Cep Telefon</td>
        <
td width="120" class="thead">Ev Telefon</td>
        <
td width="120" class="thead">&#304;ş Telefon</td>
        
<td width="350" class="thead">A?&#305;klama</td>
        
<td width="129" class="thead">Ekleyen</td>
                

$satirlar


</table>

$footer
</body>
</
html

Problem:
No Listed

Results: 1
Existing records: 85

Why does not list?





Screen results
Attachment 95557


Thanks

Lynne 02-27-2009 03:05 PM

templates are case-sensitive. You need to call it either "TEST" or "test" in both $globaltemplates and the eval statement.

Adem GEN? 02-27-2009 04:23 PM

I do not understand,
Request,
you show a quote?

Lynne 02-27-2009 05:42 PM

Code:

// pre-cache templates used by all actions
$globaltemplates = array(
    'TEST',
);

......

eval('print_output("' . fetch_template('test') . '");');

?>

The two items in red must be exactly the same - either TEST or test.

Adem GEN? 02-27-2009 07:17 PM

Ok same fixed,

My problem, I can not list only the database data
data is only one line
I want to list all of the data

1. line
2. line
3. line
like



ragtek 02-27-2009 07:53 PM

instead of
PHP Code:

$satirlar 

you need
PHP Code:

$satirlar .= 


Adem GEN? 02-27-2009 08:14 PM

<div align="left">Thank you very much

</div>

brad2010 02-28-2009 01:06 AM

Hi

I am newbie. Sorry if bother.

I follow your instruction. I combine .php and htm code in one file at test.php in Template editor from my Style Manager > Edit Template .

Do i make things correct? Please help me

How do I call the page?

JamesAB 02-28-2009 06:41 AM

Quote:

Originally Posted by ragtek (Post 1755762)
you added it at hook global_start

No. I was trying to use it in the custom page itself. :o

Putting it in the global_start hook made it work for me.

Thanks for your help ragtek.

Now the only glitch (for me) is the fact that I would prefer not to show notices on my custom page. I'm guessing they are tied in with the navbar?

Is there a way to disable showing notices here?

Thanks,
James

ragtek 02-28-2009 06:56 AM

Without realy looking and checking i make it with this little "dirty" plugin: add a plugin at global_setup_complete with
PHP Code:

if (THIS_SCRIPT == 'foo')
{
$show['notices'] = false;



Adem GEN? 02-28-2009 08:16 AM

I need a help

1. line "alt1"
2. line "alt2"
3. line "alt1"
4. line "alt2"
........
like

How do I do?
You give examples?
#1007 Be my use of the code

Thanks

ragtek 02-28-2009 08:26 AM

with the exec_switch_bg function

Adem GEN? 02-28-2009 09:55 AM

Quote:

Originally Posted by ragtek (Post 1756736)
with the exec_switch_bg function

Answer Is it for me?

If you are for me

I am Novice, Request, Can you give sample code?

ragtek 02-28-2009 10:06 AM

the best for you would be

1. create a template tel_bit and put this into:

Code:

<tr class="$bgclass"><td>$tel_list_al[telefon_sah].....all your other stuff..
then in the while part:
PHP Code:

             while($tel_list_al=mysql_fetch_object($sorgula)) 
{
   eval(
'$satirlar .= "' fetch_template('tel_bit') . '";');



Adem GEN? 02-28-2009 11:36 AM

Sorry, but I could not do:(

New template "tel_bit"
PHP Code:

<tr class="$bgclass"><td>$tel_list_al[telefon_sahibi_adi$tel_list_al[telefon_sahibi_soyadi]</td></tr>
<
tr class="$bgclass"><td>$tel_list_al[cep_tel_kodu$tel_list_al[cep_tel_numara]</td></tr>
<
tr class="$bgclass"><td>$tel_list_al[ev_tel_kodu$tel_list_al[ev_tel_numara]</td></tr>
<
tr class="$bgclass"><td>$tel_list_al[is_tel_kodu$tel_list_al[is_tel_numara]</td></tr>
<
tr class="$bgclass"><td>$tel_list_al[aciklama]</td></tr>
<
tr class="$bgclass"><td>$tel_list_al[kullanici_adi]</td></tr

php liles
PHP Code:

                     $sorgulamysql_query("SELECT * FROM telefon_listesi");

             while(
$tel_list_al=mysql_fetch_object($sorgula)) 
{
   eval(
'$satirlar .= "' fetch_template('tel_bit') . '";');


Base template "telefon_rehberi"
PHP Code:

$stylevar[htmldoctype]
<
html dir="$stylevar[textdirection]lang="$stylevar[languagecode]">
<
head>
<
title>$vboptions[bbtitle]</title>
$headinclude
</head>
<
body>
$header
$navbar


<table class="tborder" cellpadding="$stylevar[cellpadding]cellspacing="$stylevar[cellspacing]border="0" width="100%" align="center">
<
tr>
    <
td class="tcat">Telefon Rehberi</td>
</
tr>

<
tr>
      <
td width="16%" class="thead">Ad&#305; Soyadı</td>
        
<td width="13%" class="thead">Cep Telefon</td>
        <
td width="13%" class="thead">Ev Telefon</td>
        <
td width="13%" class="thead">&#304;ş Telefon</td>
        
<td width="27%" class="thead">A?&#305;klama</td>
        
<td width="16%" class="thead">Ekleyen</td>
    
</
tr>

$satirlar

</table>
<
br />
$footer
</body>
</
html

Error this: Fatal error: Cannot use object of type stdClass as array in *******\telefon_rehberi.php(394) : eval()'d code on line 1

394 line ->
eval('$satirlar .= "' . fetch_template('tel_bit') . '";');
Where am I wrong?

ragtek 02-28-2009 11:43 AM

post pls the complete php file

Adem GEN? 02-28-2009 12:16 PM

This coding beginner job:)))



Thank you

Adem GEN? 03-01-2009 08:34 AM

Hello,

A request from you last

This is very important for me

I could not do

Request, Can you add this in the xml file?
Code install and unistall

PHP Code:

CREATE TABLE telefon_listesi (
    
telefon_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    
userid INT UNSIGNED NOT NULL DEFAULT '0',
    
kullanici_adi VARCHAR(100NOT NULL DEFAULT '',
    
telefon_sahibi_adi MEDIUMTEXT,
    
telefon_sahibi_soyadi MEDIUMTEXT,
    
aciklama MEDIUMTEXT,
    
ev_tel_kodu VARCHAR(47NOT NULL DEFAULT '',
    
ev_tel_numara VARCHAR(47NOT NULL DEFAULT '',
    
is_tel_kodu VARCHAR(47NOT NULL DEFAULT '',
    
is_tel_numara VARCHAR(47NOT NULL DEFAULT '',
    
cep_tel_kodu VARCHAR(47NOT NULL DEFAULT '',
    
cep_tel_numara VARCHAR(47NOT NULL DEFAULT '',
    
PRIMARY KEY (telefon_id),
    
KEY ekleyen_kullanici_id (userid)


AND
NavBar and Quick Links automatically into the "Telefon Rehberi" link to be added (No translation phrase) (Note: Text color Red "Telefon Rehberi")
URL: telefon_rehberi.php

Thank you

Ian_W 03-01-2009 02:46 PM

Works fine - thanks :)

Just one question though :)

Currently all pages appear in the navbar as...

SITE NAME
--> Sub Page

Is there anyway to have.....


SITE NAME > Group
--> Sub Page

Thereby having parent pages, which then go to sub-pages? Allowing people to navigate up in the order of pages?

I am also assuming there is noway to have the php pages above the level of the forums folder?

(Unless there is a better solution out there for a larger number of pages for a site, based around VB?)

Thanks.

ragtek 03-02-2009 08:14 AM

@ AdemGEN?
you should use the vb Databaseclass! https://vborg.vbsupport.ru/showthrea...ht=datamanager

and del
PHP Code:

define('NO_REGISTER_GLOBALS'1); 

it's not needed!


@ Ian_W
add $navbits[$parent] = 'group';

Adem GEN? 03-02-2009 05:45 PM

Quote:

Originally Posted by AdemGEN? (Post 1757453)
Hello,

A request from you last

This is very important for me

I could not do

Request, Can you add this in the xml file?
Code install and unistall

PHP Code:

CREATE TABLE telefon_listesi (
    
telefon_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
    
userid INT UNSIGNED NOT NULL DEFAULT '0',
    
kullanici_adi VARCHAR(100NOT NULL DEFAULT '',
    
telefon_sahibi_adi MEDIUMTEXT,
    
telefon_sahibi_soyadi MEDIUMTEXT,
    
aciklama MEDIUMTEXT,
    
ev_tel_kodu VARCHAR(47NOT NULL DEFAULT '',
    
ev_tel_numara VARCHAR(47NOT NULL DEFAULT '',
    
is_tel_kodu VARCHAR(47NOT NULL DEFAULT '',
    
is_tel_numara VARCHAR(47NOT NULL DEFAULT '',
    
cep_tel_kodu VARCHAR(47NOT NULL DEFAULT '',
    
cep_tel_numara VARCHAR(47NOT NULL DEFAULT '',
    
PRIMARY KEY (telefon_id),
    
KEY ekleyen_kullanici_id (userid)


AND
NavBar and Quick Links automatically into the "Telefon Rehberi" link to be added (No translation phrase) (Note: Text color Red "Telefon Rehberi")
URL: telefon_rehberi.php

Thank you

Request
Insert XML into the database structure may know?




Quote:

Originally Posted by ragtek (Post 1758306)
@ AdemGEN?
you should use the vb Databaseclass! https://vborg.vbsupport.ru/showthrea...ht=datamanager

and del
PHP Code:

define('NO_REGISTER_GLOBALS'1); 

it's not needed!

I set this problem in your way, thank you.

TNCclubman 03-03-2009 03:38 AM

What code do I add to the php file to get it to display Todays Events and Todays birthdays?

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

How do I get my recently uploaded ALBUMS to show in the page I created? (just from my account... (ie user=29 for example)

rob4448585 03-03-2009 06:47 AM

Quote:

Originally Posted by Gary King (Post 482210)
Then find:
PHP Code:

        case 'modcplogin':
            
$userinfo['action'] = $vbphrase['moderator_control_panel_login'];
            break; 

Below add:
PHP Code:

        case 'test':
            
$userinfo['action'] = 'Viewing Test Page';
            break; 


this whole thing has been a great help, i built some pages, but when i see them in the whos online section, it says unknown location


i was never able to add this last part in my 3.8.1 vbulletin functions_online.php cause i could not find the above string.
Can anyone help?
Thanks

ragtek 03-03-2009 06:59 AM

You don't need to edit any file!
Pls read: https://vborg.vbsupport.ru/showthrea...ghlight=online

Adem GEN? 03-03-2009 08:24 AM

Quote:

Originally Posted by ragtek (Post 1759101)
You don't need to edit any file!
Pls read: https://vborg.vbsupport.ru/showthrea...ghlight=online

Thank you, my job was very useful

For XML
Fo to add navbar link AND To enter the database table structure

Link information?

Thanks

ragtek 03-03-2009 09:14 AM

Are you too lazy to check the article section? Sorry, but the others and me are not registered here to search, copy and paste all the things your searching;)

If you want to modify your vB then invest some time and read the docs and article section, use the search function;) or invest some money and post your things here.

Adem GEN? 03-04-2009 10:22 AM

I do not speak English
Topics can not find
Thank you anyway



TNCclubman 03-04-2009 12:28 PM

Ive read those links and still cant figure out how to display Todays Events and Todays birthdays...

anyone?

Lynne 03-04-2009 01:26 PM

Quote:

Originally Posted by AdemGEN? (Post 1759125)
Thank you, my job was very useful

For XML
Fo to add navbar link AND To enter the database table structure

Link information?

Thanks

I'm not sure what you are asking for here. You want to know how to add a navbar link? How To Add Additional Links To Your Navbar. If you need lots of help with your page, it may be better to start your own thread so everything is all in one easy to find thread (not spread out among posts like in this thread).

Quote:

Originally Posted by TNCclubman (Post 1760048)
Ive read those links and still cant figure out how to display Todays Events and Todays birthdays...

anyone?

You'll need to find the code in the index.php page (if I recall, it's pretty well commented), including the templates, and add them to your page.

TNCclubman 03-04-2009 01:35 PM

Thanks Lynne!!! I'll try that out!!!

ragtek 03-04-2009 01:43 PM

Quote:

Originally Posted by TNCclubman (Post 1760129)
Thanks Lynne!!! I'll try that out!!!

And don't fortget on the datastore;)
If you use the code from the indexpage you'll need the
PHP Code:

$specialtemplates = array(
    
'birthdaycache',
    
'eventcache'
); 

data;)

TNCclubman 03-04-2009 02:47 PM

damn, didnt work...

heres the php page

Code:

<?php

// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS', 1);
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') . '";');
eval('print_output("' . fetch_template('navigation') . '");');

// ### 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; // stop this loop

from running again in the future
                                        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');
                        // this crazy code is to remove $sub added above that ensures

a event maintains its position after the sort
                        // if associative values are the same
                        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']))
                                {        // ranged event -- show it from its real

start and real end date (vbgmdate)
                                        $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;
}


$show['latestalbums'] = true;

?>
Be sure to change 'TEST' to the actual template name, and change 'test' to the

filename. Also, change 'Test Page' to whatever you want to show in the navbar, such

as 'Viewing Member Profile' (just an example

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

heres the template page

Code:

$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
<title>$vboptions[bbtitle]</title>
$headinclude
</head>
<body>
$header

$navbar

<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center">
<tr>
        <td class="tcat">Title</td>
</tr>


</table>

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


$footer
</body>
</html>


Lynne 03-04-2009 02:54 PM

Take a look at your code... like this line:
$birthdaystore = build_birthdays();

Search in your files for that function. It's in functions_databuild.php and that is probably called in one of the other files 'required' at the top. Try including them (under global.php) and see if that fixes it.

And what is the name of your template and where is it called in your page? It must be evaled after all the code is done. And get rid of the extra stuff at the bottom of your php page.

TNCclubman 03-04-2009 04:38 PM

ok, added this under global in the php file

Code:

// ###################### Start getbirthdays #######################
function build_birthdays()
{
        global $stylevar, $vbulletin;

        $storebirthdays = array();

        $serveroffset = date('Z', TIMENOW) / 3600;

        $fromdatestamp = TIMENOW + (-11 - $serveroffset) * 3600;
        $fromdate = getdate($fromdatestamp);
        $storebirthdays['day1'] = date('Y-m-d', $fromdatestamp);

        $todatestamp = TIMENOW + (13 - $serveroffset) * 3600;
        $todate = getdate($todatestamp);
        $storebirthdays['day2'] = date('Y-m-d', $todatestamp);

        $todayneggmt = date('m-d', $fromdatestamp);
        $todayposgmt = date('m-d', $todatestamp);

        // Seems quicker to grab the ids rather than doing a JOIN
        $usergroupids = 0;
        foreach($vbulletin->usergroupcache AS $usergroupid => $usergroup)
        {
                if ($usergroup['genericoptions'] & $vbulletin->bf_ugp_genericoptions['showbirthday'])
                {
                        $usergroupids .= ", $usergroupid";
                }
        }

        // if admin wants to only show birthdays for users who have
        // been active within the last $vbulletin->options[birthdaysdatecut] days...
        if ($vbulletin->options['activememberdays'] > 0 AND ($vbulletin->options['activememberoptions'] & 1))
        {
                $datecut = TIMENOW - (intval($vbulletin->options['activememberdays']) * 86400);
                $activitycut = "AND lastactivity >= $datecut";
        }
        else
        {
                $activitycut = '';
        }

        $bdays = $vbulletin->db->query_read_slave("
                SELECT username, userid, birthday, showbirthday
                FROM " . TABLE_PREFIX . "user
                WHERE (birthday LIKE '$todayneggmt-%' OR birthday LIKE '$todayposgmt-%')
                AND usergroupid IN ($usergroupids)
                AND showbirthday IN (2, 3)
                $activitycut
        ");

        $year = date('Y');
        $day1 = $day2 = array();

        while ($birthday = $vbulletin->db->fetch_array($bdays))
        {
                $username = $birthday['username'];
                $userid = $birthday['userid'];
                $day = explode('-', $birthday['birthday']);
                if ($year > $day[2] AND $day[2] != '0000' AND $birthday['showbirthday'] == 2)
                {
                        $age = $year - $day[2];
                }
                else
                {
                        unset($age);
                }
                if ($todayneggmt == $day[0] . '-' . $day[1])
                {
                        $day1[] = array(
                                'userid'  => $userid,
                                'username' => $username,
                                'age'      => $age
                        );
                }
                else
                {
                        $day2[] = array(
                                'userid'  => $userid,
                                'username' => $username,
                                'age'      => $age
                        );
                }
        }
        $storebirthdays['users1'] = $day1;
        $storebirthdays['users2'] = $day2;

        build_datastore('birthdaycache', serialize($storebirthdays), 1);

        return $storebirthdays;
}

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

and still nothing shows up... doh!

Lynne 03-04-2009 05:13 PM

Nothing will show up as long as you eval your template above all the code you are doing. Also, you need to see if there are any other functions you need - I was just giving one example that I found.


All times are GMT. The time now is 11:51 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.02468 seconds
  • Memory Usage 2,092KB
  • 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
  • (5)bbcode_code_printable
  • (17)bbcode_php_printable
  • (13)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)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