move image deletion function to ImageIO
This commit is contained in:
		
							parent
							
								
									10f6874164
								
							
						
					
					
						commit
						da4431e58d
					
				@ -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