vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 4.x Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=245)
-   -   Add-On Releases - Custom Pages in vBulletin - PHP, HTML CSS, the works (https://vborg.vbsupport.ru/showthread.php?t=254047)

gibigbig 11-20-2010 10:00 PM

Custom Pages in vBulletin - PHP, HTML CSS, the works
 
1 Attachment(s)
Im not 100% sure where to add this, this is not a product, it is a work around the template system (only uses the template system for grabbing any template you want and displaying it in this page)
To use this addon, make a new file "page.php" in your forum root (if you want it in another directory you will need to edit a few lines in the code, not a big deal though). Paste the below code into the page.php and save. Run http://www.site.com/forum/page.php
Here is the code.


PHP Code:

<?php
/*======================================================================*\
|| #################################################################### ||
|| # vBulletin 4.0.8
|| # ---------------------------------------------------------------- # ||
|| # Copyright ?2000-2010 vBulletin Solutions Inc. All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| #################################################################### ||
\*======================================================================*/

/**
 * If you want to move this file to the root of your website, change this
 * line to your vBulletin directory and uncomment it (delete the //).
 *
 * For example, if vBulletin is installed in '/forum' the line should
 * state:
 *
 *    define('VB_RELATIVE_PATH', 'forum');
 *
 * Note: You may need to change the cookie path of your vBulletin
 * installation to enable your users to log in at the root of your website.
 * If you move this file to the root of your website then you should ensure
 * the cookie path is set to '/'.
 *
 * See 'Admin Control Panel
 *    ->Cookies and HTTP Header Options
 *      ->Path to Save Cookies
 */

//define('VB_RELATIVE_PATH', 'forums');


// Do not edit.
if (defined('VB_RELATIVE_PATH'))
{
    
chdir('./' VB_RELATIVE_PATH);
}


/**
 * You can choose the default script here.  Uncomment the appropriate line
 * to set the default script.  Note: Only uncomment one of these, you must
 * add // to comment out the script(s) that you DO NOT want to use as your
 * default script.
 *
 * You can choose the default script even if you do not plan to move this
 * file to the root of your website.
 */



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

// #################### DEFINE IMPORTANT CONSTANTS ####################### 

define('THIS_SCRIPT''home');     // change this so you can use other conditionals like "THIS_PAGE" != "home" etc.. in other, real templates.
define('CSRF_PROTECTION'false);   // turn on for token layer security


// ################### PRE-CACHE TEMPLATES AND DATA ###################### 

// cache any templates you want  to use for this mod .

// get special phrase groups 
$phrasegroups = array(); 

// get special data templates from the datastore 
$specialtemplates = array(); 

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

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

// ######################### REQUIRE BACK-END ############################ 
// if your page is outside of your normal vb forums directory, you should change directories by uncommenting the next line 
// chdir ('/path/to/your/forums'); 
require_once('./global.php'); 
// ####################################################################### 
// ######################## START MAIN SCRIPT ############################ 
// ####################################################################### 

//This appears in your breadcrumbs navigation.

$navbits construct_navbits(array('' => 'Welcome to animeFans.tv. No fancy "we\'re the best, we\'re #1, you judge this site your self by browsing our forums below :D')); 
$navbar render_navbar_template($navbits); 

// ###### YOUR CUSTOM CODE GOES HERE ##### 
//appears in the <title> tags in the head
$pagetitle 'animeFans Home'

// ###### NOW YOUR TEMPLATE IS BEING RENDERED ###### 

// register your templates

$templater vB_Template::create('TEST'); 
$templater->register_page_templates(); 
$templater->register('header'$header); 
$templater->register('headinclude'$headinclude); 
$templater->register('navbar'$navbar); 
$templater->register('footer'$footer); 
$templater->register('pagetitle'$pagetitle); 
// 
//important variables, already queried and ready to use
$userid            =    $vbulletin->userinfo[userid];
$username        =    $vbulletin->userinfo[username];
$usergroup        =    $vbulletin->userinfo[usergroupid];
$avatarrevision =    $vbulletin->userinfo[avatarrevision];
//

// your own custom head and css files
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html dir="ltr" lang="en"> <head> 
'
.$headinclude.
 <title>'
.$pagetitle.'</title>  
   <link href="clientscript/animefans/rpg.css" rel="stylesheet" type="text/css" /> 
  <style type="text/css"> 
<!-- 
.advertisement {display: none !important} 
--> 
</style> 

 </head> <body> '

 
// output templates
echo $header$navbar
//content here 

echo 'you can do queries, loops, anything you want here';
//footer, close everything 
echo $footer
echo 
'</body></html>';
/*======================================================================*\
|| ####################################################################
|| # Downloaded: 16:53, Mon Nov 8th 2010
|| # CVS: $RCSfile$ - $Revision: 35749 $
|| ####################################################################
\*======================================================================*/

?>

Please note that you can use the switch() to loop through conditions so that you can have one page for a whole custom mod. example:

PHP Code:

switch($do){
case 
"register":
echo 
'registration form';
break;
case 
"member":
echo 
'member details';
break;
default;
echo 
'something here if $do is empty';


and access it like
www.site.com/page.php?do=register //registration
www.site.com/page.php?do=member // member page
www.site.com/page.php?do=fgdgf // nonsense will be directed to the default; in the switch

www.site.com/page.php // empty $do will be directed to the default; in the switch

I know this is not the the best way to use vb, and has some security risks when csrf protection is off but its a great way to get used to vbulletin.

Benefits:
  • Automatically adjusted to suite any skin when a user switches, no extra coding needed
  • Simple and easy
  • can access other databases
  • can use any php function available to your server
  • can access ALL of vbulletin's functions and classes.
  • can use any html tag
  • can use any css file and selector
  • canuse any amount of javascript
  • no messy plugins and settings to sort through.
  • have full access to all vbulletin's plugins, classes, templates and much more!!!
Downsides
  • requires small amounts of php/html/css knowledge.


CHANGELOG:

SpiritOf76 11-28-2010 08:23 AM

Thank you very much. This is incredibly useful to a newbie like myself.
:)

DarKNull 11-28-2010 04:59 PM

I'm getting this design error after installing.

https://vborg.vbsupport.ru/external/2010/11/1.gif

gibigbig 11-29-2010 03:25 AM

Quote:

Originally Posted by SpiritOf76 (Post 2126635)
Thank you very much. This is incredibly useful to a newbie like myself.
:)

