Plugin Directory

Changeset 1584657


Ignore:
Timestamp:
01/29/2017 08:07:14 PM (9 years ago)
Author:
alexhal
Message:

groups enable check

File:
1 edited

Legend:

Unmodified
Added
Removed
  • groups-members-mail/trunk/classes/gmm.class.php

    r1584650 r1584657  
    11<?php
    2 class Group_Members_Mail_Mods extends BP_Group_Extension {
    3     /**
    4      * Your __construct() method will contain configuration options for
    5      * your extension, and will pass them to parent::init()
    6      */
    7     function __construct() {
    8         $args = array(
    9             'slug' => 'group-members-mail',
    10             'name' =>  __('E-Mail Members','bp-gmm'),
    11             'access' => apply_filters('bp_gmm_auhority','mod'),
    12         );
    13         parent::init( $args );
    14     }
    15  
    16     /**
    17      * display() contains the markup that will be displayed on the main
    18      * plugin tab
    19      */
    20     function display( $group_id = NULL ) {
    21         $group_id = bp_get_group_id();
     2if(!class_exists('Group_Members_Mail_Mods'))
     3{
     4    if ( bp_is_active( 'groups' ) ) :
     5        class Group_Members_Mail_Mods extends BP_Group_Extension {
     6            /**
     7             * Your __construct() method will contain configuration options for
     8             * your extension, and will pass them to parent::init()
     9             */
     10            function __construct() {
     11                $args = array(
     12                    'slug' => 'group-members-mail',
     13                    'name' =>  __('E-Mail Members','bp-gmm'),
     14                    'access' => apply_filters('bp_gmm_auhority','mod'),
     15                );
     16                parent::init( $args );
     17            }
     18         
     19            /**
     20             * display() contains the markup that will be displayed on the main
     21             * plugin tab
     22             */
     23            function display( $group_id = NULL ) {
     24                $group_id = bp_get_group_id();
    2225
    23         //save and send mail :
    24         if (isset($_POST) && isset( $_POST['group_member_mail'] ) &&  wp_verify_nonce( $_POST['group_member_mail'], 'group_member_mail'.$group_id ) && isset($_POST['send_gmm_mail']) && $_POST['send_gmm_mail']=='send_gmm_mail'){
    25             $setting = isset( $_POST['group_member_mail_setting'] ) ? $_POST['group_member_mail_setting'] : '';
    26             $setting2 = isset( $_POST['group_member_mail_setting_subject'] ) ? $_POST['group_member_mail_setting_subject'] : '';
    27             add_filter( 'wp_mail_content_type', 'set_content_type' );
    28             $name = get_bloginfo('name');
    29             $email = get_bloginfo('admin_email');
    30             $members=array();
    31             if ( bp_group_has_members( 'group_id='.$group_id.'&per_page=999&exclude_admins_mods=true' ) ){
    32                 while ( bp_group_members() ) : bp_group_the_member();
    33                     $members[]=bp_get_group_member_id();
    34                     endwhile;
     26                //save and send mail :
     27                if (isset($_POST) && isset( $_POST['group_member_mail'] ) &&  wp_verify_nonce( $_POST['group_member_mail'], 'group_member_mail'.$group_id ) && isset($_POST['send_gmm_mail']) && $_POST['send_gmm_mail']=='send_gmm_mail'){
     28                    $setting = isset( $_POST['group_member_mail_setting'] ) ? $_POST['group_member_mail_setting'] : '';
     29                    $setting2 = isset( $_POST['group_member_mail_setting_subject'] ) ? $_POST['group_member_mail_setting_subject'] : '';
     30                    add_filter( 'wp_mail_content_type', 'set_content_type' );
     31                    $name = get_bloginfo('name');
     32                    $email = get_bloginfo('admin_email');
     33                    $members=array();
     34                    if ( bp_group_has_members( 'group_id='.$group_id.'&per_page=999&exclude_admins_mods=true' ) ){
     35                        while ( bp_group_members() ) : bp_group_the_member();
     36                            $members[]=bp_get_group_member_id();
     37                            endwhile;
     38                    }
     39                    $to=array();
     40                    foreach ($members as $member) {
     41                        $user=get_user_by('id',$member);
     42                       $to[]=$user->user_email;
     43                    }
     44                    $group = new BP_Groups_Group($group_id, true);
     45                    if(isset( $setting2)){
     46                       $subject=$setting2;
     47                    }else{
     48                        $subject= __('Notice from ','bp-gmm').$group->name ;
     49                    }
     50
     51                    if(!empty($to) && is_array($to))
     52                    $bool= wp_mail($to, $subject, stripslashes($setting ));
     53
     54                    if( $bool){
     55                        groups_update_groupmeta( $group_id, 'group_member_mail_setting', $setting );
     56                        groups_update_groupmeta( $group_id, 'group_member_mail_setting_subject', $setting2 );
     57                    }
     58
     59                }
     60
     61                //mail form :
     62                $setting = groups_get_groupmeta( $group_id, 'group_member_mail_setting' );
     63                $setting2 = groups_get_groupmeta( $group_id, 'group_member_mail_setting_subject' );
     64         
     65                ?>
     66                Send email to your group members here :
     67                <br>
     68                <form method="post" >
     69                  <br>
     70                <label for="group_member_mail_setting_subject"><?php echo __('Subject','bp-gmm');?></label>
     71                <input type="text" id="group_member_mail_setting_subject" name="group_member_mail_setting_subject" value="<?php echo stripslashes($setting2 ); ?>">
     72                  &nbsp;<br>
     73                <label for="group_member_mail_setting"><?php echo __('Message','bp-gmm'); ?></label>
     74                <?php wp_editor(stripslashes($setting ),'group_member_mail_setting',array( 'media_buttons' => false ));?>
     75                <?php wp_nonce_field( 'group_member_mail'.$group_id, 'group_member_mail' ); ?>
     76                <button type="submit" value="send_gmm_mail" id="save" name="send_gmm_mail"><?php echo __('Send','bp-gmm')?></button>
     77                </form>
     78                <?php
    3579            }
    36             $to=array();
    37             foreach ($members as $member) {
    38                 $user=get_user_by('id',$member);
    39                $to[]=$user->user_email;
    40             }
    41             $group = new BP_Groups_Group($group_id, true);
    42             if(isset( $setting2)){
    43                $subject=$setting2;
    44             }else{
    45                 $subject= __('Notice from ','bp-gmm').$group->name ;
    46             }
     80         
     81           
     82        }
     83        $for_mods = apply_filters('gmm_enable_for_mods',false);
     84        if($for_mods){
     85            bp_register_group_extension( 'Group_Members_Mail_Mods' );
     86        }
     87    endif;
     88}
    4789
    48             if(!empty($to) && is_array($to))
    49             $bool= wp_mail($to, $subject, stripslashes($setting ));
    50 
    51             if( $bool){
    52                 groups_update_groupmeta( $group_id, 'group_member_mail_setting', $setting );
    53                 groups_update_groupmeta( $group_id, 'group_member_mail_setting_subject', $setting2 );
    54             }
    55 
    56         }
    57 
    58         //mail form :
    59         $setting = groups_get_groupmeta( $group_id, 'group_member_mail_setting' );
    60         $setting2 = groups_get_groupmeta( $group_id, 'group_member_mail_setting_subject' );
    61  
    62         ?>
    63         Send email to your group members here :
    64         <br>
    65         <form method="post" >
    66           <br>
    67         <label for="group_member_mail_setting_subject"><?php echo __('Subject','bp-gmm');?></label>
    68         <input type="text" id="group_member_mail_setting_subject" name="group_member_mail_setting_subject" value="<?php echo stripslashes($setting2 ); ?>">
    69           &nbsp;<br>
    70         <label for="group_member_mail_setting"><?php echo __('Message','bp-gmm'); ?></label>
    71         <?php wp_editor(stripslashes($setting ),'group_member_mail_setting',array( 'media_buttons' => false ));?>
    72         <?php wp_nonce_field( 'group_member_mail'.$group_id, 'group_member_mail' ); ?>
    73         <button type="submit" value="send_gmm_mail" id="save" name="send_gmm_mail"><?php echo __('Send','bp-gmm')?></button>
    74         </form>
    75         <?php
    76     }
    77  
    78    
    79 }
    80 $for_mods = apply_filters('gmm_enable_for_mods',false);
    81 if($for_mods){
    82     bp_register_group_extension( 'Group_Members_Mail_Mods' );
    83 }
    8490
    8591if(!class_exists('Group_Members_Mail'))
Note: See TracChangeset for help on using the changeset viewer.