Plugin Directory

Changeset 150076


Ignore:
Timestamp:
08/28/2009 05:29:35 PM (17 years ago)
Author:
reblevins
Message:
  • Users are now demoted to subscriber when member blogging is off.
  • Fixed a bug where group creators would also get demoted when member blogging was off.
  • Added the ability to use an existing blog for a group.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • bp-groupblog/trunk/bp-groupblog.php

    r147205 r150076  
    33Plugin Name: BP Groupblog
    44Plugin URI: http://wordpress.org/extend/plugins/search.php?q=buddypress+groupblog
    5 Description: Extend BuddyPress group functionality by linking a blog to the group.
    6 Author: reblevins & MariusOoms
    7 Author URI: http://www.twitter.com/revirb
     5Description: Automates and links WPMU blogs groups controlled by the group creator.
     6Author: Rodney Blevins & Marius Ooms
    87Version: 1.0
    98License: (Groupblog: GNU General Public License 2.0 (GPL) http://www.gnu.org/licenses/gpl.html)
     
    1211
    1312define ( 'BP_GROUPBLOG_IS_INSTALLED', 1 );
    14 define ( 'BP_GROUPBLOG_VERSION', '1.0' );
    1513define ( 'BP_GROUPBLOG_DEFAULT_ADMIN_ROLE', 'administrator' );
    1614define ( 'BP_GROUPBLOG_DEFAULT_MOD_ROLE', 'editor' );
     
    4240    $bp->groupblog->image_base = BP_PLUGIN_URL . '/bp-groupblog/images';
    4341    $bp->groupblog->slug = BP_GROUPBLOG_SLUG;
    44     $bp->version_numbers->groupblog = BP_GROUPBLOG_VERSION;
    45    
    4642    $bp->groupblog->default_admin_role = BP_GROUPBLOG_DEFAULT_ADMIN_ROLE;
    4743    $bp->groupblog->default_mod_role = BP_GROUPBLOG_DEFAULT_MOD_ROLE;
     
    6763            bp_core_new_subnav_item(
    6864                array(
    69                     'name' => __( 'Blog', 'groupblog' ),
     65                    'name' => __( 'Blog', 'buddypress' ),
    7066                    'slug' => 'blog',
    7167                    'parent_url' => $group_link,
     
    8884function groupblog_edit_settings() {
    8985    global $bp, $groupblog_blog_id, $errors;
    90    
     86
     87    $group_id = $_POST['groupblog-group-id'];
     88   
     89    if ( !isset( $group_id ) )
     90        $group_id = $bp->groups->current_group->id;
     91   
     92    //bp_core_add_message( "Trying to save setting. Save: " . $_POST['save'] . " Create new: " . $_POST['groupblog-create-new'] . " Group ID: " . $group_id . " Blog ID: " . $_POST['groupblog-blogid'] );
     93       
    9194    if ( $bp->current_component == $bp->groups->slug && 'group-blog' == $bp->action_variables[0] ) {
    9295        if ( $bp->is_item_admin || $bp->is_item_mod  ) {
    93        
     96
    9497            // If the edit form has been submitted, save the edited details
    9598            if ( isset( $_POST['save'] ) ) {
    9699                if ( !bp_groupblog_blog_exists( $bp->groups->current_group->id ) ) {
    97                     if ( isset( $_POST['groupblog-enable-blog'] ) ) {                                               
    98                         if ( !bp_groupblog_validate_blog_signup() ) {
    99                             $errors = $filtered_results['errors'];
    100                             bp_core_add_message ( $errors );
    101                             $group_id = '';
    102                         }
     100                    if ( isset( $_POST['groupblog-enable-blog'] ) ) {
     101                        if ( $_POST['groupblog-create-new'] == 'yes' ) {
     102                            //Create a new blog and assign the blog id to the global $groupblog_blog_id
     103                            if ( !bp_groupblog_validate_blog_signup() ) {
     104                                $errors = $filtered_results['errors'];
     105                                bp_core_add_message ( $errors );
     106                                $group_id = '';
     107                            }
     108                        } else if ( $_POST['groupblog-create-new'] == 'no' ) {
     109                            // They're using an existing blog, so we try to assign that to $groupblog_blog_id
     110                            if ( !( $groupblog_blog_id = $_POST['groupblog-blogid'] ) ) {
     111                                //They forgot to choose a blog, so send them back and make them do it!
     112                                bp_core_add_message( __( 'Please choose one of your blogs from the drop-down menu.' . $group_id, 'groupblog' ), 'error' );
     113                                if ( $bp->action_variables[0] == 'step' ) {
     114                                    bp_core_redirect( $bp->loggedin_user->domain . $bp->groups->slug . '/create/step/' . $bp->action_variables[1] );
     115                                } else {
     116                                    bp_core_redirect( site_url() . '/' . $bp->current_component . '/' . $bp->current_item . '/admin/group-blog' );
     117                                }
     118                            }
     119                        }
    103120                    }
    104121                } else {
     122                    // They already have a blog associated with the group, we're just saving other settings
    105123                    $groupblog_blog_id = groups_get_groupmeta ( $bp->groups->current_group->id, 'groupblog_blog_id' );
    106124                }
    107            
     125
    108126                if ( !groupblog_edit_base_settings( $_POST['groupblog-enable-blog'], $_POST['groupblog-silent-add'], $_POST['default-administrator'], $_POST['default-moderator'], $_POST['default-member'], $bp->groups->current_group->id, $groupblog_blog_id ) ) {
    109127                    bp_core_add_message( __( 'There was an error creating your group blog, please try again.', 'groupblog' ), 'error' );
     
    111129                    bp_core_add_message( __( 'Group details were successfully updated.', 'groupblog' ) );
    112130                }
    113                
     131
    114132                do_action( 'groupblog_details_edited', $bp->groups->current_group->id );
    115                
     133
    116134                bp_core_redirect( site_url() . '/' . $bp->current_component . '/' . $bp->current_item . '/admin/group-blog' );
    117135            }
     
    160178        $groupblog_create_screen = false;
    161179    }
    162                
     180   
     181    $group_id = $_POST['groupblog-group-id'];
     182   
    163183    if ( isset ($_POST['save'] ) && isset ($_POST['groupblog-create-save']) && isset($_POST['groupblog-enable-blog']) ) {
    164         $group_id = $_POST['groupblog-group-id'];
    165         if ( bp_groupblog_validate_blog_signup() ) {
    166             if ( !groupblog_edit_base_settings( $_POST['groupblog-enable-blog'], $_POST['groupblog-silent-add'], $groupblog_default_admin_role, $groupblog_default_mod_role, $groupblog_default_member_role, $group_id, $groupblog_blog_id ) ) {
    167                 bp_core_add_message( __( 'There was an error creating your group blog, please try again.' . $group_id, 'groupblog' ), 'error' );
     184        if ( $_POST['groupblog-create-new'] == 'yes' ) {
     185            //Create a new blog and associate it with the group             
     186            if ( bp_groupblog_validate_blog_signup() ) {
     187                if ( !groupblog_edit_base_settings( $_POST['groupblog-enable-blog'], $_POST['groupblog-silent-add'], $groupblog_default_admin_role, $groupblog_default_mod_role, $groupblog_default_member_role, $group_id, $groupblog_blog_id ) ) {
     188                    //bp_core_add_message( __( 'There was an error creating your group blog, please try again.' . $group_id, 'groupblog' ), 'error' );
     189                }
     190            }
     191        } else if ( $_POST['groupblog-create-new'] == 'no' ) {
     192            //User wants to use an existing blog
     193            if ( $_POST['groupblog-blogid'] != 0 ) {
     194                //If they have chosen a blog then we're okay
     195                if ( !groupblog_edit_base_settings( $_POST['groupblog-enable-blog'], $_POST['groupblog-silent-add'], $groupblog_default_admin_role, $groupblog_default_mod_role, $groupblog_default_member_role, $group_id, $_POST['groupblog-blogid'] ) ) {
     196                }           
     197            } else {
     198                //They forgot to choose a blog, so send them back and make them do it!
     199                bp_core_add_message( __( 'Please choose one of your blogs from the drop-down menu.' . $group_id, 'groupblog' ), 'error' );
     200                if ( $bp->action_variables[0] == 'step' ) {
     201                    bp_core_redirect( $bp->loggedin_user->domain . $bp->groups->slug . '/create/step/' . $bp->action_variables[1] );
     202                } else {
     203                    bp_core_redirect( site_url() . '/' . $bp->current_component . '/' . $bp->current_item . '/admin/group-blog' );
     204                }
    168205            }
    169206        }
     
    182219    ?>
    183220   
    184     <div id="blog-details-fields"<?php if ( !bp_groupblog_is_blog_enabled( $bp->groups->current_group->id ) && !$groupblog_create_screen ) { ?> style="display: none;"<?php } ?>>
    185        
    186         <label for="blog_title"><strong><?php _e( 'Blog Title:', 'groupblog' ) ?></strong></label> 
     221    <div id="blog-details-fields">
     222    <?php $blog_id = get_groupblog_blog_id(); ?>
     223    <?php if ( !$groupblog_create_screen && !( $blog_id == '' ) ) { ?>
     224        <?php //We're showing the admin form ?>
     225        <?php $blog_details = get_blog_details( get_groupblog_blog_id(), true ); ?>
     226        <label for="blog_title"><strong><?php _e( 'Blog Title:', 'buddypress' ) ?></strong></label>
     227        <?php if ( $errmsg = $errors->get_error_message('blog_title') ) { ?>
     228          <p class="error"><?php echo $errmsg ?></p>
     229        <?php } ?>
     230        <p><?php echo $blog_details->blogname; ?></p>   
     231        <input name="blog_title" type="hidden" id="blog_title" value="<?php echo $blog_details->blogname; ?>" />
     232   
     233        <label for="blogname"><strong><?php _e( 'Blog Address:', 'buddypress' ) ?></strong></label>
     234        <?php if ( $errmsg = $errors->get_error_message('blogname') ) { ?>
     235          <p class="error"><?php echo $errmsg ?></p>
     236        <?php }
     237        // Since WordPress does not allow '-' or '_' in a blog name, we cut those out
     238        $baddies = array ( '-', '_' );
     239        $blog_address = str_replace ( $baddies, '', $bp->groups->current_group->slug );
     240        ?>
     241
     242        <p><em><?php echo $blog_details->siteurl; ?> </em></p>
     243        <input name="blogname" type="hidden" id="blogname" value="<?php echo $blog_details->siteurl; ?>" maxlength="50" />
     244
     245        <?php $bp->groups->current_group->status == 'public' ? $group_public = '1' : $group_public = '0'; ?>
     246        <input type="hidden" id="blog_public" name="blog_public" value="<?php echo $group_public ?>" />
     247        <input type="hidden" id="groupblog_create_screen" name="groupblog_create_screen" value="<?php echo $groupblog_create_screen; ?>" />
     248
     249    <?php } else { ?>
     250        <?php //Showing the create screen form ?>       
     251       
     252        <p><input type="radio" value="yes" name="groupblog-create-new" checked="checked" /><span>&nbsp;<?php _e( 'Create a new blog', 'buddypress' ); ?>&nbsp;&nbsp;</span></p>
     253           
     254        <label for="blog_title"><strong><?php _e( 'Blog Title:', 'buddypress' ) ?></strong></label>
    187255        <?php if ( $errmsg = $errors->get_error_message('blog_title') ) { ?>
    188256            <p class="error"><?php echo $errmsg ?></p>
     
    190258        <p><?php echo $bp->groups->current_group->name; ?></p>     
    191259        <input name="blog_title" type="hidden" id="blog_title" value="<?php echo $bp->groups->current_group->name; ?>" />
    192        
    193         <label for="blogname"><strong><?php _e( 'Blog Address:', 'groupblog' ) ?></strong></label>
    194     <?php   if ( $errmsg = $errors->get_error_message('blogname') ) { ?>
     260
     261        <label for="blogname"><strong><?php _e( 'Blog Address:', 'buddypress' ) ?></strong></label>
     262        <?php if ( $errmsg = $errors->get_error_message('blogname') ) { ?>
    195263            <p class="error"><?php echo $errmsg ?></p>
    196264        <?php }
     
    198266        $baddies = array ( '-', '_' );
    199267        $blog_address = str_replace ( $baddies, '', $bp->groups->current_group->slug );
    200        
     268
    201269        /*
    202270        * If we're re-directing from bp_groupblog_validate_blog_signup(), it means that there was a problem
     
    215283        ?>
    216284
    217         <?php if ( $groupblog_create_screen ) { ?>
    218             <p><em><?php echo 'http://' . $current_site->domain . $current_site->path . $blog_address ?></em></p>
    219         <?php } else { ?>
    220             <p><em><?php echo get_blogaddress_by_id( groups_get_groupmeta ( $bp->groups->current_group->id, 'groupblog_blog_id' ) ); ?> </em></p>
    221         <?php } ?>     
     285        <p><em><?php echo 'http://' . $current_site->domain . $current_site->path . $blog_address ?></em></p>
    222286        <input name="blogname" type="hidden" id="blogname" value="<?php echo $blog_address; ?>" maxlength="50" />
    223        
    224       <?php $bp->groups->current_group->status == 'public' ? $group_public = '1' : $group_public = '0'; ?>
     287
     288        <?php $bp->groups->current_group->status == 'public' ? $group_public = '1' : $group_public = '0'; ?>
    225289        <input type="hidden" id="blog_public" name="blog_public" value="<?php echo $group_public ?>" />
    226290        <input type="hidden" id="groupblog_create_screen" name="groupblog_create_screen" value="<?php echo $groupblog_create_screen; ?>" />
    227291       
    228     </div>
    229     <?php
    230     do_action('signup_blogform', $errors);
     292        <p><input type="radio" value="no" name="groupblog-create-new" /><span>&nbsp;<?php _e( 'Use one of your existing blogs', 'buddypress' ); ?>&nbsp;&nbsp;</span></p>
     293        <div class="dropdown">
     294            <label><?php _e( 'Please choose one of your blogs for the group blog:', 'buddypress' ) ?> <select name="groupblog-blogid" id="groupblog-blogid">
     295               <option value="0"><?php _e( "choose a blog", "buddypress" ) ?></option>
     296            <?php
     297                   $user_blogs = get_blogs_of_user( get_current_user_id() );
     298                   
     299                   //print_r ($user_blogs);
     300                       foreach ($user_blogs AS $user_blog) { ?>
     301                           <option value="<?php echo $user_blog->userblog_id; ?>"><?php echo $user_blog->blogname; ?></option>
     302                       <?php } ?>
     303            </select>
     304            </label>
     305           </div>
     306    <?php } ?>
     307       
     308</div>
     309<?php
     310do_action('signup_blogform', $errors);
    231311}
    232312
     
    250330 * bp_groupblog_signup_blog($blogname = '', $blog_title = '', $errors = '')
    251331 *
    252  * This function is called from the template and initates the blog creation.
     332 * This function is called from the template and initiates the blog creation.
    253333 */
    254334function bp_groupblog_signup_blog($blogname = '', $blog_title = '', $errors = '') {
     
    279359           
    280360        <div class="checkbox">
    281             <label><input type="checkbox" name="groupblog-enable-blog" id="groupblog-enable-blog" value="1"<?php bp_groupblog_show_enabled( $bp->groups->current_group->id ) ?>/> <?php _e( 'Enable group blog', 'groupblog' ); ?></label> 
     361            <label><input type="checkbox" name="groupblog-enable-blog" id="groupblog-enable-blog" value="1"<?php bp_groupblog_show_enabled( $bp->groups->current_group->id ) ?>/> <?php _e( 'Enable group blog', 'buddypress' ); ?></label>
    282362        </div>
    283363       
    284364        <?php bp_groupblog_show_blog_form($blogname, $blog_title, $errors); ?>
    285365                       
    286         <div id="groupblog-member-options"<?php if ( !bp_groupblog_is_blog_enabled( $bp->groups->current_group->id ) && !$groupblog_create_screen ) { ?> style="display: none;"<?php } ?>>
     366        <div id="groupblog-member-options">
    287367       
    288368            <h3><?php _e( 'Member Options', 'groupblog' ) ?></h3>
    289369           
    290             <p><?php _e( 'Enable blog posting to allow adding of group members to the blog with the roles set below. <br />When disabled, all members will temporarily be set to subscribers, disabling posting.', 'groupblog' ); ?></p>
     370            <p><?php _e( 'Enable blog posting to allow adding of group members to the blog with the roles set below. <br />When disabled, all members will temporarily be set to subscribers, disabling posting.', 'buddypress' ); ?></p>
    291371               
    292372            <div class="checkbox"> 
    293                 <label><input type="checkbox" name="groupblog-silent-add" id="groupblog-silent-add" value="1"<?php if ( bp_groupblog_silent_add( $bp->groups->current_group->id ) ) { ?> checked="checked"<?php } ?>/> <?php _e( 'Enable member blog posting', 'groupblog' ); ?></label>
     373                <label><input type="checkbox" name="groupblog-silent-add" id="groupblog-silent-add" value="1"<?php if ( bp_groupblog_silent_add( $bp->groups->current_group->id ) ) { ?> checked="checked"<?php } ?>/> <?php _e( 'Enable member blog posting', 'buddypress' ); ?></label>
    294374            </div>
    295375       
     
    308388            ?>
    309389       
    310             <label><strong><?php _e( 'Default Administrator Role:', 'groupblog' ); ?></strong></label>
    311             <input type="radio"<?php if ( $groupblog_default_admin_role == 'administrator' ) {?> checked="checked"<?php } ?> value="administrator" name="default-administrator" /><span>&nbsp;<?php _e( 'Administrator', 'groupblog' ); ?>&nbsp;&nbsp;</span>
    312             <input type="radio"<?php if ( $groupblog_default_admin_role == 'editor' ) {?> checked="checked"<?php } ?> value="editor" name="default-administrator" /><span>&nbsp;<?php _e( 'Editor', 'groupblog' ); ?>&nbsp;&nbsp;</span>
    313             <input type="radio"<?php if ( $groupblog_default_admin_role == 'author' ) {?> checked="checked"<?php } ?> value="author" name="default-administrator" /><span>&nbsp;<?php _e( 'Author', 'groupblog' ); ?>&nbsp;&nbsp;</span>
    314             <input type="radio"<?php if ( $groupblog_default_admin_role == 'contributor' ) {?> checked="checked"<?php } ?> value="contributor" name="default-administrator" /><span>&nbsp;<?php _e( 'Contributor', 'groupblog' ); ?>&nbsp;&nbsp;</span>
    315             <input type="radio"<?php if ( $groupblog_default_admin_role == 'subscriber' ) {?> checked="checked"<?php } ?> value="subscriber" name="default-administrator" /><span>&nbsp;<?php _e( 'Subscriber', 'groupblog' ); ?>&nbsp;&nbsp;</span>
    316            
    317             <label><strong><?php _e( 'Default Moderator Role:', 'groupblog' ); ?></strong></label>
    318             <input type="radio"<?php if ( $groupblog_default_mod_role == 'administrator' ) {?> checked="checked"<?php } ?> value="administrator" name="default-moderator" /><span>&nbsp;<?php _e( 'Administrator', 'groupblog' ); ?>&nbsp;&nbsp;</span>
    319             <input type="radio"<?php if ( $groupblog_default_mod_role == 'editor' ) {?> checked="checked"<?php } ?> value="editor" name="default-moderator" /><span>&nbsp;<?php _e( 'Editor', 'groupblog' ); ?>&nbsp;&nbsp;</span>
    320             <input type="radio"<?php if ( $groupblog_default_mod_role == 'author' ) {?> checked="checked"<?php } ?> value="author" name="default-moderator" /><span>&nbsp;<?php _e( 'Author', 'groupblog' ); ?>&nbsp;&nbsp;</span>
    321             <input type="radio"<?php if ( $groupblog_default_mod_role == 'contributor' ) {?> checked="checked"<?php } ?> value="contributor" name="default-moderator" /><span>&nbsp;<?php _e( 'Contributor', 'groupblog' ); ?>&nbsp;&nbsp;</span>
    322             <input type="radio"<?php if ( $groupblog_default_mod_role == 'subscriber' ) {?> checked="checked"<?php } ?> value="subscriber" name="default-moderator" /><span>&nbsp;<?php _e( 'Subscriber', 'groupblog' ); ?>&nbsp;&nbsp;</span>
    323            
    324             <label><strong><?php _e( 'Default Member Role:', 'groupblog' ); ?></strong></label>
    325             <input type="radio"<?php if ( $groupblog_default_member_role == 'administrator' ) {?> checked="checked"<?php } ?> value="administrator" name="default-member" /><span>&nbsp;<?php _e( 'Administrator', 'groupblog' ); ?>&nbsp;&nbsp;</span>
    326             <input type="radio"<?php if ( $groupblog_default_member_role == 'editor' ) {?> checked="checked"<?php } ?> value="editor" name="default-member" /><span>&nbsp;<?php _e( 'Editor', 'groupblog' ); ?>&nbsp;&nbsp;</span>
    327             <input type="radio"<?php if ( $groupblog_default_member_role == 'author' ) {?> checked="checked"<?php } ?> value="author" name="default-member" /><span>&nbsp;<?php _e( 'Author', 'groupblog' ); ?>&nbsp;&nbsp;</span>
    328             <input type="radio"<?php if ( $groupblog_default_member_role == 'contributor' ) {?> checked="checked"<?php } ?> value="contributor" name="default-member" /><span>&nbsp;<?php _e( 'Contributor', 'groupblog' ); ?>&nbsp;&nbsp;</span>
    329             <input type="radio"<?php if ( $groupblog_default_member_role == 'subscriber' ) {?> checked="checked"<?php } ?> value="subscriber" name="default-member" /><span>&nbsp;<?php _e( 'Subscriber', 'groupblog' ); ?>&nbsp;&nbsp;</span>
     390            <label><strong><?php _e( 'Default Administrator Role:', 'buddypress' ); ?></strong></label>
     391            <input type="radio"<?php if ( $groupblog_default_admin_role == 'administrator' ) {?> checked="checked"<?php } ?> value="administrator" name="default-administrator" /><span>&nbsp;<?php _e( 'Administrator', 'buddypress' ); ?>&nbsp;&nbsp;</span>
     392            <input type="radio"<?php if ( $groupblog_default_admin_role == 'editor' ) {?> checked="checked"<?php } ?> value="editor" name="default-administrator" /><span>&nbsp;<?php _e( 'Editor', 'buddypress' ); ?>&nbsp;&nbsp;</span>
     393            <input type="radio"<?php if ( $groupblog_default_admin_role == 'author' ) {?> checked="checked"<?php } ?> value="author" name="default-administrator" /><span>&nbsp;<?php _e( 'Author', 'buddypress' ); ?>&nbsp;&nbsp;</span>
     394            <input type="radio"<?php if ( $groupblog_default_admin_role == 'contributor' ) {?> checked="checked"<?php } ?> value="contributor" name="default-administrator" /><span>&nbsp;<?php _e( 'Contributor', 'buddypress' ); ?>&nbsp;&nbsp;</span>
     395            <input type="radio"<?php if ( $groupblog_default_admin_role == 'subscriber' ) {?> checked="checked"<?php } ?> value="subscriber" name="default-administrator" /><span>&nbsp;<?php _e( 'Subscriber', 'buddypress' ); ?>&nbsp;&nbsp;</span>
     396           
     397            <label><strong><?php _e( 'Default Moderator Role:', 'buddypress' ); ?></strong></label>
     398            <input type="radio"<?php if ( $groupblog_default_mod_role == 'administrator' ) {?> checked="checked"<?php } ?> value="administrator" name="default-moderator" /><span>&nbsp;<?php _e( 'Administrator', 'buddypress' ); ?>&nbsp;&nbsp;</span>
     399            <input type="radio"<?php if ( $groupblog_default_mod_role == 'editor' ) {?> checked="checked"<?php } ?> value="editor" name="default-moderator" /><span>&nbsp;<?php _e( 'Editor', 'buddypress' ); ?>&nbsp;&nbsp;</span>
     400            <input type="radio"<?php if ( $groupblog_default_mod_role == 'author' ) {?> checked="checked"<?php } ?> value="author" name="default-moderator" /><span>&nbsp;<?php _e( 'Author', 'buddypress' ); ?>&nbsp;&nbsp;</span>
     401            <input type="radio"<?php if ( $groupblog_default_mod_role == 'contributor' ) {?> checked="checked"<?php } ?> value="contributor" name="default-moderator" /><span>&nbsp;<?php _e( 'Contributor', 'buddypress' ); ?>&nbsp;&nbsp;</span>
     402            <input type="radio"<?php if ( $groupblog_default_mod_role == 'subscriber' ) {?> checked="checked"<?php } ?> value="subscriber" name="default-moderator" /><span>&nbsp;<?php _e( 'Subscriber', 'buddypress' ); ?>&nbsp;&nbsp;</span>
     403           
     404            <label><strong><?php _e( 'Default Member Role:', 'buddypress' ); ?></strong></label>
     405            <input type="radio"<?php if ( $groupblog_default_member_role == 'administrator' ) {?> checked="checked"<?php } ?> value="administrator" name="default-member" /><span>&nbsp;<?php _e( 'Administrator', 'buddypress' ); ?>&nbsp;&nbsp;</span>
     406            <input type="radio"<?php if ( $groupblog_default_member_role == 'editor' ) {?> checked="checked"<?php } ?> value="editor" name="default-member" /><span>&nbsp;<?php _e( 'Editor', 'buddypress' ); ?>&nbsp;&nbsp;</span>
     407            <input type="radio"<?php if ( $groupblog_default_member_role == 'author' ) {?> checked="checked"<?php } ?> value="author" name="default-member" /><span>&nbsp;<?php _e( 'Author', 'buddypress' ); ?>&nbsp;&nbsp;</span>
     408            <input type="radio"<?php if ( $groupblog_default_member_role == 'contributor' ) {?> checked="checked"<?php } ?> value="contributor" name="default-member" /><span>&nbsp;<?php _e( 'Contributor', 'buddypress' ); ?>&nbsp;&nbsp;</span>
     409            <input type="radio"<?php if ( $groupblog_default_member_role == 'subscriber' ) {?> checked="checked"<?php } ?> value="subscriber" name="default-member" /><span>&nbsp;<?php _e( 'Subscriber', 'buddypress' ); ?>&nbsp;&nbsp;</span>
    330410           
    331411            <div id="groupblog-member-roles">
    332                 <label><strong><?php _e( 'A bit about the WPMU member roles:', 'groupblog' ); ?></strong></label>
     412                <label><strong><?php _e( 'A bit about the WPMU member roles:', 'buddypress' ); ?></strong></label>
    333413                <ul>
    334                     <li><?php _e( 'Administrator', 'groupblog' ); ?> - <?php _e( "Somebody who has access to all the administration features.", 'groupblog' ); ?></li>
    335                     <li><?php _e( 'Editor', 'groupblog' ); ?> - <?php _e( "Somebody who can publish posts, manage posts as well as manage other people's posts, etc.", 'groupblog' ); ?></li>
    336                     <li><?php _e( 'Author', 'groupblog' ); ?> - <?php _e( "Somebody who can publish and manage their own posts.", 'groupblog' ); ?></li>
    337                     <li><?php _e( 'Contributor', 'groupblog' ); ?> - <?php _e( "Somebody who can write and manage their posts but not publish posts.", 'groupblog' ); ?></li>
    338                     <li><?php _e( 'Subscriber', 'groupblog' ); ?> - <?php _e( "Somebody who can read comments/comment/receive news letters, etc.", 'groupblog' ); ?></li>
     414                    <li><?php _e( 'Administrator', 'buddypress' ); ?> - <?php _e( "Somebody who has access to all the administration features.", 'buddypress' ); ?></li>
     415                    <li><?php _e( 'Editor', 'buddypress' ); ?> - <?php _e( "Somebody who can publish posts, manage posts as well as manage other people's posts, etc.", 'buddypress' ); ?></li>
     416                    <li><?php _e( 'Author', 'buddypress' ); ?> - <?php _e( "Somebody who can publish and manage their own posts.", 'buddypress' ); ?></li>
     417                    <li><?php _e( 'Contributor', 'buddypress' ); ?> - <?php _e( "Somebody who can write and manage their posts but not publish posts.", 'buddypress' ); ?></li>
     418                    <li><?php _e( 'Subscriber', 'buddypress' ); ?> - <?php _e( "Somebody who can read comments/comment/receive news letters, etc.", 'buddypress' ); ?></li>
    339419                </ul>
    340420            </div>
     
    344424        <?php if ( !$groupblog_create_screen ) { ?>
    345425        <p>
    346             <input id="save" type="submit" name="save" class="submit" value="<?php _e('Save Changes &raquo;', 'groupblog') ?>"/>
     426            <input id="save" type="submit" name="save" class="submit" value="<?php _e('Save Changes &raquo;', 'buddypress') ?>"/>
    347427        </p>
    348428    </form>
     
    480560 * bp_groupblog_join_this_blog()
    481561 *
    482  * Set the user role based on te different variables.
     562 * Set the user role based on the different variables.
    483563 */
    484564function bp_groupblog_join_this_blog() {
    485     require_once( ABSPATH . WPINC . '/registration.php'); // is this accessable already? dunno
    486 
    487     global $bp, $wpdb, $username, $blog_id, $userdata, $current_blog;
     565  require_once( ABSPATH . WPINC . '/registration.php'); // is this accessable already? dunno
     566
     567  global $bp, $wpdb, $username, $blog_id, $userdata, $current_blog;
    488568
    489569  if  ( groups_get_groupmeta ( $group_id, 'groupblog_enable_blog' ) == '1' )
     
    509589       
    510590    if ( $group->creator_id == $bp->loggedin_user->id ) {
    511         $default_role = $groupblog_creator_role;
     591      return;
     592        //$default_role = $groupblog_creator_role;
    512593    } else if ( bp_groupblog_check_is_admin ( $bp->loggedin_user->id, $group_id ) ) {
    513594        $default_role = $groupblog_default_admin_role;
     
    544625add_action( 'admin_head', 'bp_groupblog_join_this_blog', 99 );
    545626
     627function bp_groupblog_remove_user( $group_id, $user_id = false ) {
     628  require_once( ABSPATH . WPINC . '/registration.php'); // is this accessable already? dunno
     629
     630  global $bp, $wpdb, $username, $blog_id, $userdata, $current_blog;
     631
     632  if (!is_user_logged_in()) // do nothing
     633    return;
     634
     635  if ( !$user_id )
     636    $user_id = $bp->loggedin_user->id;
     637       
     638    $blog_id = get_groupblog_blog_id( $group_id );
     639
     640  if ( !is_user_member_of_blog($user_id, $blog_id) )
     641      return;
     642
     643  switch_to_blog( $blog_id );
     644  $user = new WP_User( $user_id );
     645  $user->set_role('subscriber');
     646  wp_cache_delete($bp->loggedin_user->id, 'users' );   
     647}
     648add_action( 'groups_leave_group', 'bp_groupblog_remove_user' );
     649
    546650/**
    547651 * groupblog_screen_blog()
     
    567671    global $bp, $wp;
    568672   
    569     load_template( TEMPLATEPATH . '/groupblog/blog-latest.php' );
    570    
    571 }
    572 add_action ('groups_custom_group_fields', 'groupblog_screen_blog_latest');
     673    load_template( STYLESHEETPATH . '/groupblog/blog-latest.php' );
     674   
     675}
     676add_action ('groups_custom_group_boxes', 'groupblog_screen_blog_latest');
    573677
    574678/**
     
    577681 * Allows publishing from the group itself when posts are unpublished.
    578682 */
    579 function bp_groupblog_blog_publish() {
    580     if ( 'publish-post' == $bp->current_action ) {
    581         $blog_ID = $bp->action_variables[0];
    582         $post_ID = $bp->action_variables[1];
    583         switch_to_blog( $blog_ID );
    584         wp_publish_post( $post_ID );
    585        
    586         if ( !(get_post_status( $post_ID ) == 'published' ) ) {
     683function groupblog_publish_post() {
     684    global $bp;
     685   
     686    if ( isset( $_GET['publish-post'] ) ) {
     687      if ( $bp->is_item_admin || $bp->is_item_mod  ) { 
     688            $blog_ID = $_GET['blogid'];
     689            $post_ID = $_GET['postid'];
     690            switch_to_blog( $blog_ID );
     691            wp_publish_post( $post_ID );
     692           
     693            if ( !(get_post_status( $post_ID ) == 'published' ) ) {
    587694            bp_core_add_message(  __('There was an error publishing the post. Please try again.', 'groupblog'), 'error' );
    588695            bp_core_redirect( site_url() . '/' . $bp->groups->slug . '/' . $bp->current_item . '/group-blog' );
    589         } else {
     696            } else {
    590697            bp_core_add_message( __('The post was successfully published.', 'groupblog') );
    591698            bp_core_redirect( site_url() . '/' . $bp->groups->slug . '/' . $bp->current_item . '/group-blog' );
     699            }
    592700        }
    593701    }
    594702}
    595 add_action( 'wp', 'bp_groupblog_blog_publish', 1 );
     703add_action( 'wp', 'groupblog_publish_post', 1 );
     704
    596705?>
Note: See TracChangeset for help on using the changeset viewer.