diff --git a/e107_admin/users.php b/e107_admin/users.php index 45ea8bafa..996b32bce 100644 --- a/e107_admin/users.php +++ b/e107_admin/users.php @@ -17,7 +17,7 @@ require_once ('../class2.php'); e107::coreLan('user'); e107::coreLan('users', true); - +e107::coreLan('date'); // ----------------------------- START NEW -------------------------- @@ -228,6 +228,18 @@ class users_admin_ui extends e_admin_ui protected $prefs = array( // 'anon_post' => array('title'=>PRFLAN_32, 'type'=>'boolean'), + 'avatar_upload' => array('title' => USRLAN_44, 'type' => 'boolean', 'writeParms' => 'label=yesno', 'data' => 'int',), + 'photo_upload' => array('title' => USRLAN_53, 'type' => 'boolean', 'writeParms' => 'label=yesno', 'data' => 'int',), + 'im_width' => array('title' => USRLAN_47, 'type' => 'number', 'writeParms' => array('maxlength' => 4), 'help' => USRLAN_48, 'data' => 'int', ), + 'im_height' => array('title' => USRLAN_49, 'type' => 'number', 'writeParms' => array('maxlength' => 4), 'help' => USRLAN_50, 'data' => 'int', ), + 'profile_rate' => array('title' => USRLAN_126, 'type' => 'boolean', 'writeParms' => 'label=yesno', 'data' => 'int',), + 'profile_comments' => array('title' => USRLAN_127, 'type' => 'boolean', 'writeParms' => 'label=yesno', 'data' => 'int',), + 'force_userupdate' => array('title' => USRLAN_133, 'type' => 'boolean', 'writeParms' => 'label=yesno', 'help' => USRLAN_134, 'data' => 'int',), + 'del_unv' => array('title' => USRLAN_93, 'type' => 'number', 'writeParms' => array('maxlength' => 5, 'post' => USRLAN_95), 'help' => USRLAN_94, 'data' => 'int',), + 'track_online' => array('title' => USRLAN_130, 'type' => 'boolean', 'writeParms' => 'label=yesno', 'help' => USRLAN_131, 'data' => 'int',), + 'memberlist_access' => array('title' => USRLAN_146, 'type' => 'userclass', 'writeParms' => 'classlist=public,member,guest,admin,main,classes,nobody', 'data' => 'int',), + 'signature_access' => array('title' => USRLAN_194, 'type' => 'userclass', 'writeParms' => 'classlist=member,admin,main,classes,nobody', 'data' => 'int',), + 'user_new_period' => array('title' => USRLAN_190, 'type' => 'number', 'writeParms' => array('maxlength' => 3, 'post' => LANDT_04s), 'help' => USRLAN_191, 'data' => 'int',), ); function init() @@ -991,20 +1003,171 @@ class users_admin_ui extends e_admin_ui } + /** + * Quick Add user submit trigger + */ + public function AddSubmitTrigger() + { + $e107cache = e107::getCache(); + $userMethods = e107::getUserSession(); + $mes = e107::getMessage(); + $sql = e107::getDb(); + $e_event = e107::getEvent(); + $admin_log = e107::getAdminLog(); + + if (!$_POST['ac'] == md5(ADMINPWCHANGE)) + { + exit; + } + + $e107cache->clear('online_menu_member_total'); + $e107cache->clear('online_menu_member_newest'); + $error = false; + + if (isset ($_POST['generateloginname'])) + { + $_POST['loginname'] = $userMethods->generateUserLogin($pref['predefinedLoginName']); + } + + $_POST['password2'] = $_POST['password1']; + + // Now validate everything + $allData = validatorClass::validateFields($_POST, $userMethods->userVettingInfo, true); + + // Do basic validation + validatorClass::checkMandatory('user_name, user_loginname', $allData); + + // Check for missing fields (email done in userValidation() ) + validatorClass::dbValidateArray($allData, $userMethods->userVettingInfo, 'user', 0); + + // Do basic DB-related checks + $userMethods->userValidation($allData); + + // Do user-specific DB checks + if (!isset($allData['errors']['user_password'])) + { + // No errors in password - keep it outside the main data array + $savePassword = $allData['data']['user_password']; + unset ($allData['data']['user_password']); + // Delete the password value in the output array + } + // Restrict the scope of this + unset($_POST['password2'], $_POST['password1']); + + if (!check_class($pref['displayname_class'], $allData['data']['user_class'])) + { + if ($allData['data']['user_name'] != $allData['data']['user_loginname']) + { + if(isset($_POST['generateloginname'])) + { + $allData['data']['user_name'] = $allData['data']['user_loginname']; + } + else $allData['errors']['user_name'] = ERR_FIELDS_DIFFERENT; + } + } + + if (count($allData['errors'])) + { + $temp = validatorClass::makeErrorList($allData, 'USER_ERR_','%n - %x - %t: %v', '
', $userMethods->userVettingInfo); + $mes->addError($temp); + $error = true; + } + + // Always save some of the entered data - then we can redisplay on error + $user_data = & $allData['data']; + + if($error) + { + $this->setParam('user_data', $user_data); + return; + } + + if(varset($_POST['perms'])) + { + $allData['data']['user_admin'] = 1; + $allData['data']['user_perms'] = implode('.',$_POST['perms']); + } + + + $message = ''; + $user_data['user_password'] = $userMethods->HashPassword($savePassword,$user_data['user_login']); + $user_data['user_join'] = time(); + + if ($userMethods->needEmailPassword()) + { + // Save separate password encryption for use with email address + $user_data['user_prefs'] = serialize(array('email_password' => $userMethods->HashPassword($savePassword, $user_data['user_email']))); + } + + $userMethods->userClassUpdate($allData['data'], 'userall'); + + //FIXME - (SecretR) there is a better way to fix this (missing default value, sql error in strict mode - user_realm is to be deleted from DB later) + $allData['data']['user_realm'] = ''; + + // Set any initial classes + $userMethods->addNonDefaulted($user_data); + validatorClass::addFieldTypes($userMethods->userVettingInfo, $allData); + + if (($userid = $sql->db_Insert('user', $allData))) + { + $sysuser = e107::getSystemUser(false, false); + $sysuser->setId($userid); + $user_data['user_id'] = $userid; + + // Add to admin log + $admin_log->log_event('USET_02',"UName: {$user_data['user_name']}; Email: {$user_data['user_email']}",E_LOG_INFORMATIVE); + + // Add to user audit trail + $admin_log->user_audit(USER_AUDIT_ADD_ADMIN, $user_data, 0, $user_data['user_loginname']); + $e_event->trigger('userfull', $user_data); + + // send everything available for user data - bit sparse compared with user-generated signup + if (isset($_POST['sendconfemail'])) + { + // Send confirmation email to user + $check = $sysuser->email('quickadd', array('user_password' => $savePassword)); + + if (sendemail($user_data['user_email'],USRLAN_187.SITEURL,$e_message,$user_data['user_login'],'','')) + { + $mes->addSuccess(USRLAN_188); + } + else + { + $mes->addError(USRLAN_189); + } + } + + $message .= str_replace('--NAME--', $user_data['user_name'], USRLAN_174); + + if (isset ($_POST['generateloginname'])) + { + $mes->addSuccess($message)->addSuccess('

