<?php
+require_once('include/enotify.php');
+require_once('include/bbcode.php');
+require_once('include/user.php');
+
if(! function_exists('register_post')) {
function register_post(&$a) {
switch($a->config['register_policy']) {
-
+
case REGISTER_OPEN:
$blocked = 0;
$verified = 1;
$verified = 0;
break;
}
-
- require_once('include/user.php');
$arr = $_POST;
}
$user = $result['user'];
-
+
if($netpublish && $a->config['register_policy'] != REGISTER_APPROVE) {
$url = $a->get_baseurl() . '/profile/' . $user['nickname'];
proc_run('php',"include/directory.php","$url");
set_pconfig($user['uid'],'system','invites_remaining',$num_invites);
}
- $email_tpl = get_intltext_template("register_open_eml.tpl");
- $email_tpl = replace_macros($email_tpl, array(
- '$sitename' => $a->config['sitename'],
- '$siteurl' => $a->get_baseurl(),
- '$username' => $user['username'],
- '$email' => $user['email'],
- '$password' => $result['password'],
- '$uid' => $user['uid'] ));
-
- $res = mail($user['email'], sprintf(t('Registration details for %s'), $a->config['sitename']),
- $email_tpl,
- 'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n"
- . 'Content-type: text/plain; charset=UTF-8' . "\n"
- . 'Content-transfer-encoding: 8bit' );
-
-
- if($res) {
- info( t('Registration successful. Please check your email for further instructions.') . EOL ) ;
- goaway(z_root());
- }
- else {
- notice( t('Failed to send email message. Here is the message that failed.') . $email_tpl . EOL );
+ // Only send a password mail when the password wasn't manually provided
+ if (!x($_POST,'password1') OR !x($_POST,'confirm')) {
+ $res = send_register_open_eml(
+ $user['email'],
+ $a->config['sitename'],
+ $a->get_baseurl(),
+ $user['username'],
+ $result['password']);
+
+ if($res) {
+ info( t('Registration successful. Please check your email for further instructions.') . EOL ) ;
+ goaway(z_root());
+ } else {
+ notice(
+ 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.'),
+ $user['email'],
+ $result['password']
+ ). EOL
+ );
+ }
}
}
elseif($a->config['register_policy'] == REGISTER_APPROVE) {
dbesc($lang)
);
- $r = q("SELECT `language` FROM `user` WHERE `email` = '%s' LIMIT 1",
- dbesc($a->config['admin_email'])
- );
- if(count($r))
- push_lang($r[0]['language']);
- else
- push_lang('en');
-
+ // invite system
if($using_invites && $invite_id) {
q("delete * from register where hash = '%s' limit 1", dbesc($invite_id));
set_pconfig($user['uid'],'system','invites_remaining',$num_invites);
}
- $email_tpl = get_intltext_template("register_verify_eml.tpl");
- $email_tpl = replace_macros($email_tpl, array(
- '$sitename' => $a->config['sitename'],
- '$siteurl' => $a->get_baseurl(),
- '$username' => $user['username'],
- '$email' => $user['email'],
- '$password' => $result['password'],
- '$uid' => $user['uid'],
- '$hash' => $hash
- ));
-
- $res = mail($a->config['admin_email'], sprintf(t('Registration request at %s'), $a->config['sitename']),
- $email_tpl,
- 'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n"
- . 'Content-type: text/plain; charset=UTF-8' . "\n"
- . 'Content-transfer-encoding: 8bit' );
-
- pop_lang();
-
- if($res) {
- info( t('Your registration is pending approval by the site owner.') . EOL ) ;
- goaway(z_root());
+ // send email to admins
+ $admin_mail_list = "'".implode("','", array_map(dbesc, explode(",", str_replace(" ", "", $a->config['admin_email']))))."'";
+ $adminlist = q("SELECT uid, language, email FROM user WHERE email IN (%s)",
+ $admin_mail_list
+ );
+
+
+ foreach ($adminlist as $admin) {
+ notification(array(
+ 'type' => NOTIFY_SYSTEM,
+ 'event' => 'SYSTEM_REGISTER_REQUEST',
+ 'source_name' => $user['username'],
+ 'source_mail' => $user['email'],
+ 'source_nick' => $user['nickname'],
+ 'source_link' => $a->get_baseurl()."/admin/users/",
+ 'link' => $a->get_baseurl()."/admin/users/",
+ 'source_photo' => $a->get_baseurl() . "/photo/avatar/".$user['uid'].".jpg",
+ 'to_email' => $admin['email'],
+ 'uid' => $admin['uid'],
+ 'language' => ($admin['language']?$admin['language']:'en'))
+ );
}
+
+ info( t('Your registration is pending approval by the site owner.') . EOL ) ;
+ goaway(z_root());
+
+
}
return;
$oidlabel = '';
}
else {
- $oidhtml = '<label for="register-openid" id="label-register-openid" >%s</label><input type="text" maxlength="60" size="32" name="openid_url" class="openid" id="register-openid" value="%s" >';
- $oidhtml_old = '<label for="register-openid" id="label-register-openid" >$oidlabel</label><input type="text" maxlength="60" size="32" name="openid_url" class="openid" id="register-openid" value="$openid" >';
+ $oidhtml = '<label for="register-openid" id="label-register-openid" >$oidlabel</label><input type="text" maxlength="60" size="32" name="openid_url" class="openid" id="register-openid" value="$openid" >';
$fillwith = t("You may \x28optionally\x29 fill in this form via OpenID by supplying your OpenID and clicking 'Register'.");
$fillext = t('If you are not familiar with OpenID, please leave that field blank and fill in the rest of the items.');
$oidlabel = t("Your OpenID \x28optional\x29: ");
));
}
+ $r = q("SELECT count(*) AS `contacts` FROM `contact`");
+ $passwords = !$r[0]["contacts"];
$license = '';
$o = replace_macros($o, array(
'$oidhtml' => $oidhtml,
- '$oidhtml_old' => $oidhtml_old,
'$invitations' => get_config('system','invitation_only'),
'$invite_desc' => t('Membership on this site is by invitation only.'),
'$invite_label' => t('Your invitation ID: '),
'$realpeople' => $realpeople,
'$regtitle' => t('Registration'),
'$registertext' =>((x($a->config,'register_text'))
- ? '<div class="error-message">' . $a->config['register_text'] . '</div>'
+ ? bbcode($a->config['register_text'])
: "" ),
'$fillwith' => $fillwith,
'$fillext' => $fillext,
'$openid' => $openid_url,
'$namelabel' => t('Your Full Name ' . "\x28" . 'e.g. Joe Smith' . "\x29" . ': '),
'$addrlabel' => t('Your Email Address: '),
- '$nickdesc' => 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>\'.'),
+ '$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>\'.')),
'$nicklabel' => t('Choose a nickname: '),
'$photo' => $photo,
'$publish' => $profile_publish,
'$nickname' => $nickname,
'$license' => $license,
'$sitename' => $a->get_hostname(),
-
+ '$importh' => t('Import'),
+ '$importt' => t('Import your profile to this friendica instance'),
+
));
return $o;