X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/0b8a53f298029318648c37e477703e903dfcb82b..888fa4ed68091f3314f711c5f6fe75858bf5410b:/wp-admin/includes/template.php
diff --git a/wp-admin/includes/template.php b/wp-admin/includes/template.php
index 2f16b3c1..fb581448 100644
--- a/wp-admin/includes/template.php
+++ b/wp-admin/includes/template.php
@@ -8,31 +8,68 @@
* @subpackage Administration
*/
-
//
// Category Checklists
//
/**
- * {@internal Missing Short Description}}
+ * Walker to output an unordered list of category checkbox elements.
*
+ * @see Walker
+ * @see wp_category_checklist()
+ * @see wp_terms_checklist()
* @since 2.5.1
*/
class Walker_Category_Checklist extends Walker {
var $tree_type = 'category';
var $db_fields = array ('parent' => 'parent', 'id' => 'term_id'); //TODO: decouple this
- function start_lvl(&$output, $depth, $args) {
+ /**
+ * Starts the list before the elements are added.
+ *
+ * @see Walker:start_lvl()
+ *
+ * @since 2.5.1
+ *
+ * @param string $output Passed by reference. Used to append additional content.
+ * @param int $depth Depth of category. Used for tab indentation.
+ * @param array $args An array of arguments. @see wp_terms_checklist()
+ */
+ function start_lvl( &$output, $depth = 0, $args = array() ) {
$indent = str_repeat("\t", $depth);
$output .= "$indent
\n";
}
- function end_lvl(&$output, $depth, $args) {
+ /**
+ * Ends the list of after the elements are added.
+ *
+ * @see Walker::end_lvl()
+ *
+ * @since 2.5.1
+ *
+ * @param string $output Passed by reference. Used to append additional content.
+ * @param int $depth Depth of category. Used for tab indentation.
+ * @param array $args An array of arguments. @see wp_terms_checklist()
+ */
+ function end_lvl( &$output, $depth = 0, $args = array() ) {
$indent = str_repeat("\t", $depth);
$output .= "$indent
\n";
}
- function start_el(&$output, $category, $depth, $args) {
+ /**
+ * Start the element output.
+ *
+ * @see Walker::start_el()
+ *
+ * @since 2.5.1
+ *
+ * @param string $output Passed by reference. Used to append additional content.
+ * @param object $category The current term object.
+ * @param int $depth Depth of the term in reference to parents. Default 0.
+ * @param array $args An array of arguments. @see wp_terms_checklist()
+ * @param int $id ID of the current term.
+ */
+ function start_el( &$output, $category, $depth = 0, $args = array(), $id = 0 ) {
extract($args);
if ( empty($taxonomy) )
$taxonomy = 'category';
@@ -43,38 +80,56 @@ class Walker_Category_Checklist extends Walker {
$name = 'tax_input['.$taxonomy.']';
$class = in_array( $category->term_id, $popular_cats ) ? ' class="popular-category"' : '';
- $output .= "\n
" . '';
+
+ /** This filter is documented in wp-includes/category-template.php */
+ $output .= "\n
" . '';
}
- function end_el(&$output, $category, $depth, $args) {
+ /**
+ * Ends the element output, if needed.
+ *
+ * @see Walker::end_el()
+ *
+ * @since 2.5.1
+ *
+ * @param string $output Passed by reference. Used to append additional content.
+ * @param object $category The current term object.
+ * @param int $depth Depth of the term in reference to parents. Default 0.
+ * @param array $args An array of arguments. @see wp_terms_checklist()
+ */
+ function end_el( &$output, $category, $depth = 0, $args = array() ) {
$output .= "
\n";
}
}
/**
- * {@internal Missing Short Description}}
+ * Output an unordered list of checkbox elements labelled
+ * with category names.
*
+ * @see wp_terms_checklist()
* @since 2.5.1
*
- * @param unknown_type $post_id
- * @param unknown_type $descendants_and_self
- * @param unknown_type $selected_cats
- * @param unknown_type $popular_cats
+ * @param int $post_id Mark categories associated with this post as checked. $selected_cats must not be an array.
+ * @param int $descendants_and_self ID of the category to output along with its descendents.
+ * @param bool|array $selected_cats List of categories to mark as checked.
+ * @param bool|array $popular_cats Override the list of categories that receive the "popular-category" class.
+ * @param object $walker Walker object to use to build the output.
+ * @param bool $checked_ontop Move checked items out of the hierarchy and to the top of the list.
*/
function wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false, $popular_cats = false, $walker = null, $checked_ontop = true ) {
- wp_terms_checklist($post_id,
- array(
- 'taxonomy' => 'category',
- 'descendants_and_self' => $descendants_and_self,
- 'selected_cats' => $selected_cats,
- 'popular_cats' => $popular_cats,
- 'walker' => $walker,
- 'checked_ontop' => $checked_ontop
- ));
+ wp_terms_checklist( $post_id, array(
+ 'taxonomy' => 'category',
+ 'descendants_and_self' => $descendants_and_self,
+ 'selected_cats' => $selected_cats,
+ 'popular_cats' => $popular_cats,
+ 'walker' => $walker,
+ 'checked_ontop' => $checked_ontop
+ ) );
}
/**
- * Taxonomy independent version of wp_category_checklist
+ * Output an unordered list of checkbox elements labelled
+ * with term names. Taxonomy independent version of wp_category_checklist().
*
* @since 3.0.0
*
@@ -90,6 +145,19 @@ function wp_terms_checklist($post_id = 0, $args = array()) {
'taxonomy' => 'category',
'checked_ontop' => true
);
+
+ /**
+ * Filter the taxonomy terms checklist arguments.
+ *
+ * @since 3.4.0
+ *
+ * @see wp_terms_checklist()
+ *
+ * @param array $args An array of arguments.
+ * @param int $post_id The post ID.
+ */
+ $args = apply_filters( 'wp_terms_checklist_args', $args, $post_id );
+
extract( wp_parse_args($args, $defaults), EXTR_SKIP );
if ( empty($walker) || !is_a($walker, 'Walker') )
@@ -142,31 +210,32 @@ function wp_terms_checklist($post_id = 0, $args = array()) {
}
/**
- * {@internal Missing Short Description}}
+ * Retrieve a list of the most popular terms from the specified taxonomy.
+ *
+ * If the $echo argument is true then the elements for a list of checkbox
+ * elements labelled with the names of the selected terms is output.
+ * If the $post_ID global isn't empty then the terms associated with that
+ * post will be marked as checked.
*
* @since 2.5.0
*
- * @param unknown_type $taxonomy
- * @param unknown_type $default
- * @param unknown_type $number
- * @param unknown_type $echo
- * @return unknown
+ * @param string $taxonomy Taxonomy to retrieve terms from.
+ * @param int $default Unused.
+ * @param int $number Number of terms to retrieve. Defaults to 10.
+ * @param bool $echo Optionally output the list as well. Defaults to true.
+ * @return array List of popular term IDs.
*/
function wp_popular_terms_checklist( $taxonomy, $default = 0, $number = 10, $echo = true ) {
- global $post_ID;
+ $post = get_post();
- if ( $post_ID )
- $checked_terms = wp_get_object_terms($post_ID, $taxonomy, array('fields'=>'ids'));
+ if ( $post && $post->ID )
+ $checked_terms = wp_get_object_terms($post->ID, $taxonomy, array('fields'=>'ids'));
else
$checked_terms = array();
$terms = get_terms( $taxonomy, array( 'orderby' => 'count', 'order' => 'DESC', 'number' => $number, 'hierarchical' => false ) );
$tax = get_taxonomy($taxonomy);
- if ( ! current_user_can($tax->cap->assign_terms) )
- $disabled = 'disabled="disabled"';
- else
- $disabled = '';
$popular_ids = array();
foreach ( (array) $terms as $term ) {
@@ -179,8 +248,11 @@ function wp_popular_terms_checklist( $taxonomy, $default = 0, $number = 10, $ech
@@ -215,48 +287,14 @@ function wp_link_category_checklist( $link_id = 0 ) {
foreach ( $categories as $category ) {
$cat_id = $category->term_id;
+
+ /** This filter is documented in wp-includes/category-template.php */
$name = esc_html( apply_filters( 'the_category', $category->name ) );
$checked = in_array( $cat_id, $checked_categories ) ? ' checked="checked"' : '';
echo '";
}
}
-/**
- * Get the column headers for a screen
- *
- * @since 2.7.0
- *
- * @param string|object $screen The screen you want the headers for
- * @return array Containing the headers in the format id => UI String
- */
-function get_column_headers( $screen ) {
- if ( is_string( $screen ) )
- $screen = convert_to_screen( $screen );
-
- global $_wp_column_headers;
-
- if ( !isset( $_wp_column_headers[ $screen->id ] ) ) {
- $_wp_column_headers[ $screen->id ] = apply_filters( 'manage_' . $screen->id . '_columns', array() );
- }
-
- return $_wp_column_headers[ $screen->id ];
-}
-
-/**
- * Get a list of hidden columns.
- *
- * @since 2.7.0
- *
- * @param string|object $screen The screen you want the hidden columns for
- * @return array
- */
-function get_hidden_columns( $screen ) {
- if ( is_string( $screen ) )
- $screen = convert_to_screen( $screen );
-
- return (array) get_user_option( 'manage' . $screen->id . 'columnshidden' );
-}
-
// adds hidden fields with the data for use in the inline editor for posts and pages
/**
* {@internal Missing Short Description}}
@@ -267,15 +305,16 @@ function get_hidden_columns( $screen ) {
*/
function get_inline_data($post) {
$post_type_object = get_post_type_object($post->post_type);
- if ( ! current_user_can($post_type_object->cap->edit_post, $post->ID) )
+ if ( ! current_user_can( 'edit_post', $post->ID ) )
return;
$title = esc_textarea( trim( $post->post_title ) );
+ /** This filter is documented in wp-admin/edit-tag-form.php */
echo '