Edit File by line
/home/zeestwma/richards.../wp-conte.../plugins/wpforms-.../src/Admin/Payments
File: ScreenOptions.php
<?php
[0] Fix | Delete
[1] Fix | Delete
namespace WPForms\Admin\Payments;
[2] Fix | Delete
[3] Fix | Delete
use WP_Screen;
[4] Fix | Delete
[5] Fix | Delete
/**
[6] Fix | Delete
* Payments screen options.
[7] Fix | Delete
*
[8] Fix | Delete
* @since 1.8.2
[9] Fix | Delete
*/
[10] Fix | Delete
class ScreenOptions {
[11] Fix | Delete
[12] Fix | Delete
/**
[13] Fix | Delete
* Screen id.
[14] Fix | Delete
*
[15] Fix | Delete
* @since 1.8.2
[16] Fix | Delete
*/
[17] Fix | Delete
const SCREEN_ID = 'wpforms_page_wpforms-payments';
[18] Fix | Delete
[19] Fix | Delete
/**
[20] Fix | Delete
* Screen option name.
[21] Fix | Delete
*
[22] Fix | Delete
* @since 1.8.2
[23] Fix | Delete
*/
[24] Fix | Delete
const PER_PAGE = 'wpforms_payments_per_page';
[25] Fix | Delete
[26] Fix | Delete
/**
[27] Fix | Delete
* Screen option name.
[28] Fix | Delete
*
[29] Fix | Delete
* @since 1.8.2
[30] Fix | Delete
*/
[31] Fix | Delete
const SINGLE = 'wpforms_payments_single';
[32] Fix | Delete
[33] Fix | Delete
/**
[34] Fix | Delete
* Initialize.
[35] Fix | Delete
*
[36] Fix | Delete
* @since 1.8.2
[37] Fix | Delete
*/
[38] Fix | Delete
public function init() {
[39] Fix | Delete
[40] Fix | Delete
$this->hooks();
[41] Fix | Delete
}
[42] Fix | Delete
[43] Fix | Delete
/**
[44] Fix | Delete
* Hooks.
[45] Fix | Delete
*
[46] Fix | Delete
* @since 1.8.2
[47] Fix | Delete
*/
[48] Fix | Delete
private function hooks() {
[49] Fix | Delete
[50] Fix | Delete
// Setup screen options - this needs to run early.
[51] Fix | Delete
add_action( 'load-wpforms_page_wpforms-payments', [ $this, 'screen_options' ] );
[52] Fix | Delete
add_filter( 'screen_settings', [ $this, 'single_screen_settings' ], 10, 2 );
[53] Fix | Delete
add_filter( 'set-screen-option', [ $this, 'screen_options_set' ], 10, 3 );
[54] Fix | Delete
add_filter( 'set_screen_option_wpforms_payments_per_page', [ $this, 'screen_options_set' ], 10, 3 );
[55] Fix | Delete
add_filter( 'set_screen_option_wpforms_payments_single', [ $this, 'screen_options_set' ], 10, 3 );
[56] Fix | Delete
}
[57] Fix | Delete
[58] Fix | Delete
/**
[59] Fix | Delete
* Add per-page screen option to the Payments table.
[60] Fix | Delete
*
[61] Fix | Delete
* @since 1.8.2
[62] Fix | Delete
*/
[63] Fix | Delete
public function screen_options() {
[64] Fix | Delete
[65] Fix | Delete
$screen = get_current_screen();
[66] Fix | Delete
[67] Fix | Delete
if ( ! isset( $screen->id ) || $screen->id !== self::SCREEN_ID ) {
[68] Fix | Delete
return;
[69] Fix | Delete
}
[70] Fix | Delete
[71] Fix | Delete
// phpcs:ignore WordPress.Security.NonceVerification.Recommended
[72] Fix | Delete
if ( ! empty( $_GET['view'] ) && $_GET['view'] !== 'payments' ) {
[73] Fix | Delete
return;
[74] Fix | Delete
}
[75] Fix | Delete
[76] Fix | Delete
/**
[77] Fix | Delete
* Filter the number of payments per page default value.
[78] Fix | Delete
*
[79] Fix | Delete
* Notice, the filter will be applied to default value in Screen Options only and still will be able to provide other value.
[80] Fix | Delete
* If you want to change the number of payments per page, use the `wpforms_payments_per_page` filter.
[81] Fix | Delete
*
[82] Fix | Delete
* @since 1.8.2
[83] Fix | Delete
*
[84] Fix | Delete
* @param int $per_page Number of payments per page.
[85] Fix | Delete
*/
[86] Fix | Delete
$per_page = (int) apply_filters( 'wpforms_admin_payments_screen_options_per_page_default', 20 );
[87] Fix | Delete
[88] Fix | Delete
add_screen_option(
[89] Fix | Delete
'per_page',
[90] Fix | Delete
[
[91] Fix | Delete
'label' => esc_html__( 'Number of payments per page:', 'wpforms-lite' ),
[92] Fix | Delete
'option' => self::PER_PAGE,
[93] Fix | Delete
'default' => $per_page,
[94] Fix | Delete
]
[95] Fix | Delete
);
[96] Fix | Delete
}
[97] Fix | Delete
[98] Fix | Delete
/**
[99] Fix | Delete
* Returns the screen options markup for the payment single page.
[100] Fix | Delete
*
[101] Fix | Delete
* @since 1.8.2
[102] Fix | Delete
*
[103] Fix | Delete
* @param string $status The current screen settings.
[104] Fix | Delete
* @param WP_Screen $args WP_Screen object.
[105] Fix | Delete
*
[106] Fix | Delete
* @return string
[107] Fix | Delete
*/
[108] Fix | Delete
public function single_screen_settings( $status, $args ) {
[109] Fix | Delete
[110] Fix | Delete
// phpcs:ignore WordPress.Security.NonceVerification.Recommended
[111] Fix | Delete
if ( $args->id !== self::SCREEN_ID || empty( $_GET['view'] ) || $_GET['view'] !== 'payment' ) {
[112] Fix | Delete
return $status;
[113] Fix | Delete
}
[114] Fix | Delete
[115] Fix | Delete
$screen_options = self::get_single_page_options();
[116] Fix | Delete
$advanced_options = [
[117] Fix | Delete
'advanced' => __( 'Advanced details', 'wpforms-lite' ),
[118] Fix | Delete
'log' => __( 'Log', 'wpforms-lite' ),
[119] Fix | Delete
];
[120] Fix | Delete
[121] Fix | Delete
$output = '<fieldset class="metabox-prefs">';
[122] Fix | Delete
$output .= '<legend>' . esc_html__( 'Additional information', 'wpforms-lite' ) . '</legend>';
[123] Fix | Delete
$output .= '<div>';
[124] Fix | Delete
[125] Fix | Delete
foreach ( $advanced_options as $key => $label ) {
[126] Fix | Delete
$output .= sprintf(
[127] Fix | Delete
'<input name="%1$s" type="checkbox" id="%1$s" value="true" %2$s /><label for="%1$s">%3$s</label>',
[128] Fix | Delete
esc_attr( $key ),
[129] Fix | Delete
! empty( $screen_options[ $key ] ) ? 'checked="checked"' : '',
[130] Fix | Delete
esc_html( $label )
[131] Fix | Delete
);
[132] Fix | Delete
}
[133] Fix | Delete
[134] Fix | Delete
$output .= '</div></fieldset>';
[135] Fix | Delete
$output .= '<p class="submit">';
[136] Fix | Delete
$output .= '<input type="hidden" name="wp_screen_options[option]" value="wpforms_payments_single">';
[137] Fix | Delete
$output .= '<input type="hidden" name="wp_screen_options[value]" value="true">';
[138] Fix | Delete
$output .= '<input type="submit" name="screen-options-apply" id="screen-options-apply" class="button button-primary" value="' . esc_html__( 'Apply', 'wpforms-lite' ) . '">';
[139] Fix | Delete
$output .= wp_nonce_field( 'screen-options-nonce', 'screenoptionnonce', false, false );
[140] Fix | Delete
$output .= '</p>';
[141] Fix | Delete
[142] Fix | Delete
return $output;
[143] Fix | Delete
}
[144] Fix | Delete
[145] Fix | Delete
/**
[146] Fix | Delete
* Get single page screen options.
[147] Fix | Delete
*
[148] Fix | Delete
* @since 1.8.2
[149] Fix | Delete
*
[150] Fix | Delete
* @return false|mixed
[151] Fix | Delete
*/
[152] Fix | Delete
public static function get_single_page_options() {
[153] Fix | Delete
[154] Fix | Delete
return get_user_option( self::SINGLE );
[155] Fix | Delete
}
[156] Fix | Delete
[157] Fix | Delete
/**
[158] Fix | Delete
* Payments table per-page screen option value.
[159] Fix | Delete
*
[160] Fix | Delete
* @since 1.8.2
[161] Fix | Delete
*
[162] Fix | Delete
* @param mixed $status The value to save instead of the option value.
[163] Fix | Delete
* @param string $option Screen option name.
[164] Fix | Delete
* @param mixed $value Screen option value.
[165] Fix | Delete
*
[166] Fix | Delete
* @return mixed
[167] Fix | Delete
*/
[168] Fix | Delete
public function screen_options_set( $status, $option, $value ) {
[169] Fix | Delete
[170] Fix | Delete
if ( $option === self::PER_PAGE ) {
[171] Fix | Delete
return $value;
[172] Fix | Delete
}
[173] Fix | Delete
[174] Fix | Delete
// phpcs:disable WordPress.Security.NonceVerification.Missing
[175] Fix | Delete
if ( $option === self::SINGLE ) {
[176] Fix | Delete
return [
[177] Fix | Delete
'advanced' => isset( $_POST['advanced'] ) && (bool) $_POST['advanced'],
[178] Fix | Delete
'log' => isset( $_POST['log'] ) && (bool) $_POST['log'],
[179] Fix | Delete
];
[180] Fix | Delete
}
[181] Fix | Delete
// phpcs:enable WordPress.Security.NonceVerification.Missing
[182] Fix | Delete
[183] Fix | Delete
return $status;
[184] Fix | Delete
}
[185] Fix | Delete
}
[186] Fix | Delete
[187] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function