'tit_onisol'=>array( 'it' => '(isolam.to)',
'en' => '(isolation)'),
'db_failed' =>array('it' => '<br>Il collegamento al database è fallito.<br>Temporaneamente tutte le autenticazioni verranno sospese, accederai a Brisk come un utente normale.<br><br>Ci scusiamo per il disagio.',
- 'en' => 'Connection to the database failed<br>All authentications are suspended temporarly, you login as normal user.<br>We are about the limitation')
-
-
+ 'en' => 'Connection to the database failed<br>All authentications are suspended temporarly, you login as normal user.<br>We are about the limitation'),
+
+ 'tos_old' => array( 'it' => '<b>%s</b> ha sottoscritto dei Termini del Servizio antecedenti a quelli necessari per poter richiedere questa funzionalità.',
+ 'en' => 'EN <b>%s</b> ha sottoscritto dei Termini del Servizio antecedenti a quelli necessari per poter richiedere questa funzionalità.'),
+ 'gua_nfd' => array( 'it' => 'Non è stato trovato un garante per <b>%s</b>.',
+ 'en' => 'EN Non è stato trovato un garante per <b>%s</b>.'),
+ 'gua_self' => array( 'it' => '<b>%s</b> si è auto-garantito.',
+ 'en' => 'EN <b>%s</b> si è auto-garantito.'),
+ 'gua_info' => array( 'it' => 'Il garante di <b>%s</b> è <b>%s</b>.',
+ 'en' => 'EN Il garante di <b>%s</b> è <b>%s</b>.'),
+ 'gua_err' => array( 'it' => 'Error %d. Utilizzo: <b>/guar <i><login></i></b>.',
+ 'en' => 'Error %d. Usage: <b>/guar <i><login></i></b>.')
);
$G_lng = langtolng($G_lang);
$G_all_points = array( 11,10,4,3,2, 0,0,0,0,0 );
-$G_brisk_version = "4.11.0";
+$G_brisk_version = "4.12.0";
/* MLANG: ALL THE INFO STRINGS IN brisk.phh */
-$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NOVITA\'</b>: aggiunta la gestione automatica dei termini del servizio, che sono stati aggiornati.',
+$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NOVITA\'</b>: aggiunta la gestione automatica dei termini del servizio, comando /guar per info sul garante di un utente.',
'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>: automatic management of terms of services added, they are updated too.',
+ 'en' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NEWS</b>: automatic management of terms of services added, new /guar command to ask info about a user guarantee.',
'If you want to subscribe our <a target="_blank" href="ml-briscola+subscribe@milug.org">Mailing List</a>, click it!' ) );
$G_room_help = array( 'it' => '
<dd><b>/tav <i><frase di invito></i></b> - invito per gli altri giocatori al tavolo dove si è seduti
<dd><b>/st <i><stato></i></b> - cambia l\'icona associata al tuo user; <i>stato</i> può valere: \\"normale\\", \\"fuori\\", \\"pausa\\", \\"cibo\\", \\"cane\\", \\"lavoro\\", \\"presente\\" oppure \\"sigaretta\\"
<dd><b>/cont <i><id partita></i></b> - quando si è a un tavolo per garantiti, permette di proseguire una partita giocata in precedenza con gli stessi giocatori
+<dd><b>/guar <i><login></i></b> - mostra il garante dell\'utente con il login passato come argomento
<dd><b>/authreq</b> - se si è autenticati permette di garantire per un utente fidato
<dd><b>/mesgtoadm</b> - se si è autenticati permette di lasciare un messaggio all\'amministratore del sito
<dd><b>/listen <all or auth></b> - se si è autenticati permette leggere solo i messaggi degli altri autenticati (auth) o di tutti (all)
<b>EN Descrizione</b><br>
EN Questa è un\'implementazione della briscola in cinque, così come è spiegata su
<a target=\\"_blank\\" href=\\"http://it.wikipedia.org/wiki/Briscola#Gioco_a_5\\">Wikipedia</a>; in breve è la variante con l\'asta prima sulla carta e poi sui punti.<br><br>
-<b>EN Configurazione del browser.</b><br>
+<b>Configurazione del browser.</b><br>
Occorre abilitare i cookies.<br>
<br>
<b>Uso del sito</b><br>
<dd><b>/nick <i><nuovo_nickname></i></b> - cambio di nickname
<dd><b>/tav <i><frase di invito></i></b> - invito per gli altri giocatori al tavolo dove si è seduti
<dd><b>/st <i><stato></i></b> - cambia l\'icona associata al tuo user; <i>stato</i> può valere: \\"normale\\", \\"fuori\\", \\"pausa\\", \\"cibo\\", \\"cane\\", \\"lavoro\\", \\"presente\\" oppure \\"sigaretta\\"
+<dd><b>/cont <i><id partita></i></b> - quando si è a un tavolo per garantiti, permette di proseguire una partita giocata in precedenza con gli stessi giocatori
+<dd><b>/guar <i><login></i></b> - mostra il garante dell\'utente con il login passato come argomento
<dd><b>/authreq</b> - se si è autenticati permette di garantire per un utente fidato
<dd><b>/mesgtoadm</b> - se si è autenticati permette di lasciare un messaggio all\'amministratore del sito
<dd><b>/listen <all or auth></b> - se si è autenticati permette leggere solo i messaggi degli altri autenticati (auth) o di tutti (all)
}
}
+ function guarantee_show($user, $user_login, $dt)
+ {
+ GLOBAL $G_lang, $mlang_brisk, $G_base;
+
+ $user_code = -1;
+ $ret = 0;
+
+ do {
+ if ($user_login == "") {
+ $ret = 1;
+ break;
+ }
+ if (($bdb = BriskDB::create()) == FALSE) {
+ $ret = 2;
+ break;
+ }
+ if (($user_item = $bdb->getitem_bylogin($user_login, $user_code)) == FALSE) {
+ $ret = 3;
+ break;
+ }
+ if (($guar_item = $bdb->getitem_bycode($user_item->guar_code_get())) != FALSE) {
+ $guar_login = $guar_item->login_get();
+ }
+ else {
+ $guar_login = "";
+ }
+ $user_tos_vers = $user_item->tos_vers_get();
+
+ if (versions_cmp($user_tos_vers, "1.2") < 0) {
+ $mesg = sprintf('chatt_sub("%s", [2, "%s"],"%s");',
+ $dt, NICKSERV, sprintf($mlang_brisk['tos_old'][$G_lang], xcape($user_login)));
+ }
+ else if ($guar_login == "") {
+ $mesg = sprintf('chatt_sub("%s", [2, "%s"],"%s");',
+ $dt, NICKSERV, sprintf($mlang_brisk['gua_nfd'][$G_lang], xcape($user_login)));
+ }
+ else if ($guar_login == $user_login) {
+ $mesg = sprintf('chatt_sub("%s", [2, "%s"],"%s");',
+ $dt, NICKSERV, sprintf($mlang_brisk['gua_self'][$G_lang], xcape($user_login)));
+ }
+ else {
+ $mesg = sprintf('chatt_sub("%s", [2, "%s"],"%s");',
+ $dt, NICKSERV, sprintf($mlang_brisk['gua_info'][$G_lang],
+ xcape($user_login), xcape($guar_login)));
+ }
+ } while (0);
+
+ if ($ret > 0) {
+ $mesg = sprintf('chatt_sub("%s", [2, "%s"],"%s");', $dt, NICKSERV, sprintf($mlang_brisk['gua_err'][$G_lang], $ret));
+ }
+
+ $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ".$mesg;
+ $user->step_inc();
+
+ return TRUE;
+ }
+
function room_outstandup($user)
{
$this->room_sitdown($user, -1);
$update_room = TRUE;
} while (0);
} // nick chat command
+ else if (strncmp($msg, "/guar ", 6) == 0 || $msg == "/guar") {
+ $guar_user = substr($msg, 6);
+ $this->guarantee_show($user, $guar_user, $dt);
+ }
else if (strncmp($msg, "/st ", 4) == 0) {
log_main("chatt_send BEGIN");
// from the socket, waiting if necessary
//
- fprintf(STDERR, "\n\nDENTRO QUI\n\n");
ob_start();
index_wr_main($this, $addr, $get, $post, $cookie);
$content = ob_get_contents();