'0', 'code' => '0', 'codepass' => array('0'), 'captcha' => '0', 'disclaimer' => '0', 'disclaimer_title' => 'Disclaimer', 'disclaimer_content' => '', 'disclaimer_agree' => 'Accept the Disclaimer', 'license' => '0', 'license_title' => 'License Agreement', 'license_content' => '', 'license_agree' => 'Accept the License Agreement', 'privacy' => '0', 'privacy_title' => 'Privacy Policy', 'privacy_content' => '', 'privacy_agree' => 'Accept the Privacy Policy', 'email_exists' => '0', 'firstname' => '0', 'lastname' => '0', 'website' => '0', 'aim' => '0', 'yahoo' => '0', 'jabber' => '0', 'about' => '0', 'profile_req' => array('0'), 'dash_widget' => '0', 'email_verify' => '0', 'email_delete_grace' => '7', 'from' => get_option('admin_email'), 'subject' => sprintf(__('[%s] Your username and password', 'regplus'), get_option('blogname')), 'msg' => '' ); # Get Previously Saved Items and put into new Settings if( get_option("regplus_password") ) $default['password'] = get_option("regplus_password"); if( get_option("regplus_code") ) $default['code'] = get_option("regplus_code"); if( get_option("regplus_codepass") ) $default['codepass'] = get_option("regplus_codepass"); if( get_option("regplus_captcha") ) $default['captcha'] = get_option("regplus_captcha"); #Delete Previous Saved Items delete_option('regplus_password'); delete_option('regplus_code'); delete_option('regplus_codepass'); delete_option('regplus_captcha'); #Set Default Settings if( !get_option('register_plus') ){ #Set Defaults if no values exist add_option( 'register_plus', $default ); }else{ #Set Defaults if new value does not exist $regplus = get_option( 'register_plus' ); foreach( $default as $key => $val ){ if( !$regplus[$key] ){ $regplus[$key] = $val; $new = true; } } if( $new ) update_option( 'register_plus', $regplus ); } } function SaveSettings(){ check_admin_referer('regplus-update-options'); $update = get_option( 'register_plus' ); $update["password"] = $_POST['regplus_password']; $update["code"] = $_POST['regplus_code']; if( $_POST['regplus_code'] ) { $update["codepass"] = $_POST['regplus_codepass']; $update["code_req"] = $_POST['regplus_code_req']; } $update["captcha"] = $_POST['regplus_captcha']; $update["disclaimer"] = $_POST['regplus_disclaimer']; $update["disclaimer_title"] = $_POST['regplus_disclaimer_title']; $update["disclaimer_content"] = $_POST['regplus_disclaimer_content']; $update["disclaimer_agree"] = $_POST['regplus_disclaimer_agree']; $update["license"] = $_POST['regplus_license']; $update["license_title"] = $_POST['regplus_license_title']; $update["license_content"] = $_POST['regplus_license_content']; $update["license_agree"] = $_POST['regplus_license_agree']; $update["privacy"] = $_POST['regplus_privacy']; $update["privacy_title"] = $_POST['regplus_privacy_title']; $update["privacy_content"] = $_POST['regplus_privacy_content']; $update["privacy_agree"] = $_POST['regplus_privacy_agree']; $update["email_exists"] = $_POST['regplus_email_exists']; $update["firstname"] = $_POST['regplus_firstname']; $update["lastname"] = $_POST['regplus_lastname']; $update["website"] = $_POST['regplus_website']; $update["aim"] = $_POST['regplus_aim']; $update["yahoo"] = $_POST['regplus_yahoo']; $update["jabber"] = $_POST['regplus_jabber']; $update["about"] = $_POST['regplus_about']; $update["profile_req"] = $_POST['regplus_profile_req']; $update["dash_widget"] = $_POST['regplus_dash_widget']; $update["email_verify"] = $_POST['regplus_email_verify']; $update["email_verify_date"] = $_POST['regplus_email_verify_date']; $update["email_delete_grace"] = $_POST['regplus_email_delete_grace']; $update["reCAP_public_key"] = $_POST['regplus_reCAP_public_key']; $update["reCAP_private_key"] = $_POST['regplus_reCAP_private_key']; $update['from'] = $_POST['regplus_from']; $update['subject'] = $_POST['regplus_subject']; $update['msg'] = $_POST['regplus_msg']; if( $_POST['label'] ){ foreach( $_POST['label'] as $k => $field ){ if( $field ) $custom[$k] = array( 'label' => $field, 'profile' => $_POST['profile'][$k], 'reg' => $_POST['reg'][$k], 'required' => $_POST['required'][$k] ); } } update_option( 'register_plus_custom', $custom ); update_option( 'register_plus', $update ); $_POST['notice'] = __('Settings Saved', 'regplus'); } function SettingsHead(){ $regplus = get_option( 'register_plus' ); ?>
' . $_POST['notice'] . '.
'; if( !is_array($regplus['profile_req']) ) $regplus['profile_req'] = array(); if( is_array($regplus['codepass']) ){ foreach( $regplus['codepass'] as $code ){ $codes .= ''; } } if( is_array($regplus_custom) ){ foreach( $regplus_custom as $k => $v ) { $rows .= '
/>
/>
/>
' . __('Please activate your account using the verification link sent to your email address', 'regplus') . '
'; } if( $regplus['email_verify'] && isset( $_GET['regplus_verification'] ) ){ $regplus = get_option( 'register_plus' ); $verify_key = $_GET['regplus_verification']; $user_id = $wpdb->get_var( "SELECT user_id FROM $wpdb->usermeta WHERE meta_key = 'email_verify' AND meta_value='$verify_key'"); $login = get_usermeta($user_id, 'email_verify_user'); $wpdb->query( "UPDATE $wpdb->users SET user_login = '$login' WHERE ID = '$user_id'" ); delete_usermeta($user_id, 'email_verify_user'); delete_usermeta($user_id, 'email_verify'); delete_usermeta($user_id, 'email_verify_date'); $msg = '' . sprintf(__('Thank you %s, your account has been verified, please login.', 'regplus'), $login ) . '
'; echo $msg; } } function DeleteInvalidUsers(){ global $wpdb; $regplus = get_option( 'register_plus' ); $grace = $regplus['email_delete_grace']; $unverified = $wpdb->get_results( "SELECT user_id, meta_value FROM $wpdb->usermeta WHERE meta_key='email_verify_date'" ); $grace_date = date('Ymd', strtotime("-7 days")); if( $unverified ){ foreach( $unverified as $bad ){ if( $grace_date > $bad->meta_value ){ include_once( ABSPATH . 'wp-admin/includes/user.php' ); wp_delete_user($bad->user_id); } } } } } }# END Class RegisterPlusPlugin # Run The Plugin! if( class_exists('RegisterPlusPlugin') ){ $register_plus = new RegisterPlusPlugin(); } # Override set user password and send email to User # if ( !function_exists('wp_new_user_notification') ) : function wp_new_user_notification($user_id, $plaintext_pass = '') { $user = new WP_User($user_id); #-- REGISTER --# global $wpdb, $register_plus; $regplus = get_option( 'register_plus' ); $regplus_custom = get_option( 'register_plus_custom' ); $ref = explode( '?', $_SERVER['HTTP_REFERER']); $ref = $ref[0]; $admin = trailingslashit( get_option('siteurl') ) . 'wp-admin/users.php'; if( !is_array( $regplus_custom ) ) $regplus_custom = array(); if( $regplus['password'] && $_POST['user_pw'] ) $plaintext_pass = $wpdb->prepare($_POST['user_pw']); else if( $ref == $admin && $_POST['pass1'] == $_POST['pass2'] ) $plaintext_pass = $wpdb->prepare($_POST['pass1']); else $plaintext_pass = RanPass(6); if( $regplus['firstname'] && $_POST['firstname'] ) update_usermeta( $user_id, 'first_name', $wpdb->prepare($_POST['firstname'])); if( $regplus['lastname'] && $_POST['lastname'] ) update_usermeta( $user_id, 'last_name', $wpdb->prepare($_POST['lastname'])); if( $regplus['website'] && $_POST['website'] ) update_usermeta( $user_id, 'user_url', $wpdb->prepare($_POST['website'])); if( $regplus['aim'] && $_POST['aim'] ) update_usermeta( $user_id, 'aim', $wpdb->prepare($_POST['aim'])); if( $regplus['yahoo'] && $_POST['yahoo'] ) update_usermeta( $user_id, 'yim', $wpdb->prepare($_POST['yahoo'])); if( $regplus['jabber'] && $_POST['jabber'] ) update_usermeta( $user_id, 'jabber', $wpdb->prepare($_POST['jabber'])); if( $regplus['about'] && $_POST['about'] ) update_usermeta( $user_id, 'description', $wpdb->prepare($_POST['about'])); if( $regplus['code'] && $_POST['regcode'] ) update_usermeta( $user_id, 'invite_code', $wpdb->prepare($_POST['regcode'])); if( $ref != $admin && $regplus['email_verify'] ){ $code = $register_plus->RanPass(25); update_usermeta( $user_id, 'email_verify', $code ); update_usermeta( $user_id, 'email_verify_date', date('Ymd') ); update_usermeta( $user_id, 'email_verify_user', $user->user_login ); $email_code = '?regplus_verification=' . $code; $prelink = __('Verification URL: ', 'regplus'); $notice = __('Please use the link above to verify and activate your account', 'regplus') . "\r\n"; $temp_id = 'unverified__' . $register_plus->RanPass(7); } foreach( $regplus_custom as $k=>$v ){ $id = $register_plus->Label_ID($v['label']); if( $v['reg'] && $_POST[$id] ){ update_usermeta( $user_id, $id, $wpdb->prepare($_POST[$id])); } } $headers = 'From: ' . $regplus['from'] . "\r\n" . 'Reply-To: ' . $regplus['from'] . "\r\n"; $subject = $regplus['subject']; if( $regplus['msg'] ) $add_msg = "\r\n" . $regplus['msg']; #-- END REGISTER --# wp_set_password($plaintext_pass, $user_id); $user_login = stripslashes($user->user_login); $user_email = stripslashes($user->user_email); $message = sprintf(__('New user Register on your blog %s:', 'regplus'), get_option('blogname')) . "\r\n\r\n"; $message .= sprintf(__('Username: %s', 'regplus'), $user_login) . "\r\n\r\n"; $message .= sprintf(__('E-mail: %s', 'regplus'), $user_email) . "\r\n"; @wp_mail(get_option('admin_email'), sprintf(__('[%s] New User Register', 'regplus'), get_option('blogname')), $message); if ( empty($plaintext_pass) ) return; $message = sprintf(__('Username: %s', 'regplus'), $user_login) . "\r\n"; $message .= sprintf(__('Password: %s', 'regplus'), $plaintext_pass) . "\r\n"; $message .= $prelink . get_option('siteurl') . "/wp-login.php" . $email_code . "\r\n"; #REGPLUS ADDED $prelink AND $email_code $message .= $notice; #REGPLUS ADDED LINE if( $ref != $admin && $regplus['email_verify'] ) #REGPLUS ADDED LINE $temp_user = $wpdb->query( "UPDATE $wpdb->users SET user_login = '$temp_id' WHERE ID = '$user_id'" ); #REGPLUS ADDED LINE //wp_mail($user_email, sprintf(__('[%s] Your username and password', 'regplus'), get_option('blogname')), $message); wp_mail($user_email, $subject, $message . $add_msg, $headers); #REGPLUS ADDED LINE } endif; ?>