From 1f9f306cb23ba81c0e1e44b3322405c20ce16a46 Mon Sep 17 00:00:00 2001
From: shish <shish@7f39781d-f577-437e-ae19-be835c7a54ca>
Date: Mon, 19 May 2008 03:30:56 +0000
Subject: [PATCH] random image download extension

git-svn-id: file:///home/shish/svn/shimmie2/trunk@864 7f39781d-f577-437e-ae19-be835c7a54ca
---
 contrib/random_image/main.php | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
 create mode 100644 contrib/random_image/main.php

diff --git a/contrib/random_image/main.php b/contrib/random_image/main.php
new file mode 100644
index 00000000..2895c300
--- /dev/null
+++ b/contrib/random_image/main.php
@@ -0,0 +1,35 @@
+<?php
+/**
+ * Name: Random Image
+ * Author: Shish <webmaster@shishnet.org>
+ * License: GPLv2
+ * Description: Do things with a random image
+ */
+
+class RandomImage extends Extension {
+	public function receive_event($event) {
+		if(is_a($event, 'PageRequestEvent') && ($event->page_name == "random_image")) {
+			global $database;
+			
+			if($event->count_args() == 1) {
+				$action = $event->get_arg(0);
+				$search_terms = array();
+			}
+			else if($event->count_args() == 2) {
+				$action = $event->get_arg(0);
+				$search_terms = explode(' ', $event->get_arg(1));
+			}
+			$image = $database->get_random_image($search_terms);
+
+			if($event->get_arg(0) == "download") {
+				if(!is_null($image)) {
+					$event->page->set_mode("data");
+					$event->page->set_type("image/jpeg");
+					$event->page->set_data(file_get_contents($image->get_image_filename()));
+				}
+			}
+		}
+	}
+}
+add_event_listener(new RandomImage());
+?>