X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=admin_images.php;h=917526cd4f496736aa41c4b4122cd111b49cf83d;hb=00f6a232f1a6022f53f4e3c9d0236d81db966b62;hp=d43255b187d92848571d70eecea18d2ac9e4ff83;hpb=2fa5c8c3885a0bcdd69fc91365a0b3d6cbb5d1cf;p=wfpl-cms.git diff --git a/admin_images.php b/admin_images.php index d43255b..917526c 100644 --- a/admin_images.php +++ b/admin_images.php @@ -23,15 +23,14 @@ 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 require_once('code/wfpl/format.php'); -require_once('code/wfpl/email.php'); require_once('code/wfpl/upload.php'); # example: 200x300 @@ -135,7 +134,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 +161,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 +221,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 +235,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