54 lines
1.6 KiB
PHP
54 lines
1.6 KiB
PHP
<?php
|
|
/**
|
|
* @package WPSEO\Admin\Options\Tabs
|
|
*/
|
|
|
|
/**
|
|
* Class WPSEO_Option_Tabs_Formatter
|
|
*/
|
|
class WPSEO_Option_Tabs_Formatter {
|
|
|
|
/**
|
|
* @param WPSEO_Option_Tabs $option_tabs Option Tabs to get base from.
|
|
* @param WPSEO_Option_Tab $tab Tab to get name from.
|
|
*
|
|
* @return string
|
|
*/
|
|
public function get_tab_view( WPSEO_Option_Tabs $option_tabs, WPSEO_Option_Tab $tab ) {
|
|
return WPSEO_PATH . 'admin/views/tabs/' . $option_tabs->get_base() . '/' . $tab->get_name() . '.php';
|
|
}
|
|
|
|
/**
|
|
* @param WPSEO_Option_Tabs $option_tabs Option Tabs to get tabs from.
|
|
* @param Yoast_Form $yform Yoast Form which is being used in the views.
|
|
* @param array $options Options which are being used in the views.
|
|
*/
|
|
public function run( WPSEO_Option_Tabs $option_tabs, Yoast_Form $yform, $options = array() ) {
|
|
|
|
echo '<h2 class="nav-tab-wrapper" id="wpseo-tabs">';
|
|
foreach ( $option_tabs->get_tabs() as $tab ) {
|
|
printf( '<a class="nav-tab" id="%1$s-tab" href="#top#%1$s">%2$s</a>', $tab->get_name(), $tab->get_label() );
|
|
}
|
|
echo '</h2>';
|
|
|
|
foreach ( $option_tabs->get_tabs() as $tab ) {
|
|
// Prepare the help center for each tab.
|
|
$help_center = new WPSEO_Help_Center( $option_tabs->get_base(), $tab );
|
|
|
|
$identifier = $tab->get_name();
|
|
printf( '<div id="%s" class="wpseotab">', $identifier );
|
|
|
|
// Output the help center.
|
|
$help_center->output_help_center();
|
|
|
|
// Output the settings view for all tabs.
|
|
$tab_view = $this->get_tab_view( $option_tabs, $tab );
|
|
if ( is_file( $tab_view ) ) {
|
|
require_once $tab_view;
|
|
}
|
|
|
|
echo '</div>';
|
|
}
|
|
}
|
|
}
|