Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Details »»

Version: , by (Guest)
Developer Last Online: Jan 1970 Show Printable Version Email this Page

Version: 2.0.x Rating:
Released: 06-20-2001 Last Update: Never Installs: 19
 
No support by the author.

Giving back some more ...

We have 30+ forums, all dedicated to different topics. I wanted to be able to sell targeted banner ads for each of those categories. phpAdsNew is great for serving ads, but I needed to make some quick changes to VB in order to facilitate targeting.

Its easy to just plop in a generic call to phpAdsNew in the "header" template - works easy enough - however, you have no control and no ability to dynamically target those ads to a given forum. Now you can. (If there is another way, someone please tell me).

This is a simple hack, which involves a quick change to "global.php".

In global.php, find:

Code:
// figure out the chosen style settings
Below that, add:

Code:
// figure out the chosen style settings

// BSB - HACK - Need to populate foruminfo for targeted ads
if(isset($forumid)) {
    $getforuminfo=$DB_site->query_first("SELECT title FROM forum WHERE forumid='$forumid'");
    $forum_ad_keywords=$getforuminfo[title];

    // Replace generic words
    $forum_ad_keywords = str_replace(" and ", " ", $forum_ad_keywords);
    $forum_ad_keywords = str_replace(" the ", " ", $forum_ad_keywords);
    $forum_ad_keywords = str_replace(" with ", " ", $forum_ad_keywords);
    $forum_ad_keywordss = str_replace(" or ", " ", $forum_ad_keywords);
    $forum_ad_keywords = str_replace("/", " ", $forum_ad_keywords);

    // Replace spaces with commas (for phpAdsNew OR keywords)
    $forum_ad_keywords = str_replace(" ", ",", $forum_ad_keywords);
}
// END HACK
Let me give you an example. Let's say you have 2 forums:
  • Outdoor Hiking
  • Wild and Crazy Sex

Strange combination, I know - but bear with me. This hack will create a special variable called "$forum_ad_keywords", which will look like this (using the 2 examples above):
  • Outdoor,Hiking
  • Wild,Crazy,Sex

To use these in a template (i.e. header) to grab a target ad, you might try something like:

Code:
<a href="/ads/admin/adclick.php?n=$VBRandomX"><img src="/ads/admin/adview.php?n=$VBRandomX&what=$forum_ad_keywords" border="0"></a>
Note: the VBRandomX numbers are another hack. Just put this line in global.php to get some random #'s for the ad call:

Code:
$VBRandomX = time();
Easy enough. Not a real great randomizer, but it works for my needs. You want it to do more, have at it.

At any rate, the ad code above would expand to something like:

Code:
<a href="/ads/admin/adclick.php?n=993088616"><img src="/ads/admin/adview.php?n=993088616&what=Outdoor,Hiking" border="0"></a>
Now all you need to do is use those keywords when creating accounts within phpAdsNew.

Voila - instant targeted ads.

A robust, scalable targeted ad/sponsorship system should really be a part of the next release - IMHO.

Cheers.

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #32  
Old 05-23-2003, 08:20 AM
Dejan Dejan is offline
 
Join Date: Nov 2001
Posts: 6
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

try to not use "by" as keyword
or
try to add "by" in //Replace generic words


Code for your global.php is:


