usermgmt improved (not yet finished)
[brisk.git] / web / usermgmt.php
index 79ba9b1..22256a7 100644 (file)
@@ -50,33 +50,40 @@ function check_auth()
     $socket = FALSE;
     $ret = FALSE;
     $ip = $_SERVER["REMOTE_ADDR"];
-
+    $stp = 0;
     $private = md5($G_alarm_passwd.$ip.$sess);
     $cmd = array ("cmd" => "userauth", "sess" => $sess, "private" => $private, "the_end" => "true");
     $cmd_ser = cmd_serialize($cmd);
     $cmd_len = mb_strlen($cmd_ser, "ASCII");
-    
+
     do {
         if (($socket = stream_socket_client("unix://".USOCK_PATH."2")) == FALSE)
             break;
+        $stp = 1;
         if (($rwr = fwrite($socket, $cmd_ser, $cmd_len)) == FALSE
             || $rwr != $cmd_len)
             break;
         fflush($socket);
+        $stp = 2;
         if (($buf = fread($socket, 4096)) == FALSE)
             break;
         $res = cmd_deserialize($buf);
+        $stp = 3;
         if (!isset($res['val']) || $res['val'] != 200)
             break;
         $ret = TRUE;
+        $stp = 4;
     } while (0);
     if ($socket != FALSE)
         fclose($socket);
-        
+
+    if ($stp < 4) {
+        echo "STP: $stp<br>";
+    }
     return ($ret);
 }
 
-function main($action) {
+function main() {
     GLOBAL $G_dbpfx, $G_alarm_passwd, $f_mailusers, $sess, $_POST, $_SERVER;
 
     if (check_auth() == FALSE) {
@@ -84,21 +91,59 @@ function main($action) {
         exit;
     }
 
-    if (isset($f_mailusers)) {
-        $action = "listnew";
+    if (isset($_POST['f_accept'])) {
+        $action = "accept";
     }
+    else if (isset($_POST['f_delete'])) {
+        $action = "delete";
+    }
+
+
+    if ($action == "accept") {
+        if (($bdb = BriskDB::create()) == FALSE) {
+            log_crit("stat-day: database connection failed");
+            break;
+        }
+
+        foreach($_POST as $key => $value) {
+            if (substr($key, 0, 9) != "f_newuser")
+                continue;
+
+            $id = (int)substr($key, 9);
+            if ($id <= 0)
+                continue;
+
 
-    if ($action == "listnew") {
-        echo "pippo";
+            // retrieve list of active tournaments
+            $usr_sql = sprintf("
+SELECT usr.*, guar.login AS guar_login
+     FROM %susers AS usr
+     JOIN %susers AS guar ON guar.code = usr.guar_code
+     WHERE ( (usr.type & (CAST (X'%x' as integer))) = (CAST (X'%x' as integer)) )
+         AND usr.disa_reas = %d AND usr.code = %d;",
+                               $G_dbpfx, $G_dbpfx,
+                               USER_FLAG_TY_ALL, USER_FLAG_TY_DISABLE,
+                               USER_DIS_REA_NU_TOBECHK, $id);
+            if (($usr_pg = pg_query($bdb->dbconn->db(), $usr_sql)) == FALSE) {
+                log_crit("stat-day: select from tournaments failed");
+                break;
+            }
+            $usr_obj = pg_fetch_object($usr_pg, 0);
+            
+            printf("KEY: %s: %s %s<br>\n", $id, $value, $usr_obj->login);
+            // change state
+            // send mail
+            // populate
+        }
+        exit;
     }
     else {
         do {
-            
             if (($bdb = BriskDB::create()) == FALSE) {
                 log_crit("stat-day: database connection failed");
                 break;
             }
-            
+
             // retrieve list of active tournaments
             $usr_sql = sprintf("
 SELECT usr.*, guar.login AS guar_login 
@@ -115,12 +160,8 @@ SELECT usr.*, guar.login AS guar_login
             }
             
             $usr_n = pg_numrows($usr_pg);
-            printf("Number of tournaments: %d\n", $usr_n);
-
             $tab_lines = "";
-            // loop on tournaments
             for ($i = 0 ; $i < $usr_n ; $i++) {
-                // log_crit("stat-day: LOOP i");
                 $usr_obj = pg_fetch_object($usr_pg, $i);
                 
                 $tab_lines .= sprintf("<tr><td><input name=\"f_newuser%d\" type=\"checkbox\" CHECKED></td><td>%s</td><td></td></tr>\n",
@@ -135,21 +176,18 @@ SELECT usr.*, guar.login AS guar_login
      echo $tab_lines;
 ?>
 </table>
-<input type="submit" name="f_mailusers" value="Done">
+<input type="submit" name="f_accept" value="Accept">
+<input type="submit" name="f_delete" value="Delete">
 </form>
 </body>
 </html>
 <?php
-      
         } while(FALSE);
     }
 }
 
-if (!isset($f_action)) {
-    $action = FALSE;
-}
 
-main($action);
+main();
 
 
 ?>
\ No newline at end of file