Go Back   vb.org Archive > vBulletin Article Depository > Read An Article > vBulletin 3 Articles

Reply
 
Thread Tools
Using PHPadsnew 2 with Vbulletin 3.
Michael Morris's Avatar
Michael Morris
Join Date: Nov 2003
Posts: 774

Employee of Digital Media Graphix of Knoxville TN, currently developing a new framework / CMS

Knoxville TN
Show Printable Version Email this Page Subscription
Michael Morris Michael Morris is offline 01-30-2005, 10:00 PM

The following are some tips on using these two programs together, based on my own experience. It's expected that you know how to use phpadsnew 2 to set up ads and generate invocation code.

PHP Invocation
The first tip is how to use php invocation code. Using javascript is possible, but not all browsers support javascript and, in my experience, using php is faster.

The php invocation code phpadsnew generates will look something like this...

PHP Code:
<?php
    
if (@include(getenv('DOCUMENT_ROOT').'/phpads/phpadsnew.inc.php')) {
        if (!isset(
$phpAds_context)) $phpAds_context = array();
        
$phpAds_raw view_raw ('zone:2'0'''''0'$phpAds_context);
        echo 
$phpAds_raw['html'];
    }
?>
Place it in your PHPINCLUDE_START template, but omit the final echo statement and the <?php ?> tags. It will look like this...

PHP Code:
    if (@include(getenv('DOCUMENT_ROOT').'/phpads/phpadsnew.inc.php')) {
        if (!isset(
$phpAds_context)) $phpAds_context = array();
        
$phpAds_raw view_raw ('zone:2'0'''''0'$phpAds_context);
    } 
Now, to place the add, put the variable $phpAds_raw[html] in any template that you want that ad to appear (usually your header). Remember to omit the '' marks when placing the variable in a normal template - therefore $phpAds_raw['html'] becomes $phpAds_raw[html]

If you have multiple zones, you can string these together. On EN World we have a zone that only appears on our vbadvanced news page. On those pages we call the view_raw function an additional time for the extra zone (view_raw is the function that actually calls up the ad - the rest of the code initializes phpadsnew). Here's our code, as an example of a 2 zone system.

PHP Code:
if (@include(getenv('DOCUMENT_ROOT').'/phpads/phpadsnew.inc.php')) 
{
    if (!isset(
$phpAds_context)) 
    {
        
$phpAds_context = array();
        
$phpAds_raw view_raw ('zone:2'0'''''0'$phpAds_context);
        if (
defined('VBA_PORTAL'))
        {
            
$phpAds_context2 = array();
            
$phpAds_raw2 view_raw ('zone:3'0'''''0'$phpAds_context2);
        }
    }

Running Maintenance.php from the scheduled task manager
Ads new's maintenance.php file needs to run on a regular basis for it to perform correctly. You can invoke it from your scheduled task manager if you wish. If you do, I'd advise applying the following mod to the code of the maintenance.php file.

Open it and go to the ending ?> mark. Right about it add this.

PHP Code:
log_cron_action('PHP Ads New Maintenance Complete'$nextitem); 
And you're done. The file can now log it's cron action with vbulletin's cron manager. Note that if you make this change you will be unable to call the maintenance.php file without vbulletin since it will trigger a fatal error (call to undefined function). Also, there's a glitch in phpadsnew - when vbulletin invokes maintenance.php it somehow forgets that it was ever invoked. The log files both in vbulletin and in phpadsnew itself speak differently, but phpadsnew continues to echo a message saying the maintenance.php script hasn't been ran which can be ignored.

Any other tips/comments/questions welcomed.

PHP Ads New 2 is at http://www.phpadsnew
Reply With Quote
  #22  
Old 03-13-2005, 12:05 PM
Michael Morris's Avatar
Michael Morris Michael Morris is offline
 
Join Date: Nov 2003
Location: Knoxville TN
Posts: 774
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by DistributorTalk
How would the code look if I wanted to call 468x60 banners, and smaller ones at the same time on 2 different areas on a page? I have the large banners showing up but not sure what I need to add to call the small ones.
Each banner requires a different call of the view_raw function

PHP Code:
if (@include(getenv('DOCUMENT_ROOT').'/phpads/phpadsnew.inc.php'))
{
    if (!isset(
$phpAds_context))
    {
        
$phpAds_context = array();
        
$phpAds_raw view_raw ('zone:1'0'''''0'$phpAds_context);

        
$phpAds_context2 = array();
        
$phpAds_raw2 view_raw ('zone:2'0'''''0'$phpAds_context2);
    }

That would do zones 1 & 2. A third zone would require a third call.
Reply With Quote
  #23  
Old 03-13-2005, 07:23 PM
cmiller1014 cmiller1014 is offline
 
Join Date: May 2004
Posts: 248
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks, but then how would I then call each zone onto the page where I want it? For example I decided I am going to have text ads on the main forum page, plus 2 468X60 banners, plus a small banner on the side. If I only use $phpAds_raw[html] in each of these 4 areas, how does it know to call the correct ad for that spot?

Thanks again!

I guess the bigger question is this......

I will always have text ads in the same place (forum home page), I will always have 468x60 ads in the same place (header and footer), and I will always have the small ad in the same place (side column). How would I setup both VB and PHPADSNEW to randomly call an ad of each type and stick it in these spots?

I figured it out! I wasnt as familar with phpadsnew as I thought. I had no zones setup, and was a little mixed up because of the "Advertiser" and "Publisher" terminology. This program is a lot bigger than I expected it to be.

I then figured out how to use multiple calls.... thanks again!
Reply With Quote
  #24  
Old 03-19-2005, 05:34 PM
pguy pguy is offline
 
Join Date: Feb 2005
Posts: 29
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Using the instructions in the original post, I have been unable to get my site off the ground. The local invocation just wont work. However, when I use java invocation, it works just right. However since its a high traffic site, I would prefer local invocation. I have tried every variation and possibility, but no go. Any leads as to what I can do to get the local php invocation working with my VB3
Reply With Quote
  #25  
Old 03-23-2005, 02:41 AM
Michael Morris's Avatar
Michael Morris Michael Morris is offline
 
Join Date: Nov 2003
Location: Knoxville TN
Posts: 774
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Uhm, well for starters, you are putting the local mode invocation code into the template phpinclude_start yes?

And are you then placing the variable $phpAds_raw[html] in the appropriate spot?

@Distributor Talk: The first call puts the information in $phpAds_raw[html], the second in $phpAds_raw2[html] and so on...
Reply With Quote
  #26  
Old 03-23-2005, 04:12 AM
pguy pguy is offline
 
Join Date: Feb 2005
Posts: 29
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Ahoy! Thanks for replying.

Quote:
Uhm, well for starters, you are putting the local mode invocation code into the template phpinclude_start yes?
Absolutely. When that didn't work I tried including the quote without the <?php> , but no go.

Quote:
And are you then placing the variable $phpAds_raw[html] in the appropriate spot?
Yes. This too I am sure of because I replaced the $phpAds_raw[html] with the java invocation code and the ads are displaying just right. But I seriously want the local method to work to ensure lower loads
Reply With Quote
  #27  
Old 03-23-2005, 04:15 AM
cmiller1014 cmiller1014 is offline
 
Join Date: May 2004
Posts: 248
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I ended up getting it to work flawlessly on my site. Even setup a template condition to not display it on the homepage of vbadvanced (the banners are in my header and footer)

I'll help you if you want. Drop me an email:

chris@distributortalk.com

it looks like you figured it out I see the ad on your homepage

This automerge doublepost "feature" is the most annoying, confusing thing to hit vbulletin.
Reply With Quote
  #28  
Old 03-23-2005, 04:43 AM
pguy pguy is offline
 
Join Date: Feb 2005
Posts: 29
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

AHoy Chris,

Those ads are based on the javascript invocation, which I don't prefer due to the slightly increased loads. I hope I can still email you to figure this out since we seem to use the same templates!
Reply With Quote
  #29  
Old 03-23-2005, 05:06 AM
ssanders ssanders is offline
 
Join Date: Feb 2005
Posts: 9
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I can't get it to work.

I followed the tutorial verbatim, but they wont show up on my forums.

ideas?
Reply With Quote
  #30  
Old 03-23-2005, 12:15 PM
Michael Morris's Avatar
Michael Morris Michael Morris is offline
 
Join Date: Nov 2003
Location: Knoxville TN
Posts: 774
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Well, first off - the <?php and ?> tags need to be dropped before inserting the material into phpinclude_start. Their presence will trigger a parse error.

Second, make sure the zone # in the function call is correct - this is the part of the code most likely to change.

Don't copy the code from my tutorial. Go to your phpads setup and have it give you the local mode invocation code. Then paste THAT CODE into phpinclude_start and delete the <?php and ?> markups along with the echo statement. Finally place the variable $phpAds_raw[html] where you need it to appear on your page.
Reply With Quote
  #31  
Old 03-23-2005, 12:48 PM
pguy pguy is offline
 
Join Date: Feb 2005
Posts: 29
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Michael, I had dropped the <?php and ?> tags and tried. But even with their presence I did not receive any error. All code I pasted were from within phpadsnew. If the javainvocation code goes in the same are as $phpAds_raw[html] then all goes well.
Reply With Quote
Reply

Thread Tools

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 09:24 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.05363 seconds
  • Memory Usage 2,319KB
  • Queries Executed 25 (?)
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
  • (5)bbcode_php
  • (3)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
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)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
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete