$G_lng = langtolng($G_lang);
$G_all_points = array( 11,10,4,3,2, 0,0,0,0,0 );
-$G_brisk_version = "4.15.0";
+$G_brisk_version = "4.17.0";
/* MLANG: ALL THE INFO STRINGS IN brisk.phh */
-$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NOVITA\'</b>: primo passo per rendere più robusto il sistema di notifica.',
+$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NOVITA\'</b>: gestione accessi da sistemi di anonimizzazione, nuovi termini di utilizzo.',
'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>: new users subscription system, refactored sidebanner system.',
+ 'en' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NEWS</b>: engine refactoring and logout message.',
'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' => '
}
}
-define('GHOST_SESS_TOUT', 300);
-define('GHOST_SESS_REAS_ANOT', 1);
+define('GHOST_SESS_TOUT', 1800);
+define('GHOST_SESS_REAS_LOUT', 1); // logout
+define('GHOST_SESS_REAS_ANOT', 2); // another user get session
+define('GHOST_SESS_REAS_TOUT', 3); // room timeout
+define('GHOST_SESS_REAS_TTOT', 4); // table timeout
+define('GHOST_SESS_REAS_ANON', 5); // anonymizer access
+
class GhostSessEl
{
var $time;
$user_cur->laccwr = $bin5_user->lacc;
$user_cur->bantime = $bin5_user->bantime;
$user_cur->the_end = $bin5_user->the_end;
+ if ($user_cur->the_end) {
+ $this->ghost_sess->push($curtime, $user_cur->sess, GHOST_SESS_REAS_TTOT);
+ }
}
log_legal($curtime, $user_cur->ip, $user_cur, "STAT:DESTROY_GAME", $plist);
// Auto logout dell'utente
log_rd2("AUTO LOGOUT.".($user_cur->lacc + EXPIRE_TIME_RD)." curtime - delta ".($curtime - $delta));
+ $this->ghost_sess->push($curtime, $user_cur->sess, GHOST_SESS_REAS_TOUT);
$user_cur->the_end = TRUE;
log_rd2("AUTO LOGOUT.");
}
}
+ function kickuser($user, $out_reas)
+ {
+ $curtime = time();
+
+ fprintf(STDERR, "MOP: GHOST_SESS: %d\n", $out_reas);
+
+ $this->ghost_sess->push($curtime, $user->sess, $out_reas);
+
+ fprintf(STDERR, "MOP: status out: %s %s %d\n", $user->stat, $user->subst, $user->idx);
+ if ($user->stat == 'table' && $user->subst != 'sitdown') {
+ $bin5 = &$this->match[$user->table];
+ $user_bin5 = &$bin5->user[$user->table_pos];
+ fprintf(STDERR, "MOP: status in: %s %s %d\n", $user_bin5->stat, $user_bin5->subst, $user_bin5->idx);
+ $bin5->table_wakeup($user_bin5);
+ $user->the_end = TRUE;
+ $this->room_wakeup($user);
+ return;
+ }
+
+ if ($user->stat == 'table' || $user->stat == 'room') {
+ $user->the_end = TRUE;
+ if ($user->subst == 'sitdown' || $user->stat == 'table') {
+ $this->room_wakeup($user);
+ }
+ else if ($user->subst == 'standup') {
+ fprintf(STDERR, "MOP: KICK here [%s]\n", btrace_line(debug_backtrace()));
+ $this->room_outstandup($user);
+ }
+ else {
+ log_rd2("LOGOUT FROM WHAT ???");
+ }
+ }
+ }
+
+ function kickuser_by_name($name, $out_reas)
+ {
+ for ($i = 0 ; $i < MAX_PLAYERS ; $i++) {
+ $user_out = $this->user[$i];
+ if (strcmp($user_out->name, $name) == 0) {
+ return ($this->kickuser($user_out, $out_reas));
+ }
+ }
+ return FALSE;
+ }
+
+ function kickuser_by_sess($sess, $out_reas)
+ {
+ for ($i = 0 ; $i < MAX_PLAYERS ; $i++) {
+ $user_out = $this->user[$i];
+ if (strcmp($user_out->sess, $sess) == 0) {
+ return ($this->kickuser($user_out, $out_reas));
+ }
+ }
+ return FALSE;
+ }
+
+ function kickuser_by_idx($idx, $out_reas)
+ {
+ $user_out = $this->user[$idx];
+ return ($this->kickuser($user_out, $out_reas));
+ }
+
function chatt_send($user, $mesg)
{
GLOBAL $G_base, $G_alarm_passwd, $mlang_brisk, $G_lang;
/* for old isolation management $is_ticker = TRUE; */
} while (0);
} // /tav chat command
-
+ // just for development use currently
+ else if (FALSE && strncmp($msg, "/out ", 5) == 0) {
+ fprintf(STDERR, "MOP OUT\n");
+ $target = substr($msg, 5);
+ $this->kickuser_by_name($target, GHOST_SESS_REAS_ANON);
+ }
else if (strncmp($msg, "/alarm ", 7) == 0) {
if (strncmp($msg, "/alarm to ", 10) == 0) {
$sp_pos = strpos($msg, " ", 10);
$to_user = sprintf('chatt_sub("%s",[%d,"%s"],"%s");', $dt, $user->flags, xcape($user->name), xcape("== chat ban =="));
}
else {
- $to_user = sprintf('chatt_sub("%s",[%d,"%s"],"%s");', $dt, $user->flags, xcape($user->name), xcape($msg));
- // temporary silentiation for troll (will became array check)
- // if (strcasecmp($user->name,'JackRokka') != 0 && $user->sess != '47ea653f602e8')
- $to_room = $to_user;
+ if ( TRUE && (! $user->is_auth()) ) {
+ $to_user = nickserv_msg($dt, xcape("Visto l'elevato numero di molestatori che ultimamente hanno preso dimora su Brisk abbiamo deciso"));
+ $to_user .= nickserv_msg($dt, xcape("di disattivare temporaneamente la chat in room per i non registrati, non ce ne vogliate e buone feste."));
+ $aug_head = array("Tanti", "Tantissimi", "Un enormità ", "Un milione", "Un' esagerazione");
+ $aug_body = array("a tutti gli utenti", "a tutti gli uomini", "a tutte le donne", "a tutti gli utenti");
+ $aug_tail = array("di Brisk", "del sito", "della ciurma", "della comitiva", "del gruppo");
+
+ $auguri = sprintf("%s auguri %s %s.",
+ $aug_head[mt_rand(0, count($aug_head)-1)],
+ $aug_body[mt_rand(0, count($aug_body)-1)],
+ $aug_tail[mt_rand(0, count($aug_tail)-1)]);
+
+ $to_room = sprintf('chatt_sub("%s",[%d,"%s"],"%s");', $dt, $user->flags, xcape($user->name),
+ xcape($auguri));
+ }
+ else {
+ $to_user = sprintf('chatt_sub("%s",[%d,"%s"],"%s");', $dt, $user->flags, xcape($user->name), xcape($msg));
+ // temporary silentiation for troll (will became array check)
+ // if (strcasecmp($user->name,'JackRokka') != 0 && $user->sess != '47ea653f602e8')
+ $to_room = $to_user;
+ }
}
log_legal($curtime, $user->ip, $user,
* if ($idx == -3 && ret == FALSE) => wrong password
* if ($idx == -1 && ret == FALSE) => no space left
* if ($idx == 0 && ret == user) => SUCCESS
- * if ($idx == -$idx && ret == user) => SUCCESS (but the login exists in the auth db)
+ * if ($idx == -($idx + 1) && ret == user) => SUCCESS (but the login exists in the auth db)
*/
function add_user(&$sess, &$idx, $name, $pass, $ip, $header, $cookie)
$idx = $ghost;
if (defined('CURL_DE_SAC_VERS')) {
- brisk_cds_execute($this, $ghost, $real_idx, $sess, $ip, $authenticate, $header);
+ brisk_cds_execute($this, $ghost, $idx, $sess, $ip, $authenticate, $header);
}
return ($this->user[$ghost]);
}