$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.'), <b>NOVITA\'</b>: 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.'), <b>NOVITA\'</b>: 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 <a target="_blank" href="mailto:ml-briscola+subscribe@milug.org">Mailing List</a>, cliccala!' ),
- 'en' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NEWS</b>: ENcomando /info e doppio click sugli utenti registrati, nuovi utenti apprendisti.',
- 'If you want to subscribe our <a target="_blank" href="ml-briscola+subscribe@milug.org">Mailing List</a>, click it!' ) );
+ 'en' => array ( 'EN Brisk (Ver. '.$G_brisk_version.'), <b>NOVITA\'</b>: 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 <a target="_blank" href="mailto:ml-briscola+subscribe@milug.org">Mailing List</a>, cliccala!' ) );
$G_room_help = array( 'it' => '
<div style=\\"text-align: left; padding: 8px;\\">
$ret = sprintf('gst.st = %d; ', $user_step);
- $prefs = Client_prefs::from_user($user);
- $ret .= sprintf('prefs_load(\'%s\', false, false);', json_encode($prefs));
-
- 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, \'\' ); ';
+ if ($user->is_auth()) {
+ $model = array('listen' => array('__type' => 'radio'));
+ $content = array('listen' => array('val' => ($user->flags_db & USER_FLAG_ISOLAUTH ? "2" :
+ ($user->flags_db & USER_FLAG_LISTAUTH ? "1" : "0")),
+ 'cur' => ($user->flags & USER_FLAG_ISOLAUTH ? "2" :
+ ($user->flags & USER_FLAG_LISTAUTH ? "1" : "0"))));
+ if ($user->is_supp_custom()) {
+ $comps = $user->rec->supp_comp_get_array();
+ $model['fg'] = array('__type' => 'fields', 'r' => array('__type' => 'value'),
+ 'g' => array('__type' => 'value'), 'b' => array('__type' => 'value'));
+ $model['bg'] = array('__type' => 'fields', 'r' => array('__type' => 'value'),
+ 'g' => array('__type' => 'value'), 'b' => array('__type' => 'value'));
+ $content['fg'] = array('r' => array('val' => $comps['fg']['r'], 'cur' => $comps['fg']['r']),
+ 'g' => array('val' => $comps['fg']['g'], 'cur' => $comps['fg']['g']),
+ 'b' => array('val' => $comps['fg']['b'], 'cur' => $comps['fg']['b']));
+ $content['bg'] = array('r' => array('val' => $comps['bg']['r'], 'cur' => $comps['bg']['r']),
+ 'g' => array('val' => $comps['bg']['g'], 'cur' => $comps['bg']['g']),
+ 'b' => array('val' => $comps['bg']['b'], 'cur' => $comps['bg']['b']));
}
+
+ $ret .= sprintf('g_prefsf.fields_descr_set(JSON.parse(\'%s\'));', json_encode($model));
+ $ret .= sprintf('g_prefsf.json2dom(JSON.parse(\'%s\'));', json_encode($content));
}
if ($user->subst == 'standup')
}
$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) {
"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;
$mesg = "";
$user_code = -1;
$ret = 0;
+ $subret = 0;
do {
if (($json = json_decode($json_s)) == FALSE) {
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);
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;
/* MLANG: "<b>Non puoi cambiare nick a un tavolo per soli autenticati.</b>", "Il nickname <b>\'%s\'</b> è già registrato, <b>se il suo proprietario si autentificherà verrai rinominato d\'ufficio come ghost<i>N</i>.</b>" */
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)
} 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");
$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) {
$this->user[$idx]->ip = $ip;
$this->user[$idx]->rec = $authenticate;
- $this->user[$idx]->flags = $user_type;
- $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_db = $user_type;
+ $this->user[$idx]->flags_db |= ($authenticate != FALSE ? USER_FLAG_AUTH : 0x00);
+ $this->user[$idx]->flags_db |= ( ($pass != FALSE && $bdb == FALSE) ? USER_FLAG_DBFAILED : 0x00);
+ log_auth("XXX", sprintf("FLAGS: [%x]", $this->user[$idx]->flags_db));
+ $this->user[$idx]->flags = $this->user[$idx]->flags_db;
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) {
}
}
+/* 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);
+}
?>