From b1ba628bfa3b6afa5b996816a002eee7fb66c655 Mon Sep 17 00:00:00 2001 From: Cameron Date: Tue, 12 May 2015 20:15:05 -0700 Subject: [PATCH] Automated passwords option during signup/registration. --- e107_admin/prefs.php | 15 +- .../shortcodes/batch/signup_shortcodes.php | 82 +-- e107_core/templates/signup_template.php | 27 +- e107_core/xml/default_install.xml | 3 +- e107_handlers/form_handler.php | 3 +- e107_handlers/user_handler.php | 37 +- e107_languages/English/lan_signup.php | 2 +- e107_themes/bootstrap/admin_dark.css | 4 + e107_themes/bootstrap/admin_style.css | 22 +- .../bootstrap3/templates/menu_template.php | 4 +- signup.php | 524 +++++++++++++----- 11 files changed, 521 insertions(+), 202 deletions(-) diff --git a/e107_admin/prefs.php b/e107_admin/prefs.php index db4f4cee2..c1cce7851 100644 --- a/e107_admin/prefs.php +++ b/e107_admin/prefs.php @@ -1532,6 +1532,7 @@ $text .= " // Signup options ===========================. +$prefOptionPassword = (isset($pref['signup_option_password'])) ? $pref['signup_option_password'] : 2; $text .= "
@@ -1541,10 +1542,19 @@ $text .= " - "; + + + + + ".$frm->radio('signup_option_password', 0, !$prefOptionPassword, array('label' => CUSTSIG_12))."   + ".$frm->radio('signup_option_password', 1, ($prefOptionPassword == 1), array('label' => CUSTSIG_14, 'disabled'=>true))."   + ".$frm->radio('signup_option_password', 2, ($prefOptionPassword == 2), array('label' => CUSTSIG_15))." + + + "; $signup_option_names = array( - // "signup_option_loginname" => "Login Name", + // "signup_option_loginname" => "Login Name", "signup_option_email_confirm" => CUSTSIG_21, "signup_option_realname" => CUSTSIG_2, "signup_option_signature" => CUSTSIG_6, @@ -1554,6 +1564,7 @@ $text .= " 'signup_option_hideemail' => CUSTSIG_22 ); + foreach($signup_option_names as $value => $key) { $label_value = str_replace('_', '-', $value); diff --git a/e107_core/shortcodes/batch/signup_shortcodes.php b/e107_core/shortcodes/batch/signup_shortcodes.php index d89a21b60..f15802070 100755 --- a/e107_core/shortcodes/batch/signup_shortcodes.php +++ b/e107_core/shortcodes/batch/signup_shortcodes.php @@ -30,28 +30,30 @@ class signup_shortcodes extends e_shortcode else { return " -
\n -

- ".LAN_NO." - ".LAN_YES."
-
- -
+
\n +

+ ".LAN_NO." + ".LAN_YES."
+
+ +
"; } } - + + + function sc_signup_xup($param) // show it to those who were using xup { switch ($param) { case 'login': - return $this->sc_signup_xup_login(); + return $this->sc_signup_xup_login($param); break; case 'signup': default: - return $this->sc_signup_xup_signup(); + return $this->sc_signup_xup_signup($param); break; } } @@ -173,31 +175,34 @@ class signup_shortcodes extends e_shortcode function sc_signup_displayname() { - global $pref, $rs; + $pref = e107::getPref(); + if (check_class($pref['displayname_class'])) { - $dis_name_len = varset($pref['displayname_maxlength'],15); - return e107::getForm()->text('username', ($_POST['username'] ? $_POST['username'] : $username), $dis_name_len); - // return $rs->form_text('username', 30, , $dis_name_len); + $dis_name_len = varset($pref['displayname_maxlength'],15); + return e107::getForm()->text('username', ($_POST['username'] ? $_POST['username'] : ''), $dis_name_len); + } } function sc_signup_loginname() { - global $rs, $pref; + + $pref = e107::getPref(); if (vartrue($pref['predefinedLoginName'])) { return LAN_SIGNUP_67; } + // if ($pref['signup_option_loginname']) { $log_name_length = varset($pref['loginname_maxlength'],30); $options = array('size'=>30,'required'=>1); - $options['title'] = str_replace("[x]",$log_name_length,LAN_SIGNUP_109); // Password must be at least + $options['title'] = str_replace("[x]",$log_name_length,LAN_SIGNUP_109); // Password must be at least + $options['pattern'] = '[\S]*'; - return e107::getForm()->text('loginname', ($_POST['loginname'] ? $_POST['loginname'] : $loginname), $log_name_length, $options); - // return $rs->form_text("loginname", 30, , $log_name_length); + return e107::getForm()->text('loginname', ($_POST['loginname'] ? $_POST['loginname'] : ''), $log_name_length, $options); } } @@ -210,21 +215,30 @@ class signup_shortcodes extends e_shortcode $options = array('size'=>30); $options['required'] = ($pref==2) ? 1 : 0; $options['title'] = LAN_SIGNUP_110; - return e107::getForm()->text('realname', ($_POST['realname'] ? $_POST['realname'] : $realname), 100, $options); - - //return $rs->form_text("realname", 30, ($_POST['realname'] ? $_POST['realname'] : $realname), 100); + + return e107::getForm()->text('realname', ($_POST['realname'] ? $_POST['realname'] : ''), 100, $options); + } function sc_signup_password1() { + + $pref = e107::getPref('signup_option_password', 2); + + if($pref != 2) + { + return false; + } + $options = array('size'=>30,'class'=>'e-password tbox','required'=>1); // $options['title'] = 'Password must contain at least 6 characters, including UPPER/lowercase and numbers'; $len = vartrue(e107::getPref('signup_pass_len'),6); - $options['title'] = str_replace("[x]",$len,LAN_SIGNUP_107); // Password must be at least + $options['title'] = str_replace("[x]", $len, LAN_SIGNUP_107); // Password must contain at least // $options['pattern'] = '(?=.*\d)(?=.*[a-z])(?=.*[A-Z])\w{'.$len.',}'; // at least one number, one lowercase and uppercase. $options['required'] = true; $options['pattern'] = '(?=^.{'.$len.',}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$'; + $options['autocomplete'] = 'off'; // $options['pattern'] = '\w{'.$len.',}'; // word of minimum length @@ -234,6 +248,14 @@ class signup_shortcodes extends e_shortcode function sc_signup_password2() { + + $pref = e107::getPref('signup_option_password', 2); + + if($pref != 2) + { + return false; + } + return e107::getForm()->password('password2', '', 20, array('size'=>30,'class'=>'tbox','required'=>1)); } @@ -251,8 +273,9 @@ class signup_shortcodes extends e_shortcode function sc_signup_email() { $options = array('size'=>30,'required'=>1,'class'=>'tbox form-control input-text e-email'); - $options['title'] = LAN_SIGNUP_108; // Must be a valid email address. - $text = e107::getForm()->email('email',($_POST['email'] ? $_POST['email'] : $email),100,$options); + $options['title'] = LAN_SIGNUP_108; // Must be a valid email address. + + $text = e107::getForm()->email('email',vartrue($_POST['email'], ''),100,$options); $text .= ""; $text .= ""; // spam-trap. return $text; @@ -268,7 +291,7 @@ class signup_shortcodes extends e_shortcode $options['required'] = ($pref==2) ? 1 : 0; $options['class'] = 'tbox input-text e-email'; - return e107::getForm()->email('email_confirm',($_POST['email_confirm'] ? $_POST['email_confirm'] : $email_confirm),100,$options); + return e107::getForm()->email('email_confirm', vartrue($_POST['email_confirm']), 100, $options); } @@ -278,6 +301,7 @@ class signup_shortcodes extends e_shortcode global $rs; $default_email_setting = 1; // Gives option of turning into a pref later if wanted $pref = e107::getPref('signup_option_hideemail'); + if ($pref) { return $rs->form_radio("hideemail", 1, $default_email_setting==1)." ".LAN_YES."  ".$rs->form_radio("hideemail", 0,$default_email_setting==0)." ".LAN_NO; @@ -289,6 +313,7 @@ class signup_shortcodes extends e_shortcode { global $pref, $e_userclass, $USERCLASS_SUBSCRIBE_START, $USERCLASS_SUBSCRIBE_END, $signupData; $ret = ""; + if($pref['signup_option_class']) { if (!is_object($e_userclass)) @@ -352,13 +377,8 @@ class signup_shortcodes extends e_shortcode 'USERCLASS_CHECKED' => (in_array($classnum, $tmp) ? " checked='checked'" : '') ); - - - - return $tp->simpleParse($USERCLASS_SUBSCRIBE_ROW, $shortcodes); - return str_replace($search, $replace, $USERCLASS_SUBSCRIBE_ROW); } @@ -428,7 +448,7 @@ class signup_shortcodes extends e_shortcode if($sigActive) { $frm = e107::getForm(); - return $frm->bbarea('signature', $sig, 'signature','helpb', 'tiny'); + return $frm->bbarea('signature', '', 'signature','helpb', 'tiny'); } } diff --git a/e107_core/templates/signup_template.php b/e107_core/templates/signup_template.php index 088ddc8f5..6917ea200 100755 --- a/e107_core/templates/signup_template.php +++ b/e107_core/templates/signup_template.php @@ -169,6 +169,19 @@ $sc_style['SIGNUP_EMAIL_CONFIRM']['post'] = " $sc_style['SIGNUP_XUP']['pre'] = "
"; $sc_style['SIGNUP_XUP']['post'] = "
"; +$sc_style['SIGNUP_PASSWORD1']['pre'] = " + ".LAN_SIGNUP_83." * + "; +$sc_style['SIGNUP_PASSWORD1']['post'] = " + "; + +$sc_style['SIGNUP_PASSWORD2']['pre'] = " + ".LAN_SIGNUP_84." * + "; +$sc_style['SIGNUP_PASSWORD2']['post'] = " + "; + + if(!defined($COPPA_TEMPLATE)) { $COPPA_TEMPLATE = @@ -216,18 +229,8 @@ if(!defined($SIGNUP_BODY)) {SIGNUP_EMAIL_CONFIRM} - - ".LAN_SIGNUP_83." * - - {SIGNUP_PASSWORD1} - - - - ".LAN_SIGNUP_84." * - - {SIGNUP_PASSWORD2} - - + {SIGNUP_PASSWORD1} + {SIGNUP_PASSWORD2} {SIGNUP_HIDE_EMAIL} {SIGNUP_USERCLASS_SUBSCRIBE} {SIGNUP_EXTENDED_USER_FIELDS} diff --git a/e107_core/xml/default_install.xml b/e107_core/xml/default_install.xml index c2bb22ebb..3a16624a4 100644 --- a/e107_core/xml/default_install.xml +++ b/e107_core/xml/default_install.xml @@ -54,7 +54,7 @@ 0 0 255 - 15 + 20 0 0 1 @@ -201,6 +201,7 @@ 0 3 + 2 0 0 0 diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php index 8c4470fa8..255830dae 100644 --- a/e107_handlers/form_handler.php +++ b/e107_handlers/form_handler.php @@ -1470,7 +1470,8 @@ class e_form // return print_a($options,true); if($labelFound) // Bootstrap compatible markup { - $text .= "