user_login;
$key = get_password_reset_key( $user );
$useremail = $user->user_email;
$role = implode( ', ', $user->roles );
if ( $role === $amu_settings['def_role'] ) {
$amu_meta = get_user_meta( $userid, 'amu_meta', true );
if ( empty( $amu_meta ) ) {
$prefix1 = substr( $useremail, 0, 3 );
$prefix2 = date_i18n( 'ymdHi' );
$prefix = $prefix1 . $prefix2;
$amu_meta = array(
'add' => 'def',
'number' => $amu_settings['def_number'],
'prefix' => $prefix,
);
update_user_meta( $userid, 'amu_meta', $amu_meta );
$this->message = $this->auto_insert_users( $useremail, 1, $amu_meta['number'], $prefix, $amu_settings['add_role'] );
}
}
}
/** ==================================================
* Notice mail when newly registering users
*
* @param array $wp_mail wp_mail.
* @param object $user user.
* @param string $blogname blogname.
* @since 1.00
*/
public function regist_user_notify_mail( $wp_mail, $user, $blogname ) {
$amu_meta = get_user_meta( $user->ID, 'amu_meta', true );
if ( ! empty( $amu_meta ) && array_key_exists( 'number', $amu_meta ) ) {
/* translators: %1$s: blogname %2$s: user's count */
$subject = sprintf( __( '[%1$s] login Username [%2$s]users', 'add-multiple-user' ), $blogname, $amu_meta['number'] );
$wp_mail['subject'] = $subject;
$unm = $user->user_login;
$key = get_password_reset_key( $user );
$message = __( 'Thank you for registering. The login information is as follows.', 'add-multiple-user' ) . "\r\n\r\n";
$message .= __( 'Login Address (URL)' ) . ':' . wp_login_url() . "\r\n\r\n";
$message .= sprintf( __( 'Username' ) . '&' . __( 'Email' ) . ': %s', $unm ) . "\n";
$message .= __( 'To reset your password, visit the following address:' ) . ': <' . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $unm ), 'login' ) . ">\r\n\r\n";
$wp_mail['message'] = $message . $this->message;
}
return $wp_mail;
}
/** ==================================================
* Notice mail when newly registering users for admin
*
* @param array $wp_mail wp_mail.
* @param object $user user.
* @param string $blogname blogname.
* @since 1.00
*/
public function regist_user_notify_mail_admin( $wp_mail, $user, $blogname ) {
$amu_meta = get_user_meta( $user->ID, 'amu_meta', true );
if ( ! empty( $amu_meta ) && array_key_exists( 'number', $amu_meta ) ) {
/* translators: %1$s: blogname %2$s: user's count */
$subject = sprintf( __( '[%1$s] New User Registration [%2$s]users', 'add-multiple-user' ), $blogname, $amu_meta['number'] );
$wp_mail['subject'] = $subject;
$unm = $user->user_login;
/* translators: %s: blogname */
$message = sprintf( __( 'New user registration on your site %s:' ), $blogname ) . "\r\n\r\n";
/* translators: %s: username */
$message .= sprintf( __( 'Username' ) . '&' . __( 'Email' ) . ': %s', $unm ) . "\r\n\r\n";
$amu_settings = get_option( 'addmultipleuser' );
if ( 'def' === $amu_meta['add'] ) {
$min = 1;
$max = $amu_meta['number'];
} else { /* paid */
$min = $amu_settings['def_number'] + 1;
$max = $amu_meta['number'];
}
$message .= __( 'Multiple users added as follows.', 'add-multiple-user' ) . "\r\n\r\n";
for ( $i = $min; $i <= $max; $i++ ) {
$message .= sprintf( __( 'Username' ) . ': %s', $amu_meta['prefix'] . sprintf( '%02d', $i ) ) . "\n";
}
$wp_mail['message'] = $message;
}
return $wp_mail;
}
/** ==================================================
* Create multiple user
*
* @param string $e_mail e_mail.
* @param int $number_min number_min.
* @param int $number_count number_count.
* @param string $prefix prefix.
* @param string $add_role add_role.
* @return string $messgae messgae.
* @since 1.00
*/
private function auto_insert_users( $e_mail, $number_min, $number_count, $prefix, $add_role ) {
$message = __( 'Multiple users added as follows.', 'add-multiple-user' ) . "\r\n\r\n";
$user_ids = array();
for ( $i = $number_min; $i <= $number_count; $i++ ) {
$unm = $prefix . sprintf( '%02d', $i );
$pswd = wp_generate_password( 8, false, false );
$userdata = array(
'user_login' => $unm,
'user_pass' => $pswd,
'role' => $add_role,
);
$user_ids[] = wp_insert_user( $userdata );
}
global $wpdb;
foreach ( $user_ids as $userid ) {
$result = $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->users SET user_email = %s WHERE ID = %d", $e_mail, $userid ) );
$user_info = get_userdata( $userid );
$unm = $user_info->user_login;
$key = get_password_reset_key( $user_info );
$message .= sprintf( __( 'Username' ) . ': %s', $unm ) . "\n";
$message .= __( 'To reset your password, visit the following address:' ) . ': <' . network_site_url( "wp-login.php?action=rp&key=$key&login=" . rawurlencode( $unm ), 'login' ) . ">\r\n\r\n";
}
return $message;
}
/** ==================================================
* Delete User Hook
*
* @param int $userid The user ID.
* @since 1.00
*/
public function action_delete_user( $userid ) {
$amu_settings = get_option( 'addmultipleuser' );
$user = get_userdata( $userid );
$useremail = $user->user_email;
$role = implode( ', ', $user->roles );
$amu_meta = get_user_meta( $userid, 'amu_meta', true );
if ( ! empty( $amu_meta ) ) {
if ( array_key_exists( 'prefix', $amu_meta ) && array_key_exists( 'number', $amu_meta ) ) {
/* translators: %1s: blogname */
$subject = sprintf( __( '[%s] Delete Acount', 'add-multiple-user' ), get_option( 'blogname' ) );
$message = __( 'The created account has been deleted. Thank you for using.', 'add-multiple-user' ) . "\r\n\r\n";
/* translators: %s: useremail */
$message_admin = sprintf( __( 'The created account[%s] has been deleted.', 'add-multiple-user' ), $useremail ) . "\r\n\r\n";
wp_mail( $useremail, $subject, $message );
@wp_mail( get_option( 'admin_email' ), $subject, $message_admin );
/* Delete users */
$user_prefix = $amu_meta['prefix'];
for ( $i = 1; $i <= $amu_meta['number']; $i++ ) {
$unm = $user_prefix . sprintf( '%02d', $i );
if ( username_exists( $unm ) ) {
wp_delete_user( username_exists( $unm ) );
}
}
}
}
}
/** ==================================================
* Pay form
*
* @param bool $bool bool.
* @since 1.00
*/
public function pay_form( $bool ) {
$screen = get_current_screen();
global $profileuser;
if ( 'profile' === $screen->id || 'user-edit' === $screen->id ) {
if ( current_user_can( 'administrator' ) ) {
if ( isset( $_GET['user_id'] ) && ! empty( $_GET['user_id'] ) ) {
$userid = intval( $_GET['user_id'] );
$amu_meta = get_user_meta( $userid, 'amu_meta', true );
if ( ! empty( $amu_meta ) && array_key_exists( 'add', $amu_meta ) ) {
?>
|
|
ID;
$useremail = $user->user_email;
$amu_meta = get_user_meta( $userid, 'amu_meta', true );
if ( ! empty( $amu_meta ) && array_key_exists( 'add', $amu_meta ) ) {
?>
|
' . __( 'Paid', 'add-multiple-user' ) . ' ' . ( 'User' ) . '" remove=".tempregist" remove2="#SPPcustomButton" payname="add-multiple-user"]' );
}
if ( class_exists( 'SimpleStripePayment' ) ) {
echo do_shortcode( '[simplestripepayment email="' . $useremail . '" after="' . __( 'Paid', 'add-multiple-user' ) . ' ' . ( 'User' ) . '" remove=".tempregist" remove2="#simple_paypal_payment_paypal-button" payname="add-multiple-user"]' );
}
}
?>
|
ID;
$amu_meta = get_user_meta( $userid, 'amu_meta', true );
if ( ! empty( $amu_meta ) && array_key_exists( 'add', $amu_meta ) ) {
global $wp_meta_boxes;
wp_add_dashboard_widget( 'custom_help_widget', 'Add Multiple User ' . __( 'Status' ), array( $this, 'dashboard_text' ) );
}
}
/** ==================================================
* Dashboard text
*
* @since 1.00
*/
public function dashboard_text() {
$screen = get_current_screen();
if ( 'dashboard' === $screen->id ) {
if ( current_user_can( 'administrator' ) ) {
if ( isset( $_GET['user_id'] ) && ! empty( $_GET['user_id'] ) ) {
$userid = intval( $_GET['user_id'] );
$amu_meta = get_user_meta( $userid, 'amu_meta', true );
if ( ! empty( $amu_meta ) && array_key_exists( 'add', $amu_meta ) ) {
if ( 'paid' === $amu_meta['add'] ) {
?>
ID;
$amu_meta = get_user_meta( $userid, 'amu_meta', true );
$useremail = $user->user_email;
if ( ! empty( $amu_meta ) && array_key_exists( 'add', $amu_meta ) ) {
if ( 'paid' === $amu_meta['add'] ) {
?>
' . __( 'Paid', 'add-multiple-user' ) . ' ' . ( 'User' ) . '" remove=".tempregist" remove2="#SPPcustomButton" payname="add-multiple-user"]' );
}
if ( class_exists( 'SimpleStripePayment' ) ) {
echo do_shortcode( '[simplestripepayment email="' . $useremail . '" after="' . __( 'Paid', 'add-multiple-user' ) . ' ' . ( 'User' ) . '
" remove=".tempregist" remove2="#simple_paypal_payment_paypal-button" payname="add-multiple-user"]' );
}
}
}
}
}
}
/** ==================================================
* PayPal Charge
*
* @param string $data data.
* @param string $payment_data payment_data.
* @param string $email email.
* @param int $amount amount.
* @param string $currency currency.
* @param string $payname payname.
* @since 1.00
*/
public function paypal_charge( $data, $payment_data, $email, $amount, $currency, $payname ) {
do_action( 'amu_paid_add_user', $payname );
}
/** ==================================================
* Stripe Charge
*
* @param string $token token.
* @param string $email email.
* @param int $amount amount.
* @param string $currency currency.
* @param string $name name.
* @param string $description description.
* @param string $payname payname.
* @since 1.00
*/
public function stripe_charge( $token, $email, $amount, $currency, $name, $description, $payname ) {
do_action( 'amu_paid_add_user', $payname );
}
/** ==================================================
* Paid
*
* @param string $payname payname.
* @since 1.00
*/
public function paid( $payname ) {
if ( is_admin() && 'add-multiple-user' === $payname ) {
$amu_settings = get_option( 'addmultipleuser' );
$user = wp_get_current_user();
$unm = $user->user_login;
$key = get_password_reset_key( $user );
$userid = $user->ID;
$useremail = $user->user_email;
$amu_meta = get_user_meta( $userid, 'amu_meta', true );
if ( ! empty( $amu_meta ) && array_key_exists( 'add', $amu_meta ) ) {
if ( 'def' === $amu_meta['add'] ) {
$def_number = $amu_meta['number'];
$amu_meta['add'] = 'paid';
$amu_meta['number'] = $amu_settings['paid_number'];
update_user_meta( $userid, 'amu_meta', $amu_meta );
/* translators: %1$s: blogname %2$s: number for user */
$subject = sprintf( __( '[%1$s] login Username [%2$s]users', 'add-multiple-user' ), get_option( 'blogname' ), $amu_meta['number'] );
$message = $this->auto_insert_users( $useremail, $def_number + 1, $amu_meta['number'], $amu_meta['prefix'], $amu_settings['add_role'] );
/* translators: %1$s: blogname %2$s: number for admin */
$subject_admin = sprintf( __( '[%1$s] New User Registration [%2$s]users', 'add-multiple-user' ), get_option( 'blogname' ), $amu_meta['number'] );
$unm = $user->user_login;
/* translators: %s: blogname */
$message_admin = sprintf( __( 'New user registration on your site %s:' ), get_option( 'blogname' ) ) . "\r\n\r\n";
/* translators: %s: username */
$message_admin .= sprintf( __( 'Username' ) . '&' . __( 'Email' ) . ': %s', $unm ) . "\r\n\r\n";
$min = $def_number + 1;
$max = $amu_meta['number'];
$message_admin .= __( 'Multiple users added as follows.', 'add-multiple-user' ) . "\r\n\r\n";
for ( $i = $min; $i <= $max; $i++ ) {
$message_admin .= sprintf( __( 'Username' ) . ': %s', $amu_meta['prefix'] . sprintf( '%02d', $i ) ) . "\n";
}
wp_mail( $useremail, $subject, $message );
@wp_mail( get_option( 'admin_email' ), $subject_admin, $message_admin );
}
}
}
}
/** ==================================================
* Paid
*
* @param string $payname payname.
* @param int $userid userid.
* @since 1.00
*/
public function paid_admin( $payname, $userid ) {
if ( is_admin() && 'add-multiple-user' === $payname ) {
$amu_settings = get_option( 'addmultipleuser' );
$user = get_userdata( $userid );
$unm = $user->user_login;
$key = get_password_reset_key( $user );
$useremail = $user->user_email;
$amu_meta = get_user_meta( $userid, 'amu_meta', true );
if ( ! empty( $amu_meta ) && array_key_exists( 'add', $amu_meta ) ) {
if ( 'def' === $amu_meta['add'] ) {
$def_number = $amu_meta['number'];
$amu_meta['add'] = 'paid';
$amu_meta['number'] = $amu_settings['paid_number'];
update_user_meta( $userid, 'amu_meta', $amu_meta );
/* translators: %1$s: blogname %2$s: number for user */
$subject = sprintf( __( '[%1$s] login Username [%2$s]users', 'add-multiple-user' ), get_option( 'blogname' ), $amu_meta['number'] );
$message = $this->auto_insert_users( $useremail, $def_number + 1, $amu_meta['number'], $amu_meta['prefix'], $amu_settings['add_role'] );
/* translators: %1$s: blogname %2$s: number for admin */
$subject_admin = sprintf( __( '[%1$s] New User Registration [%2$s]users', 'add-multiple-user' ), get_option( 'blogname' ), $amu_meta['number'] );
$unm = $user->user_login;
/* translators: %s: blogname */
$message_admin = sprintf( __( 'New user registration on your site %s:' ), get_option( 'blogname' ) ) . "\r\n\r\n";
/* translators: %s: username */
$message_admin .= sprintf( __( 'Username' ) . '&' . __( 'Email' ) . ': %s', $unm ) . "\r\n\r\n";
$min = $def_number + 1;
$max = $amu_meta['number'];
$message_admin .= __( 'Multiple users added as follows.', 'add-multiple-user' ) . "\r\n\r\n";
for ( $i = $min; $i <= $max; $i++ ) {
$message_admin .= sprintf( __( 'Username' ) . ': %s', $amu_meta['prefix'] . sprintf( '%02d', $i ) ) . "\n";
}
wp_mail( $useremail, $subject, $message );
@wp_mail( get_option( 'admin_email' ), $subject_admin, $message_admin );
}
}
}
}
/** ==================================================
* Update user profile
*
* @param int $userid userid.
* @param object $old_user_data old_user_data.
* @since 1.00
*/
public function update_user_profile( $userid, $old_user_data ) {
if ( isset( $_POST['amu_paid_admin'] ) && ! empty( $_POST['amu_paid_admin'] ) ) {
if ( check_admin_referer( 'update-user_' . $userid ) ) {
$amu_paid_admin = intval( $_POST['amu_paid_admin'] );
if ( $old_user_data->amu_paid_admin !== $amu_paid_admin ) {
do_action( 'amu_paid_add_user_admin', 'add-multiple-user', $userid );
}
}
}
}
}
?>