PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 2.3.1
GiveWP – Donation Plugin and Fundraising Platform v2.3.1
4.18.0 4.17.0 4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 All 257 releases
give / includes / admin / settings / class-settings-license.php

class-settings-license.php in GiveWP – Donation Plugin and Fundraising Platform 2.3.1, at includes/admin/settings/class-settings-license.php

117 lines 2.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Give Settings Page/Tab
4 *
5 * @package Give
6 * @subpackage Classes/Give_Settings_License
7 * @copyright Copyright (c) 2016, GiveWP
8 * @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
9 * @since 1.8
10 */
11
12 if ( ! defined( 'ABSPATH' ) ) {
13 exit; // Exit if accessed directly.
14 }
15
16 if ( ! class_exists( 'Give_Settings_License' ) ) :
17
18 /**
19 * Give_Settings_License.
20 *
21 * @sine 1.8
22 */
23 class Give_Settings_License extends Give_Settings_Page {
24
25 /**
26 * Constructor.
27 */
28 public function __construct() {
29 $this->id = 'licenses';
30 $this->label = esc_html__( 'Licenses', 'give' );
31
32 parent::__construct();
33
34 // Filter to remove the license tab.
35 add_filter( 'give-settings_tabs_array', array( $this, 'remove_license_tab' ), 9999999, 1 );
36
37 }
38
39 /**
40 * Get settings array.
41 *
42 * @since 1.8
43 * @return array
44 */
45 public function get_settings() {
46 $settings = array();
47
48 /**
49 * Filter the licenses settings.
50 * Backward compatibility: Please do not use this filter. This filter is deprecated in 1.8
51 */
52 $settings = apply_filters( 'give_settings_licenses', $settings );
53
54 /**
55 * Filter the settings.
56 *
57 * @since 1.8
58 *
59 * @param array $settings
60 */
61 $settings = apply_filters( 'give_get_settings_' . $this->id, $settings );
62
63 // Output.
64 return $settings;
65 }
66
67 /**
68 * Remove the license tab if no Give addon
69 * is activated.
70 *
71 * @param array $tabs Give Settings Tabs.
72 *
73 * @since 2.1.4
74 *
75 * @return array
76 */
77 public function remove_license_tab( $tabs ) {
78 /**
79 * Remove the license tab if no Give licensed addon
80 * is activated.
81 */
82 if ( ! $this->is_show_setting_page() ) {
83 unset( $tabs['licenses'] );
84 }
85
86 return $tabs;
87 }
88
89 /**
90 * Returns if at least one Give addon is activated.
91 * Note: note only for internal logic
92 *
93 * @since 2.1.4
94 * @access private
95 *
96 * @return bool
97 */
98 private function is_show_setting_page() {
99 $licensed_addons = Give_License::get_licensed_addons();
100 $activated_plugins = get_option( 'active_plugins', array() );
101
102 // Get list of network enabled plugin.
103 if ( is_multisite() ) {
104 $sitewide_activated_plugins = array_keys( get_site_option( 'active_sitewide_plugins', array() ) );
105 $activated_plugins = ! empty( $activated_plugins )
106 ? array_merge( $sitewide_activated_plugins, $activated_plugins )
107 : $sitewide_activated_plugins;
108 }
109
110 return (bool) count( array_intersect( $activated_plugins, $licensed_addons ) );
111 }
112 }
113
114 endif;
115
116 return new Give_Settings_License();
117