JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
metaform: add csv download link to listings
authorJason Woofenden <jason@jasonwoof.com>
Tue, 28 Aug 2012 09:34:31 +0000 (05:34 -0400)
committerJason Woofenden <jason@jasonwoof.com>
Tue, 28 Aug 2012 09:34:31 +0000 (05:34 -0400)
metaform/template.html
metaform/template.php

index 89f850a..ef08ba2 100644 (file)
                                </tr><!--~~}~~-->
 
                        </table>
+                       <p><a href="?download_csv=1">Download as CSV file</a></p>
                <!--~~}~~-->
                <!--~~rows once_else {~~-->
                        <p>No ~plural~ in database.</p>
index 6479fc5..0f3acf8 100644 (file)
@@ -117,6 +117,10 @@ function ~file_name~_main() {~opt_pass {~
                return ~file_name~_main_display($id);
        }
 ~}~~opt_listing {~
+       if(_REQUEST_cut('download_csv')) {
+               return ~file_name~_csv_download();
+       }
+
        if(isset($_POST['~always_field~'])) {
                return ~file_name~_main_form();
        }
@@ -142,6 +146,13 @@ function ~file_name~_main_delete($id) {
        return './~file_name~';
 }~}~~opt_listing {~
 
+function ~file_name~_csv_download() {
+       require_once('code/wfpl/csv.php');
+       $rows = db_get_rows('~table_name~', 'id,'.~file_name upper~_DB_FIELDS, 'order by id');
+       array_unshift($rows, explode(',',~file_name upper~_DB_FIELDS));
+       array2d_to_csv_download($rows, '~file_name~.csv');
+}
+
 function ~file_name~_main_listing() {
        $data = array();
        $desc = '';