Log in

View Full Version : Adding Google AdSense to MediaWiki 1.4


sunshine
2006-01-27, 11:07 PM
If you're interested in running a MediaWiki site with Google AdSense, you should know that in order to comply with the Google TOS, you shouldn't display ads on non-content pages. The following solution will cause ads to not be displayed on Special, User, User talk, Image, Template, and edit/preview pages.

I've solved this by limiting my users' choice of skins to Monobook, and modifying the Monobook.php file as follows:

For a vertical ad below your left-side navigation, after this:

echo htmlspecialchars($this->data['nav_urls'][$special]['href'])
?>"><?php $this->msg($special) ?></a></li><?php } ?>
<?php } ?>
</ul>
</div>
</div>


put this:
<?php
if(!strstr($_SERVER['REQUEST_URI'], "Special:") &&
!strstr($_SERVER['REQUEST_URI'], "User:") &&
!strstr($_SERVER['REQUEST_URI'], "User_talk:") &&
!strstr($_SERVER['REQUEST_URI'], "Image:") &&
!strstr($_SERVER['REQUEST_URI'], "action=submit") &&
!strstr($_SERVER['REQUEST_URI'], "action=edit") &&
!strstr($_SERVER['REQUEST_URI'], "Template:")) {
include("adsense/adsense_vertical.php");
}
?>


For a horizontal ad at the bottom of your articles, after this:
<?php if($this->data['catlinks']) { ?><div id="catlinks"><?php $this->html('catlinks') ?></div><?php } ?>
<!-- end content -->
<div class="visualClear"></div>


put this:

<?php
if(!strstr($_SERVER['REQUEST_URI'], "Special:") &&
!strstr($_SERVER['REQUEST_URI'], "User:") &&
!strstr($_SERVER['REQUEST_URI'], "User_talk:") &&
!strstr($_SERVER['REQUEST_URI'], "Image:") &&
!strstr($_SERVER['REQUEST_URI'], "action=submit") &&
!strstr($_SERVER['REQUEST_URI'], "action=edit") &&
!strstr($_SERVER['REQUEST_URI'], "Template:")) {
include("adsense/adsense_horizontal.php");
}
?>


Now, you'll need to create an adsense/ directory in your main wiki directory, and place two files in it, adsense_horizontal.php and adsense_vertical.php as needed.

The contents of my files are as follows:

adsense_vertical.php:

<div id="p-advertisement" class="portlet">
<h5>Advertisement</h5>
<div class="pBody">
Paste Google code here
</div>
</div>


adsense_horizontal.php:

<div style="border: 1px solid #ccc; padding: 1px; margin-top: 25px;">
Paste Google code here
</div>

topvip
2006-01-28, 08:19 AM
如想在内容的上面加代码:

在<div id="content">下加入:

<?php
if(!strstr($_SERVER['REQUEST_URI'], "Special:") &&
!strstr($_SERVER['REQUEST_URI'], "User:") &&
!strstr($_SERVER['REQUEST_URI'], "User_talk:") &&
!strstr($_SERVER['REQUEST_URI'], "Image:") &&
!strstr($_SERVER['REQUEST_URI'], "action=submit") &&
!strstr($_SERVER['REQUEST_URI'], "action=edit") &&
!strstr($_SERVER['REQUEST_URI'], "Template:")) {
include("adsense/adsense_horizontal.php");
}
?>

lingerie
2006-01-28, 10:34 AM
如想在内容的上面加代码:

在<a name="top" id="top"></a>下加入:
<?php
if(!strstr($_SERVER['REQUEST_URI'], "Special:") &&
!strstr($_SERVER['REQUEST_URI'], "User:") &&
!strstr($_SERVER['REQUEST_URI'], "User_talk:") &&
!strstr($_SERVER['REQUEST_URI'], "Image:") &&
!strstr($_SERVER['REQUEST_URI'], "action=submit") &&
!strstr($_SERVER['REQUEST_URI'], "action=edit") &&
!strstr($_SERVER['REQUEST_URI'], "Template:")) {
include("adsense/adsense_horizontal.php");
}