Merge branch 'develop' into feature/memberDashboard
authorSteve Sutton <steve@gaslightmedia.com>
Fri, 9 Sep 2016 19:18:00 +0000 (15:18 -0400)
committerSteve Sutton <steve@gaslightmedia.com>
Fri, 9 Sep 2016 19:18:00 +0000 (15:18 -0400)
1  2 
setup/adminHooks.php

@@@ -121,12 -121,34 +121,40 @@@ add_action( 'add_meta_boxes', function(
  //        ));
  //    }
  //}
 -
 -
 -?>
+ // If not administrator, don't show or permit access to the main dashboard
+ function glmRemoveDashboard () {
+     global $current_user, $menu, $submenu;
+     // If user isn't an administrator
+     if (!in_array('administrator', $current_user->roles)) {
+         // Get rid of the main WordPress admin "Dashboard"
+         reset( $menu );
+         $page = key( $menu );
+         while( ( __( 'Dashboard' ) != $menu[$page][0] ) && next( $menu ) ) {
+             $page = key( $menu );
+         }
+         if( __( 'Dashboard' ) == $menu[$page][0] ) {
+             unset( $menu[$page] );
+         }
+         reset($menu);
+         // Also redirect user away from main WordPress dashboard should they get there.
+         if ( preg_match( '#wp-admin/?(index.php)?$#', $_SERVER['REQUEST_URI'] ) && ( 'index.php' != $menu[$page][2] ) ) {
+             wp_redirect( get_option( 'siteurl' ) . '/wp-admin/admin.php?page=glm-members-admin-menu-member');
+         }
+     }
+ }
+ add_action('admin_menu', 'glmRemoveDashboard');
 +add_filter(
 +    'glm-member-db-dashboard-member-widgets',
 +    function ( $member = null ) {
 +        $content .= $this->controller( 'dashboard', 'index', $member );
 +        return $content;
 +    },
 +    10,
 +    1
 +);