summaryrefslogtreecommitdiffstats
path: root/wp-admin/includes/mu.php
diff options
context:
space:
mode:
authordonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2007-11-22 16:52:03 +0000
committerdonncha <donncha@7be80a69-a1ef-0310-a953-fb0f7c49ff36>2007-11-22 16:52:03 +0000
commit69002e7d3d227b9d685649e079eb9cf887c35e4d (patch)
tree6dd80a5d43976970870ceb022271ed0e67e2660f /wp-admin/includes/mu.php
parentf43d738b39d2f3b22b90d3124d9a8e88d5b07388 (diff)
downloadwordpress-mu-69002e7d3d227b9d685649e079eb9cf887c35e4d.tar.gz
wordpress-mu-69002e7d3d227b9d685649e079eb9cf887c35e4d.tar.xz
wordpress-mu-69002e7d3d227b9d685649e079eb9cf887c35e4d.zip
Move custom code from menu.php to mu.php
Added 'admin_menu_permission' hook git-svn-id: http://svn.automattic.com/wordpress-mu/trunk@1161 7be80a69-a1ef-0310-a953-fb0f7c49ff36
Diffstat (limited to 'wp-admin/includes/mu.php')
-rw-r--r--wp-admin/includes/mu.php63
1 files changed, 63 insertions, 0 deletions
diff --git a/wp-admin/includes/mu.php b/wp-admin/includes/mu.php
index 4b50a2b..9e82cbc 100644
--- a/wp-admin/includes/mu.php
+++ b/wp-admin/includes/mu.php
@@ -371,4 +371,67 @@ function sync_slugs( $term, $taxonomy, $args ) {
}
add_filter( 'pre_update_term', 'sync_slugs', 10, 3 );
+function redirect_user_to_blog() {
+ global $wpdb, $current_user, $current_site;
+ $primary_blog = (int) get_usermeta( $current_user->ID, 'primary_blog' );
+ if( !$primary_blog )
+ $primary_blog = 1;
+
+ $newblog = $wpdb->get_row( "SELECT * FROM {$wpdb->blogs} WHERE blog_id = '{$primary_blog}'" );
+ if( $newblog != null ) {
+ $blogs = get_blogs_of_user( $current_user->ID );
+ if ( empty($blogs) || $blogs == false ) { // If user haven't any blog
+ add_user_to_blog('1', $current_user->ID, 'subscriber'); // Add subscriber permission for first blog.
+ wp_redirect( 'http://' . $current_site->domain . $current_site->path. 'wp-admin/' );
+ exit();
+ }
+
+ foreach ( (array) $blogs as $blog ) {
+ if ( $blog->userblog_id == $newblog->blog_id ) {
+ wp_redirect( 'http://' . $newblog->domain . $newblog->path . 'wp-admin/' );
+ exit();
+ }
+ }
+
+ $blog = $blogs[0]; // Take the first blog...
+ wp_redirect( 'http://' . $blog->domain . $blog->path. 'wp-admin/' );
+ exit();
+ }
+}
+add_action( 'admin_menu_permission', 'redirect_user_to_blog' );
+
+function wpmu_menu() {
+ global $menu, $submenu;
+
+ if( is_site_admin() ) {
+ $menu[1] = array(__('Site Admin'), '10', 'wpmu-admin.php' );
+ $submenu[ 'wpmu-admin.php' ][1] = array( __('Admin'), '10', 'wpmu-admin.php' );
+ $submenu[ 'wpmu-admin.php' ][5] = array( __('Blogs'), '10', 'wpmu-blogs.php' );
+ $submenu[ 'wpmu-admin.php' ][10] = array( __('Users'), '10', 'wpmu-users.php' );
+ $submenu[ 'wpmu-admin.php' ][20] = array( __('Themes'), '10', 'wpmu-themes.php' );
+ $submenu[ 'wpmu-admin.php' ][25] = array( __('Options'), '10', 'wpmu-options.php' );
+ $submenu[ 'wpmu-admin.php' ][30] = array( __('Upgrade'), '10', 'wpmu-upgrade-site.php' );
+ }
+ unset( $submenu['themes.php'][10] );
+ unset( $submenu['plugins.php'][5] );
+ unset( $submenu['plugins.php'][10] );
+ unset( $submenu['options-general.php'][35] );
+ unset( $submenu['options-general.php'][40] );
+ unset( $submenu['edit.php'][30] );
+ unset( $menu['30'] );
+ $menu[45] = array(__('Upgrades'), 'manage_options', 'paid-upgrades.php');
+
+ $menu_perms = get_site_option( "menu_items" );
+ if( is_array( $menu_perms ) == false )
+ $menu_perms = array();
+ if( $menu_perms[ 'plugins' ] == 1 )
+ $menu[30] = array(__('Plugins'), 'activate_plugins', 'plugins.php');
+ if ( current_user_can('edit_users') ) {
+ $submenu['users.php'][15] = array(__("Invites"), 'edit_posts', 'invites.php'); // TODO: put somewhere else.
+ } else {
+ $submenu['profile.php'][10] = array(__("Invites"), 'edit_posts', 'invites.php'); // TODO: put somewhere else.
+ }
+}
+add_action( '_admin_menu', 'wpmu_menu' );
+
?>