PluginProbe
Members – Membership & User Role Editor Plugin / 3.2.24
Members – Membership & User Role Editor Plugin v3.2.24
3.2.25 3.2.26 3.2.24 3.2.23 3.2.22 3.2.21 trunk 0.1 0.1.1 0.2 0.2.1 0.2.2 0.2.3 0.2.4 0.2.5 1.0.0 1.0.1 1.0.2 1.1.0 1.1.1 1.1.2 1.1.3 2.0.0 2.0.1 2.0.2 All 66 releases
members / admin / functions-settings.php

functions-settings.php in Members – Membership & User Role Editor Plugin 3.2.24, at admin/functions-settings.php

133 lines 3.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Handles settings functionality.
4 *
5 * @package Members
6 * @subpackage Admin
7 * @author The MemberPress Team
8 * @copyright Copyright (c) 2009 - 2018, The MemberPress Team
9 * @link https://members-plugin.com/
10 * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
11 */
12 if (!defined('ABSPATH')) {
13 die('You are not allowed to call this page directly.');
14 }
15
16 # Register settings views.
17 add_action( 'members_register_settings_views', 'members_register_default_settings_views', 5 );
18
19 /**
20 * Registers the plugin's built-in settings views.
21 *
22 * @since 2.0.0
23 * @access public
24 * @param object $manager
25 * @return void
26 */
27 function members_register_default_settings_views( $manager ) {
28
29 // Bail if not on the settings screen.
30 if ( 'members-settings' !== $manager->name )
31 return;
32
33 // Register general settings view (default view).
34 $manager->register_view(
35 new \Members\Admin\View_General(
36 'general',
37 array(
38 'label' => esc_html__( 'General', 'members' ),
39 'priority' => 0
40 )
41 )
42 );
43
44 // Register add-ons view.
45 $manager->register_view(
46 new \Members\Admin\View_Addons(
47 'add-ons',
48 array(
49 'label' => esc_html__( 'Add-Ons', 'members' ),
50 'priority' => 95
51 )
52 )
53 );
54 }
55
56 /**
57 * Conditional function to check if on the plugin's settings page.
58 *
59 * @since 2.0.0
60 * @access public
61 * @return bool
62 */
63 function members_is_settings_page() {
64 $screen = get_current_screen();
65 $prefix = 'members';
66 return is_object( $screen ) && ( $prefix . '_page_members-settings' === $screen->id || 'admin_page_members-settings' === $screen->id );
67 }
68
69 /**
70 * Conditional function to check if an add-on is active.
71 *
72 * @since 2.3.0
73 * @access public
74 * @param string $addon Add-on name/key (e.g. members-block-permissions)
75 * @return bool
76 */
77 function members_is_addon_active( $addon ) {
78 return in_array( $addon, get_option( 'members_active_addons', array() ) );
79 }
80
81 /**
82 * Returns the URL to the settings page.
83 *
84 * @since 2.0.0
85 * @access public
86 * @return string
87 */
88 function members_get_settings_page_url() {
89
90 return add_query_arg( array( 'page' => 'members-settings' ), admin_url( 'admin.php' ) );
91 }
92
93 /**
94 * Returns the URL to a settings view page.
95 *
96 * @since 2.0.0
97 * @access public
98 * @param string $view
99 * @return string
100 */
101 function members_get_settings_view_url( $view ) {
102
103 return add_query_arg( array( 'view' => sanitize_key( $view ) ), members_get_settings_page_url() );
104 }
105
106 /**
107 * Returns the current settings view name.
108 *
109 * @since 2.0.0
110 * @access public
111 * @return string
112 */
113 function members_get_current_settings_view() {
114
115 if ( ! members_is_settings_page() )
116 return '';
117
118 return isset( $_GET['view'] ) ? sanitize_key( $_GET['view'] ) : 'general';
119 }
120
121 /**
122 * Conditional function to check if on a specific settings view page.
123 *
124 * @since 2.0.0
125 * @access public
126 * @param string $view
127 * @return bool
128 */
129 function members_is_settings_view( $view = '' ) {
130
131 return members_is_settings_page() && $view === members_get_current_settings_view();
132 }
133