X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/16b9f61a8ab25bd6c9fbfd0cea00c7bda22f6a71..9c2096d803812dacbdf6cf8efe90053e39f00b96:/wp-admin/includes/template.php diff --git a/wp-admin/includes/template.php b/wp-admin/includes/template.php index 39f703a2..3d0c1162 100644 --- a/wp-admin/includes/template.php +++ b/wp-admin/includes/template.php @@ -8,423 +8,6 @@ * @subpackage Administration */ -// Ugly recursive category stuff. -/** - * {@internal Missing Short Description}} - * - * @since unknown - * - * @param unknown_type $parent - * @param unknown_type $level - * @param unknown_type $categories - * @param unknown_type $page - * @param unknown_type $per_page - */ -function cat_rows( $parent = 0, $level = 0, $categories = 0, $page = 1, $per_page = 20 ) { - - $count = 0; - - if ( empty($categories) ) { - - $args = array('hide_empty' => 0); - if ( !empty($_GET['s']) ) - $args['search'] = $_GET['s']; - - $categories = get_categories( $args ); - - if ( empty($categories) ) - return false; - } - - $children = _get_term_hierarchy('category'); - - _cat_rows( $parent, $level, $categories, $children, $page, $per_page, $count ); - -} - -/** - * {@internal Missing Short Description}} - * - * @since unknown - * - * @param unknown_type $categories - * @param unknown_type $count - * @param unknown_type $parent - * @param unknown_type $level - * @param unknown_type $page - * @param unknown_type $per_page - * @return unknown - */ -function _cat_rows( $parent = 0, $level = 0, $categories, &$children, $page = 1, $per_page = 20, &$count ) { - - $start = ($page - 1) * $per_page; - $end = $start + $per_page; - ob_start(); - - foreach ( $categories as $key => $category ) { - if ( $count >= $end ) - break; - - if ( $category->parent != $parent && empty($_GET['s']) ) - continue; - - // If the page starts in a subtree, print the parents. - if ( $count == $start && $category->parent > 0 ) { - - $my_parents = array(); - $p = $category->parent; - while ( $p ) { - $my_parent = get_category( $p ); - $my_parents[] = $my_parent; - if ( $my_parent->parent == 0 ) - break; - $p = $my_parent->parent; - } - - $num_parents = count($my_parents); - while( $my_parent = array_pop($my_parents) ) { - echo "\t" . _cat_row( $my_parent, $level - $num_parents ); - $num_parents--; - } - } - - if ( $count >= $start ) - echo "\t" . _cat_row( $category, $level ); - - unset( $categories[ $key ] ); - - $count++; - - if ( isset($children[$category->term_id]) ) - _cat_rows( $category->term_id, $level + 1, $categories, $children, $page, $per_page, $count ); - } - - $output = ob_get_contents(); - ob_end_clean(); - - echo $output; -} - -/** - * {@internal Missing Short Description}} - * - * @since unknown - * - * @param unknown_type $category - * @param unknown_type $level - * @param unknown_type $name_override - * @return unknown - */ -function _cat_row( $category, $level, $name_override = false ) { - static $row_class = ''; - - $category = get_category( $category, OBJECT, 'display' ); - - $default_cat_id = (int) get_option( 'default_category' ); - $pad = str_repeat( '— ', max(0, $level) ); - $name = ( $name_override ? $name_override : $pad . ' ' . $category->name ); - $edit_link = "categories.php?action=edit&cat_ID=$category->term_id"; - if ( current_user_can( 'manage_categories' ) ) { - $edit = "name)) . "'>" . esc_attr( $name ) . '
'; - $actions = array(); - $actions['edit'] = '' . __('Edit') . ''; - $actions['inline hide-if-no-js'] = '' . __('Quick Edit') . ''; - if ( $default_cat_id != $category->term_id ) - $actions['delete'] = "term_id) . "'>" . __('Delete') . ""; - $actions = apply_filters('cat_row_actions', $actions, $category); - $action_count = count($actions); - $i = 0; - $edit .= '
'; - foreach ( $actions as $action => $link ) { - ++$i; - ( $i == $action_count ) ? $sep = '' : $sep = ' | '; - $edit .= "$link$sep"; - } - $edit .= '
'; - } else { - $edit = $name; - } - - $row_class = 'alternate' == $row_class ? '' : 'alternate'; - $qe_data = get_category_to_edit($category->term_id); - - $category->count = number_format_i18n( $category->count ); - $posts_count = ( $category->count > 0 ) ? "$category->count" : $category->count; - $output = ""; - - $columns = get_column_headers('categories'); - $hidden = get_hidden_columns('categories'); - foreach ( $columns as $column_name => $column_display_name ) { - $class = "class=\"$column_name column-$column_name\""; - - $style = ''; - if ( in_array($column_name, $hidden) ) - $style = ' style="display:none;"'; - - $attributes = "$class$style"; - - switch ($column_name) { - case 'cb': - $output .= ""; - if ( $default_cat_id != $category->term_id ) { - $output .= ""; - } else { - $output .= " "; - } - $output .= ''; - break; - case 'name': - $output .= "$edit"; - $output .= ''; - break; - case 'description': - $output .= "$category->description"; - break; - case 'slug': - $output .= "" . apply_filters('editable_slug', $category->slug) . ""; - break; - case 'posts': - $attributes = 'class="posts column-posts num"' . $style; - $output .= "$posts_count\n"; - break; - default: - $output .= ""; - $output .= apply_filters('manage_categories_custom_column', '', $column_name, $category->term_id); - $output .= ""; - } - } - $output .= ''; - - return $output; -} - -/** - * {@internal Missing Short Description}} - * - * @since 2.7 - * - * Outputs the HTML for the hidden table rows used in Categories, Link Caregories and Tags quick edit. - * - * @param string $type "tag", "category" or "link-category" - * @return - */ -function inline_edit_term_row($type) { - - if ( ! current_user_can( 'manage_categories' ) ) - return; - - $is_tag = $type == 'edit-tags'; - $columns = get_column_headers($type); - $hidden = array_intersect( array_keys( $columns ), array_filter( get_hidden_columns($type) ) ); - $col_count = count($columns) - count($hidden); - ?> - -
- -
-name ); - $edit_link = "link-category.php?action=edit&cat_ID=$category->term_id"; - if ( current_user_can( 'manage_categories' ) ) { - $edit = "name)) . "'>$name
"; - $actions = array(); - $actions['edit'] = '' . __('Edit') . ''; - $actions['inline hide-if-no-js'] = '' . __('Quick Edit') . ''; - if ( $default_cat_id != $category->term_id ) - $actions['delete'] = "term_id) . "'>" . __('Delete') . ""; - $actions = apply_filters('link_cat_row_actions', $actions, $category); - $action_count = count($actions); - $i = 0; - $edit .= '
'; - foreach ( $actions as $action => $link ) { - ++$i; - ( $i == $action_count ) ? $sep = '' : $sep = ' | '; - $edit .= "$link$sep"; - } - $edit .= '
'; - } else { - $edit = $name; - } - - $row_class = 'alternate' == $row_class ? '' : 'alternate'; - $qe_data = get_term_to_edit($category->term_id, 'link_category'); - - $category->count = number_format_i18n( $category->count ); - $count = ( $category->count > 0 ) ? "$category->count" : $category->count; - $output = ""; - $columns = get_column_headers('edit-link-categories'); - $hidden = get_hidden_columns('edit-link-categories'); - foreach ( $columns as $column_name => $column_display_name ) { - $class = "class=\"$column_name column-$column_name\""; - - $style = ''; - if ( in_array($column_name, $hidden) ) - $style = ' style="display:none;"'; - - $attributes = "$class$style"; - - switch ($column_name) { - case 'cb': - $output .= ""; - if ( absint( get_option( 'default_link_category' ) ) != $category->term_id ) { - $output .= ""; - } else { - $output .= " "; - } - $output .= ""; - break; - case 'name': - $output .= "$edit"; - $output .= ''; - break; - case 'description': - $output .= "$category->description"; - break; - case 'slug': - $output .= "" . apply_filters('editable_slug', $category->slug) . ""; - break; - case 'links': - $attributes = 'class="links column-links num"' . $style; - $output .= "$count"; - break; - default: - $output .= ""; - $output .= apply_filters('manage_link_categories_custom_column', '', $column_name, $category->term_id); - $output .= ""; - } - } - $output .= ''; - - return $output; -} - -/** - * Outputs the html checked attribute. - * - * Compares the first two arguments and if identical marks as checked - * - * @since 1.0 - * - * @param any $checked One of the values to compare - * @param any $current (true) The other value to compare if not just true - * @param bool $echo Whether or not to echo or just return the string - */ -function checked( $checked, $current = true, $echo = true) { - return __checked_selected_helper( $checked, $current, $echo, 'checked' ); -} - -/** - * Outputs the html selected attribute. - * - * Compares the first two arguments and if identical marks as selected - * - * @since 1.0 - * - * @param any selected One of the values to compare - * @param any $current (true) The other value to compare if not just true - * @param bool $echo Whether or not to echo or just return the string - */ -function selected( $selected, $current = true, $echo = true) { - return __checked_selected_helper( $selected, $current, $echo, 'selected' ); -} - -/** - * Private helper function for checked and selected. - * - * Compares the first two arguments and if identical marks as $type - * - * @since 2.8 - * @access private - * - * @param any $helper One of the values to compare - * @param any $current (true) The other value to compare if not just true - * @param bool $echo Whether or not to echo or just return the string - * @param string $type The type of checked|selected we are doing. - */ -function __checked_selected_helper( $helper, $current, $echo, $type) { - if ( (string) $helper === (string) $current) - $result = " $type='$type'"; - else - $result = ''; - - if ($echo) - echo $result; - - return $result; -} // // Category Checklists @@ -433,23 +16,7 @@ function __checked_selected_helper( $helper, $current, $echo, $type) { /** * {@internal Missing Short Description}} * - * @since unknown - * @deprecated Use {@link wp_link_category_checklist()} - * @see wp_link_category_checklist() - * - * @param unknown_type $default - * @param unknown_type $parent - * @param unknown_type $popular_ids - */ -function dropdown_categories( $default = 0, $parent = 0, $popular_ids = array() ) { - global $post_ID; - wp_category_checklist($post_ID); -} - -/** - * {@internal Missing Short Description}} - * - * @since unknown + * @since 2.5.1 */ class Walker_Category_Checklist extends Walker { var $tree_type = 'category'; @@ -467,9 +34,16 @@ class Walker_Category_Checklist extends Walker { function start_el(&$output, $category, $depth, $args) { extract($args); + if ( empty($taxonomy) ) + $taxonomy = 'category'; + + if ( $taxonomy == 'category' ) + $name = 'post_category'; + else + $name = 'tax_input['.$taxonomy.']'; $class = in_array( $category->term_id, $popular_cats ) ? ' class="popular-category"' : ''; - $output .= "\n
  • " . ''; + $output .= "\n
  • " . ''; } function end_el(&$output, $category, $depth, $args) { @@ -480,7 +54,7 @@ class Walker_Category_Checklist extends Walker { /** * {@internal Missing Short Description}} * - * @since unknown + * @since 2.5.1 * * @param unknown_type $post_id * @param unknown_type $descendants_and_self @@ -488,1821 +62,234 @@ class Walker_Category_Checklist extends Walker { * @param unknown_type $popular_cats */ function wp_category_checklist( $post_id = 0, $descendants_and_self = 0, $selected_cats = false, $popular_cats = false, $walker = null, $checked_ontop = true ) { - if ( empty($walker) || !is_a($walker, 'Walker') ) - $walker = new Walker_Category_Checklist; - - $descendants_and_self = (int) $descendants_and_self; - - $args = array(); - - if ( is_array( $selected_cats ) ) - $args['selected_cats'] = $selected_cats; - elseif ( $post_id ) - $args['selected_cats'] = wp_get_post_categories($post_id); - else - $args['selected_cats'] = array(); - - if ( is_array( $popular_cats ) ) - $args['popular_cats'] = $popular_cats; - else - $args['popular_cats'] = get_terms( 'category', array( 'fields' => 'ids', 'orderby' => 'count', 'order' => 'DESC', 'number' => 10, 'hierarchical' => false ) ); - - if ( $descendants_and_self ) { - $categories = get_categories( "child_of=$descendants_and_self&hierarchical=0&hide_empty=0" ); - $self = get_category( $descendants_and_self ); - array_unshift( $categories, $self ); - } else { - $categories = get_categories('get=all'); - } - - if ( $checked_ontop ) { - // Post process $categories rather than adding an exclude to the get_terms() query to keep the query the same across all posts (for any query cache) - $checked_categories = array(); - $keys = array_keys( $categories ); - - foreach( $keys as $k ) { - if ( in_array( $categories[$k]->term_id, $args['selected_cats'] ) ) { - $checked_categories[] = $categories[$k]; - unset( $categories[$k] ); - } - } - - // Put checked cats on top - echo call_user_func_array(array(&$walker, 'walk'), array($checked_categories, 0, $args)); - } - // Then the rest of them - echo call_user_func_array(array(&$walker, 'walk'), array($categories, 0, $args)); -} - -/** - * {@internal Missing Short Description}} - * - * @since unknown - * - * @param unknown_type $taxonomy - * @param unknown_type $default - * @param unknown_type $number - * @param unknown_type $echo - * @return unknown - */ -function wp_popular_terms_checklist( $taxonomy, $default = 0, $number = 10, $echo = true ) { - global $post_ID; - - if ( $post_ID ) - $checked_categories = wp_get_post_categories($post_ID); - else - $checked_categories = array(); - - $categories = get_terms( $taxonomy, array( 'orderby' => 'count', 'order' => 'DESC', 'number' => $number, 'hierarchical' => false ) ); - - $popular_ids = array(); - foreach ( (array) $categories as $category ) { - $popular_ids[] = $category->term_id; - if ( !$echo ) // hack for AJAX use - continue; - $id = "popular-category-$category->term_id"; - $checked = in_array( $category->term_id, $checked_categories ) ? 'checked="checked"' : ''; - ?> - -
  • - - 'category', + 'descendants_and_self' => $descendants_and_self, + 'selected_cats' => $selected_cats, + 'popular_cats' => $popular_cats, + 'walker' => $walker, + 'checked_ontop' => $checked_ontop + )); } /** - * {@internal Missing Short Description}} + * Taxonomy independent version of wp_category_checklist * - * @since unknown - * @deprecated Use {@link wp_link_category_checklist()} - * @see wp_link_category_checklist() + * @since 3.0.0 * - * @param unknown_type $default + * @param int $post_id + * @param array $args */ -function dropdown_link_categories( $default = 0 ) { - global $link_id; +function wp_terms_checklist($post_id = 0, $args = array()) { + $defaults = array( + 'descendants_and_self' => 0, + 'selected_cats' => false, + 'popular_cats' => false, + 'walker' => null, + 'taxonomy' => 'category', + 'checked_ontop' => true + ); + extract( wp_parse_args($args, $defaults), EXTR_SKIP ); - wp_link_category_checklist($link_id); -} - -/** - * {@internal Missing Short Description}} - * - * @since unknown - * - * @param unknown_type $link_id - */ -function wp_link_category_checklist( $link_id = 0 ) { - $default = 1; + if ( empty($walker) || !is_a($walker, 'Walker') ) + $walker = new Walker_Category_Checklist; - if ( $link_id ) { - $checked_categories = wp_get_link_cats($link_id); + $descendants_and_self = (int) $descendants_and_self; - if ( count( $checked_categories ) == 0 ) { - // No selected categories, strange - $checked_categories[] = $default; - } - } else { - $checked_categories[] = $default; - } + $args = array('taxonomy' => $taxonomy); - $categories = get_terms('link_category', 'orderby=count&hide_empty=0'); + $tax = get_taxonomy($taxonomy); + $args['disabled'] = !current_user_can($tax->cap->assign_terms); - if ( empty($categories) ) - return; - - foreach ( $categories as $category ) { - $cat_id = $category->term_id; - $name = esc_html( apply_filters('the_category', $category->name)); - $checked = in_array( $cat_id, $checked_categories ); - echo '"; - } -} - -// Tag stuff - -// Returns a single tag row (see tag_rows below) -// Note: this is also used in admin-ajax.php! -/** - * {@internal Missing Short Description}} - * - * @since unknown - * - * @param unknown_type $tag - * @param unknown_type $class - * @return unknown - */ -function _tag_row( $tag, $class = '', $taxonomy = 'post_tag' ) { - $count = number_format_i18n( $tag->count ); - $tagsel = ($taxonomy == 'post_tag' ? 'tag' : $taxonomy); - $count = ( $count > 0 ) ? "$count" : $count; - - $name = apply_filters( 'term_name', $tag->name ); - $qe_data = get_term($tag->term_id, $taxonomy, object, 'edit'); - $edit_link = "edit-tags.php?action=edit&taxonomy=$taxonomy&tag_ID=$tag->term_id"; - $out = ''; - $out .= ''; - $columns = get_column_headers('edit-tags'); - $hidden = get_hidden_columns('edit-tags'); - foreach ( $columns as $column_name => $column_display_name ) { - $class = "class=\"$column_name column-$column_name\""; - - $style = ''; - if ( in_array($column_name, $hidden) ) - $style = ' style="display:none;"'; - - $attributes = "$class$style"; - - switch ($column_name) { - case 'cb': - $out .= ' '; - break; - case 'name': - $out .= '' . $name . '
    '; - $actions = array(); - $actions['edit'] = '' . __('Edit') . ''; - $actions['inline hide-if-no-js'] = '' . __('Quick Edit') . ''; - $actions['delete'] = "term_id) . "'>" . __('Delete') . ""; - $actions = apply_filters('tag_row_actions', $actions, $tag); - $action_count = count($actions); - $i = 0; - $out .= '
    '; - foreach ( $actions as $action => $link ) { - ++$i; - ( $i == $action_count ) ? $sep = '' : $sep = ' | '; - $out .= "$link$sep"; - } - $out .= '
    '; - $out .= ''; - break; - case 'description': - $out .= "$tag->description"; - break; - case 'slug': - $out .= "" . apply_filters('editable_slug', $tag->slug) . ""; - break; - case 'posts': - $attributes = 'class="posts column-posts num"' . $style; - $out .= "$count"; - break; - default: - $out .= ""; - $out .= apply_filters("manage_${taxonomy}_custom_column", '', $column_name, $tag->term_id); - $out .= ""; - } - } - - $out .= ''; - - return $out; -} - -// Outputs appropriate rows for the Nth page of the Tag Management screen, -// assuming M tags displayed at a time on the page -// Returns the number of tags displayed -/** - * {@internal Missing Short Description}} - * - * @since unknown - * - * @param unknown_type $page - * @param unknown_type $pagesize - * @param unknown_type $searchterms - * @return unknown - */ -function tag_rows( $page = 1, $pagesize = 20, $searchterms = '', $taxonomy = 'post_tag' ) { - - // Get a page worth of tags - $start = ($page - 1) * $pagesize; - - $args = array('offset' => $start, 'number' => $pagesize, 'hide_empty' => 0); - - if ( !empty( $searchterms ) ) { - $args['search'] = $searchterms; - } - - $tags = get_terms( $taxonomy, $args ); - - // convert it to table rows - $out = ''; - $count = 0; - foreach( $tags as $tag ) - $out .= _tag_row( $tag, ++$count % 2 ? ' class="alternate"' : '', $taxonomy ); - - // filter and send to screen - echo $out; - return $count; -} - -// define the columns to display, the syntax is 'internal name' => 'display name' -/** - * {@internal Missing Short Description}} - * - * @since unknown - * - * @return unknown - */ -function wp_manage_posts_columns() { - $posts_columns = array(); - $posts_columns['cb'] = ''; - /* translators: manage posts column name */ - $posts_columns['title'] = _x('Post', 'column name'); - $posts_columns['author'] = __('Author'); - $posts_columns['categories'] = __('Categories'); - $posts_columns['tags'] = __('Tags'); - $post_status = !empty($_REQUEST['post_status']) ? $_REQUEST['post_status'] : 'all'; - if ( !in_array( $post_status, array('pending', 'draft', 'future') ) ) - $posts_columns['comments'] = '
    Comments
    '; - $posts_columns['date'] = __('Date'); - $posts_columns = apply_filters('manage_posts_columns', $posts_columns); - - return $posts_columns; -} - -// define the columns to display, the syntax is 'internal name' => 'display name' -/** - * {@internal Missing Short Description}} - * - * @since unknown - * - * @return unknown - */ -function wp_manage_media_columns() { - $posts_columns = array(); - $posts_columns['cb'] = ''; - $posts_columns['icon'] = ''; - /* translators: column name */ - $posts_columns['media'] = _x('File', 'column name'); - $posts_columns['author'] = __('Author'); - //$posts_columns['tags'] = _x('Tags', 'column name'); - /* translators: column name */ - $posts_columns['parent'] = _x('Attached to', 'column name'); - $posts_columns['comments'] = '
    Comments
    '; - //$posts_columns['comments'] = __('Comments'); - /* translators: column name */ - $posts_columns['date'] = _x('Date', 'column name'); - $posts_columns = apply_filters('manage_media_columns', $posts_columns); - - return $posts_columns; -} - -/** - * {@internal Missing Short Description}} - * - * @since unknown - * - * @return unknown - */ -function wp_manage_pages_columns() { - $posts_columns = array(); - $posts_columns['cb'] = ''; - $posts_columns['title'] = __('Title'); - $posts_columns['author'] = __('Author'); - $post_status = !empty($_REQUEST['post_status']) ? $_REQUEST['post_status'] : 'all'; - if ( !in_array( $post_status, array('pending', 'draft', 'future') ) ) - $posts_columns['comments'] = '
    '; - $posts_columns['date'] = __('Date'); - $posts_columns = apply_filters('manage_pages_columns', $posts_columns); - - return $posts_columns; -} - -/** - * {@internal Missing Short Description}} - * - * @since unknown - * - * @param unknown_type $page - * @return unknown - */ -function get_column_headers($page) { - global $_wp_column_headers; - - if ( !isset($_wp_column_headers) ) - $_wp_column_headers = array(); - - // Store in static to avoid running filters on each call - if ( isset($_wp_column_headers[$page]) ) - return $_wp_column_headers[$page]; - - switch ($page) { - case 'edit': - $_wp_column_headers[$page] = wp_manage_posts_columns(); - break; - case 'edit-pages': - $_wp_column_headers[$page] = wp_manage_pages_columns(); - break; - case 'edit-comments': - $_wp_column_headers[$page] = array( - 'cb' => '', - 'author' => __('Author'), - /* translators: column name */ - 'comment' => _x('Comment', 'column name'), - //'date' => __('Submitted'), - 'response' => __('In Response To') - ); - - break; - case 'link-manager': - $_wp_column_headers[$page] = array( - 'cb' => '', - 'name' => __('Name'), - 'url' => __('URL'), - 'categories' => __('Categories'), - 'rel' => __('Relationship'), - 'visible' => __('Visible'), - 'rating' => __('Rating') - ); - - break; - case 'upload': - $_wp_column_headers[$page] = wp_manage_media_columns(); - break; - case 'categories': - $_wp_column_headers[$page] = array( - 'cb' => '', - 'name' => __('Name'), - 'description' => __('Description'), - 'slug' => __('Slug'), - 'posts' => __('Posts') - ); - - break; - case 'edit-link-categories': - $_wp_column_headers[$page] = array( - 'cb' => '', - 'name' => __('Name'), - 'description' => __('Description'), - 'slug' => __('Slug'), - 'links' => __('Links') - ); - - break; - case 'edit-tags': - $_wp_column_headers[$page] = array( - 'cb' => '', - 'name' => __('Name'), - 'description' => __('Description'), - 'slug' => __('Slug'), - 'posts' => __('Posts') - ); - - break; - case 'users': - $_wp_column_headers[$page] = array( - 'cb' => '', - 'username' => __('Username'), - 'name' => __('Name'), - 'email' => __('E-mail'), - 'role' => __('Role'), - 'posts' => __('Posts') - ); - break; - default : - $_wp_column_headers[$page] = array(); - } - - $_wp_column_headers[$page] = apply_filters('manage_' . $page . '_columns', $_wp_column_headers[$page]); - return $_wp_column_headers[$page]; -} - -/** - * {@internal Missing Short Description}} - * - * @since unknown - * - * @param unknown_type $type - * @param unknown_type $id - */ -function print_column_headers( $type, $id = true ) { - $type = str_replace('.php', '', $type); - $columns = get_column_headers( $type ); - $hidden = get_hidden_columns($type); - $styles = array(); -// $styles['tag']['posts'] = 'width: 90px;'; -// $styles['link-category']['links'] = 'width: 90px;'; -// $styles['category']['posts'] = 'width: 90px;'; -// $styles['link']['visible'] = 'text-align: center;'; - - foreach ( $columns as $column_key => $column_display_name ) { - $class = ' class="manage-column'; - - $class .= " column-$column_key"; - - if ( 'cb' == $column_key ) - $class .= ' check-column'; - elseif ( in_array($column_key, array('posts', 'comments', 'links')) ) - $class .= ' num'; - - $class .= '"'; - - $style = ''; - if ( in_array($column_key, $hidden) ) - $style = 'display:none;'; - - if ( isset($styles[$type]) && isset($styles[$type][$column_key]) ) - $style .= ' ' . $styles[$type][$column_key]; - $style = ' style="' . $style . '"'; -?> - > - true, 'date' => true, 'title' => true, 'categories' => true, 'tags' => true, 'comments' => true, 'author' => true ); - -?> - -
    - - - " style="display: none"> - -
    - -
    -

    - - - -
    -
    -
    - - - - - - - - - - - - - -
    - -
    -
    - -id, true, $type ); // TODO: ROLE SYSTEM - $authors_dropdown = ''; - if ( $authors && count( $authors ) > 1 ) : - $users_opt = array('include' => $authors, 'name' => 'post_author', 'class'=> 'authors', 'multi' => 1, 'echo' => 0); - if ( $bulk ) - $users_opt['show_option_none'] = __('- No Change -'); - $authors_dropdown = ''; - - endif; // authors -?> - - - -
    - - - - - - -
    - - - -
    - - - -
    - - - - -
      - -
    -
    - - - -
    - - - - - - - - - - - - - - - - - - - - - - - -
    - - - -
    - - - -
    - - - -
    - - - - -
    - - - - - - - - - - - - - - - - -
    - -
    - - $column_display_name ) { - if ( isset( $core_columns[$column_name] ) ) - continue; - do_action( $bulk ? 'bulk_edit_custom_box' : 'quick_edit_custom_box', $column_name, $type); - } -?> -

    - - - - - - - - -
    -

    -
    -post_type, $post->ID) ) - return; - - $title = esc_attr($post->post_title); - - echo ' -'; -} - -/** - * {@internal Missing Short Description}} - * - * @since unknown - * - * @param unknown_type $posts - */ -function post_rows( $posts = array() ) { - global $wp_query, $post, $mode; - - add_filter('the_title','esc_html'); - - // Create array of post IDs. - $post_ids = array(); - - if ( empty($posts) ) - $posts = &$wp_query->posts; - - foreach ( $posts as $a_post ) - $post_ids[] = $a_post->ID; - - $comment_pending_count = get_pending_comments_num($post_ids); - if ( empty($comment_pending_count) ) - $comment_pending_count = array(); - - foreach ( $posts as $post ) { - if ( empty($comment_pending_count[$post->ID]) ) - $comment_pending_count[$post->ID] = 0; - - _post_row($post, $comment_pending_count[$post->ID], $mode); - } -} - -/** - * {@internal Missing Short Description}} - * - * @since unknown - * - * @param unknown_type $a_post - * @param unknown_type $pending_comments - * @param unknown_type $mode - */ -function _post_row($a_post, $pending_comments, $mode) { - global $post, $current_user; - static $rowclass; - - $global_post = $post; - $post = $a_post; - setup_postdata($post); - - $rowclass = 'alternate' == $rowclass ? '' : 'alternate'; - $post_owner = ( $current_user->ID == $post->post_author ? 'self' : 'other' ); - $edit_link = get_edit_post_link( $post->ID ); - $title = _draft_or_post_title(); -?> - post_status ); ?> iedit' valign="top"> -$column_display_name ) { - $class = "class=\"$column_name column-$column_name\""; - - $style = ''; - if ( in_array($column_name, $hidden) ) - $style = ' style="display:none;"'; - - $attributes = "$class$style"; - - switch ($column_name) { - - case 'cb': - ?> - ID ) ) { ?> - post_date && 'date' == $column_name ) { - $t_time = $h_time = __('Unpublished'); - $time_diff = 0; - } else { - $t_time = get_the_time(__('Y/m/d g:i:s A')); - $m_time = $post->post_date; - $time = get_post_time('G', true, $post); - - $time_diff = time() - $time; - - if ( $time_diff > 0 && $time_diff < 24*60*60 ) - $h_time = sprintf( __('%s ago'), human_time_diff( $time ) ); - else - $h_time = mysql2date(__('Y/m/d'), $m_time); - } - - echo ''; - if ( 'excerpt' == $mode ) - echo apply_filters('post_date_column_time', $t_time, $post, $column_name, $mode); - else - echo '' . apply_filters('post_date_column_time', $h_time, $post, $column_name, $mode) . ''; - echo '
    '; - if ( 'publish' == $post->post_status ) { - _e('Published'); - } elseif ( 'future' == $post->post_status ) { - if ( $time_diff > 0 ) - echo '' . __('Missed schedule') . ''; - else - _e('Scheduled'); - } else { - _e('Last Modified'); - } - echo ''; - break; - - case 'title': - $attributes = 'class="post-title column-title"' . $style; - ?> - >ID) && $post->post_status != 'trash' ) { ?> - ID) && 'trash' != $post->post_status ) { - $actions['edit'] = '' . __('Edit') . ''; - $actions['inline hide-if-no-js'] = '' . __('Quick Edit') . ''; - } - if ( current_user_can('delete_post', $post->ID) ) { - if ( 'trash' == $post->post_status ) - $actions['untrash'] = "ID) . "'>" . __('Restore') . ""; - elseif ( EMPTY_TRASH_DAYS ) - $actions['trash'] = "" . __('Trash') . ""; - if ( 'trash' == $post->post_status || !EMPTY_TRASH_DAYS ) - $actions['delete'] = "ID) . "'>" . __('Delete Permanently') . ""; - } - if ( in_array($post->post_status, array('pending', 'draft')) ) { - if ( current_user_can('edit_post', $post->ID) ) - $actions['view'] = '' . __('Preview') . ''; - } elseif ( 'trash' != $post->post_status ) { - $actions['view'] = '' . __('View') . ''; - } - $actions = apply_filters('post_row_actions', $actions, $post); - $action_count = count($actions); - $i = 0; - echo '
    '; - foreach ( $actions as $action => $link ) { - ++$i; - ( $i == $action_count ) ? $sep = '' : $sep = ' | '; - echo "$link$sep"; - } - echo '
    '; - - get_inline_data($post); - ?> - - - >slug'> " . esc_html(sanitize_term_field('name', $c->name, $c->term_id, 'category', 'display')) . ""; - echo join( ', ', $out ); - } else { - _e('Uncategorized'); - } - ?> - - >ID); - if ( !empty( $tags ) ) { - $out = array(); - foreach ( $tags as $c ) - $out[] = " " . esc_html(sanitize_term_field('name', $c->name, $c->term_id, 'post_tag', 'display')) . ""; - echo join( ', ', $out ); - } else { - _e('No Tags'); - } - ?> - - >
    - '; - comments_number("" . /* translators: comment count link */ _x('0', 'comment count') . '', "" . /* translators: comment count link */ _x('1', 'comment count') . '', "" . /* translators: comment count link: % will be substituted by comment count */ _x('%', 'comment count') . ''); - if ( $pending_comments ) - echo ''; - ?> -
    - - > - - - - ID) ) { echo "" . __('Edit') . ""; } ?> - - ID) ) { echo "ID) . "' class='delete'>" . __('Delete') . ""; } ?> - - >ID); ?> - - -post_parent > 0 ) { - //sent level 0 by accident, by default, or because we don't know the actual level - $find_main_page = (int)$page->post_parent; - while ( $find_main_page > 0 ) { - $parent = get_page($find_main_page); - - if ( is_null($parent) ) - break; - - $level++; - $find_main_page = (int)$parent->post_parent; - - if ( !isset($parent_name) ) - $parent_name = $parent->post_title; - } - } - - $page->post_title = esc_html( $page->post_title ); - $pad = str_repeat( '— ', $level ); - $id = (int) $page->ID; - $rowclass = 'alternate' == $rowclass ? '' : 'alternate'; - $posts_columns = get_column_headers('edit-pages'); - $hidden = get_hidden_columns('edit-pages'); - $title = _draft_or_post_title(); -?> - -$column_display_name) { - $class = "class=\"$column_name column-$column_name\""; - - $style = ''; - if ( in_array($column_name, $hidden) ) - $style = ' style="display:none;"'; - - $attributes = "$class$style"; - - switch ($column_name) { - - case 'cb': - ?> - - post_date && 'date' == $column_name ) { - $t_time = $h_time = __('Unpublished'); - $time_diff = 0; - } else { - $t_time = get_the_time(__('Y/m/d g:i:s A')); - $m_time = $page->post_date; - $time = get_post_time('G', true); - - $time_diff = time() - $time; - - if ( $time_diff > 0 && $time_diff < 24*60*60 ) - $h_time = sprintf( __('%s ago'), human_time_diff( $time ) ); - else - $h_time = mysql2date(__('Y/m/d'), $m_time); - } - echo ''; - echo '' . apply_filters('post_date_column_time', $h_time, $page, $column_name, '') . ''; - echo '
    '; - if ( 'publish' == $page->post_status ) { - _e('Published'); - } elseif ( 'future' == $page->post_status ) { - if ( $time_diff > 0 ) - echo '' . __('Missed schedule') . ''; - else - _e('Scheduled'); - } else { - _e('Last Modified'); - } - echo ''; - break; - case 'title': - $attributes = 'class="post-title page-title column-title"' . $style; - $edit_link = get_edit_post_link( $page->ID ); - ?> - >ID) && $post->post_status != 'trash' ) { ?> - ID) && $post->post_status != 'trash' ) { - $actions['edit'] = '' . __('Edit') . ''; - $actions['inline'] = '' . __('Quick Edit') . ''; - } - if ( current_user_can('delete_page', $page->ID) ) { - if ( $post->post_status == 'trash' ) - $actions['untrash'] = "ID) . "'>" . __('Restore') . ""; - elseif ( EMPTY_TRASH_DAYS ) - $actions['trash'] = "" . __('Trash') . ""; - if ( $post->post_status == 'trash' || !EMPTY_TRASH_DAYS ) - $actions['delete'] = "ID) . "'>" . __('Delete Permanently') . ""; - } - if ( in_array($post->post_status, array('pending', 'draft')) ) { - if ( current_user_can('edit_page', $page->ID) ) - $actions['view'] = '' . __('Preview') . ''; - } elseif ( $post->post_status != 'trash' ) { - $actions['view'] = '' . __('View') . ''; - } - $actions = apply_filters('page_row_actions', $actions, $page); - $action_count = count($actions); - - $i = 0; - echo '
    '; - foreach ( $actions as $action => $link ) { - ++$i; - ( $i == $action_count ) ? $sep = '' : $sep = ' | '; - echo "$link$sep"; - } - echo '
    '; - - get_inline_data($post); - echo ''; - break; - - case 'comments': - ?> - >
    - ID ); - $pending_phrase = sprintf( __('%s pending'), number_format( $left ) ); - if ( $left ) - echo ''; - comments_number("" . /* translators: comment count link */ _x('0', 'comment count') . '', "" . /* translators: comment count link */ _x('1', 'comment count') . '', "" . /* translators: comment count link: % will be substituted by comment count */ _x('%', 'comment count') . ''); - if ( $left ) - echo ''; - ?> -
    - - > - - > - - - - - 'menu_order') ); - - if ( ! $pages ) - return false; - } - - /* - * arrange pages into two parts: top level pages and children_pages - * children_pages is two dimensional array, eg. - * children_pages[10][] contains all sub-pages whose parent is 10. - * It only takes O(N) to arrange this and it takes O(1) for subsequent lookup operations - * If searching, ignore hierarchy and treat everything as top level - */ - if ( empty($_GET['s']) ) { - - $top_level_pages = array(); - $children_pages = array(); - - foreach ( $pages as $page ) { - - // catch and repair bad pages - if ( $page->post_parent == $page->ID ) { - $page->post_parent = 0; - $wpdb->query( $wpdb->prepare("UPDATE $wpdb->posts SET post_parent = '0' WHERE ID = %d", $page->ID) ); - clean_page_cache( $page->ID ); - } - - if ( 0 == $page->post_parent ) - $top_level_pages[] = $page; - else - $children_pages[ $page->post_parent ][] = $page; - } - - $pages = &$top_level_pages; - } - - $count = 0; - $start = ($pagenum - 1) * $per_page; - $end = $start + $per_page; - - foreach ( $pages as $page ) { - if ( $count >= $end ) - break; - - if ( $count >= $start ) - echo "\t" . display_page_row( $page, $level ); - - $count++; - - if ( isset($children_pages) ) - _page_rows( $children_pages, $count, $page->ID, $level + 1, $pagenum, $per_page ); - } - - // if it is the last pagenum and there are orphaned pages, display them with paging as well - if ( isset($children_pages) && $count < $end ){ - foreach( $children_pages as $orphans ){ - foreach ( $orphans as $op ) { - if ( $count >= $end ) - break; - if ( $count >= $start ) - echo "\t" . display_page_row( $op, 0 ); - $count++; - } - } - } -} - -/* - * Given a top level page ID, display the nested hierarchy of sub-pages - * together with paging support - */ -/** - * {@internal Missing Short Description}} - * - * @since unknown - * - * @param unknown_type $children_pages - * @param unknown_type $count - * @param unknown_type $parent - * @param unknown_type $level - * @param unknown_type $pagenum - * @param unknown_type $per_page - */ -function _page_rows( &$children_pages, &$count, $parent, $level, $pagenum, $per_page ) { - - if ( ! isset( $children_pages[$parent] ) ) - return; + if ( is_array( $selected_cats ) ) + $args['selected_cats'] = $selected_cats; + elseif ( $post_id ) + $args['selected_cats'] = wp_get_object_terms($post_id, $taxonomy, array_merge($args, array('fields' => 'ids'))); + else + $args['selected_cats'] = array(); - $start = ($pagenum - 1) * $per_page; - $end = $start + $per_page; + if ( is_array( $popular_cats ) ) + $args['popular_cats'] = $popular_cats; + else + $args['popular_cats'] = get_terms( $taxonomy, array( 'fields' => 'ids', 'orderby' => 'count', 'order' => 'DESC', 'number' => 10, 'hierarchical' => false ) ); - foreach ( $children_pages[$parent] as $page ) { + if ( $descendants_and_self ) { + $categories = (array) get_terms($taxonomy, array( 'child_of' => $descendants_and_self, 'hierarchical' => 0, 'hide_empty' => 0 ) ); + $self = get_term( $descendants_and_self, $taxonomy ); + array_unshift( $categories, $self ); + } else { + $categories = (array) get_terms($taxonomy, array('get' => 'all')); + } - if ( $count >= $end ) - break; + if ( $checked_ontop ) { + // Post process $categories rather than adding an exclude to the get_terms() query to keep the query the same across all posts (for any query cache) + $checked_categories = array(); + $keys = array_keys( $categories ); - // If the page starts in a subtree, print the parents. - if ( $count == $start && $page->post_parent > 0 ) { - $my_parents = array(); - $my_parent = $page->post_parent; - while ( $my_parent) { - $my_parent = get_post($my_parent); - $my_parents[] = $my_parent; - if ( !$my_parent->post_parent ) - break; - $my_parent = $my_parent->post_parent; - } - $num_parents = count($my_parents); - while( $my_parent = array_pop($my_parents) ) { - echo "\t" . display_page_row( $my_parent, $level - $num_parents ); - $num_parents--; + foreach( $keys as $k ) { + if ( in_array( $categories[$k]->term_id, $args['selected_cats'] ) ) { + $checked_categories[] = $categories[$k]; + unset( $categories[$k] ); } } - if ( $count >= $start ) - echo "\t" . display_page_row( $page, $level ); - - $count++; - - _page_rows( $children_pages, $count, $page->ID, $level + 1, $pagenum, $per_page ); + // Put checked cats on top + echo call_user_func_array(array(&$walker, 'walk'), array($checked_categories, 0, $args)); } - - unset( $children_pages[$parent] ); //required in order to keep track of orphans + // Then the rest of them + echo call_user_func_array(array(&$walker, 'walk'), array($categories, 0, $args)); } /** * {@internal Missing Short Description}} * - * @since unknown + * @since 2.5.0 * - * @param unknown_type $user_object - * @param unknown_type $style - * @param unknown_type $role + * @param unknown_type $taxonomy + * @param unknown_type $default + * @param unknown_type $number + * @param unknown_type $echo * @return unknown */ -function user_row( $user_object, $style = '', $role = '' ) { - global $wp_roles; - - $current_user = wp_get_current_user(); - - if ( !( is_object( $user_object) && is_a( $user_object, 'WP_User' ) ) ) - $user_object = new WP_User( (int) $user_object ); - $user_object = sanitize_user_object($user_object, 'display'); - $email = $user_object->user_email; - $url = $user_object->user_url; - $short_url = str_replace( 'http://', '', $url ); - $short_url = str_replace( 'www.', '', $short_url ); - if ('/' == substr( $short_url, -1 )) - $short_url = substr( $short_url, 0, -1 ); - if ( strlen( $short_url ) > 35 ) - $short_url = substr( $short_url, 0, 32 ).'...'; - $numposts = get_usernumposts( $user_object->ID ); - $checkbox = ''; - // Check if the user for this row is editable - if ( current_user_can( 'edit_user', $user_object->ID ) ) { - // Set up the user editing link - // TODO: make profile/user-edit determination a seperate function - if ($current_user->ID == $user_object->ID) { - $edit_link = 'profile.php'; - } else { - $edit_link = esc_url( add_query_arg( 'wp_http_referer', urlencode( esc_url( stripslashes( $_SERVER['REQUEST_URI'] ) ) ), "user-edit.php?user_id=$user_object->ID" ) ); - } - $edit = "$user_object->user_login
    "; - - // Set up the hover actions for this user - $actions = array(); - $actions['edit'] = '' . __('Edit') . ''; - if ( $current_user->ID != $user_object->ID ) - $actions['delete'] = "" . __('Delete') . ""; - $actions = apply_filters('user_row_actions', $actions, $user_object); - $action_count = count($actions); - $i = 0; - $edit .= '
    '; - foreach ( $actions as $action => $link ) { - ++$i; - ( $i == $action_count ) ? $sep = '' : $sep = ' | '; - $edit .= "$link$sep"; - } - $edit .= '
    '; +function wp_popular_terms_checklist( $taxonomy, $default = 0, $number = 10, $echo = true ) { + global $post_ID; - // Set up the checkbox (because the user is editable, otherwise its empty) - $checkbox = ""; + if ( $post_ID ) + $checked_terms = wp_get_object_terms($post_ID, $taxonomy, array('fields'=>'ids')); + else + $checked_terms = array(); - } else { - $edit = '' . $user_object->user_login . ''; - } - $role_name = isset($wp_roles->role_names[$role]) ? translate_user_role($wp_roles->role_names[$role] ) : __('None'); - $r = ""; - $columns = get_column_headers('users'); - $hidden = get_hidden_columns('users'); - $avatar = get_avatar( $user_object->ID, 32 ); - foreach ( $columns as $column_name => $column_display_name ) { - $class = "class=\"$column_name column-$column_name\""; + $terms = get_terms( $taxonomy, array( 'orderby' => 'count', 'order' => 'DESC', 'number' => $number, 'hierarchical' => false ) ); - $style = ''; - if ( in_array($column_name, $hidden) ) - $style = ' style="display:none;"'; - - $attributes = "$class$style"; - - switch ($column_name) { - case 'cb': - $r .= "$checkbox"; - break; - case 'username': - $r .= "$avatar $edit"; - break; - case 'name': - $r .= "$user_object->first_name $user_object->last_name"; - break; - case 'email': - $r .= "$email"; - break; - case 'role': - $r .= "$role_name"; - break; - case 'posts': - $attributes = 'class="posts column-posts num"' . $style; - $r .= ""; - if ( $numposts > 0 ) { - $r .= ""; - $r .= $numposts; - $r .= ''; - } else { - $r .= 0; - } - $r .= ""; - break; - default: - $r .= ""; - $r .= apply_filters('manage_users_custom_column', '', $column_name, $user_object->ID); - $r .= ""; - } - } - $r .= ''; + $tax = get_taxonomy($taxonomy); + if ( ! current_user_can($tax->cap->assign_terms) ) + $disabled = 'disabled="disabled"'; + else + $disabled = ''; - return $r; + $popular_ids = array(); + foreach ( (array) $terms as $term ) { + $popular_ids[] = $term->term_id; + if ( !$echo ) // hack for AJAX use + continue; + $id = "popular-$taxonomy-$term->term_id"; + $checked = in_array( $term->term_id, $checked_terms ) ? 'checked="checked"' : ''; + ?> + + + + moderated; - } elseif ( 'approved' == $status ) { - $approved = "c.comment_approved = '1'"; - $total = $count->approved; - } elseif ( 'spam' == $status ) { - $approved = "c.comment_approved = 'spam'"; - $total = $count->spam; - } elseif ( 'trash' == $status ) { - $approved = "c.comment_approved = 'trash'"; - $total = $count->trash; + if ( $link_id ) { + $checked_categories = wp_get_link_cats( $link_id ); + // No selected categories, strange + if ( ! count( $checked_categories ) ) + $checked_categories[] = $default; } else { - $approved = "( c.comment_approved = '0' OR c.comment_approved = '1' )"; - $total = $count->moderated + $count->approved; - $index = 'USE INDEX (c.comment_date_gmt)'; + $checked_categories[] = $default; } - if ( $post ) { - $total = ''; - $post = " AND c.comment_post_ID = '$post'"; - } else { - $post = ''; - } + $categories = get_terms( 'link_category', array( 'orderby' => 'name', 'hide_empty' => 0 ) ); - $orderby = "ORDER BY c.comment_date_gmt DESC LIMIT $start, $num"; + if ( empty( $categories ) ) + return; - if ( 'comment' == $type ) - $typesql = "AND c.comment_type = ''"; - elseif ( 'pings' == $type ) - $typesql = "AND ( c.comment_type = 'pingback' OR c.comment_type = 'trackback' )"; - elseif ( 'all' == $type ) - $typesql = ''; - elseif ( !empty($type) ) - $typesql = $wpdb->prepare("AND c.comment_type = %s", $type); - else - $typesql = ''; - - if ( !empty($type) ) - $total = ''; - - $query = "FROM $wpdb->comments c LEFT JOIN $wpdb->posts p ON c.comment_post_ID = p.ID WHERE p.post_status != 'trash' "; - if ( $s ) { - $total = ''; - $s = $wpdb->escape($s); - $query .= "AND - (c.comment_author LIKE '%$s%' OR - c.comment_author_email LIKE '%$s%' OR - c.comment_author_url LIKE ('%$s%') OR - c.comment_author_IP LIKE ('%$s%') OR - c.comment_content LIKE ('%$s%') ) AND - $approved - $typesql"; - } else { - $query .= "AND $approved $post $typesql"; + foreach ( $categories as $category ) { + $cat_id = $category->term_id; + $name = esc_html( apply_filters( 'the_category', $category->name ) ); + $checked = in_array( $cat_id, $checked_categories ) ? ' checked="checked"' : ''; + echo '"; } - - $comments = $wpdb->get_results("SELECT * $query $orderby"); - if ( '' === $total ) - $total = $wpdb->get_var("SELECT COUNT(c.comment_ID) $query"); - - update_comment_cache($comments); - - return array($comments, $total); } +// adds hidden fields with the data for use in the inline editor for posts and pages /** * {@internal Missing Short Description}} * - * @since unknown + * @since 2.7.0 * - * @param unknown_type $comment_id - * @param unknown_type $mode - * @param unknown_type $comment_status - * @param unknown_type $checkbox + * @param unknown_type $post */ -function _wp_comment_row( $comment_id, $mode, $comment_status, $checkbox = true, $from_ajax = false ) { - global $comment, $post, $_comment_pending_count; - $comment = get_comment( $comment_id ); - $post = get_post($comment->comment_post_ID); - $the_comment_status = wp_get_comment_status($comment->comment_ID); - $user_can = current_user_can('edit_post', $post->ID); - - $author_url = get_comment_author_url(); - if ( 'http://' == $author_url ) - $author_url = ''; - $author_url_display = preg_replace('|http://(www\.)?|i', '', $author_url); - if ( strlen($author_url_display) > 50 ) - $author_url_display = substr($author_url_display, 0, 49) . '...'; - - $ptime = date('G', strtotime( $comment->comment_date ) ); - if ( ( abs(time() - $ptime) ) < 86400 ) - $ptime = sprintf( __('%s ago'), human_time_diff( $ptime ) ); - else - $ptime = mysql2date(__('Y/m/d \a\t g:i A'), $comment->comment_date ); - - if ( $user_can ) { - $del_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "delete-comment_$comment->comment_ID" ) ); - $approve_nonce = esc_html( '_wpnonce=' . wp_create_nonce( "approve-comment_$comment->comment_ID" ) ); - - $comment_url = esc_url(get_comment_link($comment->comment_ID)); - $approve_url = esc_url( "comment.php?action=approvecomment&p=$post->ID&c=$comment->comment_ID&$approve_nonce" ); - $unapprove_url = esc_url( "comment.php?action=unapprovecomment&p=$post->ID&c=$comment->comment_ID&$approve_nonce" ); - $spam_url = esc_url( "comment.php?action=spamcomment&p=$post->ID&c=$comment->comment_ID&$del_nonce" ); - $unspam_url = esc_url( "comment.php?action=unspamcomment&p=$post->ID&c=$comment->comment_ID&$del_nonce" ); - $trash_url = esc_url( "comment.php?action=trashcomment&p=$post->ID&c=$comment->comment_ID&$del_nonce" ); - $untrash_url = esc_url( "comment.php?action=untrashcomment&p=$post->ID&c=$comment->comment_ID&$del_nonce" ); - $delete_url = esc_url( "comment.php?action=deletecomment&p=$post->ID&c=$comment->comment_ID&$del_nonce" ); - } - - echo ""; - $columns = get_column_headers('edit-comments'); - $hidden = get_hidden_columns('edit-comments'); - foreach ( $columns as $column_name => $column_display_name ) { - $class = "class=\"$column_name column-$column_name\""; +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) ) + return; - $style = ''; - if ( in_array($column_name, $hidden) ) - $style = ' style="display:none;"'; - - $attributes = "$class$style"; - - switch ($column_name) { - case 'cb': - if ( !$checkbox ) break; - echo ''; - if ( $user_can ) echo ""; - echo ''; - break; - case 'comment': - echo ""; - echo '
    '; - printf(__('Submitted on %2$s at %3$s'), $comment_url, get_comment_date(__('Y/m/d')), get_comment_date(__('g:ia'))); - echo '
    '; - comment_text(); - if ( $user_can ) { ?> - - post_title ) ); - if ( $user_can ) { - // preorder it: Approve | Reply | Quick Edit | Edit | Spam | Trash - $actions = array( - 'approve' => '', 'unapprove' => '', - 'reply' => '', - 'quickedit' => '', - 'edit' => '', - 'spam' => '', 'unspam' => '', - 'trash' => '', 'untrash' => '', 'delete' => '' - ); - - if ( $comment_status && 'all' != $comment_status ) { // not looking at all comments - if ( 'approved' == $the_comment_status ) - $actions['unapprove'] = "" . __( 'Unapprove' ) . ''; - else if ( 'unapproved' == $the_comment_status ) - $actions['approve'] = "" . __( 'Approve' ) . ''; - } else { - $actions['approve'] = "" . __( 'Approve' ) . ''; - $actions['unapprove'] = "" . __( 'Unapprove' ) . ''; - } + echo ' +'; } /** * {@internal Missing Short Description}} * - * @since unknown + * @since 2.7.0 * * @param unknown_type $position * @param unknown_type $checkbox * @param unknown_type $mode */ function wp_comment_reply($position = '1', $checkbox = false, $mode = 'single', $table_row = true) { - global $current_user; - // allow plugin to replace the popup content $content = apply_filters( 'wp_comment_reply', '', array('position' => $position, 'checkbox' => $checkbox, 'mode' => $mode) ); @@ -2311,18 +298,20 @@ function wp_comment_reply($position = '1', $checkbox = false, $mode = 'single', return; } - $columns = get_column_headers('edit-comments'); - $hidden = array_intersect( array_keys( $columns ), array_filter( get_hidden_columns('edit-comments') ) ); - $col_count = count($columns) - count($hidden); + if ( $mode == 'single' ) { + $wp_list_table = _get_list_table('WP_Post_Comments_List_Table'); + } else { + $wp_list_table = _get_list_table('WP_Comments_List_Table'); + } ?>
    -