move image deletion function to ImageIO
This commit is contained in:
parent
f4a74c4d4c
commit
f5122af7bd
@ -47,20 +47,7 @@ class AdminPage implements Extension {
|
|||||||
$this->theme->display_permission_denied($page);
|
$this->theme->display_permission_denied($page);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if($event->get_arg(0) == "delete_image") {
|
send_event(new AdminBuildingEvent($page));
|
||||||
// FIXME: missing lots of else {complain}
|
|
||||||
if(isset($_POST['image_id'])) {
|
|
||||||
$image = Image::by_id($_POST['image_id']);
|
|
||||||
if($image) {
|
|
||||||
send_event(new ImageDeletionEvent($image));
|
|
||||||
$page->set_mode("redirect");
|
|
||||||
$page->set_redirect(make_link("post/list"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
send_event(new AdminBuildingEvent($page));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -99,12 +86,6 @@ class AdminPage implements Extension {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($event instanceof ImageAdminBlockBuildingEvent) {
|
|
||||||
if($user->is_admin()) {
|
|
||||||
$event->add_part($this->theme->get_deleter_html($event->image->id));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if($event instanceof AdminBuildingEvent) {
|
if($event instanceof AdminBuildingEvent) {
|
||||||
$this->theme->display_page($page);
|
$this->theme->display_page($page);
|
||||||
$this->theme->display_form($page);
|
$this->theme->display_form($page);
|
||||||
|
@ -10,22 +10,6 @@ class AdminPageTheme extends Themelet {
|
|||||||
$page->add_block(new NavBlock());
|
$page->add_block(new NavBlock());
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Display a link to delete an image
|
|
||||||
*
|
|
||||||
* $image_id = the image to delete
|
|
||||||
*/
|
|
||||||
public function get_deleter_html($image_id) {
|
|
||||||
$i_image_id = int_escape($image_id);
|
|
||||||
$html = "
|
|
||||||
<form action='".make_link("admin/delete_image")."' method='POST'>
|
|
||||||
<input type='hidden' name='image_id' value='$i_image_id'>
|
|
||||||
<input type='submit' value='Delete'>
|
|
||||||
</form>
|
|
||||||
";
|
|
||||||
return $html;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Show a form which links to admin_utils with POST[action] set to one of:
|
* Show a form which links to admin_utils with POST[action] set to one of:
|
||||||
* 'lowercase all tags'
|
* 'lowercase all tags'
|
||||||
|
@ -115,6 +115,24 @@ class ImageIO extends SimpleExtension {
|
|||||||
$this->send_file($num, "thumb");
|
$this->send_file($num, "thumb");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if($event->page_matches("image_admin/delete")) {
|
||||||
|
global $page, $user;
|
||||||
|
if($user->is_admin() && isset($_POST['image_id'])) {
|
||||||
|
$image = Image::by_id($_POST['image_id']);
|
||||||
|
if($image) {
|
||||||
|
send_event(new ImageDeletionEvent($image));
|
||||||
|
$page->set_mode("redirect");
|
||||||
|
$page->set_redirect(make_link("post/list"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onImageAdminBlockBuilding($event) {
|
||||||
|
global $user;
|
||||||
|
if($user->is_admin()) {
|
||||||
|
$event->add_part($this->theme->get_deleter_html($event->image->id));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function onImageAddition($event) {
|
public function onImageAddition($event) {
|
||||||
|
19
ext/image/theme.php
Normal file
19
ext/image/theme.php
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
<?php
|
||||||
|
class ImageIOTheme {
|
||||||
|
/*
|
||||||
|
* Display a link to delete an image
|
||||||
|
*
|
||||||
|
* $image_id = the image to delete
|
||||||
|
*/
|
||||||
|
public function get_deleter_html($image_id) {
|
||||||
|
$i_image_id = int_escape($image_id);
|
||||||
|
$html = "
|
||||||
|
<form action='".make_link("image_admin/delete")."' method='POST'>
|
||||||
|
<input type='hidden' name='image_id' value='$i_image_id'>
|
||||||
|
<input type='submit' value='Delete'>
|
||||||
|
</form>
|
||||||
|
";
|
||||||
|
return $html;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
Loading…
x
Reference in New Issue
Block a user