vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   PHP code in custom vbulletin page help needed (https://vborg.vbsupport.ru/showthread.php?t=217773)

nirvana43 07-03-2009 03:49 PM

PHP code in custom vbulletin page help needed
 
1 Attachment(s)
Hello
I'm trying to design one custom page while keeping vbulletin header, navbar and footer on it.
I've referred to following topics :
https://vborg.vbsupport.ru/showthrea...ight=logicians
https://vborg.vbsupport.ru/showthread.php?t=217075
http://www.vbulletin.com/forum/showthread.php?t=197563

Here is the custom page i wanna have headers and footers on.
http://www.projectsplanet.org/forums/testverify.php
Enter code 1234test to test above page.

When i try to put my code as follows in custom template created in Vbulletin admin CP, i'm getting error :
Quote:

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

$navbar

[MY CODE GOES HERE]

$footer
</body>
</html>
When i try to save above template, i get following error :
Code:

The following error occurred when attempting to evaluate this template:

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home2/******/public_html/forums/includes/adminfunctions_template.php(3729) : eval()'d code on line 16

I guess its because i'm also trying to write php code within template.
Please check attached php file testverify.php
Please tell me how do i put vbulletin header, navbar and footer there.

Following are the contents of attached testverify.php if you do not wish to download it :
Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Purchase AdiInviter</title>
</head>

<body>
<?php
$done=0;
$trid=$_POST['trans'];
if (!empty($_POST['step'])) $step=$_POST['step'];
else $step='inp';
                 
?>
<table class="tborder" cellpadding="6" cellspacing="1" border="0" width="70%" align="center">

<tr>
        <td class="tcat">Verify</td>
</tr>
<tr>
        <td class="panelsurround" align="center">
        <div class="panel">
                <div align="left">
                  <div style="margin: 10px">
          <?php
                  if ($step=="inp")
                        {                       
                        ?>
                    <form id="verify" name="verify" method="post" action="">
                      <label>
                      <div align="center">
                        <p><strong>Enter Paypal Transaction ID of VbInviter Payment :</strong>
                      <input type="text" name="trans" id="trans" />
                      </p>
                        <p>
                <input type="hidden" name="step" value="transid">
                          <input type="submit" name="step" id="step" value="verify" />
                          <br />
                      </p>
                      </div>
                      </label>
                </form>
              </div>

                </div>
        </div>
    <?php
        }
        else if ($step=="verify")
        {
//////////////////////////////////////////////////////////////////////////////////
$clients="1234test";
/////////////////////////////////////////////////////////////////////////////////
if ($trid==$clients)
{
$done=1;
}
else
{
$done=0;
}
          if ($done==1)
                {
    ?>
      <div align="center">
        <p><strong>
                    Successfully verified!
        </strong></p>
            <br />
            <span class="highlight style2">Package #1</span><br />
            Discount Price = <strong>45$ USD</strong><br />
            <a href="http://www.projectsplanet.org/purchase.php">Click here to check Package #1 features. </a><br />
            <----------Buy Link---------->
<br /><br />
            <span class="highlight style2">Package #2</span><br />
            Discount Price = <strong>80$ USD</strong><br />
            <a href="http://www.projectsplanet.org/purchase.php">Click here to check Package #2 features. </a><br />
          <----------Buy Link---------->
           
      </div>
                          </div>

                </div>
        </div>

                        <?php
            }
                        else if ($done==0)
                        {

            ?>
                            <div align="center">
                        <p><strong>
                    You have entered wrong transaction id.
            </strong><br /><br />
            <a href="verify.php">Click here to try again</a>.</p>
                            </div>
                          </div>

                </div>
        </div>

      <?php
          }
          }
          ?>
              </div>

                </div>
        </div>
                </td>
</tr>
</table>

</body>
</html>




Detailed instructions are much appreciated.
Regards

EDIT
- I dont wanna use <IFRAME> tag (Even with auto resizing <IFRAME> java script) :p

Dismounted 07-04-2009 06:47 AM

Follow the instructions in the article you linked to yourself: https://vborg.vbsupport.ru/showthread.php?t=62164

In vBulletin, any HTML is placed inside templates. Processing is done in PHP, then the template(s) is called upon and echoed to the client.

nirvana43 07-04-2009 08:33 AM

Quote:

Originally Posted by Dismounted (Post 1842531)
Follow the instructions in the article you linked to yourself: https://vborg.vbsupport.ru/showthread.php?t=62164

In vBulletin, any HTML is placed inside templates. Processing is done in PHP, then the template(s) is called upon and echoed to the client.

i tried to do the same but it aint working... i'm getting errors as mentioned above.
I've attached the code too... can you please tell me what exactly i'm suppose to write in template? :confused:

Dismounted 07-04-2009 09:24 AM

Templates contain no PHP code, apart from variables. The template you posted is "empty", that is, you don't put in the most important bit - your code...

nirvana43 07-04-2009 10:41 AM

Quote:

Originally Posted by Dismounted (Post 1842569)
Templates contain no PHP code, apart from variables. The template you posted is "empty", that is, you don't put in the most important bit - your code...

then what could be the solution on this? because my custom page contains lots of PHP code (Same logic i will be using for other custom pages which will be containing only pure PHP code, even HTML is echoed in my custom PHP page).
So all i want to know is how can i have vbulletin header, footer and navbar on any custom page? :o

Dismounted 07-04-2009 11:41 AM

Your logic needs to be done and results stored in variables for later use in templates. That's how it is done in vBulletin.

nirvana43 07-05-2009 01:36 AM

Quote:

Originally Posted by Dismounted (Post 1842630)
Your logic needs to be done and results stored in variables for later use in templates. That's how it is done in vBulletin.

now thats helpful.
here is what i understood :
i gotta put php logic only in testverify.php which will also contains following code in turn :
Quote:

<?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') . '");');


MY PHP CODE GOES HERE


?>
Then i have to echo variables and html in vbulletin template.

Is that correct?

Dismounted 07-05-2009 05:13 AM

Any processing needs to be done before any print_output() calls. Values should be assigned to variables. These variables are used in templates.

The best example I can give you is vBulletin itself.

nirvana43 07-05-2009 08:57 AM

Quote:

Originally Posted by Dismounted (Post 1843045)
Any processing needs to be done before any print_output() calls. Values should be assigned to variables. These variables are used in templates.

The best example I can give you is vBulletin itself.

I solved it... thank you for your support sir. :)


All times are GMT. The time now is 01:10 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.01234 seconds
  • Memory Usage 1,771KB
  • 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
  • (2)bbcode_code_printable
  • (6)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (9)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