'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; 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"; } } 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(); } tem_set('upload_max_filesize', upload_max_filesize()); tem_set('form', $data); }