From 8251133270bef6faaf26ece3ce1d0a5cdb5381d8 Mon Sep 17 00:00:00 2001 From: DrudexSoftware Date: Sun, 10 Mar 2013 07:35:35 +0100 Subject: [PATCH] Amount of randoms displayed = images per page / 2 --- ext/random_list/main.php | 71 +++++++++++++--------------------------- 1 file changed, 23 insertions(+), 48 deletions(-) diff --git a/ext/random_list/main.php b/ext/random_list/main.php index 7f710356..7abdac11 100644 --- a/ext/random_list/main.php +++ b/ext/random_list/main.php @@ -10,66 +10,41 @@ class RandomList extends Extension { public function onPageRequest(PageRequestEvent $event) { - global $page; + global $config, $page; + + if($event->page_matches("random")) { + // set vars + $images_per_page = $config->get_int("index_images") / 2; + $random_images = array(); + $random_html = "Refresh the page to view more images +
"; - if($event->page_matches("random")) { - $html = "Refresh the page to view more images -
"; + // generate random images + for ($i = 0; $i < $images_per_page; $i++) + array_push($random_images, Image::by_random()); - // create html to display images - $html .= $this->build_random_html(); - - // display it - $html .= "
"; - $page->add_block(new Block("Random Images", $html)); - } + // create html to display images + foreach ($random_images as $image) + $random_html .= $this->build_random_html($image); + + // display it + $random_html .= "
"; + $page->add_block(new Block("Random Images", $random_html)); + } } - private function build_random_html() { - global $config; - - $random_html = ""; - $images_per_page = $config->get_int("index_images"); - $random_images = $this->by_random(array(), $images_per_page); - - var_dump($images_per_page); - var_dump($random_images); - - foreach ($random_images as $image) { + private function build_random_html(Image $image, $query=null) { $i_id = int_escape($image->id); - $h_view_link = make_link("post/view/$i_id"); + $h_view_link = make_link("post/view/$i_id", $query); $h_thumb_link = $image->get_thumb_link(); $h_tip = html_escape($image->get_tooltip()); $tsize = get_thumbnail_size($image->width, $image->height); - - $random_html .= " + + return " "; - } - - return $random_html; - } - - /** - * Pick certain amount of random images random image out of a set - * - * @retval Image - */ - private function by_random($tags=array(), $amount=1) { - assert(is_array($tags)); - $max = Image::count_images($tags); - if ($max < 1) return null; // From Issue #22 - opened by HungryFeline on May 30, 2011. - $rand = mt_rand(0, $max-1); - $set = Image::find_images($rand, $amount, $tags); - if(count($set) > 0) - { - if ($amount == 1) return $set[0]; // return as single image - else if ($amount > 1) return $set; // return as array - else return null; - } - else return null; } } ?>