Submit
Path:
~
/
home
/
getwphos
/
www
/
ccma
/
wp-content
/
plugins
/
wordpress-seo
/
admin
/
File Content:
class-yoast-network-settings-api.php
<?php /** * WPSEO plugin file. * * @package WPSEO\Admin\Network */ /** * Implements a network settings API for the plugin's multisite settings. */ class Yoast_Network_Settings_API { /** * Registered network settings. * * @var array */ private $registered_settings = []; /** * Options whitelist, keyed by option group. * * @var array */ private $whitelist_options = []; /** * The singleton instance of this class. * * @var Yoast_Network_Settings_API */ private static $instance = null; /** * Registers a network setting and its data. * * @param string $option_group The group the network option is part of. * @param string $option_name The name of the network option to sanitize and save. * @param array $args { * Optional. Data used to describe the network setting when registered. * * @type callable $sanitize_callback A callback function that sanitizes the network option's value. * @type mixed $default Default value when calling `get_network_option()`. * } * * @return void */ public function register_setting( $option_group, $option_name, $args = [] ) { $defaults = [ 'group' => $option_group, 'sanitize_callback' => null, ]; $args = wp_parse_args( $args, $defaults ); if ( ! isset( $this->whitelist_options[ $option_group ] ) ) { $this->whitelist_options[ $option_group ] = []; } $this->whitelist_options[ $option_group ][] = $option_name; if ( ! empty( $args['sanitize_callback'] ) ) { add_filter( "sanitize_option_{$option_name}", [ $this, 'filter_sanitize_option' ], 10, 2 ); } if ( array_key_exists( 'default', $args ) ) { add_filter( "default_site_option_{$option_name}", [ $this, 'filter_default_option' ], 10, 2 ); } $this->registered_settings[ $option_name ] = $args; } /** * Gets the registered settings and their data. * * @return array Array of $option_name => $data pairs. */ public function get_registered_settings() { return $this->registered_settings; } /** * Gets the whitelisted options for a given option group. * * @param string $option_group Option group. * * @return array List of option names, or empty array if unknown option group. */ public function get_whitelist_options( $option_group ) { if ( ! isset( $this->whitelist_options[ $option_group ] ) ) { return []; } return $this->whitelist_options[ $option_group ]; } /** * Filters sanitization for a network option value. * * This method is added as a filter to `sanitize_option_{$option}` for network options that are * registered with a sanitize callback. * * @param string $value The sanitized option value. * @param string $option The option name. * * @return string The filtered sanitized option value. */ public function filter_sanitize_option( $value, $option ) { if ( empty( $this->registered_settings[ $option ] ) ) { return $value; } return call_user_func( $this->registered_settings[ $option ]['sanitize_callback'], $value ); } /** * Filters the default value for a network option. * * This function is added as a filter to `default_site_option_{$option}` for network options that * are registered with a default. * * @param mixed $default_value Existing default value to return. * @param string $option The option name. * * @return mixed The filtered default value. */ public function filter_default_option( $default_value, $option ) { // If a default value was manually passed to the function, allow it to override. if ( $default_value !== false ) { return $default_value; } if ( empty( $this->registered_settings[ $option ] ) ) { return $default_value; } return $this->registered_settings[ $option ]['default']; } /** * Checks whether the requirements to use this class are met. * * @return bool True if requirements are met, false otherwise. */ public function meets_requirements() { return is_multisite(); } /** * Gets the singleton instance of this class. * * @return Yoast_Network_Settings_API The singleton instance. */ public static function get() { if ( self::$instance === null ) { self::$instance = new self(); } return self::$instance; } }
Submit
FILE
FOLDER
Name
Size
Permission
Action
ajax
---
0755
capabilities
---
0755
endpoints
---
0755
exceptions
---
0755
filters
---
0755
formatter
---
0755
google_search_console
---
0755
import
---
0755
listeners
---
0755
menu
---
0755
metabox
---
0755
notifiers
---
0755
pages
---
0755
roles
---
0755
services
---
0755
statistics
---
0755
taxonomy
---
0755
tracking
---
0755
views
---
0755
watchers
---
0755
admin-settings-changed-listener.php
2445 bytes
0644
ajax.php
11509 bytes
0644
class-admin-asset-analysis-worker-location.php
1849 bytes
0644
class-admin-asset-dev-server-location.php
1672 bytes
0644
class-admin-asset-location.php
488 bytes
0644
class-admin-asset-manager.php
19272 bytes
0644
class-admin-asset-seo-location.php
2126 bytes
0644
class-admin-editor-specific-replace-vars.php
6495 bytes
0644
class-admin-gutenberg-compatibility-notification.php
2610 bytes
0644
class-admin-help-panel.php
2760 bytes
0644
class-admin-init.php
10957 bytes
0644
class-admin-recommended-replace-vars.php
6128 bytes
0644
class-admin-user-profile.php
3347 bytes
0644
class-admin-utils.php
2196 bytes
0644
class-admin.php
13729 bytes
0644
class-asset.php
4079 bytes
0644
class-bulk-description-editor-list-table.php
2100 bytes
0644
class-bulk-editor-list-table.php
30105 bytes
0644
class-bulk-title-editor-list-table.php
2286 bytes
0644
class-collector.php
1005 bytes
0644
class-config.php
5417 bytes
0644
class-database-proxy.php
7684 bytes
0644
class-export.php
3541 bytes
0644
class-expose-shortlinks.php
8791 bytes
0644
class-gutenberg-compatibility.php
2529 bytes
0644
class-meta-columns.php
25474 bytes
0644
class-my-yoast-proxy.php
6287 bytes
0644
class-option-tab.php
2268 bytes
0644
class-option-tabs-formatter.php
2905 bytes
0644
class-option-tabs.php
2311 bytes
0644
class-paper-presenter.php
3600 bytes
0644
class-plugin-availability.php
9186 bytes
0644
class-plugin-conflict.php
4141 bytes
0644
class-premium-popup.php
2874 bytes
0644
class-premium-upsell-admin-block.php
5248 bytes
0644
class-primary-term-admin.php
7524 bytes
0644
class-remote-request.php
3203 bytes
0644
class-schema-person-upgrade-notification.php
2284 bytes
0644
class-suggested-plugins.php
4429 bytes
0644
class-wincher-dashboard-widget.php
3615 bytes
0644
class-yoast-columns.php
3602 bytes
0644
class-yoast-dashboard-widget.php
4055 bytes
0644
class-yoast-form.php
37590 bytes
0644
class-yoast-input-validation.php
10741 bytes
0644
class-yoast-network-admin.php
10208 bytes
0644
class-yoast-network-settings-api.php
4276 bytes
0644
class-yoast-notification-center.php
26418 bytes
0644
class-yoast-notification.php
9893 bytes
0644
class-yoast-notifications.php
7812 bytes
0644
class-yoast-plugin-conflict.php
10576 bytes
0644
index.php
38 bytes
0644
interface-collection.php
257 bytes
0644
interface-installable.php
254 bytes
0644
N4ST4R_ID | Naxtarrr