X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Findex_wr.php;h=eb014101fe83cb34c6fb127b8e80074797131eeb;hb=a0b24745843fc7bad6f8291ef6f660e255af7825;hp=7d816d7ab7b320b39f2e812bd83329430d093f71;hpb=66f94441ec85a5555c7280aff03ba7e5d661c364;p=brisk.git diff --git a/web/index_wr.php b/web/index_wr.php index 7d816d7..eb01410 100644 --- a/web/index_wr.php +++ b/web/index_wr.php @@ -42,6 +42,8 @@ $mlang_indwr = array( 'unknownerr' => array( 'it' => 'errore sconosciuto', 'en' => 'To send a message to the administrator you have to be authenticated'), 'shutmsg' => array( 'it' => 'Il server sta per essere riavviato, non possono avere inizio nuove partite.', 'en' => 'The server is going to be rebooted, new games are not allowed.'), + 'mustappr' => array( 'it' => 'Il tavolo a cui volevi sederti richiede autentifica o apprendistato.', + 'en' => 'The table where you want to sit require authentication or apprentice'), 'mustauth' => array( 'it' => 'Il tavolo a cui volevi sederti richiede autentifica.', 'en' => 'The table where you want to sit require authentication'), 'mustcert' => array( 'it' => 'Il tavolo a cui volevi sederti richiede autentifica e certificazione.', @@ -117,6 +119,8 @@ Ti sei registrato col nickname \'%s\',
Ciò è necessario per ottenere la password.

Saluti e buone partite, mop.
', 'en' => 'EN mhtml [%s] [%s]'), + 'info_err' => array( 'it' => 'E\' occorso un errore (%d), riprova più tardi.', + 'en' => 'Some error occurs (%d), retry later.') ); define('LICMGR_CHO_ACCEPT', 0); @@ -125,7 +129,7 @@ define('LICMGR_CHO_AFTER', 2); function index_wr_main(&$brisk, $remote_addr_full, $get, $post, $cookie) { - GLOBAL $G_domain, $G_webbase, $G_mail_seed; + GLOBAL $G_domain, $G_webbase, $G_mail_seed, $G_notguar_code; GLOBAL $G_shutdown, $G_alarm_passwd, $G_ban_list, $G_black_list, $G_lang, $G_room_help, $G_room_about; GLOBAL $G_room_passwdhowto, $mlang_indwr; GLOBAL $G_tos_vers; @@ -224,9 +228,6 @@ function index_wr_main(&$brisk, $remote_addr_full, $get, $post, $cookie) echo show_notify(str_replace("\n", " ", placings_show(FALSE)), 0, $mlang_indwr['btn_close'][$G_lang], 800, 600); } - else if ($argz[0] == 'whysupport') { - echo show_notify(str_replace("\n", " ", $G_room_whysupport[$G_lang]), 0, $mlang_indwr['btn_close'][$G_lng], 400, 200); - } else if ($argz[0] == 'apprentice') { if (($cli_name = gpcs_var('cli_name', $get, $post, $cookie)) === FALSE) $cli_name = ""; @@ -239,8 +240,16 @@ function index_wr_main(&$brisk, $remote_addr_full, $get, $post, $cookie) // check existence of username or email $is_trans = FALSE; do { - if (($bdb = BriskDB::create()) == FALSE) + error_log($cli_name); + if (login_consistency($cli_name) == FALSE) { + $mesg_to_user = "Il nickname non è conforme alle regole per la sua costruzione."; + break; + } + + if (($bdb = BriskDB::create()) == FALSE) { + $mesg_to_user = "Connessione al database fallita"; break; + } // check IP address as previous requirer if ($bdb->selfreg_check($remote_ip) == FALSE) { @@ -265,13 +274,15 @@ function index_wr_main(&$brisk, $remote_addr_full, $get, $post, $cookie) // FIXME: move 'no-guaran' user into configuration file if (($usr_obj = $bdb->user_add($cli_name, 'THE_PASS', $cli_email, USER_FLAG_TY_DISABLE | USER_FLAG_TY_APPR, - USER_DIS_REA_NU_MAILED, 10103)) == FALSE) { + USER_DIS_REA_NU_MAILED, $G_notguar_code)) == FALSE) { fprintf(STDERR, "ERROR: user_add FAILED\n"); + $mesg_to_user = "Fallito inserimento nel database."; break; } if (($mail_code = $bdb->mail_reserve_code()) == FALSE) { fprintf(STDERR, "ERROR: mail reserve code FAILED\n"); + $mesg_to_user = "Fallita creazione codice email."; break; } $hash = md5($curtime . $G_alarm_passwd . $cli_name . $cli_email); @@ -291,6 +302,7 @@ function index_wr_main(&$brisk, $remote_addr_full, $get, $post, $cookie) if ($mail_item->store($bdb) == FALSE) { // store mail error fprintf(STDERR, "ERROR: store mail FAILED\n"); + $mesg_to_user = "Fallita procedura di store."; break; } @@ -303,6 +315,7 @@ function index_wr_main(&$brisk, $remote_addr_full, $get, $post, $cookie) if (brisk_mail($cli_email, $subj, $body_txt, $body_htm) == FALSE) { // mail error fprintf(STDERR, "ERROR: mail send FAILED\n"); + $mesg_to_user = "Fallito invio email."; break; } @@ -311,7 +324,8 @@ function index_wr_main(&$brisk, $remote_addr_full, $get, $post, $cookie) echo "1"; return TRUE; } while(FALSE); - $bdb->transaction('ROLLBACK'); + if ($is_trans) + $bdb->transaction('ROLLBACK'); echo "$mesg_to_user"; return FALSE; } @@ -344,6 +358,20 @@ function index_wr_main(&$brisk, $remote_addr_full, $get, $post, $cookie) if ($argz[0] == 'ping') { log_wr("PING RECEIVED"); } + else if ($argz[0] == 'info') { + if ($argz[1] == 'save') { + if (!isset($post['info'])) { + return FALSE; + } + if (($ret = $brisk->info_save($user, $post['info'])) == 0) { + echo "1"; + return TRUE; + } + + printf($mlang_indwr['info_err'][$G_lang], $ret); + return FALSE; + } + } else if ($argz[0] == 'prefs') { if ($argz[1] == 'save') { if (!isset($post['prefs'])) { @@ -405,7 +433,7 @@ function index_wr_main(&$brisk, $remote_addr_full, $get, $post, $cookie) if (($wa_lock = Warrant::lock_data(TRUE)) != FALSE) { if (($fp = @fopen(LEGAL_PATH."/warrant.txt", 'a')) != FALSE) { /* Unix time | session | nickname | IP | where was | mesg */ - fwrite($fp, sprintf("%ld|%s|%s|%s|\n", $curtime, xcapelt($user->name), xcapelt(urldecode($cli_name)), xcapelt(urldecode($cli_email)))); + fwrite($fp, sprintf("%ld|%s|%s|%s|\n", $curtime, xcapelt($user->name), xcapelt(trim(urldecode($cli_name))), xcapelt(trim(urldecode($cli_email))))); fclose($fp); } Warrant::unlock_data($wa_lock); @@ -427,8 +455,8 @@ function index_wr_main(&$brisk, $remote_addr_full, $get, $post, $cookie) if (($bdb = BriskDB::create()) == FALSE) break; - $cli_name = urldecode($cli_name); - $cli_email = urldecode($cli_email); + $cli_name = trim(urldecode($cli_name)); + $cli_email = trim(urldecode($cli_email)); // check for already used fields if (($idret = $bdb->check_record_by_login_or_email($cli_name, $cli_email)) != 0) { @@ -586,7 +614,7 @@ function index_wr_main(&$brisk, $remote_addr_full, $get, $post, $cookie) $dobreak = FALSE; do { log_wr("INFO:SKIP:argz == poll name: [".$cli_poll_name."] AUTH: ".$user->is_auth()); - if ( ! $user->is_auth() ) { + if ( ! $user->is_auth() || $user->is_appr() ) { // MLANG: Per partecipare al sondaggio devi essere autenticato. $mesg_to_user = nickserv_msg($dt, $mlang_indwr['pollmust'][$G_lang]); log_wr("break1"); @@ -729,14 +757,6 @@ function index_wr_main(&$brisk, $remote_addr_full, $get, $post, $cookie) log_wr($user->comm[$user->step % COMM_N]); $user->step_inc(); - } - else if ($argz[0] == 'whysupport') { - $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; "; - $user->comm[$user->step % COMM_N] .= show_notify(str_replace("\n", " ", $G_room_whysupport[$G_lang]), 0, $mlang_indwr['btn_backtotab'][$G_lang], 400, 200); - - log_wr($user->comm[$user->step % COMM_N]); - $user->step_inc(); - } else if ($argz[0] == 'chatt') { $brisk->chatt_send(&$user, xcapemesg($mesg)); @@ -804,6 +824,10 @@ function index_wr_main(&$brisk, $remote_addr_full, $get, $post, $cookie) (!$user->is_auth() || $user->is_appr()) ) { $not_allowed_msg = nickserv_msg($dt, $mlang_indwr['mustauth'][$G_lang]); } + else if ( $table->auth_type == TABLE_AUTH_TY_APPR && + (!$user->is_auth()) ) { + $not_allowed_msg = nickserv_msg($dt, $mlang_indwr['mustappr'][$G_lang]); + } else if ($user->flags & USER_FLAG_TY_FIRONLY && $table->player_n > 0) { $not_allowed_msg = nickserv_msg($dt, $mlang_indwr['mustfirst'][$G_lang]); }