53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
declare(strict_types=1);
 | 
						|
 | 
						|
class BulkAddTheme extends Themelet
 | 
						|
{
 | 
						|
    private array $messages = [];
 | 
						|
 | 
						|
    /*
 | 
						|
     * Show a standard page for results to be put into
 | 
						|
     */
 | 
						|
    public function display_upload_results(Page $page)
 | 
						|
    {
 | 
						|
        $page->set_title("Adding folder");
 | 
						|
        $page->set_heading("Adding folder");
 | 
						|
        $page->add_block(new NavBlock());
 | 
						|
        $html = "";
 | 
						|
        foreach ($this->messages as $block) {
 | 
						|
            $html .= "<br/>" . $block->body;
 | 
						|
        }
 | 
						|
        $page->add_block(new Block("Results", $html));
 | 
						|
    }
 | 
						|
 | 
						|
    /*
 | 
						|
     * Add a section to the admin page. This should contain a form which
 | 
						|
     * links to bulk_add with POST[dir] set to the name of a server-side
 | 
						|
     * directory full of images
 | 
						|
     */
 | 
						|
    public function display_admin_block()
 | 
						|
    {
 | 
						|
        global $page;
 | 
						|
        $html = "
 | 
						|
			Add a folder full of images; any subfolders will have their names
 | 
						|
			used as tags for the images within.
 | 
						|
			<br>Note: this is the folder as seen by the server -- you need to
 | 
						|
			upload via FTP or something first.
 | 
						|
 | 
						|
			<p>".make_form(make_link("bulk_add"))."
 | 
						|
				<table class='form'>
 | 
						|
					<tr><th>Folder</th><td><input type='text' name='dir' size='40'></td></tr>
 | 
						|
					<tr><td colspan='2'><input type='submit' value='Add'></td></tr>
 | 
						|
				</table>
 | 
						|
			</form>
 | 
						|
		";
 | 
						|
        $page->add_block(new Block("Bulk Add", $html));
 | 
						|
    }
 | 
						|
 | 
						|
    public function add_status($title, $body)
 | 
						|
    {
 | 
						|
        $this->messages[] = new Block($title, $body);
 | 
						|
    }
 | 
						|
}
 |