Changeset 1000

Show
Ignore:
Timestamp:
01/04/08 06:27:58 (8 months ago)
Author:
mdawaffe
Message:

bb_get_title() arguments for separator, order. props rmccue. Fixes #769

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/bb-includes/template-functions.php

    r999 r1000  
    285285} 
    286286 
    287 function bb_title() { 
    288         echo apply_filters( 'bb_title', bb_get_title() ); 
    289 
    290  
    291 function bb_get_title() { 
    292         $title = ''; 
    293         if ( is_topic() ) 
    294                 $title = get_topic_title(). ' « '; 
    295         elseif ( is_forum() ) 
    296                 $title = get_forum_name() . ' « '; 
    297         elseif ( is_bb_tags() ) 
    298                 $title = ( is_bb_tag() ? wp_specialchars( bb_get_tag_name() ) . ' « ' : '' ) . __('Tags') . ' « '; 
    299         elseif ( is_bb_profile() ) 
    300                 $title = get_user_name() . ' « '; 
    301         elseif ( is_view() ) 
    302                 $title = get_view_name() . ' « '; 
     287function bb_title( $args = '' ) { 
     288        echo apply_filters( 'bb_title', bb_get_title( $args ) ); 
     289
     290 
     291function bb_get_title( $args = '' ) { 
     292        $defaults = array( 'separator' => ' « ', 'order' => 'normal', 'front' => '' ); 
     293        $args = wp_parse_args( $args, $defaults ); 
     294        $title = array(); 
     295 
     296        switch ( bb_get_location() ) { 
     297                case 'front-page': 
     298                        if( !empty( $args['front'] ) ) 
     299                                $title[] = $args['front']; 
     300                        break; 
     301                case 'topic-page': 
     302                        $title[] = get_topic_title(); 
     303                        break; 
     304                case 'forum-page': 
     305                        $title[] = get_forum_name(); 
     306                        break; 
     307                case 'tag-page': 
     308                        if(is_bb_tag()) { 
     309                                $title[] = wp_specialchars( bb_get_tag_name() ); 
     310                        } 
     311                        $title[] = __('Tags'); 
     312                        break; 
     313                case 'profile-page': 
     314                        $title[] = get_user_name(); 
     315                        break; 
     316                case 'view-page': 
     317                        $title[] = get_view_name(); 
     318                        break; 
     319        } 
    303320        if ( $st = bb_get_option( 'static_title' ) ) 
    304                 $title = $st; 
    305         $title .= bb_get_option( 'name' ); 
    306         return apply_filters( 'bb_get_title', $title ); 
     321                $title = array( $st ); 
     322        $title[] = bb_get_option( 'name' ); 
     323        if( 'reversed' == $args['order'] ) 
     324                array_reverse( $title ); 
     325        return apply_filters( 'bb_get_title', implode( $args['separator'], $title ) ); 
    307326} 
    308327