Go Back   vb.org Archive > vBulletin Article Depository > Read An Article > vBulletin 3 Articles
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
How to create your own vBulletin-powered page! (uses vB templates)
Gary King's Avatar
Gary King
Join Date: Jan 2002
Posts: 2,046

 

Show Printable Version Email this Page Subscription
Gary King Gary King is offline 03-03-2004, 10:00 PM

Want to create your very own vBulletin powered page which includes the header, footer, and the user permissions system as well?

Well now you can

Want to know how it will look? Take a look at the attached screenshot below!

Now includes the Who's Online modification!
Also, instructions included on how to create your own pages that are integrated with current vBulletin files!

I'm going to give you a generic page but you can easily modify the contents of the page by changing the template

So here we go

Instructions:

Create a new file, whatever you want to call it (let's say test.php).
Open up test.php and add the following (replace TEST with whatever template you want to show):
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);
eval(
'$navbar = "' fetch_template('navbar') . '";');
eval(
'print_output("' fetch_template('TEST') . '");');

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

Now create the template, called TEST with the following content:
HTML 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>
<tr>
    <td class="alt1">Text</td>
</tr>
</table>

$footer
</body>
</html>
All done
Now check it out by going to test.php

Who's Online Modification

Now if you want to show who is browsing this new page of yours, just open up includes/functions_online.php and find:
PHP Code:
    case 'bugs.php':
        
$userinfo['activity'] = 'bugs';
        break; 
Below, add:
PHP Code:
    case 'test.php':
        
$userinfo['activity'] = 'test';
        break; 
(Be sure to change the values to your own!)

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; 
All done!

----------------------------------

Also if you want to create your own pages 'within' current vBulletin files, do the following:

Open the file you want, and then right before the final ?> in the source code, add the following:

PHP Code:
if ($_REQUEST['do'] == 'xxx')
{
    eval(
'print_output("' fetch_template('TEMPLATE_XXX') . '");');

Replace 'xxx' with whatever you want ?do= in the query string to be (for example, replace 'xxx' with 'showprofile' so then someone would type in example.php?do=showprofile to view this template.) Then of course, change TEMPLATE_XXX to your template name, it's that simple!


edit by Lynne: If running 3.8.4 or above, see this post to take care of the PHP 5.3.0-related problems - https://vborg.vbsupport.ru/showpost....postcount=1171
Attached Images
File Type: jpg template_test.jpg (62.5 KB, 0 views)
Reply With Quote
  #212  
Old 08-03-2004, 02:05 AM
Ghostsuit's Avatar
Ghostsuit Ghostsuit is offline
 
Join Date: Nov 2001
Location: Glasgow, Scotland
Posts: 199
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Excellent guide.
Reply With Quote
  #213  
Old 08-11-2004, 10:01 AM
Eagle Creek's Avatar
Eagle Creek Eagle Creek is offline
 
Join Date: Jan 2004
Location: Netherlands
Posts: 742
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Cool! I'm gonna install that I think!
Reply With Quote
  #214  
Old 08-11-2004, 02:51 PM
SVTBlackLight01's Avatar
SVTBlackLight01 SVTBlackLight01 is offline
 
Join Date: Jan 2003
Location: Texas
Posts: 504
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by sully02
Is there a way to get the functions_online.php file to differentiate between the two?
I would like to know this as well.
Reply With Quote
  #215  
Old 08-12-2004, 02:41 PM
sully02 sully02 is offline
 
Join Date: Jul 2004
Posts: 161
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

And while I'm at it, I would like a link to appear below their location of my new page. Every time I try to add one (Going off what I see in other conditions), I end up getting a parse error. Any suggestions?
Reply With Quote
  #216  
Old 08-14-2004, 11:37 PM
wreck wreck is offline
 
Join Date: Jun 2004
Posts: 118
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

would this be compatible with vB2 or can anybody make it so its compatible with vB2
Reply With Quote
  #217  
Old 08-15-2004, 12:58 AM
DarkWarriorXII DarkWarriorXII is offline
 
Join Date: Aug 2004
Location: New Jersey, USA
Posts: 55
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I got my test page (test.php) to work, but it comes up without showing my forum style (it shows the original vB style). Here's the code of the page (oh yeah, the page is outside the vB directory):

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 ############################ 
chdir('/home/kowlcla/public_html/forum/');
require(
'./global.php');

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

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

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

?>
1. What's wrong here?
2. And the links all point to my website's root directory, not my forum's root directory. For example: http://domain.com/usercp.php instead of http://domain.com/forum/usercp.php.
3. And the navbar drop down menus don't work. How do I fix this also?

Thanks for answering all my questions.
Reply With Quote
  #218  
Old 08-17-2004, 01:20 AM
wreck wreck is offline
 
Join Date: Jun 2004
Posts: 118
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

so would this or would it not work for vb2
Reply With Quote
  #219  
Old 08-17-2004, 09:03 AM
lichtflits's Avatar
lichtflits lichtflits is offline
 
Join Date: Feb 2002
Location: The Netherlands
Posts: 58
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Wreck look here https://vborg.vbsupport.ru/showthread.php?t=66153 for vb2 powerd pages
Reply With Quote
  #220  
Old 08-18-2004, 04:54 PM
wreck wreck is offline
 
Join Date: Jun 2004
Posts: 118
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks
Reply With Quote
  #221  
Old 08-20-2004, 01:52 PM
sfowler39's Avatar
sfowler39 sfowler39 is offline
 
Join Date: Jul 2004
Location: Chicago
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ok I created the test page and in my template I try and put in this

<?php
$db = mysql_connect("localhost", "root", "");
mysql_select_db("reports",$db);
$result = mysql_query("SELECT * FROM hrc",$db);
echo "<TABLE BORDER=2>";
echo"<TR><TD><B>Full Name</B><TD><B>Credit Card Number</B><TD></TR>";
while($myrow = mysql_fetch_array($result))
{
echo "<TR><TD>".$myrow["firstname"]." ".$myrow["lastname"]."</a><TD>".$myrow["creditcardnum"];
}
echo "</TABLE>";
?>

I always get an error trying to put in php code into a template.
I am trying to have a page that only a group of people can view and which must be logged into the board to see this page. I want this code to be used to retrive info from a database. It works as it stands like it is and as it is but I cant place this code into a template.
Any Ideas?
Reply With Quote
  #222  
Old 08-24-2004, 01:53 AM
MiLynne MiLynne is offline
 
Join Date: Mar 2004
Posts: 16
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I looked through all 15 pages and saw the question asked that I want answered, but no one answered it sooooo..

I'd like to use this page to integrate phpMychat into it...how would I do this?
Reply With Quote
  #223  
Old 08-24-2004, 08:42 AM
root123 root123 is offline
 
Join Date: May 2004
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This is great - and it helped me a lot. But I have one problem though. I'm new to vB, so I hope that someone can help me with this problem.

I have created a non vB-page as described in this thread - and it is working fine.

But when I try to parse a variable in the URL calling the non vB-page, the variable is lost.

Ex.

http://www.mysite.com/nonvBpage.php?parm=1

In this case it seems as the the nonvBpage.php does not recieve the variable parm and its value.

How can this be (or... what am I doing wrong)?

Cheers
Root
Reply With Quote
  #224  
Old 08-24-2004, 10:08 AM
Dean C's Avatar
Dean C Dean C is offline
 
Join Date: Jan 2002
Location: England
Posts: 9,071
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

$_REQUEST['varname']; use that for all incoming variables from a URL
Reply With Quote
  #225  
Old 08-24-2004, 12:19 PM
root123 root123 is offline
 
Join Date: May 2004
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks ) That solved the problem .....
Reply With Quote
  #226  
