X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Findex_wr.php;h=91eb8f39c0425cd46b727142a3583da79da0aa48;hb=645d558d0d1411fc2c1f33c95b2783e1b0ae3e06;hp=7cb9c35efb58267f1fee430c77d6e6d671eeefd6;hpb=3dc6d58fd477565017745b33c752232166a0b508;p=brisk.git diff --git a/web/index_wr.php b/web/index_wr.php index 7cb9c35..91eb8f3 100644 --- a/web/index_wr.php +++ b/web/index_wr.php @@ -56,6 +56,8 @@ $mlang_indwr = array( 'btn_backtotab' => array( 'it' => 'Torna ai tavoli.', 'en' => 'The table is only just opened, you will sit down in '), // FIXME 'tabwait_b'=> array( 'it' => ' secondi.', 'en' => ' seconds.'), + 'mustfirst'=> array( 'it' => 'Il tuo utente può sedersi al tavolo solo per primo.', + 'en' => 'Your can sit down as first user only.' ), 'pollmust' => array( 'it' => 'Per partecipare al sondaggio devi essere autenticato.', 'en' => 'To vote for the poll you have to be authenticated'), 'pollnone' => array( 'it' => '

Al momento non è attivo alcun sondaggio.', @@ -105,7 +107,7 @@ function index_wr_main(&$room, $remote_addr_full, $get, $post, $cookie) /* if the IP is banned, exit without do nothing */ if (array_search($remote_addr, $G_black_list) !== FALSE) { - sleep(5); + // TODO: find a way to add a nonblocking sleep(5) here return (FALSE); } @@ -199,24 +201,43 @@ function index_wr_main(&$room, $remote_addr_full, $get, $post, $cookie) // LACC UPDATED $user->lacc = $curtime; + if (array_search($user->ip, $G_black_list) !== FALSE) { + // TODO: find a way to add a nonblocking sleep(5) here + return (FALSE); + } + if ($argz[0] == 'ping') { log_wr("PING RECEIVED"); } else if ($argz[0] == 'prefs') { - fprintf(STDERR, "\n\n PREFS pre\n\n"); - if (!isset($post['prefs'])) { - return FALSE; - } - - $prefs = Client_prefs::from_json($post['prefs']); - fprintf(STDERR, "\n\n PREFS [%s]\n\n", print_r($prefs, TRUE)); - - $prefs->store($user, TRUE); + if ($argz[1] == 'save') { + if (!isset($post['prefs'])) { + return FALSE; + } + if (($prefs = Client_prefs::from_json($post['prefs'])) == FALSE) { + $prefs = Client_prefs::from_user($user); + } + $prefs->store($user, TRUE); + } + else { // reset case as default + $prefs = Client_prefs::from_user($user); + } $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; "; $user->comm[$user->step % COMM_N] .= sprintf('prefs_load(\'%s\', true, %s);', json_encode($prefs), 'false'); $user->step_inc(); + + if ($argz[1] == 'save') { + if ($user->stat == 'room' && $user->subst == 'standup') { + $room->standup_update($user); + } + else if ($user->stat == 'room' && $user->subst == 'sitdown') { + log_main("chatt_send pre table update"); + $room->table_update($user); + log_main("chatt_send post table update"); + } + } echo "1"; return TRUE; } @@ -548,20 +569,26 @@ function index_wr_main(&$room, $remote_addr_full, $get, $post, $cookie) $table_idx = (int)$argz[1]; $table = &$room->table[$table_idx]; - if ($G_shutdown || $table->wakeup_time > $curtime || - ($table->auth_only && (($user->flags & USER_FLAG_AUTH) == 0)) ) { - $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; "; - - /* MLANG: "Il server sta per essere riavviato, non possono avere inizio nuove partite.", "Il tavolo a cui volevi sederti richiede autentifica.", "Il tavolo si è appena liberato, ci si potrà sedere tra %d secondi." */ - if ($G_shutdown) { - $user->comm[$user->step % COMM_N] .= sprintf('chatt_sub("%s", [2, "%s"],"%s");', $dt, NICKSERV, $mlang_indwr['shutmsg'][$G_lang]); - } - else if ($table->auth_only && (($user->flags & USER_FLAG_AUTH) == 0)) { - $user->comm[$user->step % COMM_N] .= sprintf('chatt_sub("%s", [2, "%s"],"%s");', $dt, NICKSERV, $mlang_indwr['mustauth'][$G_lang]); - } - else { - $user->comm[$user->step % COMM_N] .= sprintf('chatt_sub("%s", [2, "%s"],"%s%d%s");', $dt, NICKSERV, $mlang_indwr['tabwait_a'][$G_lang], $table->wakeup_time - $curtime, $mlang_indwr['tabwait_b'][$G_lang]); - } + $not_allowed_msg = ""; + if ($G_shutdown) { + $not_allowed_msg = sprintf('chatt_sub("%s", [2, "%s"],"%s");', + $dt, NICKSERV, $mlang_indwr['shutmsg'][$G_lang]); + } + else if ($table->wakeup_time > $curtime) { + $not_allowed_msg = sprintf('chatt_sub("%s", [2, "%s"],"%s%d%s");', + $dt, NICKSERV, $mlang_indwr['tabwait_a'][$G_lang], + $table->wakeup_time - $curtime, $mlang_indwr['tabwait_b'][$G_lang]); + } + else if ($table->auth_only && (($user->flags & USER_FLAG_AUTH) == 0)) { + $not_allowed_msg = sprintf('chatt_sub("%s", [2, "%s"],"%s");', + $dt, NICKSERV, $mlang_indwr['mustauth'][$G_lang]); + } + else if ($user->flags & USER_FLAG_TY_FIRONLY && $table->player_n > 0) { + $not_allowed_msg = sprintf('chatt_sub("%s", [2, "%s"], "%s");', + $dt, NICKSERV, $mlang_indwr['mustfirst'][$G_lang]); + } + if ($not_allowed_msg != "") { + $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ".$not_allowed_msg; $user->step_inc(); return TRUE; }