Browse files

update ads package to version 3

removed example ads

added example to the extras folder, for creating ads from a folder of jpegs
  • Loading branch information...
1 parent 2f0628c commit 5f3617845100eb65c76059cb5afaf47fc81e87fc @mflint committed Nov 28, 2011
View
15 .gitignore
@@ -0,0 +1,15 @@
+# Ignore anything in the temporary directory
+pwnazon_tmp/*
+# Except the dummy file, which is needed for git to maintain the temp directory
+!pwnazon_tmp/dummy
+
+# Ignore anything in the images directory
+pwnazon_images/*
+# Except the default stuff
+!pwnazon_images/default
+
+# Ignore everything in the extras directory
+pwnazon_extras/*
+# Except the example template
+!pwnazon_extras/example.php.template
+
View
4 pwnazon.php
@@ -35,7 +35,7 @@
$addir = $tempdir . $adid;
mkdir($addir);
#copy ad + other junk to ad directory
-$files = array('screensvr.gif', 'banner.gif', 'snippet.json', 'thumb.gif', 'details.xml');
+$files = array('screensvr.png', 'banner.gif', 'snippet.json', 'thumb.gif', 'details.html');
foreach($files as $filename) {
if(file_exists($imagepath . $filename)) {
copy($imagepath . $filename, $addir . '/' . $filename);
@@ -45,7 +45,7 @@
}
}
#Create ad manifest
-$admanifest = '{"encoding":"ad-units-package-1.0","ad-units":[{"assets":[{"filename":"screensvr.gif","creative-id":"4990767082435","checksum":"' . md5_file($addir . '/screensvr.gif') . '"},{"filename":"details.xml","creative-id":"7097082962289","checksum":"' . md5_file($addir . '/details.xml') . '"},{"filename":"banner.gif","creative-id":"8908001221594","checksum":"' . md5_file($addir . '/banner.gif') . '"},{"filename":"thumb.gif","creative-id":"3674714958127","checksum":"' . md5_file($addir . '/thumb.gif') . '"},{"filename":"snippet.json","creative-id":"3674714958127","checksum":"' . md5_file($addir . '/snippet.json') . '"}],"ad-type":"AD","start":"' . date('r') . '","priority":100,"remove-after":"' . date('r',strtotime('+1 day')) . '","ad-id":"' . $adid . '","end":"' . date('r',strtotime('+1 day')) . '","version":20111019203526}]}';
+$admanifest = '{"encoding":"ad-units-package-3.0","ad-units":[{"assets":[{"filename":"screensvr.png","creative-id":"4990767082435","checksum":"' . md5_file($addir . '/screensvr.png') . '"},{"filename":"details.html","creative-id":"7097082962289","checksum":"' . md5_file($addir . '/details.html') . '"},{"filename":"banner.gif","creative-id":"8908001221594","checksum":"' . md5_file($addir . '/banner.gif') . '"},{"filename":"thumb.gif","creative-id":"3674714958127","checksum":"' . md5_file($addir . '/thumb.gif') . '"},{"filename":"snippet.json","creative-id":"3674714958127","checksum":"' . md5_file($addir . '/snippet.json') . '"}],"ad-type":"AD","start":"' . date('r') . '","priority":100,"remove-after":"' . date('r',strtotime('+1 day')) . '","ad-id":"' . $adid . '","end":"' . date('r',strtotime('+1 day')) . '","version":20111019203526}]}';
$admanifest = str_replace('-0400','GMT',$admanifest);
$admanifestfile = fopen($tempdir . 'ad-manifest.json', 'w');
fwrite($admanifestfile, $admanifest);
View
181 pwnazon_extras/example.php.template
@@ -0,0 +1,181 @@
+<?php
+/*
+ * This finds all jpegs in a directory (PICTURE_DIRECTORY) and creates
+ * an advert for each one. It will:
+ * - resize
+ * - convert to greyscale
+ * - add a textbox at the bottom with a header and multiple lines of
+ * smaller text (See HEADER and LINES)
+ */
+$sourcedirectory = 'PICTURE_DIRECTORY';
+$advertsdirectory = $argv[1];
+
+$sourcefilepaths = glob($sourcedirectory . '/*.{jpg,JPG}', GLOB_BRACE);
+foreach ($sourcefilepaths as $sourcefilepath) {
+ $sourcefilename = basename($sourcefilepath);
+ $advertdirectory = $advertsdirectory . '/' . $sourcefilename . '_advert';
+ if (!is_dir($advertdirectory)) {
+ create_advert($sourcedirectory . '/' . $sourcefilename, $advertdirectory);
+ }
+}
+
+function create_advert($sourcefilename, $advertdirectory) {
+ $header = 'HEADER';
+ $lines = explode("\n", 'LINES');
+
+ $requiredwidth = 600;
+ $requiredheight = 800;
+
+ // find width and height of source
+ $imagesize = getimagesize($sourcefilename);
+ list($imagewidth, $imageheight) = $imagesize;
+
+ if ($imagesize) {
+ // load the image
+ $image = @imagecreatefromjpeg($sourcefilename);
+
+ // find the rotation exif data, and rotate the image if necessary
+ $exif = exif_read_data($sourcefilename);
+ $ort = $exif['Orientation'];
+
+ // TODO: image flipping... see http://php.net/manual/en/function.imagecopy.php
+ switch($ort)
+ {
+ case 1: // nothing
+ break;
+
+ case 2: // horizontal flip
+ // TODO: $image->flipImage($image,1);
+ break;
+
+ case 3: // 180 rotate left
+ $image = imagerotate($image, 180, 0);
+ break;
+
+ case 4: // vertical flip
+ // TODO: $image->flipImage($image,2);
+ break;
+
+ case 5: // vertical flip + 90 rotate right
+ // TODO: $image->flipImage($image, 2);
+ $image = imagerotate($image, -90, 0);
+
+ $temp = $imagewidth;
+ $imagewidth = $imageheight;
+ $imageheight = $temp;
+ break;
+
+ case 6: // 90 rotate right
+ $image = imagerotate($image, -90, 0);
+
+ $temp = $imagewidth;
+ $imagewidth = $imageheight;
+ $imageheight = $temp;
+ break;
+
+ case 7: // horizontal flip + 90 rotate right
+ // TODO: $image->flipImage($image,1);
+ $image = imagerotate($image, -90, 0);
+
+ $temp = $imagewidth;
+ $imagewidth = $imageheight;
+ $imageheight = $temp;
+ break;
+
+ case 8: // 90 rotate left
+ $image = imagerotate($image, 90, 0);
+
+ $temp = $imagewidth;
+ $imagewidth = $imageheight;
+ $imageheight = $temp;
+ break;
+ }
+
+ // find how much to scale by, preserving aspect ratio
+ $scalewidth = $requiredwidth / $imagewidth;
+ $scaleheight = $requiredheight / $imageheight;
+ $scale = min($scalewidth, $scaleheight);
+ $otherscale = max($scalewidth, $scaleheight);
+
+ // if we need to crop the original first, before scaling, this is required crop size
+ $cropwidth = $requiredwidth / $otherscale;
+ $cropheight = $requiredheight / $otherscale;
+
+ // crop
+ $cropped = imagecreatetruecolor($cropwidth, $cropheight);
+ imagecopy($cropped, $image, 0, 0, ($imagewidth - $cropwidth) / 2, ($imageheight - $cropheight) /2, $cropwidth, $cropheight);
+ imagedestroy($image);
+ $image = $cropped;
+
+ // resize
+ $resized = imagecreatetruecolor($requiredwidth, $requiredheight);
+ imagecopyresized($resized, $image, 0, 0, 0, 0, $requiredwidth, $requiredheight, $cropwidth, $cropheight);
+ imagedestroy($image);
+ $image = $resized;
+
+ // convert to greyscale and brighten a little
+ imagefilter($image, IMG_FILTER_GRAYSCALE);
+ imagefilter($image, IMG_FILTER_BRIGHTNESS, 10);
+
+ // text
+ $font = '/usr/share/fonts/truetype/freefont/FreeSans.ttf';
+ $headerfontsize = 18;
+ $fontsize = 12;
+ $headergap = 8;
+ $linegap = 4;
+
+ $headerdims = imagettfbbox($headerfontsize, 0, $font, $header);
+ $headerheight = $headerdims[1] - $headerdims[7];
+ $headerwidth = $headerdims[2] - $headerdims[0];
+ $maxwidth = $headerwidth;
+ $totalheight = (2 * $linegap) + $headerheight + $headergap;
+ for ($lineindex=0; $lineindex<count($lines); $lineindex++) {
+ $dims = imagettfbbox($fontsize, 0, $font, $lines[$lineindex]);
+ $linewidth = $dims[2] - $dims[0];
+ $maxwidth = max($maxwidth, $linewidth);
+ $totalheight += ($dims[1] - $dims[7]) + $linegap;
+ }
+
+ $bgcolor = imagecolorallocate($image, 31, 31, 31);
+ $fontcolor = imagecolorallocate($image, 255, 255, 255);
+
+ // background first
+ $backgroundx1 = ($requiredwidth - $maxwidth)/2;
+ $backgroundy1 = ($requiredheight - $totalheight);
+ $backgroundx2 = $maxwidth + $backgroundx1;
+ $backgroundy2 = $requiredheight;
+ imagefilledrectangle($image, $backgroundx1 - $linegap, $backgroundy1 - $linegap, $backgroundx2 + $linegap, $backgroundy2 + $linegap, $bgcolor);
+ imagerectangle($image, $backgroundx1 - $linegap, $backgroundy1 - $linegap, $backgroundx2 + $linegap, $backgroundy2 + $linegap, $fontcolor);
+
+ $y = $requiredheight - $linegap;
+ for ($lineindex=count($lines)-1; $lineindex>=0; $lineindex--) {
+ // create a bounding box for the text
+ $dims = imagettfbbox($fontsize, 0, $font, $lines[$lineindex]);
+ $width = $dims[2] - $dims[0];
+ $height = $dims[1] - $dims[7];
+ $x = ($requiredwidth - $width) / 2;
+ $y -= $linegap;
+
+ imagettftext($image, $fontsize, 0, $x, $y, $fontcolor, $font, $lines[$lineindex]);
+
+ $y -= $height;
+ }
+
+ {
+ $dims = imagettfbbox($headerfontsize, 0, $font, $header);
+ $width = $dims[2] - $dims[0];
+ $height = $dims[1] - $dims[7];
+ $x = ($requiredwidth - $width) / 2;
+ $y -= $headergap;
+
+ imagettftext($image, $headerfontsize, 0, $x, $y, $fontcolor, $font, $header);
+ }
+
+ // create directory, write image
+ mkdir($advertdirectory);
+ imagepng($image, $advertdirectory . '/screensvr.png');
+
+ imagedestroy($image);
+ }
+}
+?>
View
BIN pwnazon_images/celestia_obey_advert/banner.gif
Deleted file not rendered
View
BIN pwnazon_images/celestia_obey_advert/screensvr.gif
Deleted file not rendered
View
1 pwnazon_images/default/details.html
@@ -0,0 +1 @@
+
View
46 pwnazon_images/default/details.xml
@@ -1,46 +0,0 @@
-
-
-
-
-<root version="2.0" defaultDiv="id_B003F3FJGY" cacheFile="1469261612993">
-<menu-items>
- <menu-item name="Shop in Kindle Store" link="https://www.amazon.com/gp/g7g/xyml1/storefront.xml" div="storefront_ACEF0UTBJP4OF"/>
-</menu-items>
-<instructions>
-<div name="id_B003F3FJGY">
-
-<image x="15" y="57" width="140" height="110" url="data:image/gif;base64,
-R0lGODlhjABuALMAAAAAABISEiIiIjQ0NERERFZWVmZmZnh4eIeHh5mZmbu7u8vLy93d3f///6mpqe3t7SH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4wLWMwNjEgNjQuMTQwOTQ5LCAyMDEwLzEyLzA3LTEwOjU3OjAxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjdBMzU2ODc5NDQyMDY4MTFBQjA4RjEwQkY5MkZDNjEyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM4MzdDRjRCRjJBRjExRTBBRjE2RTgwOTNCOTdGNDAyIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM4MzdDRjRBRjJBRjExRTBBRjE2RTgwOTNCOTdGNDAyIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUuMSBNYWNpbnRvc2giPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGQzdGMTE3NDA3MjA2ODExQjMyRUNDODM5MTBENTVDOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3QTM1Njg3OTQ0MjA2ODExQUIwOEYxMEJGOTJGQzYxMiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1w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
-" />
-
-<text x="170" y="75" width="415" height="75">
- <span size="+2"><b>Save an extra 10% on Halloween video games at Amazon.com</b></span>
-</text>
-
-<text x="170" y="135" width="415" height="25">
- <span><b></b></span>
-</text>
-
-<text x="15" y="200" width="570" height="500" lineMargin="24">
- <span size="-2">Keep the lights on when shopping through these ghoulishly great deals on video games. With prices already marked down 25-85%, these haunting Halloween games will get you in the spirit on All Hallows' Eve to dress up as your favorite in-game zombie, alien or monster and spend the night scared with friends on your couch.
-<br/><br/>
-Click "Email Me This Offer" below before 11:59 p.m. (Pacific Time), Thursday, October 27, 2011, to receive an email with your promotion code and details on how to redeem this offer.
-<br/><br/>
-Limit one per customer and per device.</span>
-</text>
-
-
-
-
-
-<text x="360" y="730" width="225" height="25">
- <span size="-2"><i><a href='https://www.amazon.com/gp/g7g/xyml1/io.xml?promId=A209KWTL3TMPNM&amp;cfid=1469261612993&amp;emtmpl=http%3A%2F%2Fksoemail.s3.amazonaws.com%2F838_HalloweenGames.html' divId='io_A209KWTL3TMPNM'>Email Me This Offer</a></i></span>
-</text>
-
-
-</div>
-</instructions>
-</root>
-
-
-
View
BIN pwnazon_images/default/screensvr.gif
Deleted file not rendered
View
0 pwnazon_images/default/screensvr.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
2 pwnazon_images/default/snippet.json
@@ -1 +1 @@
-{"creative":{"headline":"Save an extra 10% on Halloween video games at Amazon.com","image":"thumb.gif","subheadline":"Claim this offer by October 27, 2011"}}
+{"creative":{"headline":"","image":"thumb.gif","subheadline":""}}
View
BIN pwnazon_images/twilightsparkle_read_advert/banner.gif
Deleted file not rendered
View
BIN pwnazon_images/twilightsparkle_read_advert/screensvr.gif
Deleted file not rendered

0 comments on commit 5f36178

Please sign in to comment.