This repository has been archived on 2024-09-05. You can view files and clone it, but cannot push or open issues or pull requests.
shimmie2/ext/regen_thumb/theme.php

85 lines
3.5 KiB
PHP
Raw Normal View History

<?php
class RegenThumbTheme extends Themelet
{
/**
* Show a form which offers to regenerate the thumb of an image with ID #$image_id
*/
public function get_buttons_html(int $image_id): string
{
return "
2017-06-01 19:44:17 +00:00
".make_form(make_link("regen_thumb/one"))."
<input type='hidden' name='image_id' value='$image_id'>
<input type='submit' value='Regenerate Thumbnail'>
</form>
";
}
/**
* Show a link to the new thumbnail.
*/
public function display_results(Page $page, Image $image)
{
$page->set_title("Thumbnail Regenerated");
$page->set_heading("Thumbnail Regenerated");
$page->add_html_header("<meta http-equiv=\"cache-control\" content=\"no-cache\">");
$page->add_block(new NavBlock());
$page->add_block(new Block("Thumbnail", $this->build_thumb_html($image)));
}
2017-06-01 19:44:17 +00:00
public function mtr_html(string $terms)
{
$h_terms = html_escape($terms);
$html = make_form(make_link("regen_thumb/mass"), "POST") . "
2017-06-01 19:44:17 +00:00
<input type='hidden' name='tags' value='$h_terms'>
<input type='submit' value='Regen all thumbs' onclick='return confirm(\"This can use a lot of CPU time.\\nAre you sure you want to do this?\")'>
</form>
";
return $html;
}
public function bulk_html() {
return "<label><input type='checkbox' name='bulk_regen_thumb_missing_only' id='bulk_regen_thumb_missing_only' style='width:13px' value='true' />Only missing thumbs</label>";
}
public function display_admin_block()
{
global $page, $database;
$types = [];
$results = $database->get_all("SELECT ext, count(*) count FROM images group by ext");
foreach ($results as $result) {
array_push($types,"<option value='".$result["ext"]."'>".$result["ext"]." (".$result["count"].")</option>");
}
$html = "
Will only regenerate missing thumbnails, unless force is selected. Force will override the limit and will likely take a very long time to process.
<p>".make_form(make_link("admin/regen_thumbs"))."
<table class='form'>
<tr><th><label for='regen_thumb_force'>Force</label></th><td><input type='checkbox' name='regen_thumb_force' id='regen_thumb_force' value='true' /></td></tr>
<tr><th><label for='regen_thumb_limit'>Limit</label></th><td><input type='number' name='regen_thumb_limit' id='regen_thumb_limit' value='1000' /></td></tr>
<tr><th><label for='regen_thumb_type'>Type</label></th><td>
<select name='regen_thumb_type' id='regen_thumb_type' value='1000'>
<option value=''>All</option>
".implode($types)."
</select>
</td></tr>
<tr><td colspan='2'><input type='submit' value='Regenerate Thumbnails'></td></tr>
</table>
</form></p>
<p>".make_form(make_link("admin/delete_thumbs"),"POST",False, "","return confirm('Are you sure you want to delete all thumbnails?')")."
<table class='form'>
<tr><th><label for='delete_thumb_type'>Type</label></th><td>
<select name='delete_thumb_type' id='delete_thumb_type' value='1000'>
<option value=''>All</option>
".implode($types)."
</select>
</td></tr>
<tr><td colspan='2'><input type='submit' value='Delete Thumbnails'></td></tr>
</table>
</form></p>
";
$page->add_block(new Block("Regen Thumbnails", $html));
}
}