This repository has been archived by the owner on Apr 9, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmembers-role-levels.php
134 lines (117 loc) · 3.29 KB
/
members-role-levels.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
<?php
/**
* Plugin Name: Members - Role Levels
* Plugin URI: http://themehybrid.com/plugins/members
* Description: Exposes the old user levels system, which fixes the WordPress author drop-down bug when users don't have a role with one of the assigned levels.
* Version: 1.0.0
* Author: Justin Tadlock
* Author URI: http://justintadlock.com
* Text Domain: members-role-levels
* Domain Path: /languages
*
* This program is free software; you can redistribute it and/or modify it under the terms of the GNU
* General Public License as published by the Free Software Foundation; either version 2 of the License,
* or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
* even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*
* You should have received a copy of the GNU General Public License along with this program; if not,
* write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* @package MembersRoleLevels
* @version 1.0.0
* @author Justin Tadlock <justin@justintadlock.com>
* @copyright Copyright (c) 2015, Justin Tadlock
* @link http://themehybrid.com/plugins/members-role-levels
* @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
*/
/**
* Singleton class for setting up the plugin.
*
* @since 1.0.0
* @access public
*/
final class Members_Role_Levels_Plugin {
/**
* Plugin directory path.
*
* @since 1.0.0
* @access public
* @var string
*/
public $dir_path = '';
/**
* Constructor method.
*
* @since 1.0.0
* @access private
* @return void
*/
private function __construct() {}
/**
* Sets up globals.
*
* @since 1.0.0
* @access public
* @return void
*/
private function setup() {
$this->dir_path = trailingslashit( plugin_dir_path( __FILE__ ) );
}
/**
* Loads files needed by the plugin.
*
* @since 1.0.0
* @access public
* @return void
*/
private function includes() {
if ( is_admin() ) {
require_once( $this->dir_path . 'admin/functions-helpers.php' );
require_once( $this->dir_path . 'admin/class-column-level.php' );
require_once( $this->dir_path . 'admin/class-meta-box-level.php' );
}
}
/**
* Sets up main plugin actions and filters.
*
* @since 1.0.0
* @access public
* @return void
*/
private function setup_actions() {
// Internationalize the text strings used.
add_action( 'plugins_loaded', array( $this, 'i18n' ), 2 );
// Always hide the old user levels in Members.
add_filter( 'members_remove_old_levels', '__return_true', 95 );
}
/**
* Loads the translation files.
*
* @since 1.0.0
* @access public
* @return void
*/
public function i18n() {
load_plugin_textdomain( 'members-role-levels', false, trailingslashit( dirname( plugin_basename( __FILE__ ) ) ). 'languages' );
}
/**
* Returns the instance.
*
* @since 1.0.0
* @access public
* @return object
*/
public static function get_instance() {
static $instance = null;
if ( is_null( $instance ) ) {
$instance = new Members_Role_Levels_Plugin;
$instance->setup();
$instance->includes();
$instance->setup_actions();
}
return $instance;
}
}
Members_Role_Levels_Plugin::get_instance();