From f69ec2ae3d3d8fa0e847ee33b0fc34117448143f Mon Sep 17 00:00:00 2001 From: Jem Date: Mon, 21 May 2018 21:49:38 +0200 Subject: [PATCH] =?utf8?q?C=C3=B3digo=20anterior=20de=20la=20aplicaci?= =?utf8?q?=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- html/gec.php | 26 +++ html/img/info.gif | Bin 0 -> 1126 bytes html/img/wmes.png | Bin 0 -> 4343 bytes html/inscripcion.php | 478 +++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 504 insertions(+) create mode 100644 html/gec.php create mode 100644 html/img/info.gif create mode 100644 html/img/wmes.png create mode 100755 html/inscripcion.php diff --git a/html/gec.php b/html/gec.php new file mode 100644 index 0000000..c13eebd --- /dev/null +++ b/html/gec.php @@ -0,0 +1,26 @@ + $E) { + if (strpos ($T, $P) !== FALSE) { + $T = str_replace ($P, "{$P}", $T); + } + } + return $T; +} + +function infogrupo ($G, $DE, $DI, $DP, $DT) { + # Quitar condición con DI-grupo-G una vez migrado todo a los DE: + if ($DE["lugar"][$G]) { + $Info = ($DT[$DE["lugar"][$G]][3] ? "{$DT[$DE["lugar"][$G]][0]}" : $DT[$DE["lugar"][$G]][0]); + $Info .= ($MostrarLoc && $DT[$DE["lugar"][$G]][1] ? txtenlaces ($DT[$DE["lugar"][$G]][1], $DP) : ""); + $F = fecha ($DE["tiempo0"][$G], $DI, array ("Hora", "Año")); + if ($F != "N/D") $Info .= ", {$F} - {$DE["tiempo1"][$G]}"; + if ($DE["extra"][$G]) $Info .= " - {$DE["extra"][$G]}"; + } else { + $Info = $DI["grupo"][$G]; + } + return $Info; +} +?> \ No newline at end of file diff --git a/html/img/info.gif b/html/img/info.gif new file mode 100644 index 0000000000000000000000000000000000000000..2acdca5eb4eb8109721b96f86cd9337fb5388283 GIT binary patch literal 1126 zcmcgr`%ha16uvyfO=pC}5axV5E%&= z*`vhBH0aQQ7HIEnp@sJL7S?-dfxcFlg2`HFL()1Hg+g0;@3s6BekbSq&dK@V{P3Mq z&Sjr{SCjxG00#g-9s!612^=+%Dk72G-g1*T;ose}nk|bcHmg!AKnRq{i}{gSr45C`e*b~XwS{3u2vW-B5J8ZwS52RHp_9t3NoWHx_%azY zIm~fR-PDBAji6o%V}?=;(Mo2h3`IIql^$URNGqQDqE5cBaCxN&uvCJC7!OKRrN!+e%ZTde@Yj^bdjb=s3~ur zXSX2bEpWvZl;3WuZo>rasHoc}{@Nk_>d~lrXH?}|T=g%nJ!7}P{0@}gVG#D%FZS4a z?|W|k;_3V8asSVM3{AKsQYXJ-LD*{(-Ly}m+kxQWp8vq<+A>>g28Zw9Fieo-AxZqZ z@5f0Z5DNMa_V@Pv&P|tURt+f?hh%tqZf4190u>PhWioK;_le(dG8_sA2@=PQ4{V>k zy2WC_FbqXewOS295D0>Dxm+rh9^K;qi>;q8prVyt2Pv`r%wh ztURF*GmkJn3-vW6pI{81x#S#CZ~DHySNN&pwPkzKshlU0S#n{RL5RSK8JUg74u`z1Ak!OkeVVI?jO$sIWRme~06n_6D{@g{Nk z3(e-C>vgLOto~CO{6DS#G#Ty+9>4$k9pmM=7nAZ@Ri%Ts-eyVTR#E{*Vpi$ctA+e~ z&Xn$+@i=QCBX)40{<-FHAXgu|#MxyOsFQZBjD^1H6ETXvnELEVSzA{g{AGMRaPB|j Cr#v$N literal 0 HcmV?d00001 diff --git a/html/img/wmes.png b/html/img/wmes.png new file mode 100644 index 0000000000000000000000000000000000000000..e357c33974c0405a62839b11081f0c98f923f9c2 GIT binary patch literal 4343 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 plazas - Te esperamos en futuras actividades de {$DI[$Org]}; marca la casilla inferior para recibir información"; + } else { + return $Plazas; + } +} + +function idioma ($I) { + $T = htmlspecialchars ($_SERVER["REQUEST_URI"]); + if (strpos ($T, "uselang=") !== FALSE) { + return preg_replace ("/uselang=\w+/", "uselang={$I}", $T); + } elseif (strpos ($T, "?") !== FALSE) { + return "{$T}&uselang={$I}"; + } else { + return "{$T}?uselang={$I}"; + } +} + +if (!isset($_GET['e']) || !$_GET['e']) { + print ("Error. No se ha indicado ningún evento."); + exit; +} +$E = trim ($_GET['e'], "/"); + +# Hasta arreglo definitivo... +$EmailText = "Email"; +if (substr ($E, -10) == "-iespecial") { + $E = substr ($E, 0, -10); + $EmailOpc = TRUE; $EmailText = "Email"; + unset ($DE["exigidos"]); +} + +# $Email = ($E == "mensa" ? "info" : $E); + +$I = ($_GET["uselang"] ? $_GET["uselang"] : "es"); +$D0 = parsecfg ("jembot.0"); +$DD = parsecfg ("jembot.data"); +$DU = parsecfg ("jembot.usuarios"); +$DT = parsecfg ("jembot.entidades"); +$DE = parsecfg ("jembot.@{$E}"); +$DI = parsecfg ("jembot.{$I}"); +$P = ($DE["proyecto"] ? $DE["proyecto"] : "{$I}wiki"); +$DP = parsecfg ("jembot.{$P}"); + + +$Email = ($DE["contacto"] ? $DE["contacto"] : "info"); + +# "Fallback" de idiomas para cuando no tenemos definido alguno de los mensajes +if ($DI["idiomasec"]) { + $DS = parsecfg ("jembot.{$DI["idiomasec"]}"); + $DI = array_merge ($DS, $DI); +} + +$Dur = ($DE["duración"] ? $DE["duración"] : 30); +if (($DE["cerrado"] || strtotime ("now") - strtotime ($DE["inicio"]) > $Dur * 24 * 3600) && $_GET["p"] != "-iespecial") { + header ("location:/inscripcion/sincont.php?evento={$E}"); +} + +# file_put_contents ("debug.log", print_r ($_GET, TRUE) . "RUI {$_SERVER["REQUEST_URI"]}\nRQS {$_SERVER["REDIRECT_QUERY_STRING"]}\nRS {$_SERVER["QUERY_STRING"]}\nRDU {$_SERVER["REDIRECT_URL"]}\nSN {$_SERVER["SCRIPT_NAME"]}"); + +if ($_GET["g"]) { + foreach ($_GET["g"] as $G) { + $Grupos = array_merge ((array) $Grupos, preg_filter ("/^({$G})/", "$1", array_keys ($DE["plazas"]))); + } +} else { + $Grupos = array_keys ($DE["plazas"]); +} + +$Edicion = ($DE["tipo"] == "editatón" || $DE["tipo"] == "taller de edición"); +$Exigidos = $DE["exigidos"]; +if ($Edicion) $Exigidos[] = "Cuenta"; + +# Hasta arreglo definitivo traslado arriba +# $EmailText = "Email"; +# Pendiente gestionar email también con $DE["exigidos"] +switch ($_GET["p"]) { +case "-iespecial": + $EmailOpc = TRUE; $EmailText = "Email"; + unset ($Exigidos); + break; +} + +$DNI = (in_array ("DNI", $Exigidos) ? "{$DI["dni"]}" : $DI["dni"]); +$Nombre = (in_array ("Nombre", $Exigidos) ? "{$DI["nombre"]}" : $DI["nombre"]); +$Apellido1 = (in_array ("Apellido1", $Exigidos) ? "{$DI["apellido"]} 1" : "{$DI["apellido"]} 1"); +$Apellido2 = (in_array ("Apellido2", $Exigidos) ? "{$DI["apellido"]} 2" : "{$DI["apellido"]} 2"); +$Sexo = (in_array ("Sexo", $Exigidos) ? "{$DI["sexo"]}" : $DI["sexo"]); +$Edad = (in_array ("Edad", $Exigidos) ? "{$DI["edad"]}" : $DI["edad"]); +$Cuenta = (in_array ("Cuenta", $Exigidos) ? "{$DI["nombreusr"]}" : $DI["nombreusr"]); + +$Org = ($DE["organizador"] ? $DE["organizador"] : "wmes"); +$Colab = array_merge ((array) $Org, (array) $DE["colaboradores"]); + + +if (in_array ("Cuenta", $Exigidos)) { + $Cambios = array ("@fam@" => $DI[$DP["familia"]]); + $InfoAltErr = "{$DI["importante"]}: " . strtr ($DI["indicarcuenta"], $Cambios); + $CrearCuenta = strtr ($DI["crearcuenta"], $Cambios); + $CrearCuenta = preg_replace ("/@(.*?)@/", "$1", $CrearCuenta); + $LinkForm = ($EMail == "info" ? "https://www.wikimedia.es/wiki/contacto" : "#"); + $InfoCrear = "{$CrearCuenta} {$DI["escribirnos"]}."; + $Mensaje = $InfoAltErr . " " . $InfoCrear; +} + + +if ($_POST["Confirmado"] == "N") { # Datos enviados + $GruposI = preg_filter ("/^_(.*)/", "$1", array_keys ($_POST)); + if (! $GruposI) { + $Error[] = $DI["errw"]["nohorario"]; + } elseif (count ($GruposI) > 20) { # Reponer tras Glaming Madrid a 4 + $Error[] = $DI["errw"]["maxhorarios"]; + } + + foreach (array ("Nombre", "Apellido1", "Apellido2", "DNI", "Sexo", "Edad", "Cuenta") as $C) { + if (! $_POST[$C] && in_array ($C, $Exigidos)) { + $Error[] = $DI["errw"]["no" . minus ($C)]; + if ($C == "Cuenta") $Extra = $InfoCrear; + } + } + + $M = $_POST["Email"]; + if (! filter_var ($M, FILTER_VALIDATE_EMAIL) && ($M || ! $EmailOpc)) { + $Error[] = $DI["errw"]["noemail"]; + } + + $U = strtr ($_POST["Cuenta"], "_", " "); + if ($U) { + #Comprobar discrepancia en gender: + $D = api ("usuario", $U, $P); + + if (array_key_exists ("missing", $D)) { + $Error[] = $DI["errw"]["cuentanula"]; + $Extra = $InfoCrear; + } elseif ($D["blockedby"]) { + $Error[] = $DI["errw"]["cuentabloqueada"]; + $Extra = $InfoCrear; + file_put_contents ("inscripcion.log", gmdate ("Y-m-d H:i:s") . " * Intento de uso de la cuenta bloqueada {$U}\n", FILE_APPEND); + } + } + + if ($M || $U) { + foreach ($DE["inscritos"] as $Grupo => $Lista) { + if (in_array ($Grupo, $GruposI)) { + foreach (explode (";", $Lista) as $Cod) { + if ($M && $DU[$Cod]["Email"] == $M) { + $EmailRep++; + } elseif ($U && $DU[$Cod]["Cuenta"] == $U) { + $CuentaRep++; + } + } + } + } + if ($EmailRep) $Error[] = "El correo electrónico {$M} ya ha sido indicado por " . (count ($Grupos) > 1 ? "alguien inscrito en " . singpl ("grupo", $EmailRep) . " de los seleccionados." : "otro inscrito."); + if ($CuentaRep) $Error[] = "La cuenta {$U} ya ha sido indicada por " . (count ($Grupos) > 1 ? "alguien inscrito en " . singpl ("grupo", $CuentaRep) . " de los seleccionados." : "otro inscrito."); + } + + if (! $Error) { + if (! $DU["@"]) $DU["@"] = "A00X"; + $Cod = sprintf ("%02d", substr ($DU["@"], 1, 2) + 1); + if ($Cod == "100") { + $Cod = chr (ord ($DU["@"][0]) + 1) . "00"; + } else { + $Cod = $DU["@"][0] . $Cod; + } + + $Letra = strtoupper (sinacentos (mb_substr ($U, 0, 1))); + if ($Letra < "A" || $Letra > "Z") $Letra = "X"; + $Cod .= $Letra; + $DU["@"] = $Cod; + + if ($EmailOpc & ! $M) { + $_POST["Confirmado"] = "OK"; + } else { + $Base = 111111111111111; + $Conf = gmdate ("YmdHis") . "-" . rand ($Base, $Base * 9); + $_POST["Confirmado"] = $Conf; + } + $_POST["Fecha"] = date ("Y-m-d"); + $_POST["Comentarios"] = strtr ($_POST["Comentarios"], array ("\r\n" => " █ ")); + $_POST["Cuenta"] = mayusprim (strtr ($_POST["Cuenta"], "_", " ")); + + foreach ($_POST as $Campo => $V) { + if ($Campo[0] == "_") { # $V vale "on", pero no es necesario comprobarlo, solo se pasan los "on" + $GI = substr ($Campo, 1); + $DE["inscritos"][substr ($Campo, 1)] .= ($DE["inscritos"][substr ($Campo, 1)] ? ";" : "") . $Cod; + } else { + $DU[$Cod][$Campo] = $V; + } + } + + writecfg ("jembot.usuarios", $DU); + writecfg ("jembot.@{$E}", $DE); + + $Marca = "-"; $Extra = ""; + if ($EmailOpc && ! $M) { + print ""; + } else { + +#Desde la dirección de Internet {$_SERVER['REMOTE_ADDR']} se ha realizado + $Texto = <<alert ('Inscripción finalizada correctamente. Se te ha enviado un correo con un enlace para que confirmes la validez de tu dirección, lo cual deberás hacer en las próximas 24 horas. Te esperamos en el evento.');"; + } else { + print ""; + $Marca = "*"; $Extra = " - Error al enviar correo para confirmación"; + } + } + file_put_contents ("inscripcion.log", gmdate ("Y-m-d H:i:s") . " {$Marca} Alta de {$Cod} - {$U} - {$E} - " . implode (",", $GruposI) . $Extra . "\n", FILE_APPEND); + unset ($_POST); + } else { + $Mensaje = "" . singpl ("Error", count ($Error), FALSE) . ": " . htmlspecialchars (implode (" ", $Error)) . " {$Extra}"; + } +} + +# Vale tanto si el sexo o la edad son obligatorios como si no +$ValSexo = ($_POST["Sexo"] ? $_POST["Sexo"] : 0); +$CheckSexo[$ValSexo] = "CHECKED"; +$ValEdad = ($_POST["Edad"] ? $_POST["Edad"] : 0); +$CheckEdad[$ValEdad] = "CHECKED"; +?> + + +<?= "{$DI["form"]} {$DI["wmes"]} - {$DE["nombre"][$I]}" ?> + + + + +\n"); + +$Img = ($_GET["i"] ? $_GET["i"] : $E); +$Web = ($DE["web"] ? $DE["web"] : wikiencode ("https://{$DP["web"]}/wiki/", $DE["página"][$P], NULL, NULL, NULL)); +foreach (array ("jpg", "png") as $Ext) { + if (file_exists ("img/{$Img}.{$Ext}")) print (""); +} +?> +
"); +# +# Mejorar usando $DE["páginas"] + +print ("

{$DI["form"]} - {$DI[$Org]}"); +if ($DE["idiomas"]) { + foreach ($DE["idiomas"] as $CodI) $LI[] = "{$DD["idioma"][$CodI]}"; + print ("" . implode ("  ", $LI) . ""); +} +print ("

\n

{$DI["evento"]}: {$DE["nombre"][$I]}. " . txtenlaces ($DE["descripción"][$I], $DP)); +if ($Edicion) { + if ($DE["avisodisp"] && $DE["avisodisp"] != "no") { + print ("

\n

{$DE["avisodisp"]}."); + } elseif ($DE["avisodisp"] != "no") { + print ("

\n

{$DI["dispropio"]}."); + } +} +print ("

\n

" . ($DE["página"][$P] ? " {$DI["infocompleta"]}" : "") . ($DE["hashtag"] ? " - Hashtag: #{$DE["hashtag"]}" : "") . "

"); + +# Usamos current para no alterar $Grupos, que aún debe usarse luego +if (count ($Grupos) == 1) { + print ("

" . infogrupo (current ($Grupos), $DE, $DI, $DP, $DT)); + if ($DE["ocultarplazas"] != "sí") { + print (" - {$DI["plazas disponibles"]}: " . plazas (current ($Grupos), $Org, $DE, $DI)); + } + print ("

\n"); +} +if ($Org == "wmes") print ("

{$DI["asociadona"]}

"); +print ("

+La inscripción a este evento " . ($DE["abierto"] == "no" ? "no se encuentra abierta todavía. Puedes recibir más información {$DI["enviarmail"]}." : "se abrirá el {$DE["abierto"]}.")); +} else { +?> +
" METHOD=POST> + +

+

+ +

+ + + +
" /> +
" /> +
" /> + +
" /> + +
"/> + >     + >     + >     + + +
+ + >     + >     + >     + >     + + >     + >     + >     + >     + >     + >     + + + +
" /> + 1) { + $MaxF = 1; + # Parche a eliminar: + if ($E == "glmade") $DI["marcacasillas"] = "Marca la casilla del grupo que te interese, y solo esa (aunque puedes añadir la edición remota en cualquier caso)"; + print ("
{$DI["horarios y plazas"]}
{$DI["marcacasillas"]}:"); + + foreach ($Grupos as $G) { + if ($LocAnt && $DT[$DE["lugar"][$G]][1] != $LocAnt) { + $MostrarLoc = TRUE; + } + $LocAnt = $DT[$DE["lugar"][$G]][1]; + } + + foreach ($Grupos as $G) { + if ($_POST["_{$G}"]) $CheckGrupo[$G] = "CHECKED"; + if (substr ($G, 0, 2) != $BloqueAnt) { + $Fila = 0; + $MaxF = max ($MaxF, count ($D[$Col++])); + $BloqueAnt = substr ($G, 0, 2); + } + + $Plazas = plazas ($G, $Org, $DE, $DI); + $Disabled = (intval ($Plazas) == 0 ? "disabled" : ""); + $Info = infogrupo ($G, $DE, $DI, $DP, $DT) . ($DE["ocultarplazas"] != "sí" ? " ({$Plazas})" : ""); + $D[$Col][++$Fila] = ""; + } + $MaxF = max ($MaxF, count ($D[$Col++])); + + for ($F = 1; $F <= $MaxF; $F++) { + print ("\n"); + for ($C = 1; $C <= $Col; $C++) { + print ("
" . $D[$C][$F]); + } + } + print ("
"); + +} else { + print ""; +} +?> +
: +
( +{$DI["crearla"]}"); +?>)" /> +
+ +
\n"); +} + +foreach ($DE["preguntas"] as $Pregunta) { + $Opciones = explode (";", ($DE["pregunta-{$Pregunta}"][$I] ? $DE["pregunta-{$Pregunta}"][$I] : $DI["pregunta"][$Pregunta])); + + print ("
:\n"); + +foreach ($Colab as $C) { # Ya no se admite diferenciar dentro de un mismo evento + print ("\n
\n"); +} + +print ("\n
+

+ + + +
+ +

Antes de continuar, debes leer la siguiente información sobre protección de datos. +El envío de los datos implica tu consentimiento para que los incluyamos en nuestro fichero “Contactos”. +

+
+ +
" />
+
+ \ No newline at end of file -- 2.30.2