+ $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?");
+ }