Server IP : 104.21.14.48 / Your IP : 18.218.6.132 [ Web Server : Apache System : Linux b70eb322-3aee-0c53-7c82-0db91281f2c6.secureserver.net 6.1.90-1.el9.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 2 12:09:22 EDT 2024 x86_64 User : root ( 0) PHP Version : 8.0.30.2 Disable Function : NONE Domains : 0 Domains MySQL : ON | cURL : ON | WGET : ON | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/wp-content/plugins/wordpress-seo/admin/ |
Upload File : |
<?php /** * WPSEO plugin file. * * @package WPSEO\Admin\Options\Tabs */ /** * Class WPSEO_Option_Tabs. */ class WPSEO_Option_Tabs { /** * Tabs base. * * @var string */ private $base; /** * The tabs in this group. * * @var array */ private $tabs = []; /** * Name of the active tab. * * @var string */ private $active_tab = ''; /** * WPSEO_Option_Tabs constructor. * * @codeCoverageIgnore * * @param string $base Base of the tabs. * @param string $active_tab Currently active tab. */ public function __construct( $base, $active_tab = '' ) { $this->base = sanitize_title( $base ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- Reason: We are not processing form information. $tab = isset( $_GET['tab'] ) && is_string( $_GET['tab'] ) ? sanitize_text_field( wp_unslash( $_GET['tab'] ) ) : ''; $this->active_tab = empty( $tab ) ? $active_tab : $tab; } /** * Get the base. * * @return string */ public function get_base() { return $this->base; } /** * Add a tab. * * @param WPSEO_Option_Tab $tab Tab to add. * * @return $this */ public function add_tab( WPSEO_Option_Tab $tab ) { $this->tabs[] = $tab; return $this; } /** * Get active tab. * * @return WPSEO_Option_Tab|null Get the active tab. */ public function get_active_tab() { if ( empty( $this->active_tab ) ) { return null; } $active_tabs = array_filter( $this->tabs, [ $this, 'is_active_tab' ] ); if ( ! empty( $active_tabs ) ) { $active_tabs = array_values( $active_tabs ); if ( count( $active_tabs ) === 1 ) { return $active_tabs[0]; } } return null; } /** * Is the tab the active tab. * * @param WPSEO_Option_Tab $tab Tab to check for active tab. * * @return bool */ public function is_active_tab( WPSEO_Option_Tab $tab ) { return ( $tab->get_name() === $this->active_tab ); } /** * Get all tabs. * * @return WPSEO_Option_Tab[] */ public function get_tabs() { return $this->tabs; } /** * Display the tabs. * * @param Yoast_Form $yform Yoast Form needed in the views. * * @return void */ public function display( Yoast_Form $yform ) { $formatter = new WPSEO_Option_Tabs_Formatter(); $formatter->run( $this, $yform ); } }