lostwages/ include/html.php include/incl.php i ...
Jeremy Newman
jnewman at wine.codeweavers.com
Mon Nov 21 11:23:16 CST 2005
ChangeSet ID: 21383
CVSROOT: /opt/cvs-commit
Module name: lostwages
Changes by: jnewman at winehq.org 2005/11/21 11:23:15
Modified files:
include : html.php incl.php utils.php
include/themes/winehq: content.template
Added files:
bin : .htaccess ad
Log message:
revamp of the banner ad code. We now will store a cookie. If a user views the banner ad 50 times, we will fix to a static image. Ad code is also now in it's own file. This will allow us to embed the ad into other parts of the website. i.e. the appdb, and the bug tracker.
Patch: http://cvs.winehq.org/patch.py?id=21383
Old revision New revision Changes Path
Added 1.1 +0 -0 lostwages/bin/.htaccess
Added 1.1 +0 -0 lostwages/bin/ad
1.15 1.16 +1 -2 lostwages/include/html.php
1.9 1.10 +0 -3 lostwages/include/incl.php
1.9 1.10 +1 -29 lostwages/include/utils.php
1.9 1.10 +2 -6 lostwages/include/themes/winehq/content.template
Index: lostwages/bin/.htaccess
diff -u -p /dev/null lostwages/bin/.htaccess:1.1
--- /dev/null 21 Nov 2005 17:23:15 -0000
+++ lostwages/bin/.htaccess 21 Nov 2005 17:23:15 -0000
@@ -0,0 +1,7 @@
+deny from all
+
+<Files ad>
+ allow from all
+ ForceType application/x-httpd-php
+</Files>
+
Index: lostwages/bin/ad
diff -u -p /dev/null lostwages/bin/ad:1.1
--- /dev/null 21 Nov 2005 17:23:16 -0000
+++ lostwages/bin/ad 21 Nov 2005 17:23:16 -0000
@@ -0,0 +1,87 @@
+<?PHP
+
+/* Banner Ad Code */
+/* For WineHQ */
+
+// path for banner ad
+$bannerads_path = '../images/bannerads/';
+
+// base filename of the static ad
+$fixed_ad = 'cw-ad02';
+
+// max count until we fix on static ad
+$max_ads = 50;
+
+// open file and display contents of selected tag (very simple)
+function get_xml_tags ($file, $tags = null)
+{
+ if (is_array($tags) and file_exists($file))
+ {
+ $content = array();
+ $fp = @fopen($file, "r");
+ $data = fread($fp, filesize($file));
+ @fclose($fp);
+ foreach ($tags as $tag)
+ {
+ if (eregi("<" . $tag . ">(.*)</" . $tag . ">", $data, $out))
+ {
+ array_push($content, $out[1]);
+ }
+ }
+ return $content;
+ }
+ else
+ {
+ return null;
+ }
+}
+// end get_xml_tags()
+
+// check cookie for ad counter
+$whqac = 1;
+if (isset($_COOKIE['whqac']))
+ $whqac = $_COOKIE['whqac'];
+unset($_COOKIE["whqac"]);
+$whqac++;
+
+// randomly select a banner and display it
+if ($whqac >= $max_ads)
+{
+ // display fixed ad
+ $whqac = $max_ads;
+ $img = $fixed_ad;
+}
+else
+{
+ // display random ad
+ $ads = array();
+ $d = opendir($bannerads_path);
+ while($entry = readdir($d))
+ {
+ if(!ereg("(.+)\\.gif$", $entry, $arr))
+ continue;
+ array_push($ads, $arr[1]);
+ }
+ closedir($d);
+ sort($ads);
+ $img = $ads[(rand(1,count($ads))-1)];
+}
+list($url, $alt) = get_xml_tags($bannerads_path.$img.'.xml', array('url', 'alt'));
+
+// da banner
+setcookie("whqac", $whqac, time()+60*60*24*1);
+header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
+header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
+header("Cache-Control: no-store, no-cache, must-revalidate");
+header("Cache-Control: post-check=0, pre-check=0", false);
+header("Pragma: no-cache");
+?>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title><?=$alt?></title>
+</head>
+<body bgcolor="#000000" text="#FFFFFF" marginwidth="0" marginheight="0" style="margin:0px;"><a href="<?=$url?>"
+target="_top"><img src="../images/bannerads/<?=$img?>.gif"
+width="468" height="60" border="0" alt="<?=$alt?>" /></a> <?=$whqac?></body>
+</html>
Index: lostwages/include/html.php
diff -u -p lostwages/include/html.php:1.15 lostwages/include/html.php:1.16
--- lostwages/include/html.php:1.15 21 Nov 2005 17:23:16 -0000
+++ lostwages/include/html.php 21 Nov 2005 17:23:16 -0000
@@ -85,8 +85,7 @@ class html
'page_title' => $title,
'page_body' => $body,
'page_sidebar' => $menu,
- 'page_search' => $search,
- 'banner_ad' => $this->banner_ad
+ 'page_search' => $search
)
);
}
Index: lostwages/include/incl.php
diff -u -p lostwages/include/incl.php:1.9 lostwages/include/incl.php:1.10
--- lostwages/include/incl.php:1.9 21 Nov 2005 17:23:16 -0000
+++ lostwages/include/incl.php 21 Nov 2005 17:23:16 -0000
@@ -39,9 +39,6 @@ if (isset($_GET['theme']) and in_array($
$config->theme = $_GET['theme'];
}
-// load a banner ad
-$html->banner_ad = banner_ad();
-
// load the path for the page
if ($_SERVER['PATH_INFO'])
{
Index: lostwages/include/utils.php
diff -u -p lostwages/include/utils.php:1.9 lostwages/include/utils.php:1.10
--- lostwages/include/utils.php:1.9 21 Nov 2005 17:23:16 -0000
+++ lostwages/include/utils.php 21 Nov 2005 17:23:16 -0000
@@ -3,7 +3,7 @@
/*
WineHQ
by Jeremy Newman <jnewman at codeweavers.com>
-*/
+*/
/*
* winehq misc utils
@@ -33,34 +33,6 @@ function get_files ($dir, $filter = null
return $files;
}
-// load and display banner ads
-function banner_ad ()
-{
- global $file_root, $html;
- $bannerads_path = $file_root.'/images/bannerads/';
-
- // read dir and get list of banners
- $ads = array();
- $d = opendir($bannerads_path);
- while($entry = readdir($d))
- {
- if(!ereg("(.+)\\.gif$", $entry, $arr))
- continue;
- array_push($ads, $arr[1]);
- }
- closedir($d);
- sort($ads);
-
- // randomly select a banner and display it
- $img = $ads[(rand(1,count($ads))-1)];
- list($url, $alt) = get_xml_tags($bannerads_path.$img.'.xml', array('url', 'alt'));
-
- // da banner
- $banner = $html->ahref($html->img('bannerads/'.$img.".gif", "", $alt), $url);
-
- return $banner;
-}
-
// open file and display contents of selected tag (very simple)
function get_xml_tags ($file, $tags = null)
{
Index: lostwages/include/themes/winehq/content.template
diff -u -p lostwages/include/themes/winehq/content.template:1.9 lostwages/include/themes/winehq/content.template:1.10
--- lostwages/include/themes/winehq/content.template:1.9 21 Nov 2005 17:23:16 -0000
+++ lostwages/include/themes/winehq/content.template 21 Nov 2005 17:23:16 -0000
@@ -20,13 +20,9 @@
<td>
<img src="{$root}/images/blank.gif" border=0 width=10 height=1 alt="">
</td>
- <td width="100%" align="center" valign="middle">
+ <td width="468" align="center" valign="middle">
<!-- BANNER AD -->
- <table border=0 cellpadding=1 cellspacing=0>
- <tr><td valign="middle" align="center" class="black"
- >{$banner_ad}</td
- ></tr>
- </table>
+ <iframe src="{$root}/bin/ad" scrolling="no" frameBorder="0" height="60" width="468"></iframe>
<!-- END BANNER AD -->
</td>
<td>
More information about the wine-cvs
mailing list