Changeset 34241 for trunk/src/wp-admin/includes/template-functions.php
- Timestamp:
- 09/16/2015 03:34:17 PM (10 years ago)
- File:
-
- 1 copied
-
trunk/src/wp-admin/includes/template-functions.php (copied) (copied from trunk/src/wp-admin/includes/template.php) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-admin/includes/template-functions.php
r34238 r34241 7 7 * @package WordPress 8 8 * @subpackage Administration 9 * @since 4.4.0 9 10 */ 10 11 … … 12 13 // Category Checklists 13 14 // 14 15 /**16 * Walker to output an unordered list of category checkbox input elements.17 *18 * @since 2.5.119 *20 * @see Walker21 * @see wp_category_checklist()22 * @see wp_terms_checklist()23 */24 class Walker_Category_Checklist extends Walker {25 public $tree_type = 'category';26 public $db_fields = array ('parent' => 'parent', 'id' => 'term_id'); //TODO: decouple this27 28 /**29 * Starts the list before the elements are added.30 *31 * @see Walker:start_lvl()32 *33 * @since 2.5.134 *35 * @param string $output Passed by reference. Used to append additional content.36 * @param int $depth Depth of category. Used for tab indentation.37 * @param array $args An array of arguments. @see wp_terms_checklist()38 */39 public function start_lvl( &$output, $depth = 0, $args = array() ) {40 $indent = str_repeat("\t", $depth);41 $output .= "$indent<ul class='children'>\n";42 }43 44 /**45 * Ends the list of after the elements are added.46 *47 * @see Walker::end_lvl()48 *49 * @since 2.5.150 *51 * @param string $output Passed by reference. Used to append additional content.52 * @param int $depth Depth of category. Used for tab indentation.53 * @param array $args An array of arguments. @see wp_terms_checklist()54 */55 public function end_lvl( &$output, $depth = 0, $args = array() ) {56 $indent = str_repeat("\t", $depth);57 $output .= "$indent</ul>\n";58 }59 60 /**61 * Start the element output.62 *63 * @see Walker::start_el()64 *65 * @since 2.5.166 *67 * @param string $output Passed by reference. Used to append additional content.68 * @param object $category The current term object.69 * @param int $depth Depth of the term in reference to parents. Default 0.70 * @param array $args An array of arguments. @see wp_terms_checklist()71 * @param int $id ID of the current term.72 */73 public function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {74 if ( empty( $args['taxonomy'] ) ) {75 $taxonomy = 'category';76 } else {77 $taxonomy = $args['taxonomy'];78 }79 80 if ( $taxonomy == 'category' ) {81 $name = 'post_category';82 } else {83 $name = 'tax_input[' . $taxonomy . ']';84 }85 86 $args['popular_cats'] = empty( $args['popular_cats'] ) ? array() : $args['popular_cats'];87 $class = in_array( $category->term_id, $args['popular_cats'] ) ? ' class="popular-category"' : '';88 89 $args['selected_cats'] = empty( $args['selected_cats'] ) ? array() : $args['selected_cats'];90 91 /** This filter is documented in wp-includes/category-template.php */92 if ( ! empty( $args['list_only'] ) ) {93 $aria_cheched = 'false';94 $inner_class = 'category';95 96 if ( in_array( $category->term_id, $args['selected_cats'] ) ) {97 $inner_class .= ' selected';98 $aria_cheched = 'true';99 }100 101 $output .= "\n" . '<li' . $class . '>' .102 '<div class="' . $inner_class . '" data-term-id=' . $category->term_id .103 ' tabindex="0" role="checkbox" aria-checked="' . $aria_cheched . '">' .104 esc_html( apply_filters( 'the_category', $category->name ) ) . '</div>';105 } else {106 $output .= "\n<li id='{$taxonomy}-{$category->term_id}'$class>" .107 '<label class="selectit"><input value="' . $category->term_id . '" type="checkbox" name="'.$name.'[]" id="in-'.$taxonomy.'-' . $category->term_id . '"' .108 checked( in_array( $category->term_id, $args['selected_cats'] ), true, false ) .109 disabled( empty( $args['disabled'] ), false, false ) . ' /> ' .110 esc_html( apply_filters( 'the_category', $category->name ) ) . '</label>';111 }112 }113 114 /**115 * Ends the element output, if needed.116 *117 * @see Walker::end_el()118 *119 * @since 2.5.1120 *121 * @param string $output Passed by reference. Used to append additional content.122 * @param object $category The current term object.123 * @param int $depth Depth of the term in reference to parents. Default 0.124 * @param array $args An array of arguments. @see wp_terms_checklist()125 */126 public function end_el( &$output, $category, $depth = 0, $args = array() ) {127 $output .= "</li>\n";128 }129 }130 15 131 16 /** … … 2016 1901 } 2017 1902 2018 final class WP_Internal_Pointers {2019 /**2020 * Initializes the new feature pointers.2021 *2022 * @since 3.3.02023 *2024 * All pointers can be disabled using the following:2025 * remove_action( 'admin_enqueue_scripts', array( 'WP_Internal_Pointers', 'enqueue_scripts' ) );2026 *2027 * Individual pointers (e.g. wp390_widgets) can be disabled using the following:2028 * remove_action( 'admin_print_footer_scripts', array( 'WP_Internal_Pointers', 'pointer_wp390_widgets' ) );2029 *2030 * @static2031 *2032 * @param string $hook_suffix The current admin page.2033 */2034 public static function enqueue_scripts( $hook_suffix ) {2035 /*2036 * Register feature pointers2037 *2038 * Format:2039 * array(2040 * hook_suffix => pointer callback2041 * )2042 *2043 * Example:2044 * array(2045 * 'themes.php' => 'wp390_widgets'2046 * )2047 */2048 $registered_pointers = array(2049 // None currently2050 );2051 2052 // Check if screen related pointer is registered2053 if ( empty( $registered_pointers[ $hook_suffix ] ) )2054 return;2055 2056 $pointers = (array) $registered_pointers[ $hook_suffix ];2057 2058 /*2059 * Specify required capabilities for feature pointers2060 *2061 * Format:2062 * array(2063 * pointer callback => Array of required capabilities2064 * )2065 *2066 * Example:2067 * array(2068 * 'wp390_widgets' => array( 'edit_theme_options' )2069 * )2070 */2071 $caps_required = array(2072 // None currently2073 );2074 2075 // Get dismissed pointers2076 $dismissed = explode( ',', (string) get_user_meta( get_current_user_id(), 'dismissed_wp_pointers', true ) );2077 2078 $got_pointers = false;2079 foreach ( array_diff( $pointers, $dismissed ) as $pointer ) {2080 if ( isset( $caps_required[ $pointer ] ) ) {2081 foreach ( $caps_required[ $pointer ] as $cap ) {2082 if ( ! current_user_can( $cap ) )2083 continue 2;2084 }2085 }2086 2087 // Bind pointer print function2088 add_action( 'admin_print_footer_scripts', array( 'WP_Internal_Pointers', 'pointer_' . $pointer ) );2089 $got_pointers = true;2090 }2091 2092 if ( ! $got_pointers )2093 return;2094 2095 // Add pointers script and style to queue2096 wp_enqueue_style( 'wp-pointer' );2097 wp_enqueue_script( 'wp-pointer' );2098 }2099 2100 /**2101 * Print the pointer JavaScript data.2102 *2103 * @since 3.3.02104 *2105 * @static2106 *2107 * @param string $pointer_id The pointer ID.2108 * @param string $selector The HTML elements, on which the pointer should be attached.2109 * @param array $args Arguments to be passed to the pointer JS (see wp-pointer.js).2110 */2111 private static function print_js( $pointer_id, $selector, $args ) {2112 if ( empty( $pointer_id ) || empty( $selector ) || empty( $args ) || empty( $args['content'] ) )2113 return;2114 2115 ?>2116 <script type="text/javascript">2117 (function($){2118 var options = <?php echo wp_json_encode( $args ); ?>, setup;2119 2120 if ( ! options )2121 return;2122 2123 options = $.extend( options, {2124 close: function() {2125 $.post( ajaxurl, {2126 pointer: '<?php echo $pointer_id; ?>',2127 action: 'dismiss-wp-pointer'2128 });2129 }2130 });2131 2132 setup = function() {2133 $('<?php echo $selector; ?>').first().pointer( options ).pointer('open');2134 };2135 2136 if ( options.position && options.position.defer_loading )2137 $(window).bind( 'load.wp-pointers', setup );2138 else2139 $(document).ready( setup );2140 2141 })( jQuery );2142 </script>2143 <?php2144 }2145 2146 public static function pointer_wp330_toolbar() {}2147 public static function pointer_wp330_media_uploader() {}2148 public static function pointer_wp330_saving_widgets() {}2149 public static function pointer_wp340_customize_current_theme_link() {}2150 public static function pointer_wp340_choose_image_from_library() {}2151 public static function pointer_wp350_media() {}2152 public static function pointer_wp360_revisions() {}2153 public static function pointer_wp360_locks() {}2154 public static function pointer_wp390_widgets() {}2155 public static function pointer_wp410_dfw() {}2156 2157 /**2158 * Prevents new users from seeing existing 'new feature' pointers.2159 *2160 * @since 3.3.02161 *2162 * @static2163 *2164 * @param int $user_id User ID.2165 */2166 public static function dismiss_pointers_for_new_users( $user_id ) {2167 add_user_meta( $user_id, 'dismissed_wp_pointers', '' );2168 }2169 }2170 2171 1903 /** 2172 1904 * Convert a screen string to a screen object
Note: See TracChangeset
for help on using the changeset viewer.