pre-merge into master
[brisk.git] / web / index_wr.php
index 347bf35..5b05c68 100644 (file)
@@ -105,7 +105,7 @@ function index_wr_main(&$room, $remote_addr_full, $get, $post, $cookie)
 
     /* if the IP is banned, exit without do nothing */
     if (array_search($remote_addr, $G_black_list) !== FALSE) {
-        sleep(5);
+        // TODO: find a way to add a nonblocking sleep(5) here
         return (FALSE);
     }
 
@@ -199,36 +199,43 @@ function index_wr_main(&$room, $remote_addr_full, $get, $post, $cookie)
     // LACC UPDATED
     $user->lacc = $curtime;
 
+    if (array_search($user->ip, $G_black_list) !== FALSE) {
+        // TODO: find a way to add a nonblocking sleep(5) here
+        return (FALSE);
+    }
+
     if ($argz[0] == 'ping') {
         log_wr("PING RECEIVED");
     }
     else if ($argz[0] == 'prefs') {
-        fprintf(STDERR, "\n\n PREFS pre\n\n");
-        if (!isset($post['prefs'])) {
-            return FALSE;
-        }
+        if ($argz[1] == 'save') {
+            if (!isset($post['prefs'])) {
+                return FALSE;
+            }
 
-        if (($prefs = Client_prefs::from_json($post['prefs'])) == FALSE) {
+            if (($prefs = Client_prefs::from_json($post['prefs'])) == FALSE) {
+                $prefs = Client_prefs::from_user($user);
+            }
+            $prefs->store($user, TRUE);
+        }
+        else { // reset case as default
             $prefs = Client_prefs::from_user($user);
         }
-        fprintf(STDERR, "\n\n PREFS [%s]\n\n", print_r($prefs, TRUE));
-
-        $prefs->store($user, TRUE);
-
         $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
         $user->comm[$user->step % COMM_N] .=  sprintf('prefs_load(\'%s\', true, %s);', json_encode($prefs),
                                                       'false');
         $user->step_inc();
 
-        if ($user->stat == 'room' && $user->subst == 'standup') {
-            $room->standup_update($user);
-        }
-        else if ($user->stat == 'room' && $user->subst == 'sitdown') {
-            log_main("chatt_send pre table update");
-            $room->table_update($user);
-            log_main("chatt_send post table update");
+        if ($argz[1] == 'save') {
+            if ($user->stat == 'room' && $user->subst == 'standup') {
+                $room->standup_update($user);
+            }
+            else if ($user->stat == 'room' && $user->subst == 'sitdown') {
+                log_main("chatt_send pre table update");
+                $room->table_update($user);
+                log_main("chatt_send post table update");
+            }
         }
-
         echo "1";
         return TRUE;
     }