pierre@0
|
1 <?php |
pierre@0
|
2 // $Id: imageserve.inc,v 1.1.2.8.2.2 2009/02/16 17:06:47 jeremy Exp $ |
pierre@0
|
3 |
pierre@0
|
4 /** |
pierre@0
|
5 * @file |
pierre@0
|
6 * Image serving lib. |
pierre@0
|
7 * |
pierre@0
|
8 * Copyright (c) 2008-2009. |
pierre@0
|
9 * Jeremy Andrews <jeremy@tag1consulting.com>. |
pierre@0
|
10 */ |
pierre@0
|
11 |
pierre@0
|
12 /** |
pierre@0
|
13 * Generate a tiny image with GD, used to count when an ad has been displayed |
pierre@0
|
14 * on a cached page. |
pierre@0
|
15 */ |
pierre@0
|
16 function adserve_counter_image() { |
pierre@0
|
17 adserve_variable('variable_load'); |
pierre@0
|
18 adserve_bootstrap(0); |
pierre@0
|
19 |
pierre@0
|
20 $ad->aid = adserve_variable('aid'); |
pierre@0
|
21 if ($ad->aid) { |
pierre@0
|
22 adserve_increment($ad); |
pierre@0
|
23 } |
pierre@0
|
24 else { |
pierre@0
|
25 adserve_increment($ad, 'count'); |
pierre@0
|
26 } |
pierre@0
|
27 |
pierre@0
|
28 if (function_exists('imagecreate')) { |
pierre@0
|
29 $image = imagecreate(1, 1); |
pierre@0
|
30 // Tell the web browser not to cache this image so we register a count each |
pierre@0
|
31 // time the page is viewed. |
pierre@0
|
32 // Expires in the past: |
pierre@0
|
33 header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); |
pierre@0
|
34 // Last loud: |
pierre@0
|
35 header('Last-Modified: '. gmdate('D, d M Y H:i:s') .' GMT'); |
pierre@0
|
36 // HTTP 1.1: |
pierre@0
|
37 header('Cache-Control: no-store, no-cache, must-revalidate'); |
pierre@0
|
38 header('Cache-Control: post-check=0, pre-check=0', FALSE); |
pierre@0
|
39 // HTTP 1.0: |
pierre@0
|
40 header('Pragma: no-cache'); |
pierre@0
|
41 } |
pierre@0
|
42 else { |
pierre@0
|
43 // GD not installed, report error and exit. |
pierre@0
|
44 exit(); |
pierre@0
|
45 } |
pierre@0
|
46 |
pierre@0
|
47 if (function_exists('imagejpeg')) { |
pierre@0
|
48 header("Content-type: image/jpeg"); |
pierre@0
|
49 imagejpeg($image); |
pierre@0
|
50 } |
pierre@0
|
51 else if (function_exists('imagepng')) { |
pierre@0
|
52 header("Content-type: image/png"); |
pierre@0
|
53 imagepng($image); |
pierre@0
|
54 } |
pierre@0
|
55 else if (function_exists('imagegif')) { |
pierre@0
|
56 header("Content-type: image/gif"); |
pierre@0
|
57 imagegif($image); |
pierre@0
|
58 } |
pierre@0
|
59 imagedestroy($image); |
pierre@0
|
60 exit(0); |
pierre@0
|
61 } |