File: /home/holamediaagency/public_html/wp-content/plugins/wpseo-local/classes/admin/class-admin-page.php
<?php
/**
* Yoast SEO: Local plugin file.
*
* @package WPSEO_Local\Admin\
* @since 4.1
* @todo CHECK THE @SINCE VERSION NUMBER!!!!!!!!
*/
if ( ! defined( 'WPSEO_LOCAL_VERSION' ) ) {
header( 'Status: 403 Forbidden' );
header( 'HTTP/1.1 403 Forbidden' );
exit();
}
if ( ! class_exists( 'WPSEO_Local_Admin_Page' ) ) {
/**
* WPSEO_Local_Admin_Page class.
*
* Build the WPSEO Local admin form.
*
* @since 4.0
*/
class WPSEO_Local_Admin_Page {
/**
* Array containing the tabs for the WPSEO Local Admin Page.
*
* @var array
*/
public static $tabs;
/**
* Array containing help center videos.
*
* @var array
*/
public static $videos;
/**
* WPSEO_Local_Admin_Page constructor.
*/
public function __construct() {
add_action( 'admin_init', [ $this, 'set_tabs' ] );
}
/**
* Apply filters on array holding the tabs.
*/
public function set_tabs() {
self::$tabs = apply_filters( 'wpseo_local_admin_tabs', self::$tabs );
}
/**
* Build the WPSEO Local Admin page.
*/
public static function build_page() {
// Admin header.
WPSEO_Local_Admin_Wrappers::admin_header( true, 'yoast_wpseo_local_options', 'wpseo_local' );
// Adding tabs.
self::create_tabs();
self::tab_content();
// Admin footer.
WPSEO_Local_Admin_Wrappers::admin_footer( true, false );
}
/**
* Function to create tabs for general and API settings.
*/
private static function create_tabs() {
echo '<h2 class="nav-tab-wrapper" id="wpseo-tabs">';
foreach ( self::$tabs as $slug => $titles ) {
/**
* Stop building the tab if $titles is not an array.
*
* @var array $titles This should contain an array with at least the tab_title as key.
*/
if ( ! is_array( $titles ) ) {
return;
}
echo '<a class="nav-tab" id="' . $slug . '-tab" href="#top#' . $slug . '">' . $titles['tab_title'] . '</a>';
}
echo '</h2>';
}
/**
* Add content to the admin tabs.
*/
private static function tab_content() {
foreach ( self::$tabs as $slug => $titles ) {
self::section_before( $slug, null, 'wpseotab ' . ( $slug === current( array_keys( self::$tabs ) ) ? 'active' : '' ) );
// @codingStandardsIgnoreLine
do_action( 'Yoast\WP\Local\before_option_content_' . $slug );
self::section_before( 'local-' . $slug, null, 'yoastbox paper tab-block search-appearance' );
self::section_before( 'local-' . $slug . '-container', null, 'paper-container' );
do_action( 'wpseo_local_admin_' . $slug . '_before_title', $slug );
echo '<h2>' . esc_attr( $titles['content_title'] ) . '</h2>';
do_action( 'wpseo_local_admin_' . $slug . '_content', $slug );
self::section_after();
self::section_after();
// End yoastbox.
self::section_after();
}
}
/**
* Use this function to create sections between settings.
*
* @param string $id ID of the section.
* @param string $style Styling for the section.
* @param string $class Class names for the section.
*/
public static function section_before( $id = '', $style = '', $class = '' ) {
echo '<div' . ( isset( $id ) ? ' id="' . $id . '"' : '' ) . '' . ( ! empty( $style ) ? ' style="' . $style . '"' : '' ) . '' . ( ! empty( $class ) ? ' class="' . $class . '"' : '' ) . '>';
}
/**
* Use this function to close a section.
*/
public static function section_after() {
echo '</div>';
}
}
}