58 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php declare(strict_types=1);
 | |
| use function MicroHTML\INPUT;
 | |
| use function MicroHTML\TABLE;
 | |
| use function MicroHTML\TR;
 | |
| use function MicroHTML\TH;
 | |
| use function MicroHTML\TD;
 | |
| use function MicroHTML\SELECT;
 | |
| use function MicroHTML\OPTION;
 | |
| 
 | |
| class MediaTheme extends Themelet
 | |
| {
 | |
|     public function display_form(array $types)
 | |
|     {
 | |
|         global $page;
 | |
| 
 | |
|         $select = SELECT(["name"=>"media_rescan_type"]);
 | |
|         $select->appendChild(OPTION(["value"=>""], "All"));
 | |
|         foreach ($types as $type) {
 | |
|             $select->appendChild(OPTION(["value"=>$type["ext"]], "{$type["ext"]} ({$type["count"]})"));
 | |
|         }
 | |
| 
 | |
|         $html = (string)SHM_SIMPLE_FORM(
 | |
|             "admin/media_rescan",
 | |
|             "Use this to force scanning for media properties.",
 | |
|             TABLE(
 | |
|                 ["class"=>"form"],
 | |
|                 TR(TH("Image Type"), TD($select)),
 | |
|                 TR(TD(["colspan"=>"2"], SHM_SUBMIT('Scan Media Information')))
 | |
|             )
 | |
|         );
 | |
|         $page->add_block(new Block("Media Tools", $html));
 | |
|     }
 | |
| 
 | |
|     public function get_buttons_html(int $image_id): string
 | |
|     {
 | |
|         return (string)SHM_SIMPLE_FORM(
 | |
|             "media_rescan/",
 | |
|             INPUT(["type"=>'hidden', "name"=>'image_id', "value"=>$image_id]),
 | |
|             SHM_SUBMIT('Scan Media Properties'),
 | |
|         );
 | |
|     }
 | |
| 
 | |
|     public function get_help_html()
 | |
|     {
 | |
|         return '<p>Search for items based on the type of media.</p>
 | |
|         <div class="command_example">
 | |
|         <pre>content:audio</pre>
 | |
|         <p>Returns items that contain audio, including videos and audio files.</p>
 | |
|         </div>
 | |
|         <div class="command_example">
 | |
|         <pre>content:video</pre>
 | |
|         <p>Returns items that contain video, including animated GIFs.</p>
 | |
|         </div>
 | |
|         <p>These search terms depend on the items being scanned for media content. Automatic scanning was implemented in mid-2019, so items uploaded before, or items uploaded on a system without ffmpeg, will require additional scanning before this will work.</p>
 | |
|         ';
 | |
|     }
 | |
| }
 |