Old 08-25-2004, 03:48 PM
sfowler39's Avatar
sfowler39 sfowler39 is offline
 
Join Date: Jul 2004
Location: Chicago
Posts: 15
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I can create the test page and it works fine, but I have a php page that I want to be part of the board with its user permissions. How do I call it up? I have followed all the instructions but still cant call it up.

On the first post of this thread Gary King has wrote this in the end of his post:

Also if you want to create your own pages 'within' current vBulletin files, do the following:

Open the file you want, and then right before the final ?> in the source code, add the following:


PHP Code:
if ($_REQUEST['do'] == 'xxx')
{
eval('print_output("' . fetch_template('TEMPLATE_XXX') . '");');
}


Replace 'xxx' with whatever you want ?do= in the query string to be (for example, replace 'xxx' with 'showprofile' so then someone would type in example.php?do=showprofile to view this template.) Then of course, change TEMPLATE_XXX to your template name, it's that simple!

Well my file is called test2.php in my forum dir. I added this to the bottom of my file and this is my code of the test2.php file

<?php
echo "hello";

if ($_REQUEST['do'] == 'showtest2')
{
eval('print_output("' . fetch_template('test') . '");');
}

?>

As you can see all this page is- is saying hello for my test2.php file. The webpage should be wrapped around with its pemissions that vbulletin has.
In your example you wrote this in order to view your template: example.php?do=showprofile to view this template.

HUH????

I am confused here - for one there is no file called example.php. what is the example file is this the file that is my test2.php file or index.php or cmps_index.php or I dont get it - help please to understand how to add a external php page into my site with the security of vbulletin cause i want to secure a page or 2 and if a person has not logged into the bb that is an administrator then he cant view a certain page.



If I use this http://hrc/vb/test2.php?do=showtest2
I get this as an error

hello
Fatal error: Call to undefined function: fetch_template() in c:\inetpub\wwwroot\vb\test2.php on line 6

As you can see with the hrc I am on an intranet and vb is the forum.
Reply With Quote
Reply


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

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

Forum Jump


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


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06438 seconds
  • Memory Usage 2,412KB
  • Queries Executed 31 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_html
  • (7)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_article
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (3)pagenav_pagelinkrel
  • (16)post_thanks_box
  • (5)post_thanks_box_bit
  • (16)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (16)post_thanks_postbit_info
  • (15)postbit
  • (1)postbit_attachment
  • (16)postbit_onlinestatus
  • (16)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

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

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