PluginProbe
Posts Table with Search & Sort / 1.3.2
Posts Table with Search & Sort v1.3.2
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 1.3.8 All 39 releases
posts-data-table / src / Plugin.php

Plugin.php in Posts Table with Search & Sort 1.3.2, at src/Plugin.php

83 lines 2.2 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;
3
4 use Barn2\PTS_Lib\Service_Provider,
5 Barn2\PTS_Lib\Registerable,
6 Barn2\PTS_Lib\Plugin\Simple_Plugin,
7 Barn2\PTS_Lib\Util;
8
9 /**
10 * The main plugin class.
11 *
12 * @package Barn2\posts-table-search-sort
13 * @author Barn2 Plugins <support@barn2.co.uk>
14 * @license GPL-3.0
15 * @copyright Barn2 Media Ltd
16 */
17 class Plugin extends Simple_Plugin implements Registerable, Service_Provider {
18
19 const NAME = 'Posts Table with Search and Sort';
20
21 /**
22 * @var array $services
23 */
24 private $services;
25
26 /**
27 * Constructs and initalizes an EDD VAT plugin instance.
28 *
29 * @param string $file The main plugin __FILE__
30 * @param string $version The current plugin version
31 */
32 public function __construct( $file = null, $version = '1.0' ) {
33 parent::__construct(
34 array(
35 'name' => self::NAME,
36 'version' => $version,
37 'file' => $file
38 ) );
39
40 include_once plugin_dir_path( $file ) . 'src/deprecated.php';
41
42 // Services
43 $this->services['shortcode'] = new Table_Shortcode();
44 $this->services['scripts'] = new Frontend_Scripts( $this );
45
46 // Admin only services
47 if ( Util::is_admin() ) {
48 $this->services['admin'] = new Admin\Admin_Controller( $this );
49 }
50 }
51
52 public function register() {
53 add_action( 'plugins_loaded', array( $this, 'maybe_load_plugin' ) );
54 }
55
56 public function maybe_load_plugin() {
57 // Don't load plugin if Pro version active
58 if ( class_exists( '\Posts_Table_Pro_Plugin' ) ) {
59 return;
60 }
61
62 add_action( 'init', array( $this, 'load_textdomain' ) );
63
64 Util::register_services( $this->services );
65 }
66
67 public function load_textdomain() {
68 load_plugin_textdomain( 'posts-data-table', false, $this->get_slug() . '/languages' );
69 }
70
71 public function get_service( $id ) {
72 if ( isset( $this->services[$id] ) ) {
73 return $this->services[$id];
74 }
75 return null;
76 }
77
78 public function get_services() {
79 return $this->services;
80 }
81
82 }
83