PluginProbe
Posts Table with Search & Sort / 1.3.8
Posts Table with Search & Sort v1.3.8
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
posts-data-table / src / Admin / Admin_Controller.php

Admin_Controller.php in Posts Table with Search & Sort 1.3.8, at src/Admin/Admin_Controller.php

70 lines 2.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Barn2\Plugin\Posts_Table_Search_Sort\Admin;
3
4 use Barn2\PTS_Lib\Util,
5 Barn2\PTS_Lib\Plugin\Plugin,
6 Barn2\PTS_Lib\Registerable,
7 Barn2\PTS_Lib\Service;
8
9 /**
10 * Handles general admin functions, such as adding links to our settings page in the Plugins menu.
11 *
12 * @package Barn2\posts-table-search-sort
13 * @author Barn2 Plugins <support@barn2.com>
14 * @license GPL-3.0
15 * @copyright Barn2 Media Ltd
16 */
17 class Admin_Controller implements Registerable, Service {
18
19 private $plugin;
20 private $settings_page;
21
22 public function __construct( Plugin $plugin ) {
23 $this->plugin = $plugin;
24 $this->settings_page = new Settings_Page( $plugin );
25 }
26
27 public function register() {
28 // Extra links on Plugins page
29 add_filter( 'plugin_action_links_' . $this->plugin->get_basename(), [ $this, 'add_settings_link' ] );
30 add_filter( 'plugin_row_meta', [ $this, 'add_pro_version_link' ], 10, 2 );
31
32 // Admin scripts
33 add_action( 'admin_enqueue_scripts', [ $this, 'settings_page_scripts' ] );
34
35 $this->settings_page->register();
36 }
37
38 public function add_settings_link( $links ) {
39 array_unshift(
40 $links,
41 sprintf(
42 '<a href="%1$s">%2$s</a>',
43 esc_url( $this->plugin->get_settings_page_url() ),
44 esc_html__( 'Settings', 'posts-data-table' )
45 )
46 );
47 return $links;
48 }
49
50 public function add_pro_version_link( $links, $file ) {
51 if ( $file === $this->plugin->get_basename() ) {
52 $links[] = sprintf(
53 '<a href="%1$s" target="_blank"><strong>%2$s</strong></a>',
54 esc_url( 'https://barn2.com/wordpress-plugins/posts-table-pro/?utm_source=settings&utm_medium=settings&utm_campaign=settingsinline&utm_content=ptss-ptp' ),
55 esc_html__( 'Pro Version', 'posts-data-table' )
56 );
57 }
58
59 return $links;
60 }
61
62 public function settings_page_scripts( $hook ) {
63 if ( 'settings_page_posts_table_search_sort' === $hook ) {
64 $suffix = Util::get_script_suffix();
65 wp_enqueue_style( 'ptss-admin', plugins_url( "assets/css/admin/posts-data-table-admin{$suffix}.css", $this->plugin->get_file() ), [], $this->plugin->get_version() );
66 }
67 }
68
69 }
70