X-Git-Url: https://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2Findex_wr.php;h=bdf0cb99b22bccfa7a5b9fd69053aaf364d552a3;hb=0b7233416fd5e2ef879170f5a49ff936ff27deef;hp=80c7edd1a734d4d60c226fb09c586f15bfd6cc1d;hpb=f62bcf4727b440b940afee728b58be12a8d2620e;p=brisk.git
diff --git a/web/index_wr.php b/web/index_wr.php
index 80c7edd..bdf0cb9 100644
--- a/web/index_wr.php
+++ b/web/index_wr.php
@@ -107,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);
}
@@ -186,6 +189,13 @@ else if ($argz[0] == 'mesgtoadm') {
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) {
+ $userdb = new LoginDB();
+
+ if (($ema = $userdb->getmail($user->name)) != FALSE) {
+ // mail("brisk@alternativeoutput.it",
+ mail("nastasi", urldecode($cli_subj), urldecode($cli_mesg), sprintf("From: %s <%s>", $user->name, $ema));
+ }
+
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,
@@ -220,6 +230,116 @@ else if ($argz[0] == 'mesgtoadm') {
}
+
+else if ($argz[0] == 'poll') {
+ GLOBAL $G_with_poll, $G_poll_name, $cli_choose, $cli_poll_name;
+
+ $poll_lock = FALSE;
+ $curtime = time();
+ $mesg_to_user = "";
+
+ $fp = FALSE;
+ $echont = "0";
+
+ /*
+ DONE - autorizzato ?
+ DONE - ci sono poll attivi ?
+ - verifica che il poll_name del client sia uguale a quello sul server
+ DONE - lock
+ DONE - apro file r+ con fallback in w+
+ DONE - vedo se ha già votato
+ DONE - se si: messaggio di voto già dato
+ se no: accetto il voto e lo segno; messaggio
+ chiudo file
+ */
+
+ $dobreak = FALSE;
+ do {
+ log_wr("INFO:SKIP:argz == poll name: [".$cli_name."] AUTH: ".($user->flags & USER_FLAG_AUTH));
+ if (($user->flags & USER_FLAG_AUTH) != USER_FLAG_AUTH) {
+ $mesg_to_user = sprintf('chatt_sub("%s", [2, "%s"],"Per partecipare al sondaggio devi essere autenticato.");', $dt, NICKSERV);
+ log_wr("break1");
+ break;
+ }
+
+ if ($G_with_poll == FALSE && $G_poll_name != FALSE && $G_poll_name != "") {
+ $mesg_to_user = show_notify("
Al momento non è attivo alcun sondaggio.", 0, "chiudi", 400, 110);
+ log_wr("break2");
+ break;
+ }
+
+ if ($cli_choose == "" || !isset($cli_choose)) {
+ $mesg_to_user = show_notify("
Non hai espresso nessuna preferenza.", 0, "chiudi", 400, 110);
+ log_wr("break2.5");
+ break;
+ }
+
+ if (($poll_lock = Poll::lock_data()) == FALSE) {
+ /* MLANG: "E\' occorso un errore durante il salvataggio, riprova o contatta l\'amministratore." */
+ $mesg_to_user = sprintf('chatt_sub("%s", [2, "%s"],"E\' occorso un errore durante il salvataggio, riprova o contatta per mail l\'amministratore.");', $dt, NICKSERV);
+ log_wr("break3");
+ break;
+ }
+
+ if (($fp = @fopen(LEGAL_PATH."/".$G_poll_name.".txt", 'r+')) == FALSE)
+ $fp = @fopen(LEGAL_PATH."/".$G_poll_name.".txt", 'w+');
+
+ if ($fp == FALSE) {
+ $mesg_to_user = sprintf('chatt_sub("%s", [2, "%s"],"E\' occorso un errore durante il salvataggio, riprova o contatta per mail l\'amministratore.");', $dt, NICKSERV);
+ log_wr("break4");
+ break;
+ }
+
+ log_wr("poll: cp");
+ fseek($fp, 0);
+
+ log_wr("poll: cp2");
+ while (!feof($fp)) {
+ log_wr("poll: cp3");
+ $bf = fgets($fp, 4096);
+ log_wr("poll: cp3.1");
+ $arli = csplitter($bf, '|');
+ if (count($arli) == 0)
+ break;
+ log_wr("poll: cp3.2");
+ if (strcasecmp($arli[1], $user->name) == 0) {
+ $mesg_to_user = show_notify("
Per questo sondaggio hai già votato.
Non si può esprimere la propria preferenza più di una volta.", 0, "chiudi", 400, 110);
+ $dobreak = TRUE;
+ break;
+ }
+ }
+ log_wr("poll: cp4");
+
+ if ($dobreak) {
+ log_wr("break5");
+ break;
+ }
+
+ /* Unix time | nickname | choose */
+ fwrite($fp, sprintf("%ld|%s|%s\n", $curtime, xcapelt($user->name), xcapelt(urldecode($cli_choose))));
+ fflush($fp);
+ $mesg_to_user = show_notify("
Il tuo voto è stato registrato.", 0, "chiudi", 400, 110);
+ $echont = "1";
+ log_wr("poll: cp5");
+ } while (0);
+
+ if ($fp != FALSE)
+ fclose($fp);
+
+ if ($poll_lock != FALSE)
+ Poll::unlock_data($poll_lock);
+
+ 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();
+ }
+
+ echo "$echont";
+}
+
/******************
* *
* STAT: room *
@@ -235,6 +355,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)."; ";