refactored utility functions ip2int, int2four, four2int, int2ip
[brisk.git] / web / Obj / brisk.phh
index 85d8dda..29c563c 100644 (file)
@@ -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);
 }
@@ -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);