client-side notify document return value managed
[brisk.git] / web / Obj / brisk.phh
index 090aa8d..7fa2f36 100644 (file)
@@ -141,12 +141,12 @@ $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 = "4.9.1";
+$G_brisk_version = "4.10.1";
 
 /* MLANG: ALL THE INFO STRINGS IN brisk.phh */
-$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NOVITA\'</b>: aggiunto WebSocket come sistema preferenziale di comunicazione e corretti un paio di bug.',
+$root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NOVITA\'</b>: aggiunto il comando /cont per proseguire le partite.',
                                        '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>: added WebSocket as preferential communication system and fixed a couple of bugs.',
+                       'en' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NEWS</b>: added /cont command to continue matches.',
                                        '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' => '
@@ -173,6 +173,7 @@ Dopo che &egrave; iniziata una partita per uscirne dovete chiedere agli altri gi
 <dd><b>/nick <i>&lt;nuovo_nickname&gt;</i></b> - cambio di nickname
 <dd><b>/tav <i>&lt;frase di invito&gt;</i></b> - invito per gli altri giocatori al tavolo dove si &egrave; seduti 
 <dd><b>/st <i>&lt;stato&gt;</i></b> - cambia l\'icona associata al tuo user; <i>stato</i> pu&ograve; valere: \\"normale\\", \\"fuori\\", \\"pausa\\", \\"cibo\\", \\"cane\\", \\"lavoro\\", \\"presente\\" oppure \\"sigaretta\\"
+<dd><b>/cont <i>&lt;id partita&gt;</i></b> - quando si รจ a un tavolo per garantiti, permette di proseguire una partita giocata in precedenza con gli stessi giocatori
 <dd><b>/authreq</b> - se si &egrave; autenticati permette di garantire per un utente fidato
 <dd><b>/mesgtoadm</b> - se si &egrave; autenticati permette di lasciare un messaggio all\'amministratore del sito
 <dd><b>/listen &lt;all or auth&gt;</b> - se si &egrave; autenticati permette leggere solo i messaggi degli altri autenticati (auth) o di tutti (all)
@@ -289,6 +290,36 @@ Copyright 2006-2012 <a href=\\"mailto:brisk@alternativeoutput.it\\">Matteo Nasta
 <br><b>version '.$G_brisk_version.'</b><br><br>
 Copyright 2006-2012 <a href=\\"mailto:brisk@alternativeoutput.it\\">Matteo Nastasi</a> (aka mop)<br><br>');
 
+//  return values
+// -1 v1 < v2
+//  0 equal
+//  1 v1 > v2
+function versions_cmp($v1, $v2)
+{
+    // printf("V1: [%s]\nV2: [%s]\n", $v1, $v2);
+    if ($v1 == $v2)
+        return 0;
+
+    $v1_ar = split('\.', $v1);
+    $v2_ar = split('\.', $v2);
+
+    $v2_ct = count($v2_ar);
+
+    for ($i = 0 ; $i < count($v1_ar) ; $i++) {
+        if (($v2_ct - 1) < $i) {
+            break;
+        }
+        // printf("here [%s] [%s]\n", $v1_ar[$i], $v2_ar[$i]);
+        if ($v1_ar[$i] != $v2_ar[$i]) {
+            if (strval($v1_ar[$i]) < strval($v2_ar[$i]))
+                return -1;
+            else
+                return  1;
+        }
+    }
+    return 0;
+}
+
 function addrtoipv4($addr)
 {
     $ipv4addr_arr = explode(':' , $addr);
@@ -2343,7 +2374,7 @@ class Room
           return TRUE;
 
           break;
-      case "index_rd_ifra.php":
+      case "index_rd.php":
           if (($transp  = gpcs_var('transp', $get, $post, $cookie)) === FALSE)
               $transp = "iframe";
           if ($transp == 'websocket')
@@ -2850,6 +2881,19 @@ function show_notify_ex($text, $tout, $butt, $w, $h, $is_opaque, $block_time)
   return sprintf('var noti = new notify_ex(gst,"%s",%d,"%s",%d,%d, %s, %d);', $text, $tout, $butt, $w, $h, ($is_opaque ? "true" : "false"), $block_time);
 }
 
+function show_notify_document($text, $tout, $butt_arr, $w, $h, $is_opaque, $block_time)
+{
+  log_main("SHOW_NOTIFY OPAQUE: ".$text);
+
+  $butts = "";
+  for ($i = 0 ; $i < count($butt_arr) ; $i++) {
+      $butts .= sprintf("%s'%s'", ($i == 0 ? "" : ","), $butt_arr[$i]);
+  }
+
+  return sprintf('g_nd = new notify_document(gst, "%s", %d, [ %s ], %d, %d, %s, %d);|',
+                 escpush($text), $tout, $butts, $w, $h, ($is_opaque ? "true" : "false"), $block_time);
+}
+
 
 function root_welcome($user)
 {