Esempio n. 1
0
 public static function map_csv_fields()
 {
     $name = 'frm_import_file';
     if (!isset($_FILES) || !isset($_FILES[$name]) || empty($_FILES[$name]['name']) || (int) $_FILES[$name]['size'] < 1) {
         return;
     }
     $file = $_FILES[$name]['tmp_name'];
     // check if file was uploaded
     if (!is_uploaded_file($file)) {
         return;
     }
     if (empty($_POST['form_id'])) {
         $errors = array(__('All Fields are required', 'formidable'));
         FrmXMLController::form($errors);
         return;
     }
     //upload
     $media_id = isset($_POST[$name]) && !empty($_POST[$name]) && is_numeric($_POST[$name]) ? $_POST[$name] : FrmProAppHelper::upload_file($name);
     if ($media_id && !is_wp_error($media_id)) {
         $filename = get_attached_file($media_id);
     }
     if (empty($filename)) {
         $errors = array(__('That CSV was not uploaded. Are CSV files allowed on your site?', 'formidable'));
         FrmXMLController::form($errors);
         return;
     }
     $row = 1;
     $headers = $example = '';
     $csv_del = FrmAppHelper::get_param('csv_del', ',');
     $form_id = FrmAppHelper::get_param('form_id');
     setlocale(LC_ALL, get_locale());
     if (($f = fopen($filename, "r")) !== FALSE) {
         $row = 0;
         while (($data = fgetcsv($f, 100000, $csv_del)) !== FALSE) {
             //while (($raw_data = fgets($f, 100000))){
             $row++;
             if ($row == 1) {
                 $headers = $data;
             } else {
                 if ($row == 2) {
                     $example = $data;
                 } else {
                     continue;
                 }
             }
         }
         fclose($f);
     } else {
         $errors = array(__('CSV cannot be opened.', 'formidable'));
         FrmXMLController::form($errors);
         return;
     }
     $frm_field = new FrmField();
     $fields = $frm_field->getAll(array('fi.form_id' => (int) $form_id), 'field_order');
     include FrmAppHelper::plugin_path() . '/pro/classes/views/xml/map_csv_fields.php';
 }