assign( 'next_step', $step );
if( !empty( $_REQUEST['admin_submit'] )) {
$mail = $errors = [];
if( empty( $_REQUEST['login'] ) ) {
$errors['login'] = "You must specify an administrator name.";
}
if( empty( $_REQUEST['email'] ) ) {
$errors['email'] = "You must specify an email address.";
} else {
RoleUser::verifyAnonEmail( $_REQUEST['email'], $errors );
}
if( $_REQUEST['password'] != $_REQUEST['pass_confirm'] ) {
$errors['password'] = "The passwords you entered do not match.";
$_REQUEST['password'] = '';
} elseif( strlen( $_REQUEST['password'] ) < 4 ) {
$errors['password'] = "The administrator password has to be at least 4 characters.";
$_REQUEST['password'] = '';
}
if( empty( $errors )) {
$app = '_done';
$gBitSmarty->assign( 'next_step', $step + 1 );
$gBitSmarty->assign( 'pass_disp', preg_replace( '/./i','•',$_REQUEST['password'] ) );
// do a mailer check as well - we need to remove trailing options for the sendmail_path check
if( !empty( $_REQUEST['testemail'] )) {
if(( $mail_path = trim( preg_replace( "#\s+\-[a-zA-Z]+.*$#", "", ini_get( 'sendmail_path' )))) && is_file( $mail_path )) {
$to = $_REQUEST['email'];
$from = "bitweaver@".$_SERVER['SERVER_NAME'];
$subject = "bitweaver test email";
$message = "Congratulations!\r\n".
"The email system on your server at ".$_SERVER['SERVER_NAME']." is working!\r\n\r\n".
"Thank you for trying bitweaver,\r\n".
"The bitweaver team.\r\n";
$headers = "From: $from\r\n".
"Reply-To: $from\r\n".
"X-Mailer: PHP/".phpversion();
if( mail( $to, $subject, $message, $headers )) {
$mail['success'] = "We sent an email to $to.";
} else {
$mail['warning'] = "We have tried to send an email to $to and the mailing system on the server has not accepted the email.";
}
} else {
$mail['warning'] = "The email settings on your php server are not set up correctly. Please make sure to set a valid sendmail_path if you plan to send emails with bitweaver.";
}
}
}
$_SESSION['real_name'] = $_REQUEST['real_name'];
$_SESSION['login'] = $_REQUEST['login'];
$_SESSION['password'] = $_REQUEST['password'];
$_SESSION['email'] = $_REQUEST['email'];
$gBitSmarty->assign( 'mail', $mail );
$gBitSmarty->assign( 'real_name', $_SESSION['real_name'] );
$gBitSmarty->assign( 'login', $_SESSION['login'] );
$gBitSmarty->assign( 'password', $_SESSION['password'] );
$gBitSmarty->assign( 'pass_confirm', $_SESSION['password'] );
$gBitSmarty->assign( 'email', $_SESSION['email'] );
$gBitSmarty->assign( 'errors', $errors );
} else {
$gBitSmarty->assign( 'user', '');
$gBitSmarty->assign( 'email', 'admin@localhost');
}