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)

Gary King 03-03-2004 10:00 PM

How to create your own vBulletin-powered page! (uses vB templates)
 
1 Attachment(s)
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 :D

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! :D

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 :D
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! :D

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

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! :D


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

alkatraz 03-04-2004 10:20 PM

very cool

Quote:

user permissions system as well
how would you go about using that?

also, would it be hard to pass the members username/id into this page? (sorry if thats an easy question)

SVTBlackLight01 03-04-2004 10:23 PM

This is great! I assume the template standard condtionals will work here?

What's the best way to use this on a non-vb page?

dirtymerc 03-04-2004 10:27 PM

Installed, works marvelously! Thank YOU SO MUCH!

TheAnt 03-04-2004 11:14 PM

SVT. I believe that as long as global is called via the files, the conditionals will work.

Gary King 03-04-2004 11:14 PM

Quote:

Originally Posted by SVTBlackLight01
This is great! I assume the template standard condtionals will work here?

What's the best way to use this on a non-vb page?

I'd suggest to copy the non-vB page content and copy into a template ;)

Gary King 03-04-2004 11:15 PM

Quote:

Originally Posted by alkatraz
very cool



how would you go about using that?

also, would it be hard to pass the members username/id into this page? (sorry if thats an easy question)

You don't really have to worry about those, they are already in action ;)
Try it yourself - install this hack and you'll see the user/pass login part at the top :)

Also if guests are not allowed to view your forums, then they can't view these new pages you create, etc. :)

Zachery 03-05-2004 12:38 AM

Wow Gary, great thing considering this is my tutorial :P

SVTBlackLight01 03-05-2004 01:00 AM

Quote:

Originally Posted by Gary W
I'd suggest to copy the non-vB page content and copy into a template ;)

What I'm saying is how can you make test.php (in this case) work outside the vBulletin directory?

Boofo 03-05-2004 01:02 AM

Quote:

Originally Posted by Zachery
Wow Gary, great thing considering this is my tutorial :P

Now why doesn't that surprise me? That seems to be the norm around here. ;)


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

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.02247 seconds
  • Memory Usage 1,769KB
  • 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
  • (1)bbcode_html_printable
  • (6)bbcode_php_printable
  • (5)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (3)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete