pierre@0
|
1 <?php |
piotre@7
|
2 // $Id: imageserve.inc,v 1.1.2.8.2.2.2.2 2009/07/09 21:21:38 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 |
sly@2
|
20 if (adserve_variable('aid')) { |
piotre@7
|
21 $aid = adserve_variable('aid'); |
sly@2
|
22 } |
piotre@7
|
23 if (isset($aid) && $aid) { |
piotre@7
|
24 _debug_echo("adserve_counter_image: increment 'view' counter for aid: $aid"); |
piotre@7
|
25 adserve_cache('increment', 'view', $aid); |
pierre@0
|
26 } |
pierre@0
|
27 else { |
sly@2
|
28 _debug_echo("adserve_counter_image: increment 'count' counter for no aid"); |
sly@2
|
29 adserve_cache('increment', 'count', NULL); |
pierre@0
|
30 } |
pierre@0
|
31 |
pierre@0
|
32 if (function_exists('imagecreate')) { |
pierre@0
|
33 $image = imagecreate(1, 1); |
pierre@0
|
34 // Tell the web browser not to cache this image so we register a count each |
pierre@0
|
35 // time the page is viewed. |
pierre@0
|
36 // Expires in the past: |
pierre@0
|
37 header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); |
pierre@0
|
38 // Last loud: |
pierre@0
|
39 header('Last-Modified: '. gmdate('D, d M Y H:i:s') .' GMT'); |
pierre@0
|
40 // HTTP 1.1: |
pierre@0
|
41 header('Cache-Control: no-store, no-cache, must-revalidate'); |
pierre@0
|
42 header('Cache-Control: post-check=0, pre-check=0', FALSE); |
pierre@0
|
43 // HTTP 1.0: |
pierre@0
|
44 header('Pragma: no-cache'); |
pierre@0
|
45 } |
pierre@0
|
46 else { |
pierre@0
|
47 // GD not installed, report error and exit. |
pierre@0
|
48 exit(); |
pierre@0
|
49 } |
pierre@0
|
50 |
pierre@0
|
51 if (function_exists('imagejpeg')) { |
pierre@0
|
52 header("Content-type: image/jpeg"); |
pierre@0
|
53 imagejpeg($image); |
pierre@0
|
54 } |
pierre@0
|
55 else if (function_exists('imagepng')) { |
pierre@0
|
56 header("Content-type: image/png"); |
pierre@0
|
57 imagepng($image); |
pierre@0
|
58 } |
pierre@0
|
59 else if (function_exists('imagegif')) { |
pierre@0
|
60 header("Content-type: image/gif"); |
pierre@0
|
61 imagegif($image); |
pierre@0
|
62 } |
pierre@0
|
63 imagedestroy($image); |
pierre@0
|
64 exit(0); |
pierre@0
|
65 } |