PluginProbe ʕ •ᴥ•ʔ
External Links – nofollow, noopener & new window / 2.3
External Links – nofollow, noopener & new window v2.3
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 7 years ago class-wpel-network-fields.php 7 years 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 = $_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 $redirect_url = filter_input( INPUT_POST, '_wp_http_referer', FILTER_SANITIZE_STRING );
68
69 wp_redirect( add_query_arg(
70 array(
71 'page' => $this->get_setting( 'option_group' ) .'-page',
72 'updated' => true
73 )
74 , $redirect_url
75 ) );
76
77 exit;
78 }
79
80 /**
81 * Show field methods
82 */
83
84 protected function show_capability( array $args )
85 {
86 $this->get_html_fields()->select(
87 $args[ 'key' ]
88 , array(
89 'manage_options' => __( 'Site Admins and Super Admins', 'wp-external-links' ),
90 'manage_network' => __( 'Only Super Admins', 'wp-external-links' ),
91 )
92 );
93 }
94
95 protected function show_default_settings_site( array $args )
96 {
97 $sites = wp_get_sites();
98
99 $values = array();
100 $values[ '' ] = __( '- none -', 'wp-external-links' );
101
102 foreach ( $sites as $site ) {
103 $values[ $site[ 'blog_id' ] ] = 'blog_id: '. $site[ 'blog_id' ] .' - '. $site[ 'path' ];
104 }
105
106 $this->get_html_fields()->select(
107 $args[ 'key' ]
108 , $values
109 );
110 }
111
112 /**
113 * Validate and sanitize user input before saving to databse
114 * @param array $new_values
115 * @param array $old_values
116 * @return array
117 */
118 protected function before_update( array $new_values, array $old_values )
119 {
120 $update_values = $new_values;
121
122 $update_values[ 'capability' ] = sanitize_text_field( $new_values[ 'capability' ] );
123 $update_values[ 'default_settings_site' ] = sanitize_text_field( $new_values[ 'default_settings_site' ] );
124
125 return $update_values;
126 }
127
128 }
129
130 /*?>*/
131