passwordhowto added
[brisk.git] / web / index_wr.php
index ceb6b59..bdf5741 100644 (file)
@@ -2,7 +2,7 @@
 /*
  *  brisk - index_wr.php
  *
- *  Copyright (C) 2006-2008 Matteo Nastasi
+ *  Copyright (C) 2006-2009 Matteo Nastasi
  *                          mailto: nastasi@alternativeoutput.it 
  *                                  matteo.nastasi@milug.org
  *                          web: http://www.alternativeoutput.it
@@ -27,7 +27,6 @@
 require_once("Obj/brisk.phh");
 require_once("Obj/auth.phh");
 // require_once("Obj/proxyscan.phh");
-require_once("briskin5/Obj/briskin5.phh");
 
 // Use of proxies isn't allowed.
 // if (is_proxy()) {
@@ -53,7 +52,7 @@ if (array_search($_SERVER['REMOTE_ADDR'], $G_black_list) !== FALSE) {
 
 $is_spawn = FALSE;
 
-log_wr('COMM: '.$mesg);
+log_wr('COMM: '.xcapemesg($mesg));
 
 $sem = Room::lock_data();
 if (($room = &Room::load_data()) == FALSE) {
@@ -64,7 +63,7 @@ if (($room = &Room::load_data()) == FALSE) {
 }
 if (($user = &$room->get_user($sess, &$idx)) == FALSE) {
   Room::unlock_data($sem);
-  $argz = explode('|', $mesg);
+  $argz = explode('|', xcapemesg($mesg));
 
   if ($argz[0] == 'getchallenge') {
     GLOBAL $cli_name;
@@ -108,6 +107,9 @@ if (($user = &$room->get_user($sess, &$idx)) == FALSE) {
   else if ($argz[0] == 'about') {
     echo show_notify(str_replace("\n", " ", $G_room_about), 0, "torna ai tavoli", 400, 200);
   }
+  else if ($argz[0] == 'passwdhowto') {
+    echo show_notify(str_replace("\n", " ", $G_room_passwdhowto), 0, "torna ai tavoli", 400, 200);
+  }
   else if ($argz[0] == 'roadmap') {
     echo show_notify(str_replace("\n", " ", $G_room_roadmap), 0, "torna ai tavoli", 400, 200);
   }
@@ -120,7 +122,7 @@ if (($user = &$room->get_user($sess, &$idx)) == FALSE) {
   }
   exit;
 }
-$argz = explode('|', $mesg);
+$argz = explode('|', xcapemesg($mesg));
 
 log_wr('POSTSPLIT: '.$argz[0]);
 
@@ -178,6 +180,49 @@ else if ($argz[0] == 'warranty') {
     $user->step_inc();
   }
 }
+else if ($argz[0] == 'mesgtoadm') {
+  GLOBAL $cli_subj, $cli_mesg;
+
+  $curtime = time();
+  $mesg_to_user = "";
+
+  log_wr("INFO:SKIP:argz == mesgtoadm name: [".$cli_name."] AUTH: ".($user->flags & USER_FLAG_AUTH));
+  if ($user->flags & USER_FLAG_AUTH) {
+    if (($wa_lock = Warrant::lock_data()) != FALSE) {
+      if (($fp = @fopen(LEGAL_PATH."/messages.txt", 'a')) != FALSE) {
+        /* Unix time | session | nickname | IP | where was | mesg */
+        fwrite($fp, sprintf("%ld|%s|%s|%s\n", $curtime, $user->name, 
+                            xcapelt(urldecode($cli_subj)), xcapelt(urldecode($cli_mesg))));
+        fclose($fp);
+      }
+      Warrant::unlock_data($wa_lock);
+      $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
+      /* MLANG: "" */
+      $user->comm[$user->step % COMM_N] .=  show_notify("<br><br>Il messaggio &egrave; stato inoltrato all\'amministratore.", 0, "chiudi", 400, 110);
+      $user->step_inc();
+      echo "1";
+    }
+    else {
+      /* MLANG: "<b>E\' occorso un errore durante il salvataggio, riprova o contatta l\'amministratore.</b>" */
+      $mesg_to_user = sprintf('chatt_sub("%s", [2, "%s"],"<b>E\' occorso un errore durante il salvataggio, riprova o contatta per mail l\'amministratore.</b>");', $dt, NICKSERV);
+    }
+    
+  }
+  else {
+    /* MLANG: "<b>Per autenticare qualcuno devi a tua volta essere autenticato.</b>" */
+    $mesg_to_user = sprintf('chatt_sub("%s", [2, "%s"],"<b>Per mandare messaggi all\'amministratore devi essere autenticato.</b>");', $dt, NICKSERV);
+  }
+
+  if ($mesg_to_user != "") {
+    $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
+    
+    $dt = date("H:i ", $curtime);
+    $user->comm[$user->step % COMM_N] .= $mesg_to_user;
+    $user->step_inc();
+  }
+}
+
+
 /******************
  *                *
  *   STAT: room   *
@@ -193,6 +238,14 @@ else if ($user->stat == 'room') {
     log_wr($user->comm[$user->step % COMM_N]);
     $user->step_inc();
     
+  }
+  else if ($argz[0] == 'passwdhowto') {
+    $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
+    $user->comm[$user->step % COMM_N] .=  show_notify(str_replace("\n", " ", $G_room_passwdhowto), 0, "torna ai tavoli", 600, 500);
+
+    log_wr($user->comm[$user->step % COMM_N]);
+    $user->step_inc();
+    
   }
   else if ($argz[0] == 'about') {
     $user->comm[$user->step % COMM_N] = "gst.st = ".($user->step+1)."; ";
@@ -219,7 +272,7 @@ else if ($user->stat == 'room') {
     
   }
   else if ($argz[0] == 'chatt') {
-    $room->chatt_send(&$user,$mesg);
+    $room->chatt_send(&$user, xcapemesg($mesg));
   }
   /**********************
    *                    *
@@ -298,6 +351,7 @@ else if ($user->stat == 'room') {
       log_wr("MOP before");
 
       if ($table->player_n == PLAYERS_N) {
+        require_once("briskin5/Obj/briskin5.phh");
        log_wr("MOP inall");
 
        // Start game for this table.