not a problem i originally made it because im a noob at making vb products myself, so i came up with a way to NOT use the template system (which is very limiting) and NOT have to sieve through messy products and xml etc..

I also have a 3.6 - 3.8 version available
Quote:

Originally Posted by DarKNull (Post 2126774)
I'm getting this design error after installing.

https://vborg.vbsupport.ru/external/2010/11/1.gif

send me your forum link, i need to look at your code if i can assist you.
it looks a css file is missing though

gibigbig 11-29-2010 03:29 AM

changelog added

Lestat_ 04-16-2011 02:05 AM

this is 100% exactly what I needed !!! thank you mate

Zoul 09-25-2013 11:05 AM

Hello
to version 4.2.1 it works
the only problem is it does not take into account the "aditionnal.css" file

can tell you how to include it.

In addition, losque I add a VB variable, this plant page.
Basically I would like to create a login page in this principle:

https://vborg.vbsupport.ru/external/2013/09/20.png

here is my code (retrieved during a connection error, wrong username or pass):
Code:

        <div class="standard_error">
            <form class="block vbform"  method="post" action="login.php?do=login" onsubmit="md5hash(vb_login_password, vb_login_md5password, vb_login_md5password_utf, {vb:raw show.nopasswordempty})">
                <h2 class="blockhead">Message de connexion vBulletin</h2>

                <input type="hidden" name="do" value="login" />
                <input type="hidden" name="url" value="{vb:raw scriptpath}" />
                <input type="hidden" name="vb_login_md5password" />
                <input type="hidden" name="vb_login_md5password_utf" />
                {vb:raw postvars}
                <input type="hidden" name="s" value="{vb:raw session.sessionhash}" />
                <input type="hidden" name="securitytoken" value="{vb:raw bbuserinfo.securitytoken}" />
                <div class="blockbody formcontrols">
                   
                    <h3 class="blocksubhead">{vb:rawphrase not_logged_no_permission}</h3>
                    <div class="blockrow restore">Vous etes sur le point de vous connecter a GFX-Art. Mot de passe oubli? ? Cliquez <a href="http://www.gfx-art.fr/forum/login.php?do=lostpw"><b>ICI</b></a>!
                            </div>
                    <vb:if condition="$show['register_message']">
                    <p class="blockrow">{vb:rawphrase admin_required_register, {vb:raw session.sessionurl}}</p>
                    </vb:if>
                   
                    <h3 class="blocksubhead">{vb:rawphrase log_in}</h3>       
                    <div class="blockrow">
                        <label for="vb_login_username">{vb:rawphrase username}:</label>
                        <input type="text" class="primary textbox" id="vb_login_username" name="vb_login_username" accesskey="u" tabindex="1" />
                    </div>
                    <div class="blockrow">           
                        <label for="vb_login_password">{vb:rawphrase password}:</label>
                        <input type="password" class="primary textbox" id="vb_login_password" name="vb_login_password" tabindex="1" />
                    </div>
                    <div class="blockrow singlecheck">
                        <label for="cb_cookieuser"><input type="checkbox" name="cookieuser" id="cb_cookieuser" value="1" tabindex="1" /> {vb:rawphrase remember_me}</label>
                    </div>
                   
                </div>
                <div class="blockfoot actionbuttons">
                    <div class="group">
                        <input type="submit" class="button" value="{vb:rawphrase log_in}" accesskey="s" tabindex="1" />
                        <input type="reset" class="button" value="{vb:rawphrase reset_fields}" accesskey="r" tabindex="1" />
                    </div>
                </div>
            </form>
        </div>

If you have another solution, I'm interested

thank you

final kaoss 09-26-2013 12:34 AM

This is the defacto guide for making custom pages for vbulletin.
https://vborg.vbsupport.ru/showthread.php?t=228112
You're welcome.

Zoul 09-27-2013 12:08 AM

thank you very much ;)

I think I have managed to create a login page for my navbar
http://www.gfx-art.fr/forum/connect.php

Zoul 09-27-2013 09:11 AM

hello
I just have a quick question

When I connect this new page, I am redirected to the same page.
Is it possible that I am recognized as connected, I am redirected to the forum index?

Lon 10-28-2014 05:13 PM

Quote:

Originally Posted by final kaoss (Post 2448019)
This is the defacto guide for making custom pages for vbulletin.
https://vborg.vbsupport.ru/showthread.php?t=228112
You're welcome.

Your "defacto" solution is not the same as this.

This method by passes the template system entirely. Ithink it's easier for small projects you want to spit something out quickly. Especially taking into account the vb_reregister() function available in plugins.


All times are GMT. The time now is 03:28 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.01366 seconds
  • Memory Usage 1,813KB
  • 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_code_printable
  • (2)bbcode_php_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (11)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