98 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			2.9 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 = "";
 | 
						|
        foreach ($bans as $ban) {
 | 
						|
            $h_bans .= "
 | 
						|
				<tr>
 | 
						|
					".make_form(make_link("image_hash_ban/remove"))."
 | 
						|
						<td width='30%'>{$ban['hash']}</td>
 | 
						|
						<td>{$ban['reason']}</td>
 | 
						|
						<td width='10%'>
 | 
						|
							<input type='hidden' name='hash' value='{$ban['hash']}'>
 | 
						|
							<input type='submit' value='Remove'>
 | 
						|
						</td>
 | 
						|
					</form>
 | 
						|
				</tr>
 | 
						|
			";
 | 
						|
        }
 | 
						|
        $html = "
 | 
						|
			<table id='image_bans' class='zebra sortable'>
 | 
						|
				<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 Hash and Delete Image'>
 | 
						|
			</form>
 | 
						|
		";
 | 
						|
        return $html;
 | 
						|
    }
 | 
						|
}
 |