X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;ds=sidebyside;f=admin_images.php;h=7e64aaeec5c036e2c591626954e428c5594737a6;hb=3f7ed94cc5debb10c263d25a7a2a8eb575e4676f;hp=d43255b187d92848571d70eecea18d2ac9e4ff83;hpb=2fa5c8c3885a0bcdd69fc91365a0b3d6cbb5d1cf;p=wfpl-cms.git diff --git a/admin_images.php b/admin_images.php index d43255b..7e64aae 100644 --- a/admin_images.php +++ b/admin_images.php @@ -23,8 +23,8 @@ define('ADMIN_IMAGES_DB_FIELDS', 'image,name,caption,sizes'); # location of this script. IT MUST END WITH A SLASH $GLOBALS['upload_directory'] = 'cms_images/'; -$GLOBALS['image_max_width'] = '596'; -$GLOBALS['image_max_height'] = '1600'; +$GLOBALS['image_max_width'] = '704'; +$GLOBALS['image_max_height'] = '1900'; $GLOBALS['image_thumb_max_width'] = '70'; $GLOBALS['image_thumb_max_height'] = '70'; $GLOBALS['image_file_name'] = uniqid() . getmypid() . '.jpg'; # comment this out to use uploader's filename @@ -135,7 +135,7 @@ function admin_images_main_display($id) { continue; } list($max_width, $max_height) = explode('x', $max_hw); - $src = str_replace('.', "-$max_hw.", $big_src); + $src = str_replace('.', "-$max_width-$max_height.", $big_src); $dimensions = image_dimensions($src); if($dimensions) { list($width, $height) = explode('x', $dimensions); @@ -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'; } @@ -193,7 +222,7 @@ function admin_images_main_form($id = false) { continue; } list($max_width, $max_height) = explode('x', $max_hw); - $src = str_replace('.', "-$max_hw.", $big_src); + $src = str_replace('.', "-$max_width-$max_height.", $big_src); if(($_FILES['image'] && $_FILES['image']['error'] == 0) || !file_exists($src)) { imagemagick_convert($big_src, $src, "-geometry $max_hw", 'Resizing image'); } @@ -207,12 +236,12 @@ function admin_images_main_form($id = false) { $saved_id = $id; } else { db_insert_assoc('cms_images', $data); - message('Image saved.'); + message('Image saved. Next time you open a page editor, this image will be availble in the "Insert Image" dialog.'); $saved_id = db_auto_id(); } # return user to display page where they can see instructions, etc - return "./admin_images?id=$saved_id"; + return "./admin_images"; } elseif($id) { # we've recieved an edit id, but no data. So we grab the values to be edited from the database