Changeset 627
- Timestamp:
- 12/06/2008 02:30:26 AM (17 years ago)
- Location:
- trunk/bp-core
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-core/bp-core-adminbar.php
r623 r627 10 10 11 11 echo '<div id="wp-admin-bar">'; 12 echo '<a href="' . get_blog_option( 1, 'siteurl' ) . '"><img id="admin-bar-logo" src="' . site_url() . '/wp-content/mu-plugins/bp-core/images/admin_bar_logo.gif" alt="BuddyPress" /></a>'; 12 13 // **** Do bp-adminbar-logo Actions ******** 14 do_action( 'bp-adminbar-logo' ); 15 13 16 echo '<ul class="main-nav">'; 14 17 15 // **** "My Account" Menu ****** 16 18 // **** Do bp-adminbar-menus Actions ******** 19 do_action( 'bp-adminbar-menus' ); 20 21 echo '</ul>'; 22 echo '</div>'; 23 } 24 25 // **** Default BuddyPress admin bar logo ******** 26 function bp_adminbar_logo() { 27 echo '<a href="' . get_blog_option( 1, 'siteurl' ) . '"><img id="admin-bar-logo" src="' . apply_filters( 'bp_admin_bar_logo_src', site_url() . '/wp-content/mu-plugins/bp-core/images/admin_bar_logo.gif' ) . '" alt="' . apply_filters( 'bp_admin_bar_logo_alt_text', __( 'BuddyPress', 'buddypress' ) ) . '" /></a>'; 28 } 29 30 // **** "Log In" and "Sign Up" links (Visible when not logged in) ******** 31 function bp_adminbar_login_menu() { 32 if ( !is_user_logged_in() ) { 33 echo '<li class="bp-login no-arrow"><a href="' . site_url() . '/wp-login.php?redirect_to=' . urlencode(get_bloginfo('siteurl') . $_SERVER['REQUEST_URI']) . '">' . __( 'Log In', 'buddypress' ) . '</a></li>'; 34 35 // Show "Sign Up" link if registrations are allowed 36 if ( get_site_option( 'registration' ) != 'none' ) { 37 echo '<li class="bp-signup no-arrow"><a href="' . site_url() . '/wp-signup.php">' . __( 'Create Account', 'buddypress' ) . '</a></li>'; 38 } 39 } 40 } 41 42 // **** "My Account" Menu ****** 43 function bp_adminbar_account_menu() { 17 44 if ( is_user_logged_in() ) { 18 45 global $bp; 46 19 47 echo '<li><a href="">'; 20 48 21 echo __( 'My Account', 'buddypress') . '</a>';49 echo __( 'My Account', 'buddypress' ) . '</a>'; 22 50 echo '<ul>'; 23 51 … … 26 54 foreach( $bp['bp_nav'] as $nav_item ) { 27 55 $alt = ( $counter % 2 == 0 ) ? ' class="alt"' : ''; 56 28 57 echo '<li' . $alt . '>'; 29 58 echo '<a id="' . $nav_item['css_id'] . '" href="' . $nav_item['link'] . '">' . $nav_item['name'] . '</a>'; … … 41 70 42 71 echo '</li>'; 72 43 73 $counter++; 44 74 } … … 50 80 echo '</li>'; 51 81 } 52 53 // *** "My Blogs" Menu ******** 54 82 } 83 84 // return a string indicating user's role in that blog 85 function get_blog_role_for_user( $user, $blog ) { 86 $roles = get_usermeta( $user, 'wp_' . $blog . '_capabilities' ); 87 88 if ( isset( $roles['subscriber'] ) ) 89 $role = __( 'Subscriber', 'buddypress' ); 90 elseif ( isset( $roles['contributor'] ) ) 91 $role = __( 'Contributor', 'buddypress' ); 92 elseif ( isset( $roles['author'] ) ) 93 $role = __( 'Author', 'buddypress' ); 94 elseif ( isset( $roles['editor'] ) ) 95 $role = __( 'Editor', 'buddypress' ); 96 elseif ( isset( $roles['administrator'] ) ) 97 $role = __( 'Admin', 'buddypress' ); 98 else 99 return false; 100 101 return $role; 102 } 103 104 // *** "My Blogs" Menu ******** 105 function bp_adminbar_blogs_menu() { 55 106 if ( is_user_logged_in() ) { 107 global $bp; 108 56 109 if ( function_exists('bp_blogs_install') ) { 57 $blogs = BP_Blogs_Blog::get_blogs_for_user( $bp['loggedin_userid'] );110 $blogs = get_blogs_of_user( $bp['loggedin_userid'] ); // find *all* blogs with any kind of role 58 111 59 112 echo '<li><a href="' . $bp['loggedin_domain'] . $bp['blogs']['slug'] . '/my-blogs">'; 60 _e('My Blogs', 'buddypress'); 113 114 _e( 'My Blogs', 'buddypress' ); 115 61 116 echo '</a>'; 62 117 63 118 echo '<ul>'; 64 if ( is_array( $blogs ['blogs'] )) {65 119 if ( is_array( $blogs )) { 120 66 121 $counter = 0; 67 foreach( $blogs['blogs'] as $blog ) { 122 foreach( $blogs as $blog ) { 123 $role = get_blog_role_for_user( $bp['loggedin_userid'], $blog->userblog_id ); 124 68 125 $alt = ( $counter % 2 == 0 ) ? ' class="alt"' : ''; 69 126 echo '<li' . $alt . '>'; 70 echo '<a href="' . $blog['siteurl'] . '">' . $blog['title'] . '</a>'; 71 72 echo '<ul>'; 73 echo '<li class="alt"><a href="' . $blog['siteurl'] . '/wp-admin/">' . __('Dashboard', 'buddypress') . '</a></li>'; 74 echo '<li><a href="' . $blog['siteurl'] . '/wp-admin/post-new.php">' . __('New Post', 'buddypress') . '</a></li>'; 75 echo '<li class="alt"><a href="' . $blog['siteurl'] . '/wp-admin/edit.php">' . __('Manage Posts', 'buddypress') . '</a></li>'; 76 echo '<li><a href="' . $blog['siteurl'] . '/wp-admin/themes.php">' . __('Switch Theme', 'buddypress') . '</a></li>'; 77 echo '<li class="alt"><a href="' . $blog['siteurl'] . '/wp-admin/edit-comments.php">' . __('Manage Comments', 'buddypress') . '</a></li>'; 78 echo '</ul>'; 79 127 echo '<a href="' . $blog->siteurl . '">' . $blog->blogname . '</a>'; 128 if (!('Subscriber' == $role)) { // then they have something to display on the flyout menu 129 echo '<ul>'; 130 echo '<li class="alt"><a href="' . $blog->siteurl . '/wp-admin/">' . __('Dashboard', 'buddypress') . '</a></li>'; 131 echo '<li><a href="' . $blog->siteurl . '/wp-admin/post-new.php">' . __('New Post', 'buddypress') . '</a></li>'; 132 echo '<li class="alt"><a href="' . $blog->siteurl . '/wp-admin/edit.php">' . __('Manage Posts', 'buddypress') . '</a></li>'; 133 echo '<li class="alt"><a href="' . $blog->siteurl . '/wp-admin/edit-comments.php">' . __('Manage Comments', 'buddypress') . '</a></li>'; 134 if ('Admin' == $role) { 135 echo '<li><a href="' . $blog->siteurl . '/wp-admin/themes.php">' . __('Switch Theme', 'buddypress') . '</a></li>'; 136 } 137 echo '</ul>'; 138 } 80 139 echo '</li>'; 81 140 $counter++; 82 141 } 83 142 } 84 143 85 144 $alt = ( $counter % 2 == 0 ) ? ' class="alt"' : ''; 86 145 … … 88 147 echo '<a href="' . $bp['loggedin_domain'] . $bp['blogs']['slug'] . '/create-a-blog">' . __('Create a Blog!', 'buddypress') . '</a>'; 89 148 echo '</li>'; 90 149 91 150 echo '</ul>'; 92 151 echo '</li>'; 93 152 } 94 153 } 95 96 // **** "Notifications" Menu ********* 97 154 } 155 156 // **** "Notifications" Menu ********* 157 function bp_adminbar_notifications_menu() { 98 158 if ( is_user_logged_in() ) { 159 global $bp; 160 99 161 echo '<li id="notifications_menu"><a href="' . $bp['loggedin_domain'] . '">'; 100 _e( 'Notifications', 'buddypress');162 _e( 'Notifications', 'buddypress' ); 101 163 102 164 if ( $notifications = bp_core_get_notifications_for_user( $bp['loggedin_userid']) ) { ?> … … 104 166 <?php 105 167 } 168 106 169 echo '</a>'; 107 170 echo '<ul>'; 171 108 172 if ( $notifications ) { ?> 109 173 <?php $counter = 0; ?> … … 117 181 <?php 118 182 } 183 119 184 echo '</ul>'; 120 185 echo '</li>'; 121 186 } 122 123 // **** "Blog Authors" Menu (visible when not logged in) ******** 187 } 188 189 // **** "Blog Authors" Menu (visible when not logged in) ******** 190 function bp_adminbar_authors_menu() { 191 global $current_blog; 124 192 125 193 if ( $current_blog->blog_id > 1 ) { … … 149 217 } 150 218 } 151 152 // **** "Random" Menu (visible when not logged in) ******** 153 ?> 219 } 220 221 // **** "Random" Menu (visible when not logged in) ******** 222 function bp_adminbar_random_menu() { 223 global $bp; ?> 154 224 <li class="align-right"> 155 225 <a href="#"><?php _e( 'Visit', 'buddypress' ) ?></a> … … 175 245 } 176 246 247 add_action( 'bp-adminbar-logo', 'bp_adminbar_logo' ); 248 add_action( 'bp-adminbar-menus', 'bp_adminbar_login_menu', 2 ); 249 add_action( 'bp-adminbar-menus', 'bp_adminbar_account_menu', 4 ); 250 add_action( 'bp-adminbar-menus', 'bp_adminbar_blogs_menu', 6 ); 251 add_action( 'bp-adminbar-menus', 'bp_adminbar_notifications_menu', 8 ); 252 add_action( 'bp-adminbar-menus', 'bp_adminbar_authors_menu', 12 ); 253 add_action( 'bp-adminbar-menus', 'bp_adminbar_random_menu', 100 ); 254 177 255 add_action( 'wp_footer', 'bp_core_admin_bar' ); 178 //add_action( 'admin_footer', 'bp_core_admin_bar' )179 256 180 257 ?> -
trunk/bp-core/css/admin-bar.css
r508 r627 12 12 background:url(../images/admin_bar_back.gif) #818181 repeat-x !important; 13 13 } 14 #wp-admin-bar * { z-index: 999 !important; } 15 16 #wp-admin-bar img#admin-bar-logo { 17 position: absolute !important; 18 top: 8px; 19 left: 10px; 20 } 14 15 #wp-admin-bar * { z-index: 999 !important; } 16 17 #wp-admin-bar img#admin-bar-logo { 18 position: absolute !important; 19 top: 8px; 20 left: 10px; 21 } 21 22 22 23 #wp-admin-bar a img { … … 32 33 #wp-admin-bar li a { 33 34 padding: 6px 25px 7px 15px !important; 35 } 36 #wp-admin-bar li.no-arrow a { 37 padding-right: 15px !important; 38 } 39 40 #wp-admin-bar li:hover, #wp-admin-bar li.hover { 41 position: static; 34 42 } 35 43 … … 44 52 padding: 0 !important; 45 53 } 46 #wp-admin-bar ul { 47 margin-left: 80px !important; 54 55 #wp-admin-bar ul { 56 margin-left: 80px !important; 57 } 58 59 #wp-admin-bar ul li { /* all list items */ 60 padding: 0 !important; 61 float: left !important; 62 background: url( ../images/admin-menu-arrow.gif ) 88% 53% no-repeat; 63 } 64 #wp-admin-bar ul li.no-arrow { 65 background: none; 48 66 } 49 #wp-admin-bar ul li { /* all list items */ 50 padding: 0 !important; 51 /*height: 30px;*/ 52 float: left !important; 53 background: url( ../images/admin-menu-arrow.gif ) 88% 53% no-repeat; 54 } 55 56 #wp-admin-bar ul li ul a { 57 color: #666 !important; 58 } 59 60 #wp-admin-bar ul li.align-right { 61 position: absolute; 62 right: 0; 63 } 64 65 #wp-admin-bar ul li a { 66 display: block !important; 67 font-size: 12px !important; 68 font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, Verdana, Arial, sans-serif !important; 69 text-decoration: none !important; 70 color: #fff !important; 71 } 72 73 #wp-admin-bar ul.main-nav li:hover, #wp-admin-bar ul.main-nav li.sfhover, #wp-admin-bar ul.main-nav li ul li.sfhover { 74 background-color: #666 !important; 75 } 76 #wp-admin-bar ul.main-nav li ul li:hover a, #wp-admin-bar ul.main-nav li ul li.sfhover a { 77 background-color: #888 !important; 78 color: #fff !important; 79 } 80 81 #wp-admin-bar ul.main-nav li ul li:hover ul li a { 82 background-color: inherit !important; 83 color: #666 !important; 84 } 85 #wp-admin-bar ul.main-nav li ul li ul li:hover a, #wp-admin-bar ul.main-nav li ul li ul li.sfhover a { 86 color: #fff !important; 87 } 88 67 68 #wp-admin-bar ul li ul a { 69 color: #666 !important; 70 } 71 72 #wp-admin-bar ul li.align-right { 73 position: absolute; 74 right: 0; 75 } 76 77 #wp-admin-bar ul li a { 78 display: block !important; 79 font-size: 12px !important; 80 font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Tahoma, Verdana, Arial, sans-serif !important; 81 text-decoration: none !important; 82 color: #fff !important; 83 } 84 85 #wp-admin-bar ul.main-nav li:hover, #wp-admin-bar ul.main-nav li.sfhover, #wp-admin-bar ul.main-nav li ul li.sfhover { 86 background-color: #666 !important; 87 } 88 89 #wp-admin-bar ul.main-nav li ul li:hover a, #wp-admin-bar ul.main-nav li ul li.sfhover a { 90 background-color: #888 !important; 91 color: #fff !important; 92 } 93 94 #wp-admin-bar ul.main-nav li ul li:hover ul li.alt a { 95 background-color: #fafafa !important; 96 color: #666 !important; 97 } 98 99 #wp-admin-bar ul.main-nav li ul li:hover ul li a { 100 background-color: #f4f4f4 !important; 101 color: #666 !important; 102 } 103 104 #wp-admin-bar ul.main-nav li ul li:hover ul li:hover a { 105 background-color: #888 !important; 106 color: white !important; 107 } 108 109 #wp-admin-bar ul.main-nav li ul li ul li:hover a, #wp-admin-bar ul.main-nav li ul li ul li.sfhover a { 110 color: #fff !important; 111 } 89 112 90 113 /* second-level lists */ 91 114 92 #wp-admin-bar ul li ul { 115 #wp-admin-bar ul li ul { 93 116 position: absolute !important; 94 117 width: 185px !important; 95 left: -999em !important; /* using left instead of display to hide menus because display: none isn't read by screen readers */ 96 height: auto !important; 118 left: -999em !important; 97 119 margin-left: 0 !important; 98 120 } 99 #wp-admin-bar ul li ul li { 100 float: none !important; 101 margin: 0 !important; 102 border: none !important; 103 border-bottom: 1px solid #f4f4f4 !important; 104 background-color: #f4f4f4 !important; 105 border-left: 1px solid #ccc !important; 106 border-right: 1px solid #ccc !important; 107 margin-bottom: -1px !important; 108 } 109 #wp-admin-bar ul li ul li.alt { 110 background-color: #fafafa !important; 111 border-bottom: 1px solid #fafafa !important; 112 } 113 114 #wp-admin-bar ul li ul li:last-child { 115 border-bottom: 1px solid #ccc !important; 116 -moz-border-radius-bottomleft: 4px !important; 117 -khtml-border-bottom-left-radius: 4px !important; 118 -webkit-border-bottom-left-radius: 4px !important; 119 border-bottom-left-radius: 4px !important; 120 -moz-border-radius-bottomright: 4px !important; 121 -khtml-border-bottom-right-radius: 4px !important; 122 -webkit-border-bottom-right-radius: 4px !important; 123 border-bottom-right-radius: 4px !important; 124 } 125 126 #wp-admin-bar ul.main-nav li ul li a:hover, #wp-admin-bar ul.main-nav li.sfhover ul li a:hover { 127 background-color: #888 !important; 128 } 129 130 #wp-admin-bar ul li div.admin-bar-clear { 131 clear: both !important; 132 background-color: #eee !important; 133 border-bottom: 3px solid #eee !important; 134 } 121 122 #wp-admin-bar ul li ul li { 123 float: left !important; 124 width: 183px; 125 margin: 0 !important; 126 border: none !important; 127 border-bottom: 1px solid #f4f4f4 !important; 128 background-color: #f4f4f4 !important; 129 border-left: 1px solid #ccc !important; 130 border-right: 1px solid #ccc !important; 131 margin-bottom: -1px !important; 132 } 133 134 #wp-admin-bar ul li ul li.alt { 135 background-color: #fafafa !important; 136 border-bottom: 1px solid #fafafa !important; 137 } 138 139 #wp-admin-bar ul li ul li:last-child { 140 border-bottom: 1px solid #ccc !important; 141 -moz-border-radius-bottomleft: 4px !important; 142 -khtml-border-bottom-left-radius: 4px !important; 143 -webkit-border-bottom-left-radius: 4px !important; 144 border-bottom-left-radius: 4px !important; 145 -moz-border-radius-bottomright: 4px !important; 146 -khtml-border-bottom-right-radius: 4px !important; 147 -webkit-border-bottom-right-radius: 4px !important; 148 border-bottom-right-radius: 4px !important; 149 } 150 151 #wp-admin-bar ul.main-nav li ul li a:hover, #wp-admin-bar ul.main-nav li.sfhover ul li a:hover { 152 background-color: #888 !important; 153 } 154 155 #wp-admin-bar ul li div.admin-bar-clear { 156 clear: both !important; 157 background-color: #eee !important; 158 border-bottom: 3px solid #eee !important; 159 } 135 160 136 161 /* third-and-above-level lists */ 137 162 138 #wp-admin-bar ul li ul ul { 163 #wp-admin-bar ul li ul ul { 139 164 margin: -28px 0 0 183px !important; 140 165 } … … 196 221 -webkit-border-radius: 2px !important; 197 222 margin-left: 2px !important; 198 } 223 }
Note: See TracChangeset
for help on using the changeset viewer.