apprentice workflow completed
[brisk.git] / web / Obj / brisk.phh
index 85d8dda..5fe56c6 100644 (file)
@@ -2,7 +2,7 @@
 /*
  *  brisk - brisk.phh
  *
- *  Copyright (C) 2006-2014 Matteo Nastasi
+ *  Copyright (C) 2006-2015 Matteo Nastasi
  *                          mailto: nastasi@alternativeoutput.it
  *                                  matteo.nastasi@milug.org
  *                          web: http://www.alternativeoutput.it
@@ -154,7 +154,7 @@ $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.18.3";
+$G_brisk_version = "4.18.5";
 
 /* MLANG: ALL THE INFO STRINGS IN brisk.phh */
 $root_wellarr = array( 'it' => array ( 'Brisk (Ver. '.$G_brisk_version.'), <b>NOVITA\'</b>: Puffin riattivato, accessi da cloud disattivati, corretto bug sulla gestione di puffin, riabilitato blocco dei proxy.',
@@ -345,6 +345,39 @@ $G_PG_cons_n = 345;
     /*     printf("\n"); */
     /* } */
 
+function ip2int($s)
+{
+    return (ip2long($s));
+}
+
+function int2ip($i)
+{
+    return (long2ip($i));
+}
+
+function int2four($l)
+{
+    if (PHP_INT_SIZE == 4)
+        return ($l);
+
+    return ( ($l & 0x80000000 ? 0xffffffff00000000 : 0x00) | $l );
+}
+
+function four2int($s)
+{
+    return ($s & 0xffffffff);
+}
+
+function ip2four($s)
+{
+    return int2four( ip2int($s) );
+}
+
+function four2ip($i)
+{
+    return int2ip( four2int($i) );
+}
+
 function nickserv_msg($dt, $msg) {
     return sprintf('chatt_sub("%s",[0x040003,"%s"],"%s");', $dt, NICKSERV, $msg);
 }
@@ -783,13 +816,13 @@ class Table {
       if ($sitted < PLAYERS_N) {
           switch ($this->auth_type) {
           case TABLE_AUTH_TY_CERT:
-              if ($user->is_cert())
+              if ($user->is_cert() && !$user->is_appr())
                   $act = "sitcert";
               else
                   $act = 'resercert';
               break;
           case TABLE_AUTH_TY_AUTH:
-              if ($user->is_auth())
+              if ($user->is_auth() && !$user->is_appr())
                   $act = "sitreser";
               else
                   $act = 'reserved';
@@ -964,6 +997,7 @@ 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
+define('GHOST_SESS_REAS_PROX', 6); // proxy access
 
 class GhostSessEl
 {
@@ -3300,7 +3334,7 @@ function validate_name($name)
 {
     $name_new = str_replace(' ', '_', mb_substr(trim($name),0,12, "UTF-8"));
 
-  for ($i = 0 ; $i < strlen($name_new) ; $i++) {
+  for ($i = 0 ; $i < mb_strlen($name_new) ; $i++) {
     $c = $name_new[$i];
     if (($c >= "a" && $c <= "z") || ($c >= "A" && $c <= "Z") || ($c >= "0" && $c <= "9"))
       return ($name_new);