'.USRLAN_173.': '.$user_data['user_login']); + } + + if (isset ($_POST['generatepassword'])) + { + $mes->addSuccess($message)->addSuccess(USRLAN_172.': '.$savePassword); + } + return; + } + } + + /** + * Quick add user page + */ function AddPage() { - - $rs = new form; $prm = e107::getUserPerms(); - $list = $prm->getPermList(); + //$list = $prm->getPermList(); $frm = e107::getForm(); - $ns = e107::getRender(); - $mes = e107::getMessage(); - $e_userclass = e107::getUserClass(); $pref = e107::getPref(); + $user_data = $this->getParam('user_data'); - $text = "
".$rs->form_open("post",e_SELF.(e_QUERY ? '?'.e_QUERY : ''),"adduserform")." + $this->addTitle(LAN_USER_QUICKADD); + + $text = "
".$frm->open("core-user-adduser-form")." +
@@ -1013,28 +1176,28 @@ class users_admin_ui extends e_admin_ui - "; @@ -1044,177 +1207,71 @@ class users_admin_ui extends e_admin_ui - + - + "; //FIXME check what this is doing exactly.. is it a confirmation email (activation link) or just a notification? // Give drop-down option to: 1) Notify User and Activate. 2) Notify User and require activation. 3) Don't Notify - if (!isset ($user_data['user_class'])) - $user_data['user_class'] = varset($pref['initial_user_classes'],''); - $temp = $e_userclass->vetted_tree('class',array($e_userclass,'checkbox_desc'),$user_data['user_class'],'classes'); + if (!isset ($user_data['user_class'])) $user_data['user_class'] = varset($pref['initial_user_classes']); + $temp = $e_userclass->vetted_tree('class', array($e_userclass, 'checkbox_desc'), $user_data['user_class'], 'classes'); if ($temp) { $text .= " + ".USRLAN_120." + + \n"; } // Make Admin. - $text .= " + $text .= " + - \n"; + $text .= " + + + + "; $text .= "
".USRLAN_61." - ".$frm->text('username', varset($user_data['user_name'],"", varset($pref['displayname_maxlength'],15)))." + ".$frm->text('username', varset($user_data['user_name']), varset($pref['displayname_maxlength'], 15))."
".USRLAN_128." - ".$frm->text('loginname', varset($user_data['user_loginname'],"", varset($pref['loginname_maxlength'],30)))."   - ".$frm->checkbox_label(USRLAN_170,'generateloginname', 1,varset($pref['predefinedLoginName'],false))." + ".$frm->text('loginname', varset($user_data['user_loginname']), varset($pref['loginname_maxlength'], 30))."   + ".$frm->checkbox_label(USRLAN_170, 'generateloginname', 1, varset($pref['predefinedLoginName'], false))."
".USRLAN_129." - ".$rs->form_text("realname",40,varset($user_data['user_login'],""),30)." + ".$frm->text('realname', varset($user_data['user_login']), 30)."
".USRLAN_62."".$frm->password('password','',20, array('size'=>40,'class'=>'tbox e-password','generate'=>1,'strength'=>1 ))." + ".$frm->password('password', '', 20, array('size' => 40, 'class' => 'tbox e-password', 'generate' => 1, 'strength' => 1))."
".USRLAN_64." - ".$rs->form_text("email",60,varset($user_data['user_email'],""),100)." + ".$frm->text('email', varset($user_data['user_email']), 100)."
Require Confirmation".$frm->checkbox_label(USRLAN_181,'sendconfemail', 1)."".$frm->checkbox_label(USRLAN_181, 'sendconfemail', 1)."
- ".USRLAN_120." - - ".USRLAN_120." -
- {$temp} -
+ ".USRLAN_120." +
+ {$temp} +
+
".USRLAN_35." - Set Permissions -
\n"; + Set Permissions +
+ "; $text .= $prm->renderPermTable('grouped'); - $text .= "
-
". - $frm->admin_button('adduser', USRLAN_60, 'submit')." +
+ ".$frm->admin_trigger('submit', USRLAN_60, 'create')." + ".$frm->token()."
+
"; - echo $mes->render().$text; + return $text; //$ns->tablerender(USRLAN_59,$mes->render().$text); } - - - - - function prefsPage() - { - global $ns,$pref,$e_userclass; - $mes = e107::getMessage(); - $frm = e107::getForm(); - - if (!is_object($e_userclass)) - $e_userclass = new user_class; - - $pref['memberlist_access'] = varset($pref['memberlist_access'],e_UC_MEMBER); - - $text = "
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
".USRLAN_44.":".($pref['avatar_upload'] ? "".LAN_YES."  ".LAN_NO : "".LAN_YES."  ".LAN_NO).(!FILE_UPLOADS ? " (".USRLAN_58.")" : "")." -
".USRLAN_53.":".($pref['photo_upload'] ? "".LAN_YES."  ".LAN_NO : "".LAN_YES."  ".LAN_NO).(!FILE_UPLOADS ? " (".USRLAN_58.")" : "")." -
".USRLAN_47.": - (".USRLAN_48.") -
".USRLAN_49.": - (".USRLAN_50.") -
".USRLAN_126.":".($pref['profile_rate'] ? "".LAN_YES."  ".LAN_NO : "".LAN_YES."  ".LAN_NO)." -
".USRLAN_127.":".($pref['profile_comments'] ? "".LAN_YES."  ".LAN_NO : "".LAN_YES."  ".LAN_NO)." -
".USRLAN_133.":".e107::getForm()->radio_switch('force_userupdate',($pref['force_userupdate'])). // ? "".LAN_YES."  ".LAN_NO : "".LAN_YES."  ".LAN_NO)." - "
".USRLAN_134."
-
".USRLAN_93.": - ".USRLAN_95." -
".USRLAN_94."
-
".USRLAN_130.":".e107::getForm()->radio_switch('track_online',$pref['track_online'])." -
".USRLAN_131."
-
".USRLAN_146.": -
".USRLAN_194.":". - e107::getForm()->uc_select('signature_access',$pref['signature_access'],"member,admin,main,classes,nobody") - ."
".USRLAN_190.": - ".LANDT_04s." -
".USRLAN_191."
-
-
- ".$frm->admin_button('update_options', USRLAN_51, 'submit')." -
"; - //$emessage = & eMessage :: getInstance(); - echo $mes->render().$text; - //$ns->tablerender(USRLAN_52,$emessage->render().$text); - } } @@ -3249,176 +3306,7 @@ if (e_QUERY) // ------- Quick Add User -------------- -function addUser() -{ - $e107cache = e107::getCache(); - $userMethods = e107::getUserSession(); - $mes = e107::getMessage(); - $sql = e107::getDb(); - $e_event = e107::getEvent(); - global $admin_log; - - if (!$_POST['ac'] == md5(ADMINPWCHANGE)) - { - exit; - } - $e107cache->clear('online_menu_member_total'); - $e107cache->clear('online_menu_member_newest'); - $error = false; - if (isset ($_POST['generateloginname'])) - { - $_POST['loginname'] = $userMethods->generateUserLogin($pref['predefinedLoginName']); - } - /* - if (isset ($_POST['generatepassword'])) - { - $_POST['password1'] = $userMethods->generateRandomString('**********'); - // 10-char password should be enough - $_POST['password2'] = $_POST['password1']; - } - */ - - $_POST['password2'] = $_POST['password1']; - // Now validate everything - $allData = validatorClass :: validateFields($_POST,$userMethods->userVettingInfo,true); - // Do basic validation - validatorClass :: checkMandatory('user_name,user_loginname',$allData); - // Check for missing fields (email done in userValidation() ) - validatorClass :: dbValidateArray($allData,$userMethods->userVettingInfo,'user',0); - // Do basic DB-related checks - $userMethods->userValidation($allData); - // Do user-specific DB checks - if (!isset ($allData['errors']['user_password'])) - { - // No errors in password - keep it outside the main data array - $savePassword = $allData['data']['user_password']; - unset ($allData['data']['user_password']); - // Delete the password value in the output array - } - unset ($_POST['password1']); - // Restrict the scope of this - unset ($_POST['password2']); - if (!check_class($pref['displayname_class'],$allData['data']['user_class'])) - { - if ($allData['data']['user_name'] != $allData['data']['user_loginname']) - { - $allData['errors']['user_name'] = ERR_FIELDS_DIFFERENT; - } - } - if (count($allData['errors'])) - { - // require_once (e_HANDLER."message_handler.php"); - $temp = validatorClass :: makeErrorList($allData,'USER_ERR_','%n - %x - %t: %v','
',$userMethods->userVettingInfo); - // message_handler('P_ALERT',$temp); - $mes->addError($temp); - $error = true; - } - // Always save some of the entered data - then we can redisplay on error - $user_data = & $allData['data']; - if (!$error) - { - - if(varset($_POST['perms'])) - { - $allData['data']['user_admin'] = 1; - $allData['data']['user_perms'] = implode('.',$_POST['perms']); - } - - - $message = ''; - $user_data['user_password'] = $userMethods->HashPassword($savePassword,$user_data['user_login']); - $user_data['user_join'] = time(); - - if ($userMethods->needEmailPassword()) - { - // Save separate password encryption for use with email address - $user_data['user_prefs'] = serialize(array('email_password' => $userMethods->HashPassword($savePassword,$user_data['user_email']))); - } - - $userMethods->userClassUpdate($allData['data'],'userall'); - // Set any initial classes - $userMethods->addNonDefaulted($user_data); - validatorClass :: addFieldTypes($userMethods->userVettingInfo,$allData); - //FIXME - (SecretR) there is a better way to fix this (missing default value, sql error in strict mode - user_realm is to be deleted from DB later) - $allData['data']['user_realm'] = ''; - - if ($sql->db_Insert('user',$allData)) - { - // Add to admin log - $admin_log->log_event('USET_02',"UName: {$user_data['user_name']}; Email: {$user_data['user_email']}",E_LOG_INFORMATIVE); - - // Add to user audit trail - $admin_log->user_audit(USER_AUDIT_ADD_ADMIN,$user_data,0,$user_data['user_loginname']); - $e_event->trigger('userfull',$user_data); - - // send everything available for user data - bit sparse compared with user-generated signup - if (isset ($_POST['sendconfemail'])) - { - // Send confirmation email to user - require_once(e_HANDLER.'mail.php'); - include_once(e107::coreTemplatePath('email','front')); //correct way to load a core template. - - if(!isset($QUICKADDUSER_TEMPLATE)) - { - $QUICKADDUSER_TEMPLATE = USRLAN_185.USRLAN_186; - } - - $var_search = array( - '{SITEURL}', - '{LOGIN}', - '{USERNAME}', - '{PASSWORD}', - '{EMAIL}' - ); - $var_replace = array( - SITEURL, - $user_data['user_name'], - $user_data['user_login'], - $savePassword, - $user_data['user_email'] - ); - - $e_message = str_replace($var_search,$var_replace,$QUICKADDUSER_TEMPLATE); - - if (sendemail($user_data['user_email'],USRLAN_187.SITEURL,$e_message,$user_data['user_login'],'','')) - { - $message = USRLAN_188.'

