* @license GPL-3.0 * @copyright Barn2 Media Ltd */ class Admin_Controller implements \Barn2\Lib\Attachable { private $settings_page; public function __construct() { $this->settings_page = new Admin_Settings_Page(); } public function attach() { // Extra links on Plugins page add_filter( 'plugin_action_links_' . PTSS_PLUGIN_BASENAME, array( $this, 'add_settings_link' ) ); add_filter( 'plugin_row_meta', array( $this, 'add_pro_version_link' ), 10, 2 ); add_action( 'admin_enqueue_scripts', array( $this, 'settings_page_scripts' ) ); $this->settings_page->attach(); } public function add_settings_link( $links ) { array_unshift( $links, sprintf( '%2$s', esc_url( admin_url( 'options-general.php?page=' . Admin_Settings_Page::MENU_SLUG ) ), esc_html__( 'Settings', 'posts-data-table' ) ) ); return $links; } public function add_pro_version_link( $links, $file ) { if ( PTSS_PLUGIN_BASENAME == $file ) { $links[] = sprintf( '%2$s', esc_url( 'https://barn2.co.uk/wordpress-plugins/posts-table-pro/' ), esc_html__( 'Pro Version', 'posts-data-table' ) ); } return $links; } public function settings_page_scripts( $hook ) { if ( 'settings_page_posts_table_search_sort' === $hook ) { $suffix = Util::get_script_suffix(); wp_enqueue_style( 'ptss-admin', plugins_url( "assets/css/admin/posts-data-table-admin{$suffix}.css", Plugin::FILE ), array(), Plugin::VERSION ); } } }