| Server IP : 43.130.17.34 / Your IP : 216.73.217.6 Web Server : nginx/1.28.0 System : Linux VM-4-12-opencloudos 6.6.92-34.1.oc9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jun 25 21:32:13 CST 2025 x86_64 User : www ( 1000) PHP Version : 8.0.26 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/yespkg.com/wp-content/plugins/wpforms/src/Pro/Admin/Entries/ |
Upload File : |
<?php
namespace WPForms\Pro\Admin\Entries;
/**
* Class PageOptions.
*
* Handles saving Screen Options for the Entries page.
*
* @since 1.8.6
*/
class PageOptions {
/**
* Primary class constructor.
*
* @since 1.8.6
*/
public function __construct() {
$this->hooks();
}
/**
* Register hooks.
*
* @since 1.8.6
*/
private function hooks() {
// Setup screen options - this needs to run early.
add_action( 'load-wpforms_page_wpforms-entries', [ $this, 'screen_options' ] );
add_filter( 'set-screen-option', [ $this, 'screen_options_set' ], 10, 3 );
add_filter( 'set_screen_option_wpforms_entries_per_page', [ $this, 'screen_options_set' ], 10, 3 );
}
/**
* Add per-page screen option to the Entries table.
*
* @since 1.8.6
*/
public function screen_options() {
if ( ! wpforms_is_admin_page( 'entries', 'list' ) ) {
return;
}
$screen = get_current_screen();
if ( $screen === null || $screen->id !== 'wpforms_page_wpforms-entries' ) {
return;
}
/**
* Filter admin screen option arguments.
*
* @since 1.8.2
*
* @param array $args Option-dependent arguments.
*/
$args = (array) apply_filters( // phpcs:ignore WPForms.PHP.ValidateHooks.InvalidHookName
'wpforms_entries_list_default_screen_option_args',
[
'label' => esc_html__( 'Number of entries per page:', 'wpforms' ),
'option' => 'wpforms_entries_per_page',
'default' => wpforms()->get( 'entry' )->get_count_per_page(),
]
);
add_screen_option( 'per_page', $args );
}
/**
* Entries table per-page screen option value.
*
* @since 1.8.6
*
* @param mixed $status Status.
* @param string $option Options.
* @param mixed $value Value.
*
* @return mixed
*/
public function screen_options_set( $status, $option, $value ) {
if ( $option === 'wpforms_entries_per_page' ) {
return $value;
}
return $status;
}
}