Quote:
// BSB - HACK - Need to populate foruminfo for targeted ads
if(isset($forumid)) {
$getforuminfo=$DB_site->query_first("SELECT title FROM forum WHERE forumid='$forumid'");
$forum_ad_keywords=strtolower($getforuminfo[title]);

// Replace generic words
$forum_ad_keywords = str_replace(" and ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" the ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" with ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" or ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace("/", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" & ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" for ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" by", " ", $forum_ad_keywords);

// Replace spaces with commas (for phpAdsNew OR keywords)
$forum_ad_keywords = str_replace(" ", ",", $forum_ad_keywords);
} else {
$forum_ad_keywords = 'home';
}



// Parent forum inside thread pages
if(isset($threadid)) {
$getforuminfo=$DB_site->query_first("SELECT forum.title FROM forum,thread WHERE threadid='$threadid' AND forum.forumid=thread.forumid");

$forum_ad_keywords=strtolower($getforuminfo[title]);

// Replace generic words
$forum_ad_keywords = str_replace(" and ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" the ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" with ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" or ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace("/", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" & ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" for ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" i ", " ", $forum_ad_keywords);
$forum_ad_keywords = str_replace(" by", " ", $forum_ad_keywords);

// Replace spaces with commas (for phpAdsNew OR keywords)
$forum_ad_keywords = str_replace(" ", ",", $forum_ad_keywords);
}

// END HACK
Reply With Quote
  #33  
Old 07-10-2003, 05:35 AM
cleck673 cleck673 is offline
 
Join Date: Feb 2003
Posts: 41
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is anyone still using this. I can not get it working.
Reply With Quote
  #34  
Old 07-13-2003, 07:59 AM
Beowulf33 Beowulf33 is offline
 
Join Date: Jul 2003
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I have this hack working fine on 2.3.0
Reply With Quote
  #35  
Old 08-16-2003, 01:39 AM
Beowulf33 Beowulf33 is offline
 
Join Date: Jul 2003
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I now have this working fine on 3.0 beta 5 as well
Reply With Quote
  #36  
Old 09-02-2003, 01:43 PM
Tuan Le Tuan Le is offline
 
Join Date: Aug 2003
Posts: 7
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I got this added to the phpinclude_start

Code:
require("C:/../../phpadsnew/phpadsnew.inc.php");
if (!isset($phpAds_context)) $phpAds_context = array();
$phpAds_raw = view_raw ('', 0, '', '', '0', $phpAds_context);
$variable_name = $phpAds_raw['html'];

But not sure where I need to put the local invocation code generated by phpadsnew. Do you know where I need to put them? I would greatly appreciated if you can point me to the right direction. Thanks.

Code:
<?php
if (@include('C:/../../phpadsnew/phpadsnew.inc.php')) {
if (!isset($phpAds_context)) $phpAds_context = array();
$phpAds_raw = view_raw ('', 2, '', '', '0', $phpAds_context);
echo $phpAds_raw['html'];
}
?>
Reply With Quote
  #37  
Old 10-03-2003, 03:24 AM
Imprezer Imprezer is offline
 
Join Date: Dec 2002
Posts: 55
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

So far it is working great.

Is there any way to plug a banner on the main forum page? Forum Home I mean.

Thanks!

- Alex
Reply With Quote
  #38  
Old 10-20-2003, 06:15 PM
AmericanWoman AmericanWoman is offline
 
Join Date: Jan 2002
Posts: 47
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I haven't been able to get the size parameters working properly...if I try to specify a size, the banner disappears altogether.

Here is the invocation code I'm testing (remote javascript method):

PHP Code:
<!--
   if (!
document.phpAds_useddocument.phpAds_used ',';
   
phpAds_random = new String (Math.random()); phpAds_random phpAds_random.substring(2,11);
   
   
document.write ("<" "script language='JavaScript' type='text/javascript' src='");
   
document.write ("http://www.acuraworld.com/ads/adjs.php?n=" phpAds_random);
   
document.write ("&amp;what=$forum_ad_keywords@width:120");
   
document.write ("&amp;exclude=" document.phpAds_used);
   if (
document.referer)
      
document.write ("&amp;referer=" escape(document.referer));
   
document.write ("'><" "/script>");
//-->
</script><noscript><a href='http://www.acuraworld.com/ads/adclick.php?n=a1d9c3f2' target='_blank'><img src='http://www.acuraworld.com/ads/adview.php?what=home@width:120&amp;source=http%3A%2F%2Fwww.acuraworld.com&amp;n=a1d9c3f2' border='0' alt=''></a></noscript
According to the manual, I replaced the "," delimiters with a "/" and appended the "@" symbol to the end of the string to create a parameter for the entire expression - but it's not working at all. I've checked the output of the code to be sure it's picking up the keywords variable, and it is...

Any ideas?
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 07:40 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.08290 seconds
  • Memory Usage 2,303KB
  • Queries Executed 24 (?)
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
  • (7)bbcode_code
  • (1)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (8)post_thanks_box
  • (8)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (8)post_thanks_postbit_info
  • (7)postbit
  • (7)postbit_onlinestatus
  • (8)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_postinfo_query
  • fetch_postinfo
  • 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
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • postbit_imicons
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete