-function admin_images_edit_main() {
- $edit_id = format_int($_REQUEST['admin_images_edit_id']);
- unset($_REQUEST['admin_images_edit_id']);
- if($edit_id) {
- # add hidden field for database id of row we're editing
- tem_set('admin_images_edit_id', $edit_id);
- tem_set('editing', 'show');
- tem_set('edit_msg', 'show');
- }
-
- $delete_id = format_int($_REQUEST['admin_images_delete_id']);
- unset($_REQUEST['admin_images_delete_id']);
- if($delete_id) {
- db_delete('cms_images', 'where id=%i', $delete_id);
+function admin_images_main_delete($id) {
+ $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);