GhostSess class added to manage logout reasons
[brisk.git] / web / index.php
index c53bc95..31d3711 100644 (file)
@@ -38,8 +38,10 @@ $mlang_room = array( 'userpasserr'  => array('it' => 'Utente e/o password errati
                                              'en' => 'Standing players'),
                      'headline'     => array('it' => 'briscola chiamata in salsa ajax',
                                              'en' => 'declaration briscola in ajax sauce <b>(Beta)</b>'),
-                     'welcome'      => array('it' => 'Digita il tuo nickname per accedere ai tavoli della briscola',
-                                             'en' => 'Enter your nickname to access to the tables of briscola'),
+                     'welcome'      => array('it' => 'Digita il tuo nickname per accedere ai tavoli della briscola.',
+                                             'en' => 'Enter your nickname to access to the tables of briscola.'),
+                     'reas_anot'    => array('it' => 'La tua sessione è stata assegnata ad un altro browser.',
+                                             'en' => 'EN La tua sessione è stata assegnata ad un altro browser.'),
                      'btn_enter'    => array('it' => 'entra',
                                              'en' => 'enter'),
                      'passwarn'     => array('it' => 'Se non hai ancora una password, lascia il campo in bianco ed entra.',
@@ -297,7 +299,7 @@ function sidebanners_render($sidebanner, $sidebanner_idx)
     }
 }
 
-function index_main(&$brisk, $transp_type, &$header_out, $remote_addr_full, $get, $post, $cookie)
+function index_main(&$brisk, $transp_type, $header, &$header_out, $remote_addr_full, $get, $post, $cookie)
 {
     GLOBAL $G_with_donors, $G_donors_cur, $G_donors_all;
     GLOBAL $G_with_topbanner, $G_topbanner, $G_is_local;
@@ -336,7 +338,11 @@ function index_main(&$brisk, $transp_type, &$header_out, $remote_addr_full, $get
       $curtime = time();
 
       /* Actions */
-
+      if (($ghost_sess = $brisk->ghost_sess->pop($sess)) != FALSE) {
+          if ($ghost_sess->reas == GHOST_SESS_REAS_ANOT) {
+              $last_msg = $mlang_room['reas_anot'][$G_lang];
+          }
+      }
       if (validate_sess($sess)) {
           log_main("pre garbage_manager UNO");
           $brisk->garbage_manager(TRUE);
@@ -356,13 +362,13 @@ function index_main(&$brisk, $transp_type, &$header_out, $remote_addr_full, $get
           }
       }
 
+      $banned = FALSE;
       if ($ACTION == "login" && isset($name)) {
           log_main("pre garbage_manager DUE");
 
           if (isset($pass_private) == FALSE || $pass_private == "") {
               $pass_private = FALSE;
 
-              $banned = FALSE;
               if ($brisk->ban_check($remote_addr)) {
                   // TODO: find a way to add a nonblocking sleep(5) here
                   $banned = TRUE;
@@ -374,7 +380,7 @@ function index_main(&$brisk, $transp_type, &$header_out, $remote_addr_full, $get
           /* try login */
 
           if ($banned == FALSE &&
-              ($user = $brisk->add_user(&$sess, &$idx, $name, $pass_private, $remote_addr, $cookie)) != FALSE) {
+              ($user = $brisk->add_user(&$sess, &$idx, $name, $pass_private, $remote_addr, $header, $cookie)) != FALSE) {
               $brisk->sess_cur_set($user->sess);
               $ACTION = "room";
               if ($idx < 0) {