WordPress.org

Make WordPress Core

Ticket #21303: diff2.patch

File diff2.patch, 9.9 KB (added by bananastalktome, 3 years ago)
  • wp-includes/class-wp-customize-control.php

     
    66 * @subpackage Customize 
    77 * @since 3.4.0 
    88 */ 
    9  
    109class WP_Customize_Control { 
     10        /** 
     11         * @access public 
     12         * @var WP_Customize_Manager 
     13         */ 
    1114        public $manager; 
     15         
     16        /** 
     17         * @access public 
     18         * @var string 
     19         */ 
    1220        public $id; 
    1321 
    14         // All settings tied to the control. 
     22        /** 
     23         * All settings tied to the control. 
     24         * 
     25         * @access public 
     26         * @var array 
     27         */ 
    1528        public $settings; 
    1629 
    17         // The primary setting for the control (if there is one). 
     30        /** 
     31         * The primary setting for the control (if there is one). 
     32         * 
     33         * @access public 
     34         * @var string 
     35         */ 
    1836        public $setting = 'default'; 
    1937 
     38        /** 
     39         * @access public 
     40         * @var int 
     41         */ 
    2042        public $priority          = 10; 
     43         
     44        /** 
     45         * @access public 
     46         * @var string 
     47         */ 
    2148        public $section           = ''; 
     49         
     50        /** 
     51         * @access public 
     52         * @var string 
     53         */ 
    2254        public $label             = ''; 
    23         // @todo: remove choices 
     55         
     56        /** 
     57         * @todo: Remove choices 
     58         * 
     59         * @access public 
     60         * @var array 
     61         */ 
    2462        public $choices           = array(); 
    2563 
     64        /** 
     65         * @access public 
     66         * @var array 
     67         */ 
    2668        public $json = array(); 
    2769 
     70        /** 
     71         * @access public 
     72         * @var string 
     73         */ 
    2874        public $type = 'text'; 
    2975 
    3076 
     
    3480         * If $args['settings'] is not defined, use the $id as the setting ID. 
    3581         * 
    3682         * @since 3.4.0 
     83         * 
     84         * @param WP_Customize_Manager $manager 
     85         * @param string $id 
     86         * @param array $args 
    3787         */ 
    3888        function __construct( $manager, $id, $args = array() ) { 
    3989                $keys = array_keys( get_object_vars( $this ) ); 
     
    75125         * Grabs the main setting by default. 
    76126         * 
    77127         * @since 3.4.0 
     128         * 
     129         * @param string $setting_key 
     130         * @return mixed The requested setting's value, if the setting exists. 
    78131         */ 
    79132        public final function value( $setting_key = 'default' ) { 
    80133                if ( isset( $this->settings[ $setting_key ] ) ) 
     
    119172         * Check capabilities and render the control. 
    120173         * 
    121174         * @since 3.4.0 
     175         * @uses WP_Customize_Control::render() 
    122176         */ 
    123177        public final function maybe_render() { 
    124178                if ( ! $this->check_capabilities() ) 
     
    143197                        <?php $this->render_content(); ?> 
    144198                </li><?php 
    145199        } 
    146  
     200         
     201        /** 
     202         * Get the data link parameter for a setting. 
     203         * 
     204         * @since 3.4.0 
     205         * 
     206         * @param string $setting_key 
     207         * @return string Data link parameter, if $setting_key is a valid setting, empty string otherwise. 
     208         */ 
    147209        public function get_link( $setting_key = 'default' ) { 
    148210                if ( ! isset( $this->settings[ $setting_key ] ) ) 
    149211                        return ''; 
    150212 
    151213                return 'data-customize-setting-link="' . esc_attr( $this->settings[ $setting_key ]->id ) . '"'; 
    152214        } 
    153  
     215         
     216        /** 
     217         * Render the data link parameter for a setting 
     218         * 
     219         * @since 3.4.0 
     220         * @uses WP_Customize_Control::get_link() 
     221         * 
     222         * @param string $setting_key 
     223         */ 
    154224        public function link( $setting_key = 'default' ) { 
    155225                echo $this->get_link( $setting_key ); 
    156226        } 
     
    238308        } 
    239309} 
    240310 
     311/** 
     312 * Customize Color Control Class 
     313 * 
     314 * @package WordPress 
     315 * @subpackage Customize 
     316 * @since 3.4.0 
     317 */ 
    241318class WP_Customize_Color_Control extends WP_Customize_Control { 
     319        /** 
     320         * @access public 
     321         * @var string 
     322         */ 
    242323        public $type = 'color'; 
     324         
     325        /** 
     326         * @access public 
     327         * @var array 
     328         */ 
    243329        public $statuses; 
    244330 
     331        /** 
     332         * Constructor. 
     333         * 
     334         * If $args['settings'] is not defined, use the $id as the setting ID. 
     335         * 
     336         * @since 3.4.0 
     337         * @uses WP_Customize_Control::__construct() 
     338         * 
     339         * @param WP_Customize_Manager $manager 
     340         * @param string $id 
     341         * @param array $args 
     342         */ 
    245343        public function __construct( $manager, $id, $args = array() ) { 
    246344                $this->statuses = array( '' => __('Default') ); 
    247345                parent::__construct( $manager, $id, $args ); 
    248346        } 
    249347 
     348        /** 
     349         * Enqueue control related scripts/styles. 
     350         * 
     351         * @since 3.4.0 
     352         */ 
    250353        public function enqueue() { 
    251354                wp_enqueue_script( 'farbtastic' ); 
    252355                wp_enqueue_style( 'farbtastic' ); 
    253356        } 
    254357 
     358        /** 
     359         * Refresh the parameters passed to the JavaScript via JSON. 
     360         * 
     361         * @since 3.4.0 
     362         * @uses WP_Customize_Control::to_json() 
     363         */ 
    255364        public function to_json() { 
    256365                parent::to_json(); 
    257366                $this->json['statuses'] = $this->statuses; 
    258367        } 
    259368 
     369        /** 
     370         * Render the control's content. 
     371         * 
     372         * @since 3.4.0 
     373         */ 
    260374        public function render_content() { 
    261375                ?> 
    262376                <label> 
     
    276390        } 
    277391} 
    278392 
     393/** 
     394 * Customize Upload Control Class 
     395 * 
     396 * @package WordPress 
     397 * @subpackage Customize 
     398 * @since 3.4.0 
     399 */ 
    279400class WP_Customize_Upload_Control extends WP_Customize_Control { 
    280401        public $type    = 'upload'; 
    281402        public $removed = ''; 
    282403        public $context; 
    283404 
     405        /** 
     406         * Enqueue control related scripts/styles. 
     407         * 
     408         * @since 3.4.0 
     409         */ 
    284410        public function enqueue() { 
    285411                wp_enqueue_script( 'wp-plupload' ); 
    286412        } 
    287  
     413         
     414        /** 
     415         * Refresh the parameters passed to the JavaScript via JSON. 
     416         * 
     417         * @since 3.4.0 
     418         * @uses WP_Customize_Control::to_json() 
     419         */ 
    288420        public function to_json() { 
    289421                parent::to_json(); 
    290422 
     
    294426                        $this->json['context'] = $this->context; 
    295427        } 
    296428 
     429        /** 
     430         * Render the control's content. 
     431         * 
     432         * @since 3.4.0 
     433         */ 
    297434        public function render_content() { 
    298435                ?> 
    299436                <label> 
     
    307444        } 
    308445} 
    309446 
     447/** 
     448 * Customize Image Control Class 
     449 * 
     450 * @package WordPress 
     451 * @subpackage Customize 
     452 * @since 3.4.0 
     453 */ 
    310454class WP_Customize_Image_Control extends WP_Customize_Upload_Control { 
    311455        public $type = 'image'; 
    312456        public $get_url; 
     
    314458 
    315459        protected $tabs = array(); 
    316460 
     461        /** 
     462         * Constructor. 
     463         * 
     464         * If $args['settings'] is not defined, use the $id as the setting ID. 
     465         * 
     466         * @since 3.4.0 
     467         * @uses WP_Customize_Upload_Control::__construct() 
     468         * 
     469         * @param WP_Customize_Manager $manager 
     470         * @param string $id 
     471         * @param array $args 
     472         */ 
    317473        public function __construct( $manager, $id, $args ) { 
    318474                $this->statuses = array( '' => __('No Image') ); 
    319475 
     
    323479                $this->add_tab( 'uploaded',   __('Uploaded'),   array( $this, 'tab_uploaded' ) ); 
    324480        } 
    325481 
     482        /** 
     483         * Refresh the parameters passed to the JavaScript via JSON. 
     484         * 
     485         * @since 3.4.0 
     486         * @uses WP_Customize_Upload_Control::to_json() 
     487         */ 
    326488        public function to_json() { 
    327489                parent::to_json(); 
    328490                $this->json['statuses'] = $this->statuses; 
    329491        } 
    330492 
     493        /** 
     494         * Render the control's content. 
     495         * 
     496         * @since 3.4.0 
     497         */ 
    331498        public function render_content() { 
    332499                $src = $this->value(); 
    333500                if ( isset( $this->get_url ) ) 
     
    372539                </div> 
    373540                <?php 
    374541        } 
    375  
     542         
     543        /** 
     544         * Add a tab to the control. 
     545         * 
     546         * @since 3.4.0 
     547         * 
     548         * @param string $id 
     549         * @param string $label 
     550         * @param mixed $callback 
     551         */ 
    376552        public function add_tab( $id, $label, $callback ) { 
    377553                $this->tabs[ $id ] = array( 
    378554                        'label'    => $label, 
     
    380556                ); 
    381557        } 
    382558 
     559        /** 
     560         * Remove a tab from the control. 
     561         * 
     562         * @since 3.4.0 
     563         * 
     564         * @param string $id 
     565         */ 
    383566        public function remove_tab( $id ) { 
    384567                unset( $this->tabs[ $id ] ); 
    385568        } 
    386569 
     570        /** 
     571         * @since 3.4.0 
     572         */ 
    387573        public function tab_upload_new() { 
    388574                if ( ! _device_can_upload() ) { 
    389575                        ?> 
     
    400586                        <?php 
    401587                } 
    402588        } 
    403  
     589         
     590        /** 
     591         * @since 3.4.0 
     592         */ 
    404593        public function tab_uploaded() { 
    405594                ?> 
    406595                <div class="uploaded-target"></div> 
    407596                <?php 
    408597        } 
    409598 
     599        /** 
     600         * @since 3.4.0 
     601         * 
     602         * @param string $url 
     603         * @param string $thumbnail_url 
     604         */ 
    410605        public function print_tab_image( $url, $thumbnail_url = null ) { 
    411606                $url = set_url_scheme( $url ); 
    412607                $thumbnail_url = ( $thumbnail_url ) ? set_url_scheme( $thumbnail_url ) : $url; 
     
    418613        } 
    419614} 
    420615 
     616/** 
     617 * Customize Background Image Control Class 
     618 * 
     619 * @package WordPress 
     620 * @subpackage Customize 
     621 * @since 3.4.0 
     622 */ 
    421623class WP_Customize_Background_Image_Control extends WP_Customize_Image_Control { 
     624 
     625        /** 
     626         * Constructor. 
     627         * 
     628         * @since 3.4.0 
     629         * @uses WP_Customize_Image_Control::__construct() 
     630         * 
     631         * @param WP_Customize_Manager $manager 
     632         */ 
    422633        public function __construct( $manager ) { 
    423634                parent::__construct( $manager, 'background_image', array( 
    424635                        'label'    => __( 'Background Image' ), 
     
    431642                        $this->add_tab( 'default',  __('Default'),  array( $this, 'tab_default_background' ) ); 
    432643        } 
    433644 
     645        /** 
     646         * @since 3.4.0 
     647         */ 
    434648        public function tab_uploaded() { 
    435649                $backgrounds = get_posts( array( 
    436650                        'post_type'  => 'attachment', 
     
    448662                foreach ( (array) $backgrounds as $background ) 
    449663                        $this->print_tab_image( esc_url_raw( $background->guid ) ); 
    450664        } 
    451  
     665         
     666        /** 
     667         * @since 3.4.0 
     668         * @uses WP_Customize_Image_Control::print_tab_image() 
     669         */ 
    452670        public function tab_default_background() { 
    453671                $this->print_tab_image( $this->setting->default ); 
    454672        } 
    455673} 
    456674 
     675/** 
     676 * Customize Header Image Control Class 
     677 * 
     678 * @package WordPress 
     679 * @subpackage Customize 
     680 * @since 3.4.0 
     681 */ 
    457682class WP_Customize_Header_Image_Control extends WP_Customize_Image_Control { 
     683 
     684        /** 
     685         * Constructor. 
     686         * 
     687         * @since 3.4.0 
     688         * @uses WP_Customize_Image_Control::__construct() 
     689         * @uses WP_Customize_Image_Control::add_tab() 
     690         * 
     691         * @param WP_Customize_Manager $manager 
     692         */ 
    458693        public function __construct( $manager ) { 
    459694                parent::__construct( $manager, 'header_image', array( 
    460695                        'label'    => __( 'Header Image' ), 
     
    477712                $this->add_tab( 'default',  __('Default'),  array( $this, 'tab_default_headers' ) ); 
    478713        } 
    479714 
     715        /** 
     716         * @since 3.4.0 
     717         * 
     718         * @param mixed $choice Which header image to select. (@see Custom_Image_Header::get_header_image() ) 
     719         * @param array $header 
     720         */ 
    480721        public function print_header_image( $choice, $header ) { 
    481722                $header['url']           = set_url_scheme( $header['url'] ); 
    482723                $header['thumbnail_url'] = set_url_scheme( $header['thumbnail_url'] ); 
     
    496737                </a> 
    497738                <?php 
    498739        } 
    499  
     740         
     741        /** 
     742         * @since 3.4.0 
     743         */ 
    500744        public function tab_uploaded() { 
    501745                $headers = get_uploaded_header_images(); 
    502746 
     
    506750                        $this->print_header_image( $choice, $header ); 
    507751        } 
    508752 
     753        /** 
     754         * @since 3.4.0 
     755         */ 
    509756        public function tab_default_headers() { 
    510757                global $custom_image_header; 
    511758                $custom_image_header->process_default_headers();