X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fbrisk.phh;h=29ec0e82d0860337ff505e0346376b4a4adbed16;hb=bddfecf27b05ebf105929f29ef23c26d3b258c3c;hp=d5432676b74280e3bbb646bededd7edd2b98d877;hpb=34f47608a4812b8b32c97a0a776de69d750e3d6b;p=brisk.git diff --git a/web/Obj/brisk.phh b/web/Obj/brisk.phh index d543267..29ec0e8 100644 --- a/web/Obj/brisk.phh +++ b/web/Obj/brisk.phh @@ -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.2.1"; /* 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\': puoi creare la tua rete di amicizie con /info, vedere cosa pensano i tuoi amici degli altri utenti e ci sono i nuovi tavoli riservati per registrati e apprendisti, corretti alcuni errori.', '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' => '
@@ -1415,19 +1416,15 @@ class Brisk $ret = sprintf('gst.st = %d; ', $user_step); - $prefs = Client_prefs::from_user($user); - $ret .= sprintf('prefs_load(\'%s\', false, false);', json_encode($prefs)); + if ($user->is_auth()) { + $model = '{ "listen": { "__type": "radio" } }'; + $content = array('listen' => array('val' => ($user->flags & USER_FLAG_ISOLAUTH ? "2" : + ($user->flags & USER_FLAG_LISTAUTH ? "1" : "0")), + 'cur' => ($user->flags_cur & USER_FLAG_ISOLAUTH ? "2" : + ($user->flags_cur & USER_FLAG_LISTAUTH ? "1" : "0")))); - if(false) { - if ($user->flags & USER_FLAG_ISOLAUTH) { - $ret .= 'list_set(\'isolation\', false, \''.$mlang_brisk['tit_onisol'][$G_lang].'\' ); '; - } - else if ($user->flags & USER_FLAG_LISTAUTH) { - $ret .= 'list_set(\'auth\', false, \''.$mlang_brisk['tit_onauth'][$G_lang].'\' ); '; - } - else { - $ret .= 'list_set(\'all\', false, \'\' ); '; - } + $ret .= sprintf('g_prefsf.fields_descr_set(JSON.parse(\'%s\'));', $model); + $ret .= sprintf('g_prefsf.json2dom(JSON.parse(\'%s\'));', json_encode($content)); } if ($user->subst == 'standup') @@ -1693,8 +1690,17 @@ class Brisk } $user_tos_vers = $user_item->tos_vers_get(); - if (($usersnet_item = $bdb->usersnet_bycode($user->code, $user_item->code)) == FALSE) { - $usersnet_item = $bdb->usersnet_default($user->code, $user_item->code); + $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); + $narrowfriend['skill'] = $bdb->usersnet_narrowskill($user->code, $user_item->code); + + if (($usersnet_item = $bdb->usersnet_bycode($user->code, $user_item->code, + $widefriend, $narrowfriend)) == FALSE) { + $usersnet_item = $bdb->usersnet_default($user->code, $user_item->code, + $widefriend, $narrowfriend); } if (versions_cmp($user_tos_vers, "1.2") < 0) { @@ -1724,11 +1730,15 @@ 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), "skill" => $usersnet_item->skill, - "trust" => $usersnet_item->trust)); + "trust" => $usersnet_item->trust, + "widefriend" => $usersnet_item->widefriend, + "narrowfriend" => $usersnet_item->narrowfriend + )); } return $jret; @@ -1741,6 +1751,7 @@ class Brisk $mesg = ""; $user_code = -1; $ret = 0; + $subret = 0; do { if (($json = json_decode($json_s)) == FALSE) { @@ -1753,8 +1764,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); @@ -1908,7 +1919,7 @@ 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; @@ -2086,7 +2097,7 @@ class Brisk /* MLANG: "Non puoi cambiare nick a un tavolo per soli autenticati.", "Il nickname \'%s\' è già registrato, se il suo proprietario si autentificherà verrai rinominato d\'ufficio come ghostN." */ if ($user->is_auth()) { - if (strcasecmp($user->name,$name_new) != 0) { + if (strcasecmp($user->name, $name_new) != 0) { if (( ($user->flags & USER_FLAG_MAP_AUTH) != USER_FLAG_ISOLAUTH) && ($user->subst == 'standup' || ($user->subst != 'standup' && $this->table[$user->table]->auth_type == TABLE_AUTH_TY_PUBL) @@ -2122,9 +2133,34 @@ 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, "/prefsn", 7) == 0) { + 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; + } + echo $this->prefsn_show($user, $dt); + } while(0); } else if (strncmp($msg, "/st ", 4) == 0) { log_main("chatt_send BEGIN"); @@ -2407,7 +2443,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) { @@ -2519,31 +2555,9 @@ class Brisk $this->user[$idx]->flags |= ($authenticate != FALSE ? USER_FLAG_AUTH : 0x00); $this->user[$idx]->flags |= ( ($pass != FALSE && $bdb == FALSE) ? USER_FLAG_DBFAILED : 0x00); log_auth("XXX", sprintf("FLAGS: [%x]", $this->user[$idx]->flags)); - + $this->user[$idx]->flags_cur = $this->user[$idx]->flags; if ($authenticate != FALSE) { $this->user[$idx]->code = $authenticate->code_get(); - if (0 == 1) { - // all this part is included in the db server - $this->user[$idx]->flags |= USER_FLAG_LISTAUTH; - - if (isset($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; - } - if (strcmp($cookie['CO_list'], "isolation") == 0) { - $this->user[$idx]->flags &= ~USER_FLAG_MAP_AUTH; - $this->user[$idx]->flags |= USER_FLAG_ISOLAUTH; - } - else { - $this->user[$idx]->flags &= ~USER_FLAG_MAP_AUTH; - } - } - } - 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); if ($ghost > -1) { @@ -3514,5 +3528,37 @@ function carousel_top() } } +/* function login_consistency: + name length must be less or equal than 12 chars, + no more than 2 consecutive same character (or generic digits) are allowed */ +function login_consistency($name) +{ + $old_c = ''; + if (($len = mb_strlen($name)) > 12) { + return FALSE; + } + for ($i = 0 ; $i < mb_strlen($name) ; $i++) { + $c = mb_substr($name, $i, 1); + if (mb_ereg_match ("[a-zA-Z0-9]", $c)) { + if (mb_ereg_match ("[0-9]", $c)) { + $c = "0"; + } + if ($old_c != $c) { + $old_c = $c; + $old_ct = 1; + } + else { + $old_ct++; + if ($old_ct > 2) { + return (FALSE); + } + } + } + else { + return (FALSE); + } + } + return (TRUE); +} ?>