| Server IP : 34.67.85.211 / Your IP : 216.73.217.52 Web Server : Apache System : Linux wordpress-1-vm 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64 User : root ( 0) PHP Version : 7.4.9 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /var/www/html/wp-content/plugins/kirki/core/ |
Upload File : |
<?php
/**
* WordPress Customize Setting classes
*
* @package Kirki
* @subpackage Modules
* @since 3.0.0
*/
/**
* Handles saving and sanitizing of user-meta.
*
* @since 3.0.0
* @see WP_Customize_Setting
*/
class Kirki_Setting_User_Meta extends WP_Customize_Setting {
/**
* Type of customize settings.
*
* @access public
* @since 3.0.0
* @var string
*/
public $type = 'user_meta';
/**
* Get the root value for a setting, especially for multidimensional ones.
*
* @access protected
* @since 3.0.0
* @param mixed $default Value to return if root does not exist.
* @return mixed
*/
protected function get_root_value( $default = null ) {
$id_base = $this->id_data['base'];
// Get all user-meta.
// We'll use this to check if the value is set or not,
// in order to figure out if we need to return the default value.
$user_meta = get_user_meta( get_current_user_id() );
// Get the single meta.
$single_meta = get_user_meta( get_current_user_id(), $id_base, true );
if ( isset( $user_meta[ $id_base ] ) ) {
return $single_meta;
}
return $default;
}
/**
* Set the root value for a setting, especially for multidimensional ones.
*
* @access protected
* @since 3.0.0
* @param mixed $value Value to set as root of multidimensional setting.
* @return bool Whether the multidimensional root was updated successfully.
*/
protected function set_root_value( $value ) {
$id_base = $this->id_data['base'];
// First delete the current user-meta.
// We're doing this to avoid duplicate entries.
delete_user_meta( get_current_user_id(), $id_base );
// Update the user-meta.
return update_user_meta( get_current_user_id(), $id_base, $value );
}
/**
* Save the value of the setting, using the related API.
*
* @access protected
* @since 3.0.0
* @param mixed $value The value to update.
* @return bool The result of saving the value.
*/
protected function update( $value ) {
return $this->set_root_value( $value );
}
/**
* Fetch the value of the setting.
*
* @access protected
* @since 3.0.0
* @return mixed The value.
*/
public function value() {
return $this->get_root_value( $this->default );
}
}