PluginProbe ʕ •ᴥ•ʔ
External Links – nofollow, noopener & new window / trunk
External Links – nofollow, noopener & new window vtrunk
0.31 0.32 0.33 0.34 0.35 1.01 1.02 1.03 1.10 1.20 1.21 1.30 1.31 1.40 1.41 1.50 1.51 1.52 1.53 1.54 1.55 1.56 1.60 1.61 1.62 1.70 1.80 1.81 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.1.0 2.1.1 2.1.2 2.1.3 2.2.0 2.3 2.32 2.35 2.40 2.42 2.43 2.45 2.46 2.47 2.48 2.50 2.51 2.55 2.56 2.57 2.58 2.59 2.60 2.61 2.62 2.63 2.64 2.65 trunk 0.10 0.11 0.12 0.20 0.21 0.30
wp-external-links / includes / admin / network-fields / class-wpel-network-fields.php
wp-external-links / includes / admin / network-fields Last commit date
class-wpel-network-admin-fields.php 1 year ago class-wpel-network-fields.php 1 year ago
class-wpel-network-fields.php
131 lines
1 <?php
2 /**
3 * Class WPEL_Network_Fields
4 *
5 * @package WPEL
6 * @category WordPress Plugin
7 * @version 2.3
8 * @link https://www.webfactoryltd.com/
9 * @license Dual licensed under the MIT and GPLv2+ licenses
10 */
11 final class WPEL_Network_Fields extends FWP_Settings_Section_Base_1x0x0
12 {
13
14 /**
15 * Initialize
16 */
17 protected function init()
18 {
19 $this->set_settings( array(
20 'section_id' => 'wpel-network-fields',
21 'page_id' => 'wpel-network-fields',
22 'option_name' => 'wpel-network-settings',
23 'option_group' => 'wpel-network-settings',
24 'title' => __( 'Multi Site Settings', 'wp-external-links' ),
25 'fields' => array(
26 'capability' => array(
27 'label' => __( 'Capability for individual sites:', 'wp-external-links' ),
28 'default_value' => 'manage_options',
29 ),
30 'default_settings_site' => array(
31 'label' => __( 'Use the settings of this site as default for new sites:', 'wp-external-links' ),
32 'default_value' => '',
33 ),
34 ),
35 ) );
36
37 if ( is_network_admin() ) {
38 add_action( 'network_admin_edit_'. $this->get_setting( 'option_group' ) , $this->get_callback( 'save_network_settings' ) );
39 }
40
41 parent::init();
42 }
43
44 /**
45 * Save network settings
46 * @global type $new_whitelist_options
47 */
48 protected function save_network_settings()
49 {
50 // when calling 'settings_fields' but we must add the '-options' postfix
51 check_admin_referer( $this->get_setting( 'option_group' ) .'-options' );
52
53 global $new_whitelist_options;
54 $option_names = $new_whitelist_options[ $this->get_setting( 'option_group' ) ];
55
56 foreach ( $option_names as $option_name ) {
57 if ( isset( $_POST[ $option_name ] ) ) {
58 $post_values = sanitize_text_field(wp_unslash($_POST[ $option_name ]));
59 $sanitized_values = $this->sanitize( $post_values );
60
61 update_site_option( $option_name, $sanitized_values );
62 } else {
63 delete_site_option( $option_name );
64 }
65 }
66
67 if(isset($_POST['_wp_http_referer'])){
68 $redirect_url = sanitize_url(wp_unslash($_POST['_wp_http_referer']));
69
70 wp_safe_redirect( add_query_arg(
71 array(
72 'page' => $this->get_setting( 'option_group' ) .'-page',
73 'updated' => true
74 )
75 , $redirect_url
76 ) );
77 }
78
79 exit;
80 }
81
82 /**
83 * Show field methods
84 */
85
86 protected function show_capability( array $args )
87 {
88 $this->get_html_fields()->select(
89 $args[ 'key' ]
90 , array(
91 'manage_options' => __( 'Site Admins and Super Admins', 'wp-external-links' ),
92 'manage_network' => __( 'Only Super Admins', 'wp-external-links' ),
93 )
94 );
95 }
96
97 protected function show_default_settings_site( array $args )
98 {
99 $sites = get_sites();
100
101 $values = array();
102 $values[ '' ] = __( '- none -', 'wp-external-links' );
103
104 foreach ( $sites as $site ) {
105 $values[ $site[ 'blog_id' ] ] = 'blog_id: '. $site[ 'blog_id' ] .' - '. $site[ 'path' ];
106 }
107
108 $this->get_html_fields()->select(
109 $args[ 'key' ]
110 , $values
111 );
112 }
113
114 /**
115 * Validate and sanitize user input before saving to databse
116 * @param array $new_values
117 * @param array $old_values
118 * @return array
119 */
120 protected function before_update( array $new_values, array $old_values )
121 {
122 $update_values = $new_values;
123
124 $update_values[ 'capability' ] = sanitize_text_field( $new_values[ 'capability' ] );
125 $update_values[ 'default_settings_site' ] = sanitize_text_field( $new_values[ 'default_settings_site' ] );
126
127 return $update_values;
128 }
129
130 }
131