<?php /** * Name: Image Hash Ban * Author: ATravelingGeek <atg@atravelinggeek.com> * Link: http://atravelinggeek.com/ * License: GPLv2 * Description: Ban images based on their hash * Based on the ResolutionLimit and IPban extensions by Shish * Version 0.1 * October 21, 2007 */ class ImageBanTheme extends Themelet { /* * Show all the bans * * $bans = an array of ( * 'hash' => the banned hash * 'reason' => why the hash was banned * 'date' => when the ban started * ) */ public function display_image_hash_bans(Page $page, $page_number, $page_count, $bans) { $h_bans = ""; $n = 0; foreach($bans as $ban) { $oe = ($n++ % 2 == 0) ? "even" : "odd"; $h_bans .= " <tr class='$oe'> <td width='30%'>{$ban['hash']}</td> <td>{$ban['reason']}</td> <td width='10%'> ".make_form(make_link("image_hash_ban/remove"))." <input type='hidden' name='hash' value='{$ban['hash']}'> <input type='submit' value='Remove'> </form> </td> </tr> "; } $html = " <script type='text/javascript'> $(document).ready(function() { $(\"#image_bans\").tablesorter(); }); </script> <table id='image_bans' class='zebra'> <thead> <th>Hash</th><th>Reason</th><th>Action</th> <tr> <form action='".make_link("image_hash_ban/list/1")."' method='GET'> <td><input type='text' name='hash'></td> <td><input type='text' name='reason'></td> <td><input type='submit' value='Search'></td> </form> </tr> </thead> $h_bans <tfoot><tr> ".make_form(make_link("image_hash_ban/add"))." <td><input type='text' name='hash'></td> <td><input type='text' name='reason'></td> <td><input type='submit' value='Ban'></td> </form> </tr></tfoot> </table> "; $prev = $page_number - 1; $next = $page_number + 1; $h_prev = ($page_number <= 1) ? "Prev" : "<a href='".make_link("image_hash_ban/list/$prev")."'>Prev</a>"; $h_index = "<a href='".make_link()."'>Index</a>"; $h_next = ($page_number >= $page_count) ? "Next" : "<a href='".make_link("image_hash_ban/list/$next")."'>Next</a>"; $nav = "$h_prev | $h_index | $h_next"; $page->set_title("Image Bans"); $page->set_heading("Image Bans"); $page->add_block(new Block("Edit Image Bans", $html)); $page->add_block(new Block("Navigation", $nav, "left", 0)); $this->display_paginator($page, "image_hash_ban/list", null, $page_number, $page_count); } /* * Display a link to delete an image * * $image_id = the image to delete */ public function get_buttons_html(Image $image) { $html = " ".make_form(make_link("image_hash_ban/add"))." <input type='hidden' name='hash' value='{$image->hash}'> <input type='hidden' name='image_id' value='{$image->id}'> <input type='text' name='reason'> <input type='submit' value='Ban and Delete'> </form> "; return $html; } } ?>