PluginProbe
Posts Table with Search & Sort / 1.4.13
Posts Table with Search & Sort v1.4.13
1.4.13 trunk 1.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.2 1.3 1.3.1 1.3.1-v2 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 All 40 releases
← All changes | src/Admin/Admin_Controller.php +56 -45 1.3.41.4.13 View file →
@@ -1,67 +1,78 @@
1 1 <?php
2 2 namespace Barn2\Plugin\Posts_Table_Search_Sort\Admin;
3 3
4 -use Barn2\PTS_Lib\Util,
5 - Barn2\PTS_Lib\Plugin\Plugin,
6 - Barn2\PTS_Lib\Registerable,
7 - Barn2\PTS_Lib\Service;
4 +use Barn2\Plugin\Posts_Table_Search_Sort\Dependencies\Lib\Util;
5 +use Barn2\Plugin\Posts_Table_Search_Sort\Dependencies\Lib\Plugin\Plugin;
6 +use Barn2\Plugin\Posts_Table_Search_Sort\Dependencies\Lib\Registerable;
7 +use Barn2\Plugin\Posts_Table_Search_Sort\Dependencies\Lib\Service\Standard_Service;
8 +use Barn2\Plugin\Posts_Table_Search_Sort\Dependencies\Lib\Service\Service_Container;
8 9
9 10 /**
10 11 * Handles general admin functions, such as adding links to our settings page in the Plugins menu.
11 12 *
12 13 * @package Barn2\posts-table-search-sort
13 - * @author Barn2 Plugins <support@barn2.co.uk>
14 + * @author Barn2 Plugins <support@barn2.com>
14 15 * @license GPL-3.0
15 16 * @copyright Barn2 Media Ltd
16 17 */
17 -class Admin_Controller implements Registerable, Service {
18 +class Admin_Controller implements Registerable, Standard_Service {
18 19
19 - private $plugin;
20 - private $settings_page;
20 + use Service_Container;
21 21
22 - public function __construct( Plugin $plugin ) {
23 - $this->plugin = $plugin;
24 - $this->settings_page = new Settings_Page( $plugin );
25 - }
22 + private $plugin;
23 + private $settings_page;
26 24
27 - public function register() {
28 - // Extra links on Plugins page
29 - add_filter( 'plugin_action_links_' . $this->plugin->get_basename(), array( $this, 'add_settings_link' ) );
30 - add_filter( 'plugin_row_meta', array( $this, 'add_pro_version_link' ), 10, 2 );
25 + public function __construct( Plugin $plugin ) {
26 + $this->plugin = $plugin;
27 + // $this->settings_page = new Settings_Page( $plugin );
28 + }
31 29
32 - // Admin scripts
33 - add_action( 'admin_enqueue_scripts', array( $this, 'settings_page_scripts' ) );
30 + public function register() {
31 + $this->register_services();
32 + $this->start_all_services();
33 + // Extra links on Plugins page
34 + add_filter( 'plugin_action_links_' . $this->plugin->get_basename(), [ $this, 'add_settings_link' ] );
35 + add_filter( 'plugin_row_meta', [ $this, 'add_pro_version_link' ], 10, 2 );
34 36
35 - $this->settings_page->register();
36 - }
37 + // Admin scripts
38 + add_action( 'admin_enqueue_scripts', [ $this, 'settings_page_scripts' ] );
37 39
38 - public function add_settings_link( $links ) {
39 - array_unshift(
40 - $links,
41 - sprintf( '<a href="%1$s">%2$s</a>',
42 - esc_url( admin_url( 'options-general.php?page=' . Settings_Page::MENU_SLUG ) ),
43 - esc_html__( 'Settings', 'posts-data-table' )
44 - )
45 - );
46 - return $links;
47 - }
40 + // $this->settings_page->register();
41 + }
48 42
49 - public function add_pro_version_link( $links, $file ) {
50 - if ( $file === $this->plugin->get_basename() ) {
51 - $links[] = sprintf( '<a href="%1$s" target="_blank"><strong>%2$s</strong></a>',
52 - esc_url( 'https://barn2.co.uk/wordpress-plugins/posts-table-pro/' ),
53 - esc_html__( 'Pro Version', 'posts-data-table' )
54 - );
55 - }
43 + public function add_settings_link( $links ) {
44 + array_unshift(
45 + $links,
46 + sprintf(
47 + '<a href="%1$s">%2$s</a>',
48 + esc_url( $this->plugin->get_settings_page_url() ),
49 + esc_html__( 'Settings', 'posts-data-table' )
50 + )
51 + );
52 + return $links;
53 + }
56 54
57 - return $links;
58 - }
55 + public function add_pro_version_link( $links, $file ) {
56 + if ( $file === $this->plugin->get_basename() ) {
57 + $links[] = sprintf(
58 + '<a href="%1$s" target="_blank"><strong>%2$s</strong></a>',
59 + esc_url( 'https://barn2.com/wordpress-plugins/posts-table-pro/?utm_source=settings&utm_medium=settings&utm_campaign=settingsinline&utm_content=ptss-ptp' ),
60 + esc_html__( 'Pro Version', 'posts-data-table' )
61 + );
62 + }
59 63
60 - public function settings_page_scripts( $hook ) {
61 - if ( 'settings_page_posts_table_search_sort' === $hook ) {
62 - $suffix = Util::get_script_suffix();
63 - wp_enqueue_style( 'ptss-admin', plugins_url( "assets/css/admin/posts-data-table-admin{$suffix}.css", $this->plugin->get_file() ), array(), $this->plugin->get_version() );
64 - }
65 - }
64 + return $links;
65 + }
66 +
67 + public function add_services() {
68 + $this->add_service( 'settings_page', new Settings_Page( $this->plugin ) );
69 + }
70 +
71 + public function settings_page_scripts( $hook ) {
72 + if ( 'settings_page_posts_table_search_sort' === $hook ) {
73 + $suffix = Util::get_script_suffix();
74 + wp_enqueue_style( 'ptss-admin', plugins_url( "assets/css/admin/posts-data-table-admin.css", $this->plugin->get_file() ), [], $this->plugin->get_version() );
75 + }
76 + }
66 77
67 78 }