JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
make metaform support file uploads
[wfpl.git] / metaform / template.php
index 6ae0602..daf23ed 100644 (file)
@@ -25,6 +25,8 @@ define('~file_name upper~_DB_FIELDS', '~db_fields~');
 # Set this to the path to your uploads directory. It can be relative to the
 # location of this script. IT MUST END WITH A SLASH
 $GLOBALS['upload_directory'] = 'uploads/';
+<!--~}~--><!--~file_settings {~-->
+$GLOBALS['~name~_file_name'] = uniqid() . getmypid() . '.txt'; # comment this out to use uploader's filename
 <!--~}~--><!--~image_settings {~-->
 $GLOBALS['~name~_max_width'] = '400';
 $GLOBALS['~name~_max_height'] = '400';<!--~thumb_settings {~-->
@@ -37,7 +39,7 @@ require_once('code/wfpl/template.php');
 require_once('code/wfpl/format.php');
 require_once('code/wfpl/messages.php');
 require_once('code/wfpl/email.php');<!--~opt_db_2 {~-->
-require_once('code/db_connect.php');<!--~}~--><!--~image_include {~-->
+require_once('code/db_connect.php');<!--~}~--><!--~uploads_include {~-->
 require_once('code/wfpl/upload.php');<!--~}~-->
 
 function ~file_name~_get_fields() {
@@ -52,6 +54,19 @@ function ~file_name~_get_fields() {
                } else {
                        $data['~name~'] = format_image_w_h<!--~thumb_w_h {~-->_thumb_w_h<!--~}~-->($_REQUEST['old_~name~']);
                }
+       }<!--~}~--><!--~file_upload {~-->
+       $~name~_filename_tmp = $GLOBALS['~name~_file_name'];
+       if(!$~name~_filename_tmp) {
+               $~name~_filename_tmp = format_filename($_REQUEST['~name~']);
+       }
+       if($_FILES['~name~'] && $_FILES['~name~']['error'] == 0) {
+               $data['~name~'] = save_uploaded_file('~name~', $GLOBALS['upload_directory'] . $~name~_filename_tmp);
+       } else {
+               if($_REQUEST['delete_~name~'] == 'Yes') {
+                       $data['~name~'] = '';
+               } else {
+                       $data['~name~'] = format_path($_REQUEST['old_~name~']);
+               }
        }<!--~}~-->
 
        return $data;