Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Plugin Name: BP Register Control
- Plugin URI: http://imath.owni.fr/
- Description: redirect new user's notification to admin so he can control if the account will be activated or not.
- Version: 1.0
- Author: imath
- Author URI: http://imath.owni.fr
- License: GPLv2
- Network: true
- */
- function bp_rc_ask_wp_signups( $activate_url, $key=false ) {
- global $wpdb;
- if( empty( $key ) ) {
- $parse_key = explode( '?key=', $activate_url);
- $key = $parse_key[1];
- }
- $user = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->signups WHERE activation_key = %s", $key) );
- return $user;
- }
- add_filter( 'bp_core_signup_send_validation_email_to', 'bp_rc_redirect_to_admin', 1, 2 );
- add_filter( 'bp_core_signup_send_validation_email_subject', 'bp_rc_subject_redirect_to_admin', 1, 2 );
- add_filter( 'bp_core_signup_send_validation_email_message', 'bp_rc_message_redirect_to_admin', 1, 3 );
- add_filter( 'bp_core_activation_signup_user_notification_to', 'bp_rc_redirect_to_admin', 1, 5 );
- add_filter( 'bp_core_activation_signup_user_notification_subject', 'bp_rc_subject_redirect_to_admin', 1, 5);
- add_filter( 'bp_core_activation_signup_user_notification_message', 'bp_rc_message_redirect_to_admin', 1, 5 );
- function bp_rc_redirect_to_admin( $user_email, $user_id ) {
- return get_option( 'admin_email' );
- }
- function bp_rc_subject_redirect_to_admin( $subject, $user_id ) {
- $blogname = ( '' == get_option( 'blogname' ) ) ? __( 'BuddyPress', 'buddypress' ) : esc_html( get_option( 'blogname' ) );
- return sprintf(__('[%s] New User Registration'), $blogname);
- }
- function bp_rc_message_redirect_to_admin( $message, $user_id, $activate_url, $key = false ) {
- if ( is_multisite() )
- $user = bp_rc_ask_wp_signups( $activate_url, $key );
- else
- $user = get_userdata( $user_id );
- if( !empty( $key ) )
- $activate_url = bp_get_activation_page() . "?key=$key";
- $message = sprintf( __("Hi %s (%s) just registered.\n\nYou can activate his account by clicking here : %s"), $user->user_login, $user->user_email, $activate_url );
- return $message;
- }
- add_action( 'bp_core_activated_user', 'bp_rc_send_user_account_is_activated', 1, 3 );
- function bp_rc_send_user_account_is_activated( $user_id, $key, $user ) {
- // if multisite, there's allready a notification sent
- if(is_multisite())
- return false;
- $user = get_userdata( $user_id );
- $to = $user->user_email;
- $from_name = ( '' == get_option( 'blogname' ) ) ? __( 'BuddyPress', 'buddypress' ) : esc_html( get_option( 'blogname' ) );
- if( !empty( $user->display_name ) )
- $user_nick = $user->display_name;
- else
- $user_nick = ucfirst( $user->user_login );
- // edit the message below to suit your needs !
- $message = sprintf( __("Hi %s,\n\nYour are now a member of our website. Thanks for joining us !\n\n"), $user_nick );
- $message .= sprintf( __("Where to go now ?\n\nYou can log in at %s with your login (%s) and the password you registered with"), esc_html( get_option( 'siteurl' ) ), $user->user_login );
- $message .= sprintf( __("\n\nHoping to hear from you real soon :)\n\n"), esc_html( get_option( 'blogname' ) ) );
- // edit the subject below to suit your needs !
- $subject = '[' . $from_name . '] ' . __( 'Your account is now active!', 'buddypress' );
- wp_mail( $to, $subject, $message );
- }
- add_action('bp_after_registration_confirmed', 'bp_rc_override_bp_screen_message');
- function bp_rc_override_bp_screen_message() {
- // edit the message below to suit your needs
- $message = "Thanks for registrating, your account will soon be activated by the Admin of this website..";
- ?>
- <script type="text/javascript">
- jQuery(document).ready(function($){
- $('#signup_form p').html('<?php echo $message;?>');
- });
- </script>
- <?php
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement