X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fbrisk.phh;h=aa3ed2cb494d014af12d1fce0be8a682afb8903d;hb=2a134b612ddcdd7d04cb6fbcce0c0db1cfec6950;hp=6d4096c00d4f66644b21254e3d03fc9e267d49ab;hpb=bbd72460bcf4269ffd21cfb97e0ab616ac7276e7;p=brisk.git diff --git a/web/Obj/brisk.phh b/web/Obj/brisk.phh index 6d4096c..aa3ed2c 100644 --- a/web/Obj/brisk.phh +++ b/web/Obj/brisk.phh @@ -59,7 +59,7 @@ define('EXPIRE_TIME_SMAMMA', 360); define('EXPIRE_TIME_WAG', 10); define('WAKEUP_TIME', 12); // BAN_TIME da allineare anche in commons.js -define('BAN_TIME', 3600); +define('BAN_TIME', 900); define('GARBAGE_TIMEOUT', 5); define('NICKSERV', "BriskServ"); @@ -153,13 +153,14 @@ $mlang_brisk = array( 'btn_backstand'=> array( 'it' => 'torna in piedi', $G_lng = langtolng($G_lang); $G_all_points = array( 11,10,4,3,2, 0,0,0,0,0 ); -$G_brisk_version = "5.1.3"; +$G_brisk_version = "5.6.0"; /* MLANG: ALL THE INFO STRINGS IN brisk.phh */ -$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NOVITA\': comando /info e doppio click sugli utenti registrati, nuovi utenti apprendisti, info su numero di mani e di partite.', +$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NOVITA\': dati dai client via web-socket.', 'Se vuoi iscriverti alla Mailing List, cliccala!' ), - 'en' => array ( 'Brisk (Ver. '.$G_brisk_version.'), NEWS: ENcomando /info e doppio click sugli utenti registrati, nuovi utenti apprendisti.', - 'If you want to subscribe our Mailing List, click it!' ) ); + 'en' => array ( 'EN Brisk (Ver. '.$G_brisk_version.'), NOVITA\': puoi creare la tua rete di amicizie con /info,', + 'vedere cosa pensano i tuoi amici degli altri utenti e tavoli riservati per registrati e apprendisti.', + 'Se vuoi iscriverti alla Mailing List, cliccala!' ) ); $G_room_help = array( 'it' => '
@@ -182,7 +183,7 @@ Durante la partita, se vorrete ricaricare la pagina, usate l\'apposito bottone \ Dopo che è iniziata una partita per uscirne dovete chiedere agli altri giocatori di sbloccarla cliccando sul lucchetto. Se non si segue questa prassi, una volta usciti, non vi potrete sedere a nessun tavolo per '.floor(BAN_TIME/60).' minuti.
Comandi della chat -
/nick <nuovo_nickname> - cambio di nickname +
/tav <frase di invito> - invito per gli altri giocatori al tavolo dove si è seduti
/st <stato> - cambia l\'icona associata al tuo user; stato può valere: \\"normale\\", \\"fuori\\", \\"pausa\\", \\"cibo\\", \\"cane\\", \\"lavoro\\", \\"presente\\" oppure \\"sigaretta\\"
/cont <id partita> - quando si è a un tavolo per garantiti, permette di proseguire una partita giocata in precedenza con gli stessi giocatori @@ -937,7 +938,7 @@ class Client_prefs { function user_load($user) { - fprintf(STDERR, "QQ %s: %x\n", __FUNCTION__, $user->flags); + // fprintf(STDERR, "QQ %s: %x\n", __FUNCTION__, $user->flags); $this->listen = ($user->flags & USER_FLAG_MAP_AUTH) >> 2; if ($user->rec != FALSE) { $this->supp_comp = $user->rec->supp_comp_get(); @@ -946,7 +947,7 @@ class Client_prefs { $this->supp_comp = "000000000000"; } - fprintf(STDERR, "QQ %s: LISTEN: %d\n", __FUNCTION__, $this->listen); + // fprintf(STDERR, "QQ %s: LISTEN: %d\n", __FUNCTION__, $this->listen); } function json_load($json_s) @@ -986,11 +987,11 @@ class Client_prefs { function store($user, $is_save) { // save into DB - fprintf(STDERR, "QQ %s::%s PRE: %x\n", __CLASS__, __FUNCTION__, - $user->flags & (~USER_FLAG_S_ALL & ~USER_FLAG_AUTH)); + // fprintf(STDERR, "QQ %s::%s PRE: %x\n", __CLASS__, __FUNCTION__, + // $user->flags & (~USER_FLAG_S_ALL & ~USER_FLAG_AUTH)); $user->flags_set(($this->listen << 2), USER_FLAG_MAP_AUTH); - fprintf(STDERR, "QQ %s::%s %x\n", __CLASS__, __FUNCTION__, - $user->flags); + // fprintf(STDERR, "QQ %s::%s %x\n", __CLASS__, __FUNCTION__, + // $user->flags); if ($user->is_supp_custom()) { $user->rec->supp_comp_set($this->supp_comp); } @@ -1225,10 +1226,15 @@ class Brisk function users_cleanup() { + $curtime = time(); for ($i = 0 ; $i < MAX_PLAYERS ; $i++) { $user_cur = $this->user[$i]; - if ($user_cur->the_end) { + if ($user_cur->the_end + && (($user_cur->rd_toflush == FALSE + && $user_cur->rd_step == $user_cur->step) + || $user_cur->rd_endtime_is_expired($curtime)) + ) { $user_cur->reset(); // users_cleanup, OK } } @@ -1367,7 +1373,7 @@ class Brisk if ($user_cur->is_active() == FALSE) continue; - if ($user_cur->lacc + EXPIRE_TIME_RD < ($curtime - $delta)) { + if ($user_cur->lacc + (($user_cur->ping_req ? 2 : 1) * EXPIRE_TIME_RD) < ($curtime - $delta)) { // Auto logout dell'utente log_rd2("AUTO LOGOUT.".($user_cur->lacc + EXPIRE_TIME_RD)." curtime - delta ".($curtime - $delta)); @@ -1693,6 +1699,8 @@ class Brisk } $user_tos_vers = $user_item->tos_vers_get(); + $partyskill = $bdb->usersnet_partyskill($user->code, $user_item->code); + $widefriend = $bdb->usersnet_widefriend($user->code, $user_item->code); $widefriend['skill'] = $bdb->usersnet_wideskill($user->code, $user_item->code); $narrowfriend = $bdb->usersnet_narrowfriend($user->code, $user_item->code); @@ -1731,6 +1739,7 @@ class Brisk "Normale" : "Stato sconosciuto"))), "guar" => ($user_item->type & USER_FLAG_TY_APPR ? "" : $guar_login), + "party" => $partyskill, "match" => (versions_cmp($user_tos_vers, "1.4") < 0 ? "non autorizzato" : $user_item->match_cnt) , "game" => (versions_cmp($user_tos_vers, "1.4") < 0 ? "non autorizzato" : $user_item->game_cnt), "friend" => usersnet_friend_getlabel($usersnet_item->friend), @@ -1751,6 +1760,7 @@ class Brisk $mesg = ""; $user_code = -1; $ret = 0; + $subret = 0; do { if (($json = json_decode($json_s)) == FALSE) { @@ -1763,8 +1773,8 @@ class Brisk break; } - if (($user_item = $bdb->usersnet_save($user->code, $json)) != 0) { - $ret = 4000 + $user_item; + if (($subret = $bdb->usersnet_save($user->code, $json)) != 0) { + $ret = 4000 + $subret; break; } } while(0); @@ -1918,12 +1928,12 @@ class Brisk return ($this->kickuser($user_out, $out_reas)); } - function chatt_send($user, $mesg) + function chatt_send($user, $mesg, $mlang_indwr = NULL) { GLOBAL $G_base, $G_alarm_passwd, $mlang_brisk, $G_lang; $only_you = FALSE; - fprintf(STDERR, "WE ARE HERE: [%s]\n", $mesg); + // fprintf(STDERR, "WE ARE HERE: [%s]\n", $mesg); // common settings $msg = mb_substr($mesg, 6, 128, "UTF-8"); @@ -2132,9 +2142,20 @@ class Brisk } while (0); } // nick chat command else if (strncmp($msg, "/info ", 6) == 0) { - $info_user = substr($msg, 6); + do { + if (! $user->is_auth()) { + if ($mlang_indwr) { + $to_user = nickserv_msg($dt, $mlang_indwr['info_auth'][$G_lang]); + } + else { + $to_user = nickserv_msg($dt, "error"); + } + break; + } + $info_user = substr($msg, 6); - echo $this->info_show($user, urldecode($info_user), $dt); + echo $this->info_show($user, urldecode($info_user), $dt); + } while(0); } else if (strncmp($msg, "/st ", 4) == 0) { log_main("chatt_send BEGIN"); @@ -2417,7 +2438,7 @@ class Brisk $bdb->users_load(); if ($pass != FALSE) { // TODO: here add a method to $bdb to check if the db is available. log_auth("XXX", "auth2"); - $authenticate = $bdb->login_verify(strtolower($name_new), $pass, $code); + $authenticate = $bdb->login_verify($name_new, $pass, $code); log_auth("XXX", "authenticate: ".($authenticate != FALSE ? "TRUE" : "FALSE")); if ($authenticate != FALSE) { @@ -2430,6 +2451,14 @@ class Brisk } else { $login_exists = $bdb->login_exists(strtolower($name_new)); +/* +TO ENABLE USER-LOGIN ONLY +- $login_exists = $bdb->login_exists(strtolower($name_new)); ++ // $login_exists = $bdb->login_exists(strtolower($name_new)); ++ // Force access with login and password ++ $idx = -3; ++ return (FALSE); +*/ } } else { @@ -2537,7 +2566,7 @@ class Brisk $this->user[$idx]->flags |= USER_FLAG_LISTAUTH; if (isset($cookie['CO_list'])) { - fprintf(STDERR, "QQ: %s CO_list: [%s]\n", __FUNCTION__, $cookie['CO_list']); + // fprintf(STDERR, "QQ: %s CO_list: [%s]\n", __FUNCTION__, $cookie['CO_list']); if (strcmp($cookie['CO_list'], "auth") == 0) { $this->user[$idx]->flags &= ~USER_FLAG_MAP_AUTH; $this->user[$idx]->flags |= USER_FLAG_LISTAUTH; @@ -2551,11 +2580,11 @@ class Brisk } } } - else { - fprintf(STDERR, "QQ: CO_list not set flags: %x\n", __FUNCTION__, $this->user[$idx]->flags); - } + // else { + // fprintf(STDERR, "QQ: CO_list not set flags: %x\n", __FUNCTION__, $this->user[$idx]->flags); + // } } - fprintf(STDERR, "QQ %s: flag %x\n", __FUNCTION__, $this->user[$idx]->flags); + // fprintf(STDERR, "QQ %s: flag %x\n", __FUNCTION__, $this->user[$idx]->flags); if ($ghost > -1) { log_main("ghost: rename!"); $ghost_user = $this->user[$ghost]; @@ -2729,12 +2758,12 @@ class Brisk { GLOBAL $G_ban_list, $G_black_list, $G_cloud_smasher; - printf("NEW_SOCKET (root): %d PATH [%s]\n", intval($new_socket), $path); + // printf("NEW_SOCKET (root): %d PATH [%s]\n", intval($new_socket), $path); - fprintf(STDERR, "\n\n\n PRE_BLACK [%s]\n\n\n", $addr); + // fprintf(STDERR, "\n\n\n PRE_BLACK [%s]\n\n\n", $addr); if ($this->black_check($addr)) { // TODO: waiting async 5 sec before close - fprintf(STDERR, "\n\n\n BLACK CHECK\n\n\n"); + // fprintf(STDERR, "\n\n\n BLACK CHECK\n\n\n"); return (FALSE); } if ($path != "" && $path != "index.php") { @@ -2787,9 +2816,10 @@ class Brisk break; case "index_rd.php": + case "index_rd_wss.php": if (($transp = gpcs_var('transp', $get, $post, $cookie)) === FALSE) $transp = "iframe"; - if ($transp == 'websocket') + if ($transp == 'websocket' || $transp == 'websocketsec') $enc = 'plain'; do { @@ -2808,7 +2838,7 @@ class Brisk if (($prev = $user->rd_socket_get()) != NULL) { $s_a_p->socks_unset($user->rd_socket_get()); fclose($user->rd_socket_get()); - printf("CLOSE AND OPEN AGAIN ON IFRA2\n"); + // printf("CLOSE AND OPEN AGAIN ON IFRA2\n"); $user->rd_socket_set(NULL); } @@ -2830,7 +2860,7 @@ class Brisk $s_a_p->socks_set($new_socket, $user, NULL); $user->rd_socket_set($new_socket); - printf(" - qui ci siamo - "); + // printf(" - qui ci siamo - "); return TRUE; } while (FALSE); @@ -2855,7 +2885,7 @@ class Brisk $subs = "briskin5/"; $subs_l = strlen($subs); if (!strncmp($path, $subs, $subs_l)) { - $ret = Bin5::request_mgr(&$s_a_p, $header, &$header_out, &$new_socket, substr($path, $subs_l) , $addr, $get, $post, $cookie); + $ret = Bin5::request_mgr($s_a_p, $header, $header_out, $new_socket, substr($path, $subs_l) , $addr, $get, $post, $cookie); return ($ret); } break; @@ -3419,9 +3449,9 @@ function validate_name($name) return (FALSE); } -function playsound($filename) +function playsound($name) { - return (sprintf('playsound("flasou", "%s");', $filename)); + return (sprintf('g_jukebox.play("%s");', $name)); } function secstoword($secs)