PluginProbe ʕ •ᴥ•ʔ
Strong Testimonials / 3.3.6
Strong Testimonials v3.3.6
3.3.6 3.3.5 3.3.4 3.3.3 3.3.2 3.3.1 trunk 1.0.1 2.30.9 2.31.10 2.32 2.32.1 2.32.2 2.32.3 2.32.4 2.33 2.34 2.35 2.36 2.37 2.38 2.38.1 2.39 2.39.1 2.39.2 2.39.3 2.40.0 2.40.1 2.40.2 2.40.3 2.40.4 2.40.5 2.40.6 2.40.7 2.41.0 2.41.1 2.50.0 2.50.1 2.50.2 2.50.3 2.50.4 2.51.0 2.51.1 2.51.2 2.51.3 2.51.4 2.51.5 2.51.6 2.51.7 2.51.8 2.51.9 3.0.0 3.0.1 3.0.2 3.0.3 3.1.0 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.20 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.17 3.2.18 3.2.19 3.2.2 3.2.20 3.2.21 3.2.22 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 3.3.0
strong-testimonials / admin / class-strong-testimonials-admin.php
strong-testimonials / admin Last commit date
challenge 1 year ago css 1 month ago img 1 year ago js 2 months ago menu 2 months ago partials 1 month ago rest-api 1 week ago scss 1 year ago settings 1 week ago uninstall 1 year ago wpchill 2 months ago admin-notices.php 7 months ago admin.php 2 months ago class-strong-testimonials-addons.php 2 months ago class-strong-testimonials-admin-category-list.php 1 year ago class-strong-testimonials-admin-list.php 1 year ago class-strong-testimonials-admin-scripts.php 1 week ago class-strong-testimonials-admin.php 2 months ago class-strong-testimonials-debug.php 6 months ago class-strong-testimonials-exporter.php 1 year ago class-strong-testimonials-help.php 1 year ago class-strong-testimonials-helper.php 1 week ago class-strong-testimonials-list-table.php 1 year ago class-strong-testimonials-lite-vs-pro-page.php 2 months ago class-strong-testimonials-post-editor.php 8 months ago class-strong-testimonials-review.php 1 year ago class-strong-testimonials-updater.php 2 months ago class-strong-testimonials-upsell.php 1 month ago class-strong-views-list-table.php 2 months ago class-walker-strong-category-checklist.php 1 year ago class-walker-strong-form-category-checklist.php 1 year ago class-wpmtst-onboarding.php 1 year ago compat.php 1 year ago custom-fields-ajax.php 1 year ago custom-fields.php 1 month ago form-preview.php 1 year ago view-list-order.php 1 year ago views-ajax.php 2 months ago views-validate.php 1 year ago views.php 3 weeks ago
class-strong-testimonials-admin.php
169 lines
1 <?php
2
3
4 class Strong_Testimonials_Admin {
5
6 /**
7 * Holds the class object.
8 *
9 * @since 3.0.3
10 *
11 * @var object
12 */
13 public static $instance;
14
15 /**
16 * WPMTST_Admin_Helpers constructor.
17 *
18 * @since 3.0.3
19 */
20 public function __construct() {
21 add_action( 'admin_enqueue_scripts', array( $this, 'register_script' ) );
22 add_action( 'in_admin_header', array( $this, 'page_header' ) );
23 add_filter( 'views_edit-wpm-testimonial', array( $this, 'add_onboarding_view' ), 20, 1 );
24 }
25
26 /**
27 * Returns the singleton instance of the class.
28 *
29 * @return object The Strong_Testimonials_Admin object.
30 *
31 * @since 3.0.3
32 */
33 public static function get_instance() {
34
35 if ( ! isset( self::$instance ) && ! ( self::$instance instanceof Strong_Testimonials_Admin ) ) {
36 self::$instance = new Strong_Testimonials_Admin();
37 }
38
39 return self::$instance;
40 }
41
42 /**
43 * Display the ST Admin Page Header
44 *
45 * @param bool $extra_class
46 *
47 * @since 3.0.3
48 */
49 public static function page_header() {
50 $current_screen = get_current_screen();
51
52 $allowed_bases = array( 'wpm-testimonial_page_testimonial-settings', 'wpm-testimonial_page_strong-testimonials-extensions' );
53 $show_header = in_array( $current_screen->base, $allowed_bases, true );
54
55 if ( ! apply_filters( 'wpmtst_page_header', $show_header, $current_screen ) ) {
56 return;
57 }
58
59 wp_enqueue_script( 'wpmtst-header' );
60 wp_enqueue_style( 'wpmtst-header' );
61
62 ?>
63 <div id="wpmtst-admin-header-root"></div>
64 <?php
65 }
66
67 public static function render_admin_tabs() {
68 $screen = get_current_screen();
69
70 $screen_to_tab = array(
71 'edit' => 'all-testimonials',
72 'wpm-testimonial_page_testimonial-settings' => 'testimonial-settings',
73 'wpm-testimonial_page_strong-testimonials-extensions' => 'strong-testimonials-extensions',
74 );
75 $active_tab = isset( $screen_to_tab[ $screen->base ] ) ? $screen_to_tab[ $screen->base ] : '';
76
77 $tabs = apply_filters(
78 'wpmtst_admin_tabs',
79 array(
80 'all-testimonials' => array(
81 'label' => esc_html__( 'All Testimonials', 'strong-testimonials' ),
82 'url' => admin_url( 'edit.php?post_type=wpm-testimonial' ),
83 ),
84 'strong-testimonials-extensions' => array(
85 'label' => esc_html__( 'Extensions', 'strong-testimonials' ),
86 'url' => admin_url( 'edit.php?post_type=wpm-testimonial&page=strong-testimonials-extensions' ),
87 ),
88 )
89 );
90
91 echo '<div class="wpmtst-nav-wrapper"><div class="wpmtst-nav-tab-wrapper wp-clearfix">';
92 foreach ( $tabs as $slug => $tab ) {
93 $active = $active_tab === $slug ? ' wpmtst-nav-tab-active' : '';
94 printf(
95 '<a href="%s" class="wpmtst-nav-tab%s">%s</a>',
96 esc_url( $tab['url'] ),
97 esc_attr( $active ),
98 esc_html( $tab['label'] )
99 );
100 }
101 echo '</div></div>';
102 }
103
104 public function register_script() {
105 $plugin_version = get_option( 'wpmtst_plugin_version' );
106
107 /**
108 * Header
109 *
110 * @since 3.0
111 */
112 $header_asset_file = WPMTST_DIR . 'assets/dist/header/index.asset.php';
113 $header_asset = file_exists( $header_asset_file )
114 ? require $header_asset_file
115 : array(
116 'version' => $plugin_version,
117 );
118
119 wp_register_script(
120 'wpmtst-header',
121 WPMTST_ASSETS_JS . 'header/index.js',
122 $header_asset['dependencies'],
123 $header_asset['version'],
124 true
125 );
126
127 wp_register_style(
128 'wpmtst-header',
129 WPMTST_ASSETS_JS . 'header/index.css',
130 array(),
131 $header_asset['version']
132 );
133 }
134
135 public function add_onboarding_view( $views ) {
136 $current_screen = get_current_screen();
137
138 if ( 'wpm-testimonial' !== $current_screen->post_type || ! in_array( $current_screen->base, array( 'edit', 'wpm-testimonial_page_testimonial-settings', 'wpm-testimonial_page_strong-testimonials-extensions' ), true ) ) {
139 return $views;
140 }
141
142 $query = new WP_Query(
143 array(
144 'post_type' => 'wpm-testimonial',
145 'post_status' => array(
146 'publish',
147 'future',
148 'trash',
149 'draft',
150 'inherit',
151 'pending',
152 ),
153 )
154 );
155
156 self::render_admin_tabs();
157
158 if ( ! $query->have_posts() ) {
159 global $wp_list_table;
160 $wp_list_table = new WPMTST_Onboarding();
161
162 return array();
163 }
164
165 return $views;
166 }
167 }
168
169 Strong_Testimonials_Admin::get_instance();