From: Jason Woofenden Date: Fri, 6 Nov 2015 22:32:57 +0000 (-0500) Subject: fix admin_images (crash), improve it X-Git-Url: https://jasonwoof.com/gitweb/?p=wfpl-cms.git;a=commitdiff_plain;h=a9aec78c7f768375d70fd5f1b173e7e08527fc49 fix admin_images (crash), improve it --- diff --git a/admin_images.html b/admin_images.html index d36df35..2294f29 100644 --- a/admin_images.html +++ b/admin_images.html @@ -7,35 +7,6 @@ - -

~$host~ Admin Control Panel

- -

Details for Image ~caption empty {~~name nonempty {~"~name html~"~}~~}~~caption nonempty {~"~caption html~"~}~

- -

← Back to images

- -

Edit this image

- -

Uses of this image

- -

This image does not appear on any pages.

- -

This image appears on the following page~count s~: ~title html~,

- -

Instructions

- -

Now that you've uploaded this image, you can insert it into a page with the page editor. You can get to the page editor from the control panel or by going to a page you'd like to edit, then clicking "Edit this page" at the top.

- -
Full Size (centered):
-
~caption nonempty {~~caption html~~}~
- - - -

Back to images

- -

Edit

- -

~$host~ Admin Control Panel

@@ -43,18 +14,23 @@
+ +
~caption html~
+ +
Image
-
+
+ -
Name (optional)
-
This name is only displayed on administration pages.
+
Name (used for sorting, optional)
+
This value is never displayed to site visitors. Your collection of images are sorted by name, so you can use this field to keep your images organized.
Caption (optional)
Here's some symbols you might want to paste in: ©   —   –
-
+
@@ -78,7 +54,7 @@ Name: ~name html~
Caption: ~caption html~ - [edit] + [edit] [delete] diff --git a/admin_images.php b/admin_images.php index 2a5ae51..e9d3169 100644 --- a/admin_images.php +++ b/admin_images.php @@ -2,7 +2,7 @@ # This form requires wfpl. See: http://sametwice.com/wfpl -define('ADMIN_IMAGES_DB_FIELDS', 'image,name,caption,sizes'); +define('ADMIN_IMAGES_DB_FIELDS', 'image,name,caption'); require_once(DOCROOT . 'inc/wfpl/format.php'); require_once(DOCROOT . 'inc/wfpl/upload.php'); @@ -70,11 +70,6 @@ function admin_images_main() { return admin_images_main_listing(); } - $id = _REQUEST_cut('id'); - if($id) { - return admin_images_main_display($id); - } - if(isset($_POST['name'])) { return admin_images_main_form(); } @@ -83,28 +78,8 @@ function admin_images_main() { return admin_images_main_listing(); } -function admin_images_main_display($id) { - $data = db_get_assoc('cms_images', 'id,'.ADMIN_IMAGES_DB_FIELDS, 'where id=%i', $id); - if(!$data) { - message("Error: Broken Link (Image #$id not found)"); - return './admin_images'; - } - - # Find pages that have this image on it - if($data['image']) { - $references = db_get_assocs('cms_pages', 'title,filename', 'where content like "%%%s%%" order by concat(nav_title,title)', substr(enc_image_src($data['image']), 0, -4)); - if($references) { - $data['references'] = array( - 'data' => $references, - 'count' => count($references)); - } - } - - tem_set('display', $data); -} - function admin_images_main_delete($id) { - $data = db_get_assoc('cms_images', 'image,sizes', 'where id=%i', $id); + $data = db_get_assoc('cms_images', 'image', 'where id=%i', $id); if ($data) { $src = enc_image_src($data['image']); if ($src) { @@ -162,21 +137,21 @@ function admin_images_main_form($id = false) { db_update_assoc('cms_images', $data, 'where id=%i', $id); message('Image updated.'); $saved_id = $id; + return "./admin_images"; } else { + $data['created_at'] = time(); db_insert_assoc('cms_images', $data); 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 "./admin_images?sort=age"; } - # return user to display page where they can see instructions, etc - 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 $data = db_get_assoc('cms_images', ADMIN_IMAGES_DB_FIELDS, 'where id=%i', $id); } else { # form not submitted, set default values: - $data = array('sizes' => '275x500'); + $data = array(); } tem_set('upload_max_filesize', upload_max_filesize());