diff --git a/wp-includes/category-template.php b/wp-includes/category-template.php index 5e121842c..349e0134b 100644 --- a/wp-includes/category-template.php +++ b/wp-includes/category-template.php @@ -743,6 +743,205 @@ function walk_category_dropdown_tree() { return call_user_func_array(array( &$walker, 'walk' ), $args ); } +/** + * Create HTML list of categories. + * + * @package WordPress + * @since 2.1.0 + * @uses Walker + */ +class Walker_Category extends Walker { + /** + * @see Walker::$tree_type + * @since 2.1.0 + * @var string + */ + var $tree_type = 'category'; + + /** + * @see Walker::$db_fields + * @since 2.1.0 + * @todo Decouple this + * @var array + */ + var $db_fields = array ('parent' => 'parent', 'id' => 'term_id'); + + /** + * @see Walker::start_lvl() + * @since 2.1.0 + * + * @param string $output Passed by reference. Used to append additional content. + * @param int $depth Depth of category. Used for tab indentation. + * @param array $args Will only append content if style argument value is 'list'. + */ + function start_lvl(&$output, $depth, $args) { + if ( 'list' != $args['style'] ) + return; + + $indent = str_repeat("\t", $depth); + $output .= "$indent\n"; + } + + /** + * @see Walker::start_el() + * @since 2.1.0 + * + * @param string $output Passed by reference. Used to append additional content. + * @param object $category Category data object. + * @param int $depth Depth of category in reference to parents. + * @param array $args + */ + function start_el(&$output, $category, $depth, $args) { + extract($args); + + $cat_name = esc_attr( $category->name ); + $cat_name = apply_filters( 'list_cats', $cat_name, $category ); + $link = 'description) ) + $link .= 'title="' . sprintf(__( 'View all posts filed under %s' ), $cat_name) . '"'; + else + $link .= 'title="' . esc_attr( strip_tags( apply_filters( 'category_description', $category->description, $category ) ) ) . '"'; + $link .= '>'; + $link .= $cat_name . ''; + + if ( !empty($feed_image) || !empty($feed) ) { + $link .= ' '; + + if ( empty($feed_image) ) + $link .= '('; + + $link .= ''; + + $link .= ''; + + if ( empty($feed_image) ) + $link .= ')'; + } + + if ( !empty($show_count) ) + $link .= ' (' . intval($category->count) . ')'; + + if ( !empty($show_date) ) + $link .= ' ' . gmdate('Y-m-d', $category->last_update_timestamp); + + if ( 'list' == $args['style'] ) { + $output .= "\tterm_id; + if ( !empty($current_category) ) { + $_current_category = get_term( $current_category, $category->taxonomy ); + if ( $category->term_id == $current_category ) + $class .= ' current-cat'; + elseif ( $category->term_id == $_current_category->parent ) + $class .= ' current-cat-parent'; + } + $output .= ' class="' . $class . '"'; + $output .= ">$link\n"; + } else { + $output .= "\t$link
\n"; + } + } + + /** + * @see Walker::end_el() + * @since 2.1.0 + * + * @param string $output Passed by reference. Used to append additional content. + * @param object $page Not used. + * @param int $depth Depth of category. Not used. + * @param array $args Only uses 'list' for whether should append to output. + */ + function end_el(&$output, $page, $depth, $args) { + if ( 'list' != $args['style'] ) + return; + + $output .= "\n"; + } + +} + +/** + * Create HTML dropdown list of Categories. + * + * @package WordPress + * @since 2.1.0 + * @uses Walker + */ +class Walker_CategoryDropdown extends Walker { + /** + * @see Walker::$tree_type + * @since 2.1.0 + * @var string + */ + var $tree_type = 'category'; + + /** + * @see Walker::$db_fields + * @since 2.1.0 + * @todo Decouple this + * @var array + */ + var $db_fields = array ('parent' => 'parent', 'id' => 'term_id'); + + /** + * @see Walker::start_el() + * @since 2.1.0 + * + * @param string $output Passed by reference. Used to append additional content. + * @param object $category Category data object. + * @param int $depth Depth of category. Used for padding. + * @param array $args Uses 'selected', 'show_count', and 'show_last_update' keys, if they exist. + */ + function start_el(&$output, $category, $depth, $args) { + $pad = str_repeat(' ', $depth * 3); + + $cat_name = apply_filters('list_cats', $category->name, $category); + $output .= "\t\n"; + } +} + // // Tags // diff --git a/wp-includes/classes.php b/wp-includes/classes.php deleted file mode 100644 index 144343655..000000000 --- a/wp-includes/classes.php +++ /dev/null @@ -1,362 +0,0 @@ - 'post_parent', 'id' => 'ID'); - - /** - * @see Walker::start_lvl() - * @since 2.1.0 - * - * @param string $output Passed by reference. Used to append additional content. - * @param int $depth Depth of page. Used for padding. - */ - function start_lvl(&$output, $depth) { - $indent = str_repeat("\t", $depth); - $output .= "\n$indent\n"; - } - - /** - * @see Walker::start_el() - * @since 2.1.0 - * - * @param string $output Passed by reference. Used to append additional content. - * @param object $page Page data object. - * @param int $depth Depth of page. Used for padding. - * @param int $current_page Page ID. - * @param array $args - */ - function start_el(&$output, $page, $depth, $args, $current_page) { - if ( $depth ) - $indent = str_repeat("\t", $depth); - else - $indent = ''; - - extract($args, EXTR_SKIP); - $css_class = array('page_item', 'page-item-'.$page->ID); - if ( !empty($current_page) ) { - $_current_page = get_page( $current_page ); - if ( isset($_current_page->ancestors) && in_array($page->ID, (array) $_current_page->ancestors) ) - $css_class[] = 'current_page_ancestor'; - if ( $page->ID == $current_page ) - $css_class[] = 'current_page_item'; - elseif ( $_current_page && $page->ID == $_current_page->post_parent ) - $css_class[] = 'current_page_parent'; - } elseif ( $page->ID == get_option('page_for_posts') ) { - $css_class[] = 'current_page_parent'; - } - - $css_class = implode(' ', apply_filters('page_css_class', $css_class, $page)); - - $output .= $indent . '
  • ' . $link_before . apply_filters( 'the_title', $page->post_title, $page->ID ) . $link_after . ''; - - if ( !empty($show_date) ) { - if ( 'modified' == $show_date ) - $time = $page->post_modified; - else - $time = $page->post_date; - - $output .= " " . mysql2date($date_format, $time); - } - } - - /** - * @see Walker::end_el() - * @since 2.1.0 - * - * @param string $output Passed by reference. Used to append additional content. - * @param object $page Page data object. Not used. - * @param int $depth Depth of page. Not Used. - */ - function end_el(&$output, $page, $depth) { - $output .= "
  • \n"; - } - -} - -/** - * Create HTML dropdown list of pages. - * - * @package WordPress - * @since 2.1.0 - * @uses Walker - */ -class Walker_PageDropdown extends Walker { - /** - * @see Walker::$tree_type - * @since 2.1.0 - * @var string - */ - var $tree_type = 'page'; - - /** - * @see Walker::$db_fields - * @since 2.1.0 - * @todo Decouple this - * @var array - */ - var $db_fields = array ('parent' => 'post_parent', 'id' => 'ID'); - - /** - * @see Walker::start_el() - * @since 2.1.0 - * - * @param string $output Passed by reference. Used to append additional content. - * @param object $page Page data object. - * @param int $depth Depth of page in reference to parent pages. Used for padding. - * @param array $args Uses 'selected' argument for selected page to set selected HTML attribute for option element. - */ - function start_el(&$output, $page, $depth, $args) { - $pad = str_repeat(' ', $depth * 3); - - $output .= "\t\n"; - } -} - -/** - * Create HTML list of categories. - * - * @package WordPress - * @since 2.1.0 - * @uses Walker - */ -class Walker_Category extends Walker { - /** - * @see Walker::$tree_type - * @since 2.1.0 - * @var string - */ - var $tree_type = 'category'; - - /** - * @see Walker::$db_fields - * @since 2.1.0 - * @todo Decouple this - * @var array - */ - var $db_fields = array ('parent' => 'parent', 'id' => 'term_id'); - - /** - * @see Walker::start_lvl() - * @since 2.1.0 - * - * @param string $output Passed by reference. Used to append additional content. - * @param int $depth Depth of category. Used for tab indentation. - * @param array $args Will only append content if style argument value is 'list'. - */ - function start_lvl(&$output, $depth, $args) { - if ( 'list' != $args['style'] ) - return; - - $indent = str_repeat("\t", $depth); - $output .= "$indent\n"; - } - - /** - * @see Walker::start_el() - * @since 2.1.0 - * - * @param string $output Passed by reference. Used to append additional content. - * @param object $category Category data object. - * @param int $depth Depth of category in reference to parents. - * @param array $args - */ - function start_el(&$output, $category, $depth, $args) { - extract($args); - - $cat_name = esc_attr( $category->name ); - $cat_name = apply_filters( 'list_cats', $cat_name, $category ); - $link = 'description) ) - $link .= 'title="' . sprintf(__( 'View all posts filed under %s' ), $cat_name) . '"'; - else - $link .= 'title="' . esc_attr( strip_tags( apply_filters( 'category_description', $category->description, $category ) ) ) . '"'; - $link .= '>'; - $link .= $cat_name . ''; - - if ( !empty($feed_image) || !empty($feed) ) { - $link .= ' '; - - if ( empty($feed_image) ) - $link .= '('; - - $link .= ''; - - $link .= ''; - - if ( empty($feed_image) ) - $link .= ')'; - } - - if ( !empty($show_count) ) - $link .= ' (' . intval($category->count) . ')'; - - if ( !empty($show_date) ) - $link .= ' ' . gmdate('Y-m-d', $category->last_update_timestamp); - - if ( 'list' == $args['style'] ) { - $output .= "\tterm_id; - if ( !empty($current_category) ) { - $_current_category = get_term( $current_category, $category->taxonomy ); - if ( $category->term_id == $current_category ) - $class .= ' current-cat'; - elseif ( $category->term_id == $_current_category->parent ) - $class .= ' current-cat-parent'; - } - $output .= ' class="' . $class . '"'; - $output .= ">$link\n"; - } else { - $output .= "\t$link
    \n"; - } - } - - /** - * @see Walker::end_el() - * @since 2.1.0 - * - * @param string $output Passed by reference. Used to append additional content. - * @param object $page Not used. - * @param int $depth Depth of category. Not used. - * @param array $args Only uses 'list' for whether should append to output. - */ - function end_el(&$output, $page, $depth, $args) { - if ( 'list' != $args['style'] ) - return; - - $output .= "\n"; - } - -} - -/** - * Create HTML dropdown list of Categories. - * - * @package WordPress - * @since 2.1.0 - * @uses Walker - */ -class Walker_CategoryDropdown extends Walker { - /** - * @see Walker::$tree_type - * @since 2.1.0 - * @var string - */ - var $tree_type = 'category'; - - /** - * @see Walker::$db_fields - * @since 2.1.0 - * @todo Decouple this - * @var array - */ - var $db_fields = array ('parent' => 'parent', 'id' => 'term_id'); - - /** - * @see Walker::start_el() - * @since 2.1.0 - * - * @param string $output Passed by reference. Used to append additional content. - * @param object $category Category data object. - * @param int $depth Depth of category. Used for padding. - * @param array $args Uses 'selected', 'show_count', and 'show_last_update' keys, if they exist. - */ - function start_el(&$output, $category, $depth, $args) { - $pad = str_repeat(' ', $depth * 3); - - $cat_name = apply_filters('list_cats', $category->name, $category); - $output .= "\t\n"; - } -} - -?> diff --git a/wp-includes/post-template.php b/wp-includes/post-template.php index ec506d3a4..30c5653b0 100644 --- a/wp-includes/post-template.php +++ b/wp-includes/post-template.php @@ -921,6 +921,156 @@ function walk_page_dropdown_tree() { return call_user_func_array(array(&$walker, 'walk'), $args); } +/** + * Create HTML list of pages. + * + * @package WordPress + * @since 2.1.0 + * @uses Walker + */ +class Walker_Page extends Walker { + /** + * @see Walker::$tree_type + * @since 2.1.0 + * @var string + */ + var $tree_type = 'page'; + + /** + * @see Walker::$db_fields + * @since 2.1.0 + * @todo Decouple this. + * @var array + */ + var $db_fields = array ('parent' => 'post_parent', 'id' => 'ID'); + + /** + * @see Walker::start_lvl() + * @since 2.1.0 + * + * @param string $output Passed by reference. Used to append additional content. + * @param int $depth Depth of page. Used for padding. + */ + function start_lvl(&$output, $depth) { + $indent = str_repeat("\t", $depth); + $output .= "\n$indent\n"; + } + + /** + * @see Walker::start_el() + * @since 2.1.0 + * + * @param string $output Passed by reference. Used to append additional content. + * @param object $page Page data object. + * @param int $depth Depth of page. Used for padding. + * @param int $current_page Page ID. + * @param array $args + */ + function start_el(&$output, $page, $depth, $args, $current_page) { + if ( $depth ) + $indent = str_repeat("\t", $depth); + else + $indent = ''; + + extract($args, EXTR_SKIP); + $css_class = array('page_item', 'page-item-'.$page->ID); + if ( !empty($current_page) ) { + $_current_page = get_page( $current_page ); + if ( isset($_current_page->ancestors) && in_array($page->ID, (array) $_current_page->ancestors) ) + $css_class[] = 'current_page_ancestor'; + if ( $page->ID == $current_page ) + $css_class[] = 'current_page_item'; + elseif ( $_current_page && $page->ID == $_current_page->post_parent ) + $css_class[] = 'current_page_parent'; + } elseif ( $page->ID == get_option('page_for_posts') ) { + $css_class[] = 'current_page_parent'; + } + + $css_class = implode(' ', apply_filters('page_css_class', $css_class, $page)); + + $output .= $indent . '
  • ' . $link_before . apply_filters( 'the_title', $page->post_title, $page->ID ) . $link_after . ''; + + if ( !empty($show_date) ) { + if ( 'modified' == $show_date ) + $time = $page->post_modified; + else + $time = $page->post_date; + + $output .= " " . mysql2date($date_format, $time); + } + } + + /** + * @see Walker::end_el() + * @since 2.1.0 + * + * @param string $output Passed by reference. Used to append additional content. + * @param object $page Page data object. Not used. + * @param int $depth Depth of page. Not Used. + */ + function end_el(&$output, $page, $depth) { + $output .= "
  • \n"; + } + +} + +/** + * Create HTML dropdown list of pages. + * + * @package WordPress + * @since 2.1.0 + * @uses Walker + */ +class Walker_PageDropdown extends Walker { + /** + * @see Walker::$tree_type + * @since 2.1.0 + * @var string + */ + var $tree_type = 'page'; + + /** + * @see Walker::$db_fields + * @since 2.1.0 + * @todo Decouple this + * @var array + */ + var $db_fields = array ('parent' => 'post_parent', 'id' => 'ID'); + + /** + * @see Walker::start_el() + * @since 2.1.0 + * + * @param string $output Passed by reference. Used to append additional content. + * @param object $page Page data object. + * @param int $depth Depth of page in reference to parent pages. Used for padding. + * @param array $args Uses 'selected' argument for selected page to set selected HTML attribute for option element. + */ + function start_el(&$output, $page, $depth, $args) { + $pad = str_repeat(' ', $depth * 3); + + $output .= "\t\n"; + } +} + // // Attachments //