From: Jason Woofenden Date: Wed, 4 Sep 2013 20:18:03 +0000 (-0400) Subject: delete image files X-Git-Url: https://jasonwoof.com/gitweb/?p=wfpl-cms.git;a=commitdiff_plain;h=5973e59831d9ec141ece84eaa3b3ad35da385c69 delete image files --- diff --git a/admin_images.php b/admin_images.php index 90a99c0..eebe9ba 100644 --- a/admin_images.php +++ b/admin_images.php @@ -162,8 +162,37 @@ function admin_images_main_display($id) { } function admin_images_main_delete($id) { - db_delete('cms_images', 'where id=%i', $id); - message('Image deleted.'); + $data = db_get_assoc('cms_images', 'image,sizes', 'where id=%i', $id); + if ($data) { + $filenames = array(); + $space = strpos($data['image'], ' '); + $dot = strpos($data['image'], '.'); + if ($space !== false && $dot !== false && $dot < $space) { + $base = substr($data['image'], 0, $dot); + $ext = substr($data['image'], $dot, $space - $dot); + $filenames[] = "$base$ext"; + $filenames[] = "{$base}_thumb$ext"; + $sizes = explode("\n", $data['sizes']); + foreach ($sizes as $max_hw) { + $max_hw = format_width_height($max_hw); + if($max_hw == '') { + continue; + } + list($max_width, $max_height) = explode('x', $max_hw); + $filenames[] = "$base-{$max_width}x$max_height$ext"; # old naming scheme + $filenames[] = "$base-{$max_width}-$max_height$ext"; # new namich scheme + } + } + foreach ($filenames as $filename) { + if (file_exists($filename)) { + unlink($filename); + } + } + db_delete('cms_images', 'where id=%i', $id); + message('Image deleted.'); + } else { + message("Couldn't find image to delete. Maybe it's already been deleted?"); + } return './admin_images'; }