Merge pull request #1722 from annando/1506-password-on-install

Ability to enter a password when the first user is created
This commit is contained in:
Tobias Diekershoff 2015-07-01 07:53:25 +02:00
commit 3349bba665
3 changed files with 39 additions and 18 deletions

View file

@ -27,12 +27,20 @@ function create_user($arr) {
$openid_url = ((x($arr,'openid_url')) ? notags(trim($arr['openid_url'])) : ''); $openid_url = ((x($arr,'openid_url')) ? notags(trim($arr['openid_url'])) : '');
$photo = ((x($arr,'photo')) ? notags(trim($arr['photo'])) : ''); $photo = ((x($arr,'photo')) ? notags(trim($arr['photo'])) : '');
$password = ((x($arr,'password')) ? trim($arr['password']) : ''); $password = ((x($arr,'password')) ? trim($arr['password']) : '');
$password1 = ((x($arr,'password1')) ? trim($arr['password1']) : '');
$confirm = ((x($arr,'confirm')) ? trim($arr['confirm']) : '');
$blocked = ((x($arr,'blocked')) ? intval($arr['blocked']) : 0); $blocked = ((x($arr,'blocked')) ? intval($arr['blocked']) : 0);
$verified = ((x($arr,'verified')) ? intval($arr['verified']) : 0); $verified = ((x($arr,'verified')) ? intval($arr['verified']) : 0);
$publish = ((x($arr,'profile_publish_reg') && intval($arr['profile_publish_reg'])) ? 1 : 0); $publish = ((x($arr,'profile_publish_reg') && intval($arr['profile_publish_reg'])) ? 1 : 0);
$netpublish = ((strlen(get_config('system','directory_submit_url'))) ? $publish : 0); $netpublish = ((strlen(get_config('system','directory_submit_url'))) ? $publish : 0);
if ($password1 != $confirm) {
$result['message'] .= t('Passwords do not match. Password unchanged.') . EOL;
return $result;
} elseif ($password1 != "")
$password = $password1;
$tmp_str = $openid_url; $tmp_str = $openid_url;
if($using_invites) { if($using_invites) {

View file

@ -79,25 +79,27 @@ function register_post(&$a) {
set_pconfig($user['uid'],'system','invites_remaining',$num_invites); set_pconfig($user['uid'],'system','invites_remaining',$num_invites);
} }
$res = send_register_open_eml( // Only send a password mail when the password wasn't manually provided
$user['email'], if (!x($_POST,'password1') OR !x($_POST,'confirm')) {
$a->config['sitename'], $res = send_register_open_eml(
$a->get_baseurl(), $user['email'],
$user['username'], $a->config['sitename'],
$result['password']); $a->get_baseurl(),
$user['username'],
$result['password']);
if($res) { if($res) {
info( t('Registration successful. Please check your email for further instructions.') . EOL ) ; info( t('Registration successful. Please check your email for further instructions.') . EOL ) ;
goaway(z_root()); goaway(z_root());
} } else {
else { notice(
notice( sprintf(
sprintf( t('Failed to send email message. Here your accout details:<br> login: %s<br> password: %s<br><br>You can change your password after login.'),
t('Failed to send email message. Here your accout details:<br> login: %s<br> password: %s<br><br>You can change your password after login.'), $user['email'],
$user['email'], $result['password']
$result['password'] ). EOL
). EOL );
); }
} }
} }
elseif($a->config['register_policy'] == REGISTER_APPROVE) { elseif($a->config['register_policy'] == REGISTER_APPROVE) {
@ -235,6 +237,9 @@ function register_content(&$a) {
)); ));
} }
$r = q("SELECT count(*) AS `contacts` FROM `contact`");
$passwords = !$r[0]["contacts"];
$license = ''; $license = '';
$o = get_markup_template("register.tpl"); $o = get_markup_template("register.tpl");
@ -262,6 +267,9 @@ function register_content(&$a) {
'$openid' => $openid_url, '$openid' => $openid_url,
'$namelabel' => t('Your Full Name ' . "\x28" . 'e.g. Joe Smith' . "\x29" . ': '), '$namelabel' => t('Your Full Name ' . "\x28" . 'e.g. Joe Smith' . "\x29" . ': '),
'$addrlabel' => t('Your Email Address: '), '$addrlabel' => t('Your Email Address: '),
'$passwords' => $passwords,
'$password1' => array('password1', t('New Password:'), '', t('Leave empty for an auto generated password.')),
'$password2' => array('confirm', t('Confirm:'), '', ''),
'$nickdesc' => str_replace('$sitename',$a->get_hostname(),t('Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be \'<strong>nickname@$sitename</strong>\'.')), '$nickdesc' => str_replace('$sitename',$a->get_hostname(),t('Choose a profile nickname. This must begin with a text character. Your profile address on this site will then be \'<strong>nickname@$sitename</strong>\'.')),
'$nicklabel' => t('Choose a nickname: '), '$nicklabel' => t('Choose a nickname: '),
'$photo' => $photo, '$photo' => $photo,

View file

@ -44,6 +44,11 @@
</div> </div>
<div id="register-email-end" ></div> <div id="register-email-end" ></div>
{{if $passwords}}
{{include file="field_password.tpl" field=$password1}}
{{include file="field_password.tpl" field=$password2}}
{{/if}}
<p id="register-nickname-desc" >{{$nickdesc}}</p> <p id="register-nickname-desc" >{{$nickdesc}}</p>
<div id="register-nickname-wrapper" > <div id="register-nickname-wrapper" >