94 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			94 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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></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;
 | |
| 	}
 | |
| }
 | |
| ?>
 |