Subversion-Projekte lars-tiefland.em_wm

Revision

Revision 82 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

<?
    require ( "include/common.php" );
    $tpl_f = "register.tpl";
    $mode = isset( $_POST["mode"] ) ? $_POST["mode"] : "";
    $u_name = addslashes( isset($_POST["username"]) ? $_POST["username"] :
        "" );
    $u_lang = addslashes( isset($_POST["u_lang"]) ? $_POST["u_lang"] : "no" );
    $email = addslashes( isset($_POST["email"]) ? $_POST["email"] : "" );
    $password = addslashes( isset($_POST["password"]) ? $_POST["password"] :
        "" );
    $smarty->assign( "title", $common["register"] );
    $langs["no"] = $common["please_select"];
    $langs = array_merge( $langs, $tr->getLangs() );
    $smarty->assign( "langs", $langs );
    $smarty->assign( "act_lang", $u_lang );
    $smarty->assign( "username", $u_name );
    $smarty->assign( "email", $email );
    if ( $mode == "register" )
    {
        //
        $sql = "SELECT * FROM auth_user WHERE u_name='$u_name'";
        $res = $db->query( $sql );
        if ( $res->numRows() )
        {
            $smarty->assign( "meld", $common["reg_failed"] );
            $smarty->assign( "db_meld", sprintf($common["user_exists"], $u_name) );
            $smarty->assign( "error", true );
        }
        else
        {
            $sql = "SELECT * FROM auth_user WHERE u_email='$email'";
            $res = $db->query( $sql );
            if ( $res->numRows() )
            {
                $smarty->assign( "meld", $common["reg_failed"] );
                $smarty->assign( "db_meld", sprintf($common["email_exists"],
                    $email) );
                $smarty->assign( "error", true );
            }
            else
            {
                $tpl_f = "meld.tpl";
                if ( !validate_email($email) )
                {
                    $smarty->assign( "meld", $common["an_error_occured"] );
                    $smarty->assign( "db_meld", $common["email_invalid"] );
                    $smarty->assign( "error", true );
                    $smarty->assign( "username", $u_name );
                    $smarty->assign( "email", $email );
                }
                else
                {
                    //
                    $u_key = Text_Password::create( 32, 'unpronounceable',
                        'alphanumeric' );
                    $additional["u_key"] = $u_key;
                    $additional["u_type"] = 0;
                    $additional["u_active"] = 0;
                    $additional["u_email"] = $email;
                    $additional["u_lang"] = $u_lang;

                    $res_a = $a->addUser( $u_name, $password, $additional );
                    if ( $res_a )
                    {
                        $res_email = send_email( 0 );
                        if ( !$res_email || PEAR::isError($res_email) )
                        {
                            $meld = $common["an_error_occured"];
                            $db_meld = ( PEAR::isError($res_email) ) ? $res_email->
                                getUserInfo() . "<br>" : "";
                            $db_meld .= "Konnte E-Mail nicht versenden!";
                            $error = true;
                        }
                        else
                        {
                            $meld = sprintf( $common["reg_success"], $u_name );
                            $db_meld = $common["reg_info"];
                            $error = false;
                        }
                        $smarty->assign( "meld", $meld );
                        $smarty->assign( "db_meld", $db_meld );
                        $smarty->assign( "error", $error );
                    }
                }
            }
        }
    }
    $smarty->display( "$tpl_f" );
?>