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-admin-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-admin-fields.php
114 lines
1 <?php
2 /**
3 * Class WPEL_Network_Admin_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_Admin_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-admin-fields',
21 'page_id' => 'wpel-network-admin-fields',
22 'option_name' => 'wpel-network-admin-settings',
23 'option_group' => 'wpel-network-admin-settings',
24 'title' => __( 'Network Admin Settings', 'wp-external-links' ),
25 'fields' => array(
26 'own_admin_menu' => array(
27 'label' => __( 'Main Network Admin Menu:', 'wp-external-links' ),
28 'default_value' => '1',
29 ),
30 ),
31 ) );
32
33 if ( is_network_admin() ) {
34 add_action( 'network_admin_edit_'. $this->get_setting( 'option_group' ) , $this->get_callback( 'save_network_settings' ) );
35 }
36
37 parent::init();
38 }
39
40 protected function save_network_settings()
41 {
42 // when calling 'settings_fields' but we must add the '-options' postfix
43 check_admin_referer( $this->get_setting( 'option_group' ) .'-options' );
44
45 global $new_whitelist_options;
46 $option_names = $new_whitelist_options[ $this->get_setting( 'option_group' ) ];
47
48 foreach ( $option_names as $option_name ) {
49 if ( isset( $_POST[ $option_name ] ) ) {
50 $post_values = sanitize_text_field(wp_unslash($_POST[ $option_name ]));
51 $sanitized_values = $this->sanitize( $post_values );
52
53 update_site_option( $option_name, $sanitized_values );
54 } else {
55 delete_site_option( $option_name );
56 }
57 }
58
59 if(isset($_POST['_wp_http_referer'])){
60 $redirect_url = sanitize_url(wp_unslash($_POST['_wp_http_referer']));
61 wp_safe_redirect( add_query_arg(
62 array(
63 'page' => 'wpel-network-settings-page',
64 'updated' => true
65 )
66 , $redirect_url
67 ) );
68 }
69
70 exit;
71 }
72
73 /**
74 * Show field methods
75 */
76
77 protected function show_own_admin_menu( array $args )
78 {
79 $this->get_html_fields()->check_with_label(
80 $args[ 'key' ]
81 , __( 'Create own network admin menu for this plugin', 'wp-external-links' )
82 , '1'
83 , ''
84 );
85
86 echo ' <p class="description">'
87 . esc_html__( 'Or else it will be added to the "Settings" menu', 'wp-external-links' )
88 .'</p>';
89 }
90
91 /**
92 * Validate and sanitize user input before saving to databse
93 * @param array $new_values
94 * @param array $old_values
95 * @return array
96 */
97 protected function before_update( array $new_values, array $old_values )
98 {
99 $update_values = $new_values;
100 $is_valid = true;
101
102 $is_valid = $is_valid && in_array( $new_values[ 'own_admin_menu' ], array( '', '1' ) );
103
104 if ( false === $is_valid ) {
105 // error when user input is not valid conform the UI, probably tried to "hack"
106 $this->add_error( __( 'Something went wrong. One or more values were invalid.', 'wp-external-links' ) );
107 return $old_values;
108 }
109
110 return $update_values;
111 }
112
113 }
114