Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
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;
    }
}