function ninja_forms_json_response() { global $ninja_forms_processing; $form_id = $ninja_forms_processing->get_form_ID(); $errors = $ninja_forms_processing->get_all_errors(); $success = $ninja_forms_processing->get_all_success_msgs(); $fields = $ninja_forms_processing->get_all_fields(); $form_settings = $ninja_forms_processing->get_all_form_settings(); $extras = $ninja_forms_processing->get_all_extras(); // Success will default to false if there is not success message. if (!$success && !$errors) { $success = true; } if (version_compare(phpversion(), '5.3', '>=')) { $json = json_encode(array('form_id' => $form_id, 'errors' => $errors, 'success' => $success, 'fields' => $fields, 'form_settings' => $form_settings, 'extras' => $extras), JSON_HEX_QUOT | JSON_HEX_TAG); } else { $errors = ninja_forms_html_entity_decode_deep($errors); $success = ninja_forms_html_entity_decode_deep($success); $fields = ninja_forms_html_entity_decode_deep($fields); $form_settings = ninja_forms_html_entity_decode_deep($form_settings); $extras = ninja_forms_html_entity_decode_deep($extras); $errors = utf8_encode_recursive($errors); $success = utf8_encode_recursive($success); $fields = utf8_encode_recursive($fields); $form_settings = utf8_encode_recursive($form_settings); $extras = utf8_encode_recursive($extras); $errors = ninja_forms_str_replace_deep('"', "\\u0022", $errors); $errors = ninja_forms_str_replace_deep("'", "\\u0027", $errors); $errors = ninja_forms_str_replace_deep('<', "\\u003C", $errors); $errors = ninja_forms_str_replace_deep('>', "\\u003E", $errors); $success = ninja_forms_str_replace_deep('"', "\\u0022", $success); $success = ninja_forms_str_replace_deep("'", "\\u0027", $success); $success = ninja_forms_str_replace_deep('<', "\\u003C", $success); $success = ninja_forms_str_replace_deep('>', "\\u003E", $success); $fields = ninja_forms_str_replace_deep('"', "\\u0022", $fields); $fields = ninja_forms_str_replace_deep("'", "\\u0027", $fields); $fields = ninja_forms_str_replace_deep('<', "\\u003C", $fields); $fields = ninja_forms_str_replace_deep('>', "\\u003E", $fields); $form_settings = ninja_forms_str_replace_deep('"', "\\u0022", $form_settings); $form_settings = ninja_forms_str_replace_deep("'", "\\u0027", $form_settings); $form_settings = ninja_forms_str_replace_deep('<', "\\u003C", $form_settings); $form_settings = ninja_forms_str_replace_deep('>', "\\u003E", $form_settings); $extras = ninja_forms_str_replace_deep('"', "\\u0022", $extras); $extras = ninja_forms_str_replace_deep("'", "\\u0027", $extras); $extras = ninja_forms_str_replace_deep('<', "\\u003C", $extras); $extras = ninja_forms_str_replace_deep('>', "\\u003E", $extras); $json = json_encode(array('form_id' => $form_id, 'errors' => $errors, 'success' => $success, 'fields' => $fields, 'form_settings' => $form_settings, 'extras' => $extras)); $json = str_replace("\\\\u0022", "\\u0022", $json); $json = str_replace("\\\\u0027", "\\u0027", $json); $json = str_replace("\\\\u003C", "\\u003C", $json); $json = str_replace("\\\\u003E", "\\u003E", $json); } return $json; }
function ninja_forms_export_subs_to_csv($sub_ids = '', $return = false) { global $ninja_forms_fields, $ninja_forms_processing; $plugin_settings = get_option("ninja_forms_settings"); if (isset($plugin_settings['date_format'])) { $date_format = $plugin_settings['date_format']; } else { $date_format = 'm/d/Y'; } //Create a $label_array that contains all of the field labels. //Get the Form ID. if (isset($ninja_forms_processing)) { $form_id = $ninja_forms_processing->get_form_ID(); } else { if (isset($_REQUEST['form_id'])) { $form_id = absint($_REQUEST['form_id']); } } //Get the fields attached to the Form ID $field_results = ninja_forms_get_fields_by_form_id($form_id); //Set the label array to a blank $label_array = array(); $value_array = array(); $sub_id_array = array(); $label_array[0][] = "Date"; if (is_array($field_results) and !empty($field_results)) { foreach ($field_results as $field) { $field_type = $field['type']; $field_id = $field['id']; if (isset($ninja_forms_fields[$field_type]['process_field'])) { $process_field = $ninja_forms_fields[$field_type]['process_field']; } else { $process_field = true; } if (isset($field['data']['label'])) { $label = $field['data']['label']; } else { $label = ''; } if ($process_field) { $label_array[0][$field_id] = apply_filters('ninja_forms_export_sub_label', $label, $field_id); } } } if (is_array($sub_ids) and !empty($sub_ids)) { $x = 0; foreach ($sub_ids as $id) { $sub_row = ninja_forms_get_sub_by_id($id); $sub_id_array[$x] = $id; $date_updated = date($date_format, strtotime($sub_row['date_updated'])); $value_array[$x][] = $date_updated; if (is_array($sub_row['data']) and !empty($sub_row['data'])) { foreach ($label_array[0] as $field_id => $label) { if ($field_id != 0) { $found = false; foreach ($sub_row['data'] as $data) { $data['user_value'] = ninja_forms_stripslashes_deep($data['user_value']); $data['user_value'] = ninja_forms_html_entity_decode_deep($data['user_value'], ENT_QUOTES); if ($data['field_id'] == $field_id) { if (is_array($data['user_value'])) { $user_value = implode_r(',', $data['user_value']); } else { $user_value = $data['user_value']; } $found = true; } } if (!$found) { $user_value = ''; } $value_array[$x][] = apply_filters('ninja_forms_export_sub_value', $user_value, $field_id); } } } $x++; } } $value_array = ninja_forms_stripslashes_deep($value_array); $value_array = apply_filters('ninja_forms_export_subs_value_array', $value_array, $sub_id_array); $label_array = ninja_forms_stripslashes_deep($label_array); $label_array = apply_filters('ninja_forms_export_subs_label_array', $label_array, $sub_id_array); $array = array($label_array, $value_array); $today = date($date_format); $filename = apply_filters('ninja_forms_export_subs_csv_file_name', 'ninja_forms_subs_' . $today); $filename = $filename . ".csv"; if ($return) { return str_putcsv($array, apply_filters('ninja_forms_csv_delimiter', ','), apply_filters('ninja_forms_csv_enclosure', '"'), apply_filters('ninja_forms_csv_terminator', "\n")); } else { header("Content-type: application/csv"); header("Content-Disposition: attachment; filename=" . $filename); header("Pragma: no-cache"); header("Expires: 0"); echo apply_filters('ninja_forms_csv_bom', ""); // Byte Order Mark echo str_putcsv($array, apply_filters('ninja_forms_csv_delimiter', ','), apply_filters('ninja_forms_csv_enclosure', '"'), apply_filters('ninja_forms_csv_terminator', "\n")); die; } }