$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); if ($data) { $src = enc_image_src($data['image']); if ($src) { $filenames = array($src); foreach ($GLOBALS['wfpl_image_widths'] as $w) { $filenames [] = substr($src, 0, -4) . 'w' . $w . substr($src, -4); } 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'; } function admin_images_main_listing() { $sort_by = 'name'; $sorts = array( 'age' => 'created_at desc', 'name' => "coalesce(nullif(name, ''), caption), created_at", 'caption' => "coalesce(nullif(caption, ''), name), created_at" ); if (isset($_REQUEST['sort'])) { foreach ($sorts as $s => $sql) { if ($_REQUEST['sort'] == $s) { $sort_by = $s; break; } } } tem_set("sort_by_$sort_by"); $listing_rows = db_get_assocs('cms_images', 'id,image,name,caption', 'order by ' . $sorts[$sort_by]); tem_set('listings', $listing_rows); } function admin_images_main_form($id = false) { if($id) { tem_set('id', $id); } if(isset($_POST['name'])) { $data = admin_images_get_fields(); # save anything # Note: If you change this to re-display the form in some cases, be sure to handle image uploads well (don't make them upload it again.) # save to database if($id) { db_update_assoc('cms_images', $data, 'where id=%i', $id); message('Image updated.'); $saved_id = $id; } else { 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 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'); } tem_set('upload_max_filesize', upload_max_filesize()); tem_set('form', $data); }