2011-06-02 00:48:29 +02:00
< ? php
2013-11-25 21:56:56 +01:00
function login_title () {
return _ ( " Login " );
}
function register_title () {
return _ ( " Register " );
}
function logout_title () {
return _ ( " Logout " );
}
2011-06-02 00:48:29 +02:00
// Engel registrieren
function guest_register () {
2014-03-09 13:39:04 +01:00
global $tshirt_sizes , $enable_tshirt_size , $default_theme ;
2013-11-25 21:04:58 +01:00
2012-12-01 11:39:03 +01:00
$msg = " " ;
$nick = " " ;
$lastname = " " ;
$prename = " " ;
2013-11-25 19:12:19 +01:00
$age = " " ;
2012-12-01 11:39:03 +01:00
$tel = " " ;
$dect = " " ;
$mobile = " " ;
$mail = " " ;
$icq = " " ;
$jabber = " " ;
$hometown = " " ;
$comment = " " ;
$tshirt_size = '' ;
$password_hash = " " ;
2013-11-25 21:04:58 +01:00
$selected_angel_types = array ();
2012-12-01 11:39:03 +01:00
$angel_types_source = sql_select ( " SELECT * FROM `AngelTypes` ORDER BY `name` " );
2013-11-25 21:04:58 +01:00
$angel_types = array ();
2012-12-01 11:39:03 +01:00
foreach ( $angel_types_source as $angel_type )
$angel_types [ $angel_type [ 'id' ]] = $angel_type [ 'name' ] . ( $angel_type [ 'restricted' ] ? " (restricted) " : " " );
2013-11-25 21:04:58 +01:00
if ( isset ( $_REQUEST [ 'submit' ])) {
2012-12-01 11:39:03 +01:00
$ok = true ;
2013-11-25 21:04:58 +01:00
2013-12-27 19:45:50 +01:00
if ( isset ( $_REQUEST [ 'nick' ]) && strlen ( User_validate_Nick ( $_REQUEST [ 'nick' ])) > 1 ) {
$nick = User_validate_Nick ( $_REQUEST [ 'nick' ]);
2012-12-01 11:39:03 +01:00
if ( sql_num_query ( " SELECT * FROM `User` WHERE `Nick`=' " . sql_escape ( $nick ) . " ' LIMIT 1 " ) > 0 ) {
$ok = false ;
2013-11-25 21:04:58 +01:00
$msg .= error ( sprintf ( _ ( " Your nick "%s" already exists. " ), $nick ), true );
2012-12-01 11:39:03 +01:00
}
} else {
$ok = false ;
2013-12-28 02:14:49 +01:00
$msg .= error ( sprintf ( _ ( " Your nick "%s" is too short (min. 2 characters). " ), User_validate_Nick ( $_REQUEST [ 'nick' ])), true );
2012-12-01 11:39:03 +01:00
}
2013-11-25 21:04:58 +01:00
if ( isset ( $_REQUEST [ 'mail' ]) && strlen ( strip_request_item ( 'mail' )) > 0 ) {
2012-12-01 11:39:03 +01:00
$mail = strip_request_item ( 'mail' );
2013-11-25 21:04:58 +01:00
if ( ! check_email ( $mail )) {
2012-12-01 11:39:03 +01:00
$ok = false ;
2013-11-25 21:04:58 +01:00
$msg .= error ( _ ( " E-mail address is not correct. " ), true );
2012-12-01 11:39:03 +01:00
}
} else {
$ok = false ;
2013-11-25 21:04:58 +01:00
$msg .= error ( _ ( " Please enter your e-mail. " ), true );
2012-12-01 11:39:03 +01:00
}
2013-11-25 21:04:58 +01:00
if ( isset ( $_REQUEST [ 'icq' ]))
2012-12-01 11:39:03 +01:00
$icq = strip_request_item ( 'icq' );
2013-11-25 21:04:58 +01:00
if ( isset ( $_REQUEST [ 'jabber' ]) && strlen ( strip_request_item ( 'jabber' )) > 0 ) {
2012-12-01 11:39:03 +01:00
$jabber = strip_request_item ( 'jabber' );
2013-11-25 21:04:58 +01:00
if ( ! check_email ( $jabber )) {
2012-12-01 11:39:03 +01:00
$ok = false ;
2013-11-25 21:04:58 +01:00
$msg .= error ( _ ( " Please check your jabber account information. " ), true );
2012-12-01 11:39:03 +01:00
}
}
2013-11-25 21:04:58 +01:00
2012-12-01 11:39:03 +01:00
if ( $enable_tshirt_size ) {
2013-11-25 21:04:58 +01:00
if ( isset ( $_REQUEST [ 'tshirt_size' ]) && isset ( $tshirt_sizes [ $_REQUEST [ 'tshirt_size' ]]) && $_REQUEST [ 'tshirt_size' ] != '' )
2012-12-01 11:39:03 +01:00
$tshirt_size = $_REQUEST [ 'tshirt_size' ];
else {
$ok = false ;
2013-11-25 21:04:58 +01:00
$msg .= error ( _ ( " Please select your shirt size. " ), true );
2012-12-01 11:39:03 +01:00
}
}
2013-11-25 21:04:58 +01:00
if ( isset ( $_REQUEST [ 'password' ]) && strlen ( $_REQUEST [ 'password' ]) >= MIN_PASSWORD_LENGTH ) {
2012-12-12 02:31:54 +01:00
if ( $_REQUEST [ 'password' ] != $_REQUEST [ 'password2' ]) {
2012-12-01 11:39:03 +01:00
$ok = false ;
2013-11-25 21:04:58 +01:00
$msg .= error ( _ ( " Your passwords don't match. " ), true );
2012-12-01 11:39:03 +01:00
}
} else {
$ok = false ;
2013-11-25 21:04:58 +01:00
$msg .= error ( _ ( " Your password is to short (please use at least 6 characters). " ), true );
2012-12-01 11:39:03 +01:00
}
2013-11-25 21:04:58 +01:00
$selected_angel_types = array ();
2012-12-01 11:39:03 +01:00
foreach ( $angel_types as $angel_type_id => $angel_type_name )
2013-11-25 21:04:58 +01:00
if ( isset ( $_REQUEST [ 'angel_types_' . $angel_type_id ]))
$selected_angel_types [] = $angel_type_id ;
// Trivia
if ( isset ( $_REQUEST [ 'lastname' ]))
2012-12-01 11:39:03 +01:00
$lastname = strip_request_item ( 'lastname' );
2013-11-25 21:04:58 +01:00
if ( isset ( $_REQUEST [ 'prename' ]))
2012-12-01 11:39:03 +01:00
$prename = strip_request_item ( 'prename' );
2013-11-25 21:04:58 +01:00
if ( isset ( $_REQUEST [ 'age' ]) && preg_match ( " /^[0-9] { 0,4} $ / " , $_REQUEST [ 'age' ]))
2012-12-01 11:39:03 +01:00
$age = strip_request_item ( 'age' );
2013-11-25 21:04:58 +01:00
if ( isset ( $_REQUEST [ 'tel' ]))
2012-12-01 11:39:03 +01:00
$tel = strip_request_item ( 'tel' );
2013-11-25 21:04:58 +01:00
if ( isset ( $_REQUEST [ 'dect' ]))
2012-12-01 11:39:03 +01:00
$dect = strip_request_item ( 'dect' );
2013-11-25 21:04:58 +01:00
if ( isset ( $_REQUEST [ 'mobile' ]))
2012-12-01 11:39:03 +01:00
$mobile = strip_request_item ( 'mobile' );
2013-11-25 21:04:58 +01:00
if ( isset ( $_REQUEST [ 'hometown' ]))
2012-12-01 11:39:03 +01:00
$hometown = strip_request_item ( 'hometown' );
2013-11-25 21:04:58 +01:00
if ( isset ( $_REQUEST [ 'comment' ]))
2012-12-01 11:39:03 +01:00
$comment = strip_request_item_nl ( 'comment' );
2013-11-25 21:04:58 +01:00
2012-12-01 11:39:03 +01:00
if ( $ok ) {
2013-12-01 20:12:23 +01:00
sql_query ( " INSERT INTO `User` SET `color`= " . sql_escape ( $default_theme ) . " , `Nick`=' " . sql_escape ( $nick ) . " ', `Vorname`=' " . sql_escape ( $prename ) . " ', `Name`=' " . sql_escape ( $lastname ) . " ', `Alter`=' " . sql_escape ( $age ) . " ', `Telefon`=' " . sql_escape ( $tel ) . " ', `DECT`=' " . sql_escape ( $dect ) . " ', `Handy`=' " . sql_escape ( $mobile ) . " ', `email`=' " . sql_escape ( $mail ) . " ', `ICQ`=' " . sql_escape ( $icq ) . " ', `jabber`=' " . sql_escape ( $jabber ) . " ', `Size`=' " . sql_escape ( $tshirt_size ) . " ', `Passwort`=' " . sql_escape ( $password_hash ) . " ', `kommentar`=' " . sql_escape ( $comment ) . " ', `Hometown`=' " . sql_escape ( $hometown ) . " ', `CreateDate`=NOW(), `Sprache`=' " . sql_escape ( $_SESSION [ " locale " ]) . " ' " );
2013-11-25 21:04:58 +01:00
2012-12-12 02:31:54 +01:00
// Assign user-group and set password
2012-12-01 11:39:03 +01:00
$user_id = sql_id ();
sql_query ( " INSERT INTO `UserGroups` SET `uid`= " . sql_escape ( $user_id ) . " , `group_id`=-2 " );
2012-12-12 02:31:54 +01:00
set_password ( $user_id , $_REQUEST [ 'password' ]);
2013-11-25 21:04:58 +01:00
2012-12-01 11:39:03 +01:00
// Assign angel-types
2012-12-26 19:53:27 +01:00
$user_angel_types_info = array ();
foreach ( $selected_angel_types as $selected_angel_type_id ) {
2012-12-01 11:39:03 +01:00
sql_query ( " INSERT INTO `UserAngelTypes` SET `user_id`= " . sql_escape ( $user_id ) . " , `angeltype_id`= " . sql_escape ( $selected_angel_type_id ));
2012-12-27 03:32:15 +01:00
$user_angel_types_info [] = $angel_types [ $selected_angel_type_id ];
2012-12-26 19:53:27 +01:00
}
engelsystem_log ( " User " . $nick . " signed up as: " . join ( " , " , $user_angel_types_info ));
2013-11-25 21:04:58 +01:00
success ( _ ( " Angel registration successful! " ));
2012-12-01 11:39:03 +01:00
redirect ( page_link_to ( 'login' ));
}
}
2013-11-25 21:04:58 +01:00
return page ( array (
_ ( " By completing this form you're registering as a Chaos-Angel. This script will create you an account in the angel task sheduler. " ),
$msg ,
msg (),
form ( array (
form_text ( 'nick' , _ ( " Nick " ) . " * " , $nick ),
form_text ( 'lastname' , _ ( " Last name " ), $lastname ),
form_text ( 'prename' , _ ( " First name " ), $prename ),
form_text ( 'age' , _ ( " Age " ), $age ),
form_text ( 'tel' , _ ( " Phone " ), $tel ),
form_text ( 'dect' , _ ( " DECT " ), $tel ),
form_text ( 'mobile' , _ ( " Mobile " ), $mobile ),
form_text ( 'mail' , _ ( " E-Mail " ) . " * " , $mail ),
form_text ( 'icq' , _ ( " ICQ " ), $icq ),
form_text ( 'jabber' , _ ( " Jabber " ), $jabber ),
form_text ( 'hometown' , _ ( " Hometown " ), $hometown ),
2013-12-26 14:37:17 +01:00
$enable_tshirt_size ? form_select ( 'tshirt_size' , _ ( " Shirt size " ) . " * " , $tshirt_sizes , $tshirt_size ) : '' ,
2013-11-28 22:40:48 +01:00
// form_textarea('comment', _("Did you help at former CCC events and which tasks have you performed then?"), $comment),
2014-03-09 13:39:04 +01:00
form_checkboxes ( 'angel_types' , _ ( " What do you want to do? " ) . sprintf ( " <br>(<a href= \" %s \" >%s</a>) " , page_link_to ( 'angeltypes' ) . '&action=about' , _ ( " Description of job types " )), $angel_types , $selected_angel_types ),
2013-11-25 21:04:58 +01:00
form_info ( " " , _ ( " Restricted angel types need will be confirmed later by an archangel. You can change your selection in the options section. " )),
form_password ( 'password' , _ ( " Password " ) . " * " ),
form_password ( 'password2' , _ ( " Confirm password " ) . " * " ),
info ( " *: " . _ ( " Entry required! " ), true ),
form_submit ( 'submit' , _ ( " Register " ))
))
2012-12-01 11:39:03 +01:00
));
2011-06-02 00:48:29 +02:00
}
function guest_logout () {
2012-12-01 11:39:03 +01:00
session_destroy ();
2012-12-30 18:27:45 +01:00
redirect ( page_link_to ( " start " ));
2011-06-02 00:48:29 +02:00
}
function guest_login () {
2012-12-01 11:39:03 +01:00
global $user ;
2013-11-25 21:04:58 +01:00
2012-12-01 11:39:03 +01:00
$nick = " " ;
2013-11-25 21:04:58 +01:00
unset ( $_SESSION [ 'uid' ]);
if ( isset ( $_REQUEST [ 'submit' ])) {
2012-12-01 11:39:03 +01:00
$ok = true ;
2013-11-25 21:04:58 +01:00
2013-12-27 19:45:50 +01:00
if ( isset ( $_REQUEST [ 'nick' ]) && strlen ( User_validate_Nick ( $_REQUEST [ 'nick' ])) > 0 ) {
$nick = User_validate_Nick ( $_REQUEST [ 'nick' ]);
2012-12-01 11:39:03 +01:00
$login_user = sql_select ( " SELECT * FROM `User` WHERE `Nick`=' " . sql_escape ( $nick ) . " ' " );
if ( count ( $login_user ) > 0 ) {
$login_user = $login_user [ 0 ];
2013-11-25 21:04:58 +01:00
if ( isset ( $_REQUEST [ 'password' ])) {
if ( ! verify_password ( $_REQUEST [ 'password' ], $login_user [ 'Passwort' ], $login_user [ 'UID' ])) {
2012-12-01 11:39:03 +01:00
$ok = false ;
2013-11-28 22:40:48 +01:00
error ( _ ( " Your password is incorrect. Please try it again. " ));
2012-12-01 11:39:03 +01:00
}
} else {
$ok = false ;
2013-11-28 22:40:48 +01:00
error ( _ ( " Please enter a password. " ));
2012-12-01 11:39:03 +01:00
}
} else {
$ok = false ;
2013-11-28 22:40:48 +01:00
error ( _ ( " No user was found with that Nickname. Please try again. If you are still having problems, ask an Dispatcher. " ));
2012-12-01 11:39:03 +01:00
}
} else {
$ok = false ;
2013-11-28 22:40:48 +01:00
error ( _ ( " Please enter a nickname. " ));
2012-12-01 11:39:03 +01:00
}
2013-11-25 21:04:58 +01:00
2012-12-01 11:39:03 +01:00
if ( $ok ) {
$_SESSION [ 'uid' ] = $login_user [ 'UID' ];
2013-11-25 21:04:58 +01:00
$_SESSION [ 'locale' ] = $login_user [ 'Sprache' ];
2012-12-01 11:39:03 +01:00
redirect ( page_link_to ( 'news' ));
}
}
2013-11-25 21:04:58 +01:00
return page ( array (
msg (),
form ( array (
form_text ( 'nick' , _ ( " Nick " ), $nick ),
form_password ( 'password' , _ ( " Password " )),
2014-03-09 16:00:13 +01:00
form_info ( " " , buttons ( array (
button ( page_link_to ( 'user_password_recovery' ), _ ( " I forgot my password " ))
))),
form_submit ( 'submit' , _ ( " Login " )),
info ( _ ( " Please note: You have to activate cookies! " ), true )
2013-11-25 21:04:58 +01:00
)),
2014-03-09 16:00:13 +01:00
'<h2>' . register_title () . '</h2>' ,
'<p>' . _ ( " Please sign up, if you want to help us! " ) . '</p>' ,
2013-12-26 13:34:48 +01:00
buttons ( array (
2014-03-09 16:00:13 +01:00
button ( page_link_to ( 'register' ), register_title () . ' »' )
2013-12-26 13:34:48 +01:00
)),
2014-03-09 16:00:13 +01:00
'<h2>' . _ ( " What can I do? " ) . '</h2>' ,
'<p>' . _ ( " Please read about the jobs you can do to help us. " ) . '</p>' ,
buttons ( array (
button ( page_link_to ( 'angeltypes' ) . '&action=about' , _ ( " Teams/Job description " ) . ' »' )
))
2012-12-01 11:39:03 +01:00
));
2011-06-02 00:48:29 +02:00
}
2011-06-03 11:34:54 +02:00
?>