JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
SCHEMA CHANGE, clean up /admin_images
authorJason Woofenden <jason@jasonwoof.com>
Fri, 6 Nov 2015 22:04:17 +0000 (17:04 -0500)
committerJason Woofenden <jason@jasonwoof.com>
Fri, 6 Nov 2015 22:04:17 +0000 (17:04 -0500)
admin_images.html
admin_images.php
admin_images.sql
admin_pages.php
style.styl

index f9d7063..d36df35 100644 (file)
                        <p><a href="admin_images?new=1">[Add a new image]</a></p>
 
                        <table cellspacing="0" cellpadding="4" border="0" summary="" class="evenodd">
                        <p><a href="admin_images?new=1">[Add a new image]</a></p>
 
                        <table cellspacing="0" cellpadding="4" border="0" summary="" class="evenodd">
-                               <tr><th>Image</th><th>Name</th><th>Caption</th><th>&nbsp;</th></tr><!--~listings {~-->
+                               <tr><th colspan="4" class="th_toggle_buttons">
+                                       <div><!--~sort_by_age unset {~--><a href="?sort=age"><!--~}~-->[sort by age]<!--~sort_by_age unset {~--></a><!--~}~--></div> <div><!--~sort_by_name unset {~--><a href="?sort=name"><!--~}~-->[sort by name/caption]<!--~sort_by_name unset {~--></a><!--~}~--></div> <div><!--~sort_by_caption unset {~--><a href="?sort=caption"><!--~}~-->[sort by caption/name]<!--~sort_by_caption unset {~--></a><!--~}~--></div>
+                               </th></tr>
+                               <!--~listings {~-->
                                <tr>
                                <tr>
-                                       <td class="listing"><a href="admin_images?id=~id~"><!--~image nonempty {~--><span class="wfpl_thumb" style="background-image: url(~image image_src_thumb~)"></span><!--~}~--></a></td>
-                                       <td class="listing"><a href="admin_images?id=~id~">~name html~<!--~name empty {~--><em>(blank)</em><!--~}~--></a></td>
-                                       <td class="listing"><a href="admin_images?id=~id~">~caption html~<!--~caption empty {~--><em>(blank)</em><!--~}~--></a></td>
-                                       <td><a href="admin_images?admin_images_delete_id=~id~" onclick="return confirm('Permanently delete?')">[delete this image]</a></td>
-                               </tr><!--~}~-->
+                                       <td class="listing"><!--~image nonempty {~--><a style="cursor: zoom-in" href="~image image_src_full~" target="_blank"><span class="wfpl_thumb" style="background-image: url(~image image_src_thumb~)"></span></a><!--~}~--></td>
+                                       <td class="listing">Name: ~name html~<br>Caption: ~caption html~</td>
+                                       <td><a href="admin_images?id=~id~">[edit]</a></td>
+                                       <td><a href="admin_images?admin_images_delete_id=~id~" onclick="return confirm('Permanently delete?')" style="color: red">[delete]</a></td>
+                               </tr>
+                               <!--~}~-->
 
                        </table>
                <!--~}~-->
 
                        </table>
                <!--~}~-->
index 73d16c6..2a5ae51 100644 (file)
@@ -127,7 +127,22 @@ function admin_images_main_delete($id) {
 }
 
 function admin_images_main_listing() {
 }
 
 function admin_images_main_listing() {
-       $listing_rows = db_get_assocs('cms_images', 'id,image,name,caption', 'order by name, caption');
+       $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);
 }
 
        tem_set('listings', $listing_rows);
 }
 
index 815969e..27e29e7 100644 (file)
@@ -4,5 +4,5 @@ create table cms_images (
     image varchar(240) not null default "",
     name varchar(200) not null default "",
     caption varchar(200) not null default "",
     image varchar(240) not null default "",
     name varchar(200) not null default "",
     caption varchar(200) not null default "",
-    sizes text not null default ""
+    created_at int not null default 0
 );
 );
index 382ff5c..768b47d 100644 (file)
@@ -75,7 +75,7 @@ function admin_pages_main_delete($id) {
 # get all images from admin_images (for cms)
 function admin_pages_get_images() {
        $out = [];
 # get all images from admin_images (for cms)
 function admin_pages_get_images() {
        $out = [];
-       $rows = db_get_assocs('cms_images', 'image,name,caption', 'order by name, caption, image');
+       $rows = db_get_assocs('cms_images', 'image,name,caption', "order by coalesce(nullif(name, ''), caption), created_at");
        if ($rows) {
                $id = -1;
                foreach($rows as &$row) { $id += 1;
        if ($rows) {
                $id = -1;
                foreach($rows as &$row) { $id += 1;
index 88d0420..7e11c32 100644 (file)
@@ -421,3 +421,7 @@ table.evenodd
                display: block
                padding: 3px 10px 4px 17px
                font-size: font_size_large
                display: block
                padding: 3px 10px 4px 17px
                font-size: font_size_large
+#admin_images_body .th_toggle_buttons
+       font-weight: normal
+       color: #777
+       space_evenly()