Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/clone/wp-conte.../plugins/ninja-fo.../includes/Admin/CPT
File: Submission.php
<?php if ( ! defined( 'ABSPATH' ) ) exit;
[0] Fix | Delete
[1] Fix | Delete
/**
[2] Fix | Delete
* Class NF_Admin_CPT_Submission
[3] Fix | Delete
*/
[4] Fix | Delete
class NF_Admin_CPT_Submission
[5] Fix | Delete
{
[6] Fix | Delete
protected $cpt_slug = 'nf_sub';
[7] Fix | Delete
[8] Fix | Delete
public $screen_options;
[9] Fix | Delete
/**
[10] Fix | Delete
* Constructor
[11] Fix | Delete
*/
[12] Fix | Delete
public function __construct()
[13] Fix | Delete
{
[14] Fix | Delete
// Register our submission custom post type.
[15] Fix | Delete
add_action( 'init', array( $this, 'custom_post_type' ), 5 );
[16] Fix | Delete
[17] Fix | Delete
add_action( 'admin_print_styles', array( $this, 'enqueue_scripts' ) );
[18] Fix | Delete
[19] Fix | Delete
// Filter Post Row Actions
[20] Fix | Delete
add_filter( 'post_row_actions', array( $this, 'post_row_actions' ), 10, 2 );
[21] Fix | Delete
[22] Fix | Delete
// Change our submission columns.
[23] Fix | Delete
add_filter( 'manage_nf_sub_posts_columns', array( $this, 'change_columns' ) );
[24] Fix | Delete
[25] Fix | Delete
// Add the appropriate data for our custom columns.
[26] Fix | Delete
add_action( 'manage_posts_custom_column', array( $this, 'custom_columns' ), 10, 2 );
[27] Fix | Delete
[28] Fix | Delete
// Save our metabox values
[29] Fix | Delete
add_action( 'save_post', array( $this, 'save_nf_sub' ), 10, 2 );
[30] Fix | Delete
[31] Fix | Delete
add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ), 10, 1 );
[32] Fix | Delete
add_action( 'add_meta_boxes', array( $this, 'remove_meta_boxes' ) );
[33] Fix | Delete
[34] Fix | Delete
// Filter our submission capabilities
[35] Fix | Delete
add_filter( 'user_has_cap', array( $this, 'cap_filter' ), 10, 3 );
[36] Fix | Delete
[37] Fix | Delete
// Filter our hidden columns by form ID.
[38] Fix | Delete
add_action( 'wp', array( $this, 'filter_hidden_columns' ) );
[39] Fix | Delete
[40] Fix | Delete
// Save our hidden columns by form id. Ajax call handed in 'hide_columns' in this file
[41] Fix | Delete
add_action( 'wp_ajax_nf_hide_columns', array( $this, 'hide_columns' ) );
[42] Fix | Delete
[43] Fix | Delete
add_action( 'trashed_post', array( $this, 'nf_trash_sub' ) );
[44] Fix | Delete
}
[45] Fix | Delete
[46] Fix | Delete
/**
[47] Fix | Delete
* Custom Post Type
[48] Fix | Delete
*/
[49] Fix | Delete
function custom_post_type() {
[50] Fix | Delete
[51] Fix | Delete
$labels = array(
[52] Fix | Delete
'name' => esc_html_x( 'Submissions', 'Post Type General Name', 'ninja-forms' ),
[53] Fix | Delete
'singular_name' => esc_html_x( 'Submission', 'Post Type Singular Name', 'ninja-forms' ),
[54] Fix | Delete
'menu_name' => esc_html__( 'Submissions', 'ninja-forms' ),
[55] Fix | Delete
'name_admin_bar' => esc_html__( 'Submissions', 'ninja-forms' ),
[56] Fix | Delete
'parent_item_colon' => esc_html__( 'Parent Item:', 'ninja-forms' ),
[57] Fix | Delete
'all_items' => esc_html__( 'All Items', 'ninja-forms' ),
[58] Fix | Delete
'add_new_item' => esc_html__( 'Add New Item', 'ninja-forms' ),
[59] Fix | Delete
'add_new' => esc_html__( 'Add New', 'ninja-forms' ),
[60] Fix | Delete
'new_item' => esc_html__( 'New Item', 'ninja-forms' ),
[61] Fix | Delete
'edit_item' => esc_html__( 'Edit Item', 'ninja-forms' ),
[62] Fix | Delete
'update_item' => esc_html__( 'Update Item', 'ninja-forms' ),
[63] Fix | Delete
'view_item' => esc_html__( 'View Item', 'ninja-forms' ),
[64] Fix | Delete
'search_items' => esc_html__( 'Search Item', 'ninja-forms' ),
[65] Fix | Delete
'not_found' => $this->not_found_message(),
[66] Fix | Delete
'not_found_in_trash' => esc_html__( 'Not found in Trash', 'ninja-forms' ),
[67] Fix | Delete
);
[68] Fix | Delete
$args = array(
[69] Fix | Delete
'label' => esc_html__( 'Submission', 'ninja-forms' ),
[70] Fix | Delete
'description' => esc_html__( 'Form Submissions', 'ninja-forms' ),
[71] Fix | Delete
'labels' => $labels,
[72] Fix | Delete
'supports' => false,
[73] Fix | Delete
'hierarchical' => false,
[74] Fix | Delete
'public' => false,
[75] Fix | Delete
'show_ui' => true,
[76] Fix | Delete
'show_in_menu' => false,
[77] Fix | Delete
'menu_position' => 5,
[78] Fix | Delete
'show_in_admin_bar' => false,
[79] Fix | Delete
'show_in_nav_menus' => false,
[80] Fix | Delete
'can_export' => true,
[81] Fix | Delete
'has_archive' => false,
[82] Fix | Delete
'exclude_from_search' => true,
[83] Fix | Delete
'publicly_queryable' => false,
[84] Fix | Delete
// 'rewrite' => false,
[85] Fix | Delete
'capability_type' => 'nf_sub',
[86] Fix | Delete
'capabilities' => array(
[87] Fix | Delete
'publish_posts' => 'nf_sub',
[88] Fix | Delete
'edit_posts' => 'nf_sub',
[89] Fix | Delete
'edit_others_posts' => 'nf_sub',
[90] Fix | Delete
'delete_posts' => 'nf_sub',
[91] Fix | Delete
'delete_others_posts' => 'nf_sub',
[92] Fix | Delete
'read_private_posts' => 'nf_sub',
[93] Fix | Delete
'edit_post' => 'nf_sub',
[94] Fix | Delete
'delete_post' => 'nf_sub',
[95] Fix | Delete
'read_post' => 'nf_sub',
[96] Fix | Delete
),
[97] Fix | Delete
);
[98] Fix | Delete
register_post_type( $this->cpt_slug, $args );
[99] Fix | Delete
}
[100] Fix | Delete
[101] Fix | Delete
public function nf_trash_sub( $post_id )
[102] Fix | Delete
{
[103] Fix | Delete
// If this isn't a submission...
[104] Fix | Delete
if ( 'nf_sub' != get_post_type( $post_id ) ) {
[105] Fix | Delete
// Exit early.
[106] Fix | Delete
return false;
[107] Fix | Delete
}
[108] Fix | Delete
global $pagenow;
[109] Fix | Delete
// If we were on the post.php page...
[110] Fix | Delete
if ( 'post.php' == $pagenow ) {
[111] Fix | Delete
// Redirect the user to the submissions page for the form that submission belonged to.
[112] Fix | Delete
wp_safe_redirect( admin_url( 'edit.php?post_status=all&post_type=nf_sub&form_id=' . get_post_meta( $post_id, '_form_id', true ) ) );
[113] Fix | Delete
exit;
[114] Fix | Delete
}
[115] Fix | Delete
[116] Fix | Delete
}
[117] Fix | Delete
[118] Fix | Delete
public function enqueue_scripts()
[119] Fix | Delete
{
[120] Fix | Delete
global $pagenow, $typenow;
[121] Fix | Delete
// Bail if we aren't on the edit.php page or we aren't editing our custom post type.
[122] Fix | Delete
if ( ( $pagenow != 'edit.php' && $pagenow != 'post.php' ) || $typenow != 'nf_sub' )
[123] Fix | Delete
return false;
[124] Fix | Delete
[125] Fix | Delete
$form_id = isset ( $_REQUEST['form_id'] ) ? absint( $_REQUEST['form_id'] ) : '';
[126] Fix | Delete
[127] Fix | Delete
wp_enqueue_script( 'subs-cpt',
[128] Fix | Delete
Ninja_Forms::$url . 'lib/Legacy/subs-cpt.min.js',
[129] Fix | Delete
array( 'jquery', 'jquery-ui-datepicker' ) );
[130] Fix | Delete
[131] Fix | Delete
wp_localize_script( 'subs-cpt', 'nf_sub', array( 'form_id' => $form_id ) );
[132] Fix | Delete
}
[133] Fix | Delete
[134] Fix | Delete
public function post_row_actions( $actions, $sub )
[135] Fix | Delete
{
[136] Fix | Delete
if ( $this->cpt_slug == get_post_type() ){
[137] Fix | Delete
unset( $actions[ 'view' ] );
[138] Fix | Delete
unset( $actions[ 'inline hide-if-no-js' ] );
[139] Fix | Delete
$export_url = add_query_arg( array( 'action' => 'export', 'post[]' => $sub->ID ) );
[140] Fix | Delete
$actions[ 'export' ] = sprintf( '<a href="%s">%s</a>', esc_url( $export_url ), esc_html__( 'Export', 'ninja-forms' ) );
[141] Fix | Delete
}
[142] Fix | Delete
[143] Fix | Delete
return $actions;
[144] Fix | Delete
}
[145] Fix | Delete
[146] Fix | Delete
public function change_columns( $columns )
[147] Fix | Delete
{
[148] Fix | Delete
if( ! isset( $_GET[ 'form_id' ] ) ) return $columns;
[149] Fix | Delete
[150] Fix | Delete
$form_id = absint( $_GET[ 'form_id' ] );
[151] Fix | Delete
[152] Fix | Delete
static $columns;
[153] Fix | Delete
[154] Fix | Delete
if( $columns ) return $columns;
[155] Fix | Delete
[156] Fix | Delete
$columns = array(
[157] Fix | Delete
'cb' => '<input type="checkbox" />',
[158] Fix | Delete
'id' => esc_html__( '#', 'ninja-forms' ),
[159] Fix | Delete
);
[160] Fix | Delete
[161] Fix | Delete
$form_fields = Ninja_Forms()->form( $form_id )->get_fields();
[162] Fix | Delete
[163] Fix | Delete
foreach( $form_fields as $field ) {
[164] Fix | Delete
[165] Fix | Delete
if( is_object( $field ) ) {
[166] Fix | Delete
$field = array(
[167] Fix | Delete
'id' => $field->get_id(),
[168] Fix | Delete
'settings' => $field->get_settings()
[169] Fix | Delete
);
[170] Fix | Delete
}
[171] Fix | Delete
[172] Fix | Delete
$hidden_field_types = apply_filters( 'nf_sub_hidden_field_types', array() );
[173] Fix | Delete
if( in_array( $field[ 'settings' ][ 'type' ], array_values( $hidden_field_types ) ) ) continue;
[174] Fix | Delete
[175] Fix | Delete
$id = $field[ 'id' ];
[176] Fix | Delete
[177] Fix | Delete
if('repeater'!==$field[ 'settings' ][ 'type' ]){
[178] Fix | Delete
[179] Fix | Delete
$label = isset( $field[ 'settings' ][ 'label' ] ) ? $field[ 'settings'][ 'label' ] : '';
[180] Fix | Delete
$columns[ $id ] = ( isset( $field[ 'settings' ][ 'admin_label' ] ) && $field[ 'settings' ][ 'admin_label' ] ) ? $field[ 'settings' ][ 'admin_label' ] : $label;
[181] Fix | Delete
}else{
[182] Fix | Delete
$fieldsetLabels= Ninja_Forms()->fieldsetRepeater->getFieldsetLabels($field['id'],$field['settings'], true);
[183] Fix | Delete
[184] Fix | Delete
foreach ($fieldsetLabels as $fieldsetId => $fieldsetLabel) {
[185] Fix | Delete
$columns[$fieldsetId] = $fieldsetLabel;
[186] Fix | Delete
}
[187] Fix | Delete
}
[188] Fix | Delete
}
[189] Fix | Delete
[190] Fix | Delete
$columns['sub_date'] = esc_html__( 'Date', 'ninja-forms' );
[191] Fix | Delete
[192] Fix | Delete
return $columns;
[193] Fix | Delete
}
[194] Fix | Delete
[195] Fix | Delete
public function custom_columns( $column, $sub_id )
[196] Fix | Delete
{
[197] Fix | Delete
if( 'nf_sub' != get_post_type() ) {
[198] Fix | Delete
return;
[199] Fix | Delete
}
[200] Fix | Delete
[201] Fix | Delete
static $fields;
[202] Fix | Delete
[203] Fix | Delete
$sub = Ninja_Forms()->form()->get_sub( $sub_id );
[204] Fix | Delete
[205] Fix | Delete
if( 'id' == $column ) {
[206] Fix | Delete
echo apply_filters( 'nf_sub_table_seq_num', $sub->get_seq_num(), $sub_id, $column );
[207] Fix | Delete
}
[208] Fix | Delete
[209] Fix | Delete
$form_id = absint( $_GET[ 'form_id' ] );
[210] Fix | Delete
[211] Fix | Delete
if(Ninja_Forms()->fieldsetRepeater->isRepeaterFieldByFieldReference($column)){
[212] Fix | Delete
[213] Fix | Delete
if( ! isset( $fields[ $column ] ) ) {
[214] Fix | Delete
[215] Fix | Delete
$parsedField = Ninja_Forms()->fieldsetRepeater
[216] Fix | Delete
->parseFieldsetFieldReference($column);
[217] Fix | Delete
[218] Fix | Delete
$fields[$column] = Ninja_Forms()->form( $form_id )->get_field( $parsedField['fieldId'] );
[219] Fix | Delete
}
[220] Fix | Delete
[221] Fix | Delete
$field = $fields[$column];
[222] Fix | Delete
[223] Fix | Delete
$fieldType = Ninja_Forms()->fieldsetRepeater->getFieldtype($column, $field->get_settings());
[224] Fix | Delete
[225] Fix | Delete
$arrayListTypes = array('listcheckbox');
[226] Fix | Delete
[227] Fix | Delete
if(!in_array($fieldType,$arrayListTypes)){
[228] Fix | Delete
[229] Fix | Delete
$value =implode('<br />',array_column(unserialize($sub->get_field_value($column)),'value'));
[230] Fix | Delete
}else{
[231] Fix | Delete
$optionsByRepetition = array_column(unserialize($sub->get_field_value($column)),'value');
[232] Fix | Delete
[233] Fix | Delete
foreach($optionsByRepetition as &$repetition){
[234] Fix | Delete
$repetition = implode(', ',$repetition);
[235] Fix | Delete
}
[236] Fix | Delete
$value = implode('<br />',$optionsByRepetition);
[237] Fix | Delete
}
[238] Fix | Delete
[239] Fix | Delete
echo apply_filters( 'ninja_forms_custom_columns', $value, $field, $sub_id );
[240] Fix | Delete
}elseif( is_numeric( $column ) ){
[241] Fix | Delete
$value = $sub->get_field_value( $column );
[242] Fix | Delete
[243] Fix | Delete
if( ! isset( $fields[ $column ] ) ) {
[244] Fix | Delete
$fields[$column] = Ninja_Forms()->form( $form_id )->get_field( $column );
[245] Fix | Delete
}
[246] Fix | Delete
$field = $fields[$column];
[247] Fix | Delete
echo apply_filters( 'ninja_forms_custom_columns', $value, $field, $sub_id );
[248] Fix | Delete
}
[249] Fix | Delete
[250] Fix | Delete
}
[251] Fix | Delete
[252] Fix | Delete
public function save_nf_sub( $nf_sub_id, $nf_sub )
[253] Fix | Delete
{
[254] Fix | Delete
global $pagenow;
[255] Fix | Delete
[256] Fix | Delete
if ( ! isset ( $_POST['nf_edit_sub'] ) || $_POST['nf_edit_sub'] != 1 )
[257] Fix | Delete
return $nf_sub_id;
[258] Fix | Delete
[259] Fix | Delete
// verify if this is an auto save routine.
[260] Fix | Delete
// If it is our form has not been submitted, so we dont want to do anything
[261] Fix | Delete
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
[262] Fix | Delete
return $nf_sub_id;
[263] Fix | Delete
[264] Fix | Delete
if ( $pagenow != 'post.php' )
[265] Fix | Delete
return $nf_sub_id;
[266] Fix | Delete
[267] Fix | Delete
if ( $nf_sub->post_type != 'nf_sub' )
[268] Fix | Delete
return $nf_sub_id;
[269] Fix | Delete
[270] Fix | Delete
/* Get the post type object. */
[271] Fix | Delete
$post_type = get_post_type_object( $nf_sub->post_type );
[272] Fix | Delete
[273] Fix | Delete
/* Check if the current user has permission to edit the post. */
[274] Fix | Delete
if ( !current_user_can( $post_type->cap->edit_post, $nf_sub_id ) )
[275] Fix | Delete
return $nf_sub_id;
[276] Fix | Delete
[277] Fix | Delete
$sub = Ninja_Forms()->form()->sub( $nf_sub_id )->get();
[278] Fix | Delete
[279] Fix | Delete
if (isset($_POST['fields'])) {
[280] Fix | Delete
$post_fields = WPN_Helper::esc_html($_POST['fields']);
[281] Fix | Delete
foreach ( $post_fields as $field_id => $user_value ) {
[282] Fix | Delete
$user_value = apply_filters( 'nf_edit_sub_user_value', $user_value, $field_id, $nf_sub_id );
[283] Fix | Delete
$sub->update_field_value( $field_id, $user_value );
[284] Fix | Delete
}
[285] Fix | Delete
}
[286] Fix | Delete
[287] Fix | Delete
$sub->save();
[288] Fix | Delete
}
[289] Fix | Delete
[290] Fix | Delete
/**
[291] Fix | Delete
* Meta Boxes
[292] Fix | Delete
*/
[293] Fix | Delete
public function add_meta_boxes( $post_type )
[294] Fix | Delete
{
[295] Fix | Delete
add_meta_box(
[296] Fix | Delete
'nf_sub_fields',
[297] Fix | Delete
esc_html__( 'User Submitted Values', 'ninja-forms' ),
[298] Fix | Delete
array( $this, 'fields_meta_box' ),
[299] Fix | Delete
'nf_sub',
[300] Fix | Delete
'normal',
[301] Fix | Delete
'default'
[302] Fix | Delete
);
[303] Fix | Delete
[304] Fix | Delete
add_meta_box(
[305] Fix | Delete
'nf_sub_info',
[306] Fix | Delete
esc_html__( 'Submission Info', 'ninja-forms' ),
[307] Fix | Delete
array( $this, 'info_meta_box' ),
[308] Fix | Delete
'nf_sub',
[309] Fix | Delete
'side',
[310] Fix | Delete
'default'
[311] Fix | Delete
);
[312] Fix | Delete
}
[313] Fix | Delete
[314] Fix | Delete
/**
[315] Fix | Delete
* Fields Meta Box
[316] Fix | Delete
*
[317] Fix | Delete
* @param $post
[318] Fix | Delete
*/
[319] Fix | Delete
public function fields_meta_box( $post )
[320] Fix | Delete
{
[321] Fix | Delete
$form_id = get_post_meta( $post->ID, '_form_id', TRUE );
[322] Fix | Delete
[323] Fix | Delete
$sub = Ninja_Forms()->form()->get_sub( $post->ID );
[324] Fix | Delete
[325] Fix | Delete
$fields = Ninja_Forms()->form( $form_id )->get_fields();
[326] Fix | Delete
[327] Fix | Delete
$hidden_field_types = apply_filters( 'nf_sub_hidden_field_types', array() );
[328] Fix | Delete
[329] Fix | Delete
Ninja_Forms::template( 'admin-metabox-sub-fields.html.php', compact( 'fields', 'sub', 'hidden_field_types' ) );
[330] Fix | Delete
}
[331] Fix | Delete
[332] Fix | Delete
public static function sort_fields( $a, $b )
[333] Fix | Delete
{
[334] Fix | Delete
if ( $a->get_setting( 'order' ) == $b->get_setting( 'order' ) ) {
[335] Fix | Delete
return 0;
[336] Fix | Delete
}
[337] Fix | Delete
return ( $a->get_setting( 'order' ) < $b->get_setting( 'order' ) ) ? -1 : 1;
[338] Fix | Delete
}
[339] Fix | Delete
[340] Fix | Delete
/**
[341] Fix | Delete
* Info Meta Box
[342] Fix | Delete
*
[343] Fix | Delete
* @param $post
[344] Fix | Delete
*/
[345] Fix | Delete
public function info_meta_box( $post )
[346] Fix | Delete
{
[347] Fix | Delete
$sub = Ninja_Forms()->form()->sub( $post->ID )->get();
[348] Fix | Delete
[349] Fix | Delete
$seq_num = $sub->get_seq_num();
[350] Fix | Delete
[351] Fix | Delete
$status = ucwords( $sub->get_status() );
[352] Fix | Delete
[353] Fix | Delete
if ($sub->get_user()) {
[354] Fix | Delete
$user = apply_filters('nf_edit_sub_username', $sub->get_user()->data->user_nicename, $post->post_author);
[355] Fix | Delete
} else {
[356] Fix | Delete
$user = esc_html__( 'Anonymous', 'ninja-forms' );
[357] Fix | Delete
}
[358] Fix | Delete
[359] Fix | Delete
$form_title = $sub->get_form_title();
[360] Fix | Delete
[361] Fix | Delete
$sub_date = apply_filters( 'nf_edit_sub_date_submitted', $sub->get_sub_date( 'm/d/Y H:i' ), $post->ID );
[362] Fix | Delete
[363] Fix | Delete
$mod_date = apply_filters( 'nf_edit_sub_date_modified', $sub->get_mod_date( 'm/d/Y H:i' ), $post->ID );
[364] Fix | Delete
[365] Fix | Delete
Ninja_Forms::template( 'admin-metabox-sub-info.html.php', compact( 'post', 'seq_num', 'status', 'user', 'form_title', 'sub_date', 'mod_date' ) );
[366] Fix | Delete
}
[367] Fix | Delete
[368] Fix | Delete
/**
[369] Fix | Delete
* Remove Meta Boxes
[370] Fix | Delete
*/
[371] Fix | Delete
public function remove_meta_boxes()
[372] Fix | Delete
{
[373] Fix | Delete
// Remove the default Publish metabox
[374] Fix | Delete
remove_meta_box( 'submitdiv', 'nf_sub', 'side' );
[375] Fix | Delete
}
[376] Fix | Delete
[377] Fix | Delete
public function cap_filter( $allcaps, $cap, $args )
[378] Fix | Delete
{
[379] Fix | Delete
$sub_cap = apply_filters('ninja_forms_admin_submissions_capabilities', 'manage_options');
[380] Fix | Delete
if (!empty($allcaps[$sub_cap])) {
[381] Fix | Delete
$allcaps['nf_sub'] = true;
[382] Fix | Delete
}
[383] Fix | Delete
return $allcaps;
[384] Fix | Delete
}
[385] Fix | Delete
[386] Fix | Delete
/**
[387] Fix | Delete
* Filter our hidden columns so that they are handled on a per-form basis.
[388] Fix | Delete
*
[389] Fix | Delete
* @access public
[390] Fix | Delete
* @since 2.7
[391] Fix | Delete
* @return void
[392] Fix | Delete
*/
[393] Fix | Delete
public function filter_hidden_columns() {
[394] Fix | Delete
global $pagenow;
[395] Fix | Delete
// Bail if we aren't on the edit.php page, we aren't editing our custom post type, or we don't have a form_id set.
[396] Fix | Delete
if ( $pagenow != 'edit.php' || ! isset ( $_REQUEST['post_type'] ) || $_REQUEST['post_type'] != 'nf_sub' || ! isset ( $_REQUEST['form_id'] ) )
[397] Fix | Delete
return false;
[398] Fix | Delete
// Grab our current user.
[399] Fix | Delete
$user = wp_get_current_user();
[400] Fix | Delete
// Grab our form id.
[401] Fix | Delete
$form_id = absint( $_REQUEST['form_id'] );
[402] Fix | Delete
// Get the columns that should be hidden for this form ID.
[403] Fix | Delete
$hidden_columns = get_user_option( 'manageedit-nf_subcolumnshidden-form-' . $form_id );
[404] Fix | Delete
[405] Fix | Delete
// Checks to see if hidden columns are in the format expected for 2.9.x and converts formatting.
[406] Fix | Delete
if( ! empty( $hidden_columns ) && strpos( $hidden_columns[ 0 ], 'form_' ) !== false ) {
[407] Fix | Delete
$hidden_columns = $this->convert_hidden_columns( $form_id, $hidden_columns );
[408] Fix | Delete
}
[409] Fix | Delete
[410] Fix | Delete
if ( $hidden_columns === false ) {
[411] Fix | Delete
// If we don't have custom hidden columns set up for this form, then only show the first five columns.
[412] Fix | Delete
// Get our column headers
[413] Fix | Delete
$columns = get_column_headers( 'edit-nf_sub' );
[414] Fix | Delete
$hidden_columns = array();
[415] Fix | Delete
$x = 0;
[416] Fix | Delete
foreach ( $columns as $slug => $name ) {
[417] Fix | Delete
if ( $x > 5 ) {
[418] Fix | Delete
if ( $slug != 'sub_date' )
[419] Fix | Delete
$hidden_columns[] = $slug;
[420] Fix | Delete
}
[421] Fix | Delete
$x++;
[422] Fix | Delete
}
[423] Fix | Delete
}
[424] Fix | Delete
update_user_option( $user->ID, 'manageedit-nf_subcolumnshidden', $hidden_columns, true );
[425] Fix | Delete
}
[426] Fix | Delete
[427] Fix | Delete
/**
[428] Fix | Delete
* Convert Hidden Columns
[429] Fix | Delete
* Looks for 2.9.x hidden columns formatting and converts it to the formatting 3.0 expects.
[430] Fix | Delete
* @param $form_id
[431] Fix | Delete
* @param $hidden_columns
[432] Fix | Delete
* @return mixed
[433] Fix | Delete
*/
[434] Fix | Delete
private function convert_hidden_columns( $form_id, $hidden_columns )
[435] Fix | Delete
{
[436] Fix | Delete
$id = 'form_' . $form_id . '_field_';
[437] Fix | Delete
if( 'sub_date' !== $hidden_columns ) {
[438] Fix | Delete
$hidden_columns = str_replace( $id, '', $hidden_columns );
[439] Fix | Delete
}
[440] Fix | Delete
return $hidden_columns;
[441] Fix | Delete
}
[442] Fix | Delete
[443] Fix | Delete
[444] Fix | Delete
/**
[445] Fix | Delete
* Save our hidden columns per form id.
[446] Fix | Delete
*
[447] Fix | Delete
* @access public
[448] Fix | Delete
* @since 2.7
[449] Fix | Delete
* @return void
[450] Fix | Delete
*/
[451] Fix | Delete
public function hide_columns() {
[452] Fix | Delete
// Grab our current user.
[453] Fix | Delete
$user = wp_get_current_user();
[454] Fix | Delete
// Grab our form id.
[455] Fix | Delete
$form_id = absint( $_REQUEST['form_id'] );
[456] Fix | Delete
$hidden = isset( $_POST['hidden'] ) ? explode( ',', esc_html( $_POST['hidden'] ) ) : array();
[457] Fix | Delete
$hidden = array_filter( $hidden );
[458] Fix | Delete
$hidden = array_map( function($field) {
[459] Fix | Delete
if( is_numeric($field) ) {
[460] Fix | Delete
$field = absint($field);
[461] Fix | Delete
}
[462] Fix | Delete
return $field;
[463] Fix | Delete
}, $hidden );
[464] Fix | Delete
update_user_option( $user->ID, 'manageedit-nf_subcolumnshidden-form-' . $form_id, $hidden, true );
[465] Fix | Delete
die();
[466] Fix | Delete
}
[467] Fix | Delete
[468] Fix | Delete
/*
[469] Fix | Delete
* PRIVATE METHODS
[470] Fix | Delete
*/
[471] Fix | Delete
[472] Fix | Delete
private function not_found_message()
[473] Fix | Delete
{
[474] Fix | Delete
if ( ! isset ( $_REQUEST['form_id'] ) || empty( $_REQUEST['form_id'] ) ) {
[475] Fix | Delete
return esc_html__( 'Please select a form to view submissions', 'ninja-forms' );
[476] Fix | Delete
} else {
[477] Fix | Delete
return esc_html__( 'No Submissions Found', 'ninja-forms' );
[478] Fix | Delete
}
[479] Fix | Delete
}
[480] Fix | Delete
[481] Fix | Delete
}
[482] Fix | Delete
[483] Fix | Delete
[484] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function