class-woothemes-updater-screen.php
2.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<?php
// File Security Check.
if ( ! defined( 'ABSPATH' ) ) exit;
class Woothemes_Updater_Screen {
/**
* Generate header HTML.
* @access public
* @since 1.0.0
* @return void
*/
public static function get_header ( $token = 'woothemes-updater', $screen_icon = 'tools' ) {
do_action( 'woothemes_updater_screen_before', $token, $screen_icon );
$html = '<div class="wrap woothemes-updater-wrap">' . "\n";
$html .= get_screen_icon( $screen_icon );
$html .= '<h2 class="nav-tab-wrapper">' . "\n";
$html .= self::get_navigation_tabs();
$html .= '</h2>' . "\n";
echo $html;
do_action( 'woothemes_updater_screen_header_before_content', $token, $screen_icon );
} // End get_header()
/**
* Generate footer HTML.
* @access public
* @since 1.0.0
* @return void
*/
public static function get_footer ( $token = 'woothemes-updater', $screen_icon = 'tools' ) {
do_action( 'woothemes_updater_screen_footer_after_content', $token, $screen_icon );
$html = '</div><!--/.wrap woothemes-updater-wrap-->' . "\n";
echo $html;
do_action( 'woothemes_updater_screen_after', $token, $screen_icon );
} // End get_footer()
/**
* Generate navigation tabs HTML, based on a specific admin menu.
* @access public
* @since 1.0.0
* @return string/WP_Error
*/
public static function get_navigation_tabs ( $menu_key = 'woothemes' ) {
$html = '';
$screens = Woothemes_Updater_Screen::get_available_screens();
$current_tab = self::get_current_screen();
if ( 0 < count( $screens ) ) {
foreach ( $screens as $k => $v ) {
$class = 'nav-tab';
if ( $current_tab == $k ) {
$class .= ' nav-tab-active';
}
$url = add_query_arg( 'page', 'woothemes-helper', network_admin_url( 'index.php' ) );
$url = add_query_arg( 'screen', $k, $url );
$html .= '<a href="' . esc_url( $url ) . '" class="' . esc_attr( $class ) . '">' . esc_html( $v ) . '</a>';
}
}
return $html;
} // End get_navigation_tabs()
/**
* Return the token for the current screen.
* @access public
* @since 1.2.0
* @return string The token for the current screen.
*/
public static function get_current_screen () {
$screen = 'subscriptions'; // Default.
if ( isset( $_GET['screen'] ) && '' != $_GET['screen'] ) $screen = esc_attr( $_GET['screen'] );
return $screen;
} // End get_current_screen()
/**
* Return an array of available admin screens.
* @access public
* @since 1.2.0
* @return array Available admin screens.
*/
public static function get_available_screens () {
return array(
'subscriptions' => __( 'Subscriptions', 'woothemes-updater' ),
'help' => __( 'Help', 'woothemes-updater' )
);
} // End get_available_screens()
} // End Class
?>