'; - } - else - { - $message = USRLAN_189.'

'; - } - } - - $message .= str_replace('--NAME--',$user_data['user_name'],USRLAN_174); - - if (isset ($_POST['generateloginname'])) - { - $message .= '

'.USRLAN_173.': '.$user_data['user_login']; - } - - if (isset ($_POST['generatepassword'])) - { - $message .= '

'.USRLAN_172.': '.$savePassword; - } - - unset ($user_data); - // Don't recycle the data once the user's been accepted without error - } - $mes->addSuccess($message); - } - else - { - - } - - - // $mes = e107::getMessage(); - - - -} // User Info. // if ((isset ($_POST['useraction']) && $_POST['useraction'] == "userinfo") || $_GET['userinfo']) diff --git a/e107_handlers/admin_ui.php b/e107_handlers/admin_ui.php index 7220e4161..617a29e98 100644 --- a/e107_handlers/admin_ui.php +++ b/e107_handlers/admin_ui.php @@ -4115,6 +4115,7 @@ class e_admin_ui extends e_admin_controller_ui public function PrefsPage() { + $this->addTitle(LAN_PREFS); return $this->getUI()->getSettings(); } diff --git a/e107_handlers/e107_class.php b/e107_handlers/e107_class.php index bd97704d4..1e288f9ed 100644 --- a/e107_handlers/e107_class.php +++ b/e107_handlers/e107_class.php @@ -161,7 +161,6 @@ class e107 'e_jshelper' => '{e_HANDLER}js_helper.php', 'e_media' => '{e_HANDLER}media_class.php', 'e_menu' => '{e_HANDLER}menu_class.php', - 'eMessage' => '{e_HANDLER}message_handler.php', 'e_model' => '{e_HANDLER}model_class.php', 'e_news_item' => '{e_HANDLER}news_class.php', 'e_news_tree' => '{e_HANDLER}news_class.php', @@ -185,7 +184,9 @@ class e107 'eException' => '{e_HANDLER}application.php', 'eFront' => '{e_HANDLER}application.php', 'eHelper' => '{e_HANDLER}application.php', + 'eIPHandler' => '{e_HANDLER}iphandler_class.php', 'email_validation_class' => '{e_HANDLER}mail_validation_class.php', + 'eMessage' => '{e_HANDLER}message_handler.php', 'eRequest' => '{e_HANDLER}application.php', 'eResponse' => '{e_HANDLER}application.php', 'eRouter' => '{e_HANDLER}application.php', @@ -199,15 +200,14 @@ class e107 'override' => '{e_HANDLER}override_class.php', 'rater' => '{e_HANDLER}rate_class.php', 'redirection' => '{e_HANDLER}redirection_class.php', + 'secure_image' => '{e_HANDLER}secure_img_handler.php', 'sitelinks' => '{e_HANDLER}sitelinks_class.php', 'e_navigation' => '{e_HANDLER}sitelinks_class.php', 'themeHandler' => '{e_HANDLER}theme_handler.php', 'user_class' => '{e_HANDLER}userclass_class.php', 'userlogin' => '{e_HANDLER}login.php', + 'validatorClass' => '{e_HANDLER}validator_class.php', 'xmlClass' => '{e_HANDLER}xml_class.php', - 'eIPHandler' => '{e_HANDLER}iphandler_class.php', - 'secure_image' => '{e_HANDLER}secure_img_handler.php' - ); /** diff --git a/e107_handlers/form_handler.php b/e107_handlers/form_handler.php index a89e8e459..ec926ab95 100644 --- a/e107_handlers/form_handler.php +++ b/e107_handlers/form_handler.php @@ -636,7 +636,7 @@ class e_form
'; - + // FIXME - switch to external JS, jQuery support e107::getJs()->requireCoreLib('scriptaculous/controls.js', 2); //TODO - external JS e107::getJs()->footerInline(" @@ -716,6 +716,8 @@ class e_form function password($name, $value = '', $maxlength = 50, $options = array()) { + if(is_string($options)) parse_str($options, $options); + if(vartrue($options['generate'])) { $addon .= ' Generate | Show
'; @@ -1139,6 +1141,15 @@ class e_form return "get_attributes($options, $name, $value)." />"; } + /** + * Alias of admin_button, adds the etrigger_ prefix required for UI triggers + * @see e_form::admin_button() + */ + function admin_trigger($name, $value, $action = 'submit', $label = '', $options = array()) + { + return $this->admin_button('etrigger_'.$name, $value, $action, $label, $options); + } + /** * * @param string $name @@ -2403,9 +2414,17 @@ class e_form case 'bool': case 'boolean': - $lenabled = vartrue($parms['enabled'], 'LAN_ENABLED'); - $ldisabled = vartrue($parms['disabled'], 'LAN_DISABLED'); - unset($parms['enabled'], $parms['disabled']); + if(varset($parms['label']) === 'yesno') + { + $lenabled = 'LAN_YES'; + $ldisabled = 'LAN_NO'; + } + else + { + $lenabled = vartrue($parms['enabled'], 'LAN_ENABLED'); + $ldisabled = vartrue($parms['disabled'], 'LAN_DISABLED'); + } + unset($parms['enabled'], $parms['disabled'], $parms['label']); $ret = $this->radio_switch($key, $value, defset($lenabled, $lenabled), defset($ldisabled, $ldisabled),$parms); break; diff --git a/e107_handlers/user_model.php b/e107_handlers/user_model.php index 8e291a970..1588cc468 100644 --- a/e107_handlers/user_model.php +++ b/e107_handlers/user_model.php @@ -1045,8 +1045,8 @@ class e_system_user extends e_user_model * 'mail_options' -> optional, available for all types, any additional valid mailer option as described in e107Email::sendEmail() phpDoc help (options above can override them) * All standard user fields from the DB (user_name, user_loginname, etc.) * + * @param string $type signup|notify|email|quickadd * @param array $userInfo - * @param string $type signup|notify|email * @return array */ public function renderEmail($type, $userInfo) @@ -1060,7 +1060,7 @@ class e_system_user extends e_user_model $ret = $userInfo['mail_options']; } - // required for signup email type + // required for signup and quickadd email type e107::coreLan('signup'); // FIXME convert to the new template to avoid include on every call @@ -1083,6 +1083,11 @@ class e_system_user extends e_user_model else $template = $SIGNUPEMAIL_TEMPLATE; $ret['template'] = false; // Don't allow additional headers (mailer) break; + + case 'quickadd': + $template = $QUICKADDUSER_TEMPLATE; + $ret['template'] = 'email'; // Don't allow additional headers (mailer) + break; case 'notify': //emailer changes if(vartrue($userInfo['mail_body'])) $template = $userInfo['mail_body'];//$NOTIFY_HEADER.$userInfo['mail_body'].$NOTIFY_FOOTER; @@ -1097,11 +1102,11 @@ class e_system_user extends e_user_model if(!$template) return array(); + $pass_show = varset($userInfo['user_password']); + // signup email only if($type == 'signup') { - $pass_show = $userInfo['user_password']; - $ret['mail_recipient_id'] = $userInfo['user_id']; if (vartrue($SIGNUPEMAIL_CC)) { $ret['mail_copy_to'] = $SIGNUPEMAIL_CC; } if (vartrue($SIGNUPEMAIL_BCC)) { $ret['mail_bcopy_to'] = $SIGNUPEMAIL_BCC; } @@ -1114,7 +1119,7 @@ class e_system_user extends e_user_model $replace[0] = intval($pref['allowEmailLogin']) === 0 ? $userInfo['user_loginname'] : $userInfo['user_email']; $search[1] = '{PASSWORD}'; - $replace[1] = $pass_show; + $replace[1] = $pass_show ? $pass_show : '******'; $search[2] = '{ACTIVATION_LINK}'; $replace[2] = ''; @@ -1201,6 +1206,10 @@ class e_system_user extends e_user_model $replace[6] = vartrue($userInfo['user_website']) ? $userInfo['user_website'] : ""; $ret['mail_subject'] = str_replace($search, $replace, $subject); + + $search[7] = '{PASSWORD}'; + $replace[7] = $pass_show ? $pass_show : '******'; + $ret['send_html'] = TRUE; $ret['mail_body'] = e107::getParser()->parseTemplate(str_replace($search, $replace, $template)); $ret['preview'] = $ret['mail_body']; // Non-standard field diff --git a/e107_languages/English/admin/lan_users.php b/e107_languages/English/admin/lan_users.php index 13652ae1a..9440da79e 100644 --- a/e107_languages/English/admin/lan_users.php +++ b/e107_languages/English/admin/lan_users.php @@ -187,7 +187,7 @@ define('USRLAN_181', 'Send confirmation email with password to new user'); define('USRLAN_182', 'Invalid characters in login name'); // duplicate - USRLAN_92, used for 'verify' user action define('USRLAN_183', 'That login name already in use'); // wrong used with 'reqverify' user action define('USRLAN_184', 'Length of login name outside limits'); -define('USRLAN_185', 'A user account has been created for you at {SITEURL} with the following login:
Login Name: {LOGIN}
Password: {PASSWORD}

'); +define('USRLAN_185', 'A user account has been created for you at {SITEURL} with the following login:
Login Name: {LOGINNAME}
Password: {PASSWORD}

'); define('USRLAN_186', 'Please go to the site as soon as possible and log in, then change your password using the \'Settings\' option.

You can also change other settings at the same time.

Note that your password cannot be recovered if you lose it.'); define('USRLAN_187', 'Access to website: '); @@ -195,7 +195,7 @@ define('USRLAN_188', 'Email sent successfully'); define('USRLAN_189', 'Error sending email'); define('USRLAN_190', 'New user probationary period (days)'); -define('USRLAN_191', '(admin can impose restrictions during this period in some areas)'); +define('USRLAN_191', 'Administrator can impose restrictions during this period in some areas'); define('USRLAN_192', ''); // was 'days' use value in lan_date.php instead. define('USRLAN_193', 'Nothing changed - not saved'); define('USRLAN_194', 'Signature may be modified by');