Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Ayuda Forlumario y Grupo

Foros de soporte phpBB 3.2


Responder
CoryuKimura
Observador/a
Mensajes: 5
Registrado: 25 May 2018, 18:54

Ayuda Forlumario y Grupo

#1

Mensaje por CoryuKimura »


Datos de Soporte - Inicio

URL: https://proyecto-mm.000webhostapp.com/foro/
Estilo(s) usuado(s): X-Creamy
MODs/Extensiones instaladas: Add User, Advanced BBCode Box, Auto Groups, Board Announcements, Category Image, cmBB
Versión de phpBB: 3.2.2
Tu conocimiento: Conocimiento básico
Servidor: Gratuito, es para hacer pruebas. Una vez construido correctamente, pasaremos a pago.
Es una actualización desde otra versión: No, instalación nueva.
Es una conversión desde otro tipo de Foro: No

Datos de Soporte - Fin

Buenas!!

Disculpar si este no es el lugar, no he encontrado otro sitio donde ponerlo (O.O) Estoy intentando hacer una cosa en el foro pero no sabría como. Era por si me podían dar alguna idea y/o ayudar.

Me gustaría que cuando un usuario se registrase, le saliese una encuesta. En la encuesta todas las preguntas tendrían 4 respuestas. (A, B, C y D). Una vez contestada todas las preguntas, sumaria los puntos de cada uno y la "solución" sería la que mas puntos tenga. Una vez terminada la añadiría de forma automática al grupo correspondiente. ¿Se me entiende?

Gracias!

Avatar de Usuario
AlfredoRamos
Ex Staff
Mensajes: 1235
Registrado: 14 Ene 2017, 22:18
Género:

Re: Ayuda Forlumario y Grupo

#2

Mensaje por AlfredoRamos »

CoryuKimura escribió: 29 May 2018, 11:50Una vez contestada todas las preguntas, sumaria los puntos de cada uno y la "solución" sería la que mas puntos tenga.
Qué solución? De qué forma esa "solución" determinará el grupo al que será asginado el usuario?

No existe tal extensión, es algo muy espécífico y no sé si hacer la encuesta al registrarse sea una buena idea, eso haría el proceso de registro tedioso para nuevos usuarios.

Algunas de mis extensiones:
Imagen Imgur | :chart_with_upwards_trend: SEO Metadata | Imagen Markdown | :see_no_evil: Simple Spoiler BBCode | :shield: hCaptcha
:trophy: Checa todas mi extensiones aprobadas :trophy:

:penguin: Usuario de Arch Linux :penguin:


CoryuKimura
Observador/a
Mensajes: 5
Registrado: 25 May 2018, 18:54

Re: Ayuda Forlumario y Grupo

#3

Mensaje por CoryuKimura »

Buenas,

Estamos desarrollando un foro de rol y queremos designar a cada usuario a un grupo en cuanto se registran. Si no es en el registro pues en un enlace a parte o algo así.

Sobre lo que digo es esto:

Ejemplo formulario:

1ª Pregunta -> Con cuatro respuestas. La primera respuesta sumaria +1 a "A", la segunda respuesta sumaria +1 a "B" y asi...
2ª Pregunta -> Con dos respuestas. La primera respuesta sumaria +1 a "C" y la segunda +1 a "A"
y así...

Una vez respondido todo, se sumaría todo y quedaría (ejemplo) A = 10, B = 12, C = 1, D = 5. Pues entonces al sumarse más puntos en la opción B la que mayor tiene por lo que le añadiria al grupo B. ¿Se me entiende?

Yo a lo mejor por php podría hacer el formulario, pero me faltaría el como hacer que según lo que toque lo añada a un grupo u otro. Y también que compruebe que no este en el grupo para que no haya problemas.

Un Saludo.

Avatar de Usuario
AlfredoRamos
Ex Staff
Mensajes: 1235
Registrado: 14 Ene 2017, 22:18
Género:

Re: Ayuda Forlumario y Grupo

#4

Mensaje por AlfredoRamos »

Mmm... podrías usar la extensión (en desarrollo) Survey, aunque no tiene eventos PHP para usar, y no estoy seguro si sería factible, pero de serlo podrías usar la función group_user_add() y group_user_del() para añadir y eliminar del grupo.

En el caso de group_user_add() ya cuenta con verificación si existe el usuario en el grupo, regresará la cadena GROUP_USERS_EXIST; en group_user_del() la sentencia SQL simplemente será ignorada.

Suponiendo que las opciones de cada pregunta tienen los mismos valores, para contar los resultados podrías recorrer el array de preguntas phpbb\request\request::variable_names(), comparar los valores (con phpbb\request\request::variable()) e ir sumando los valores, ya con ello tienes más de la mitad del problema resuelto.

Te dejo un ejemplo muy cutre en PHP puro, ignora los ciclos for ya que solo fueron para generar las preguntas más fácilmente.
Spoiler

Código: Seleccionar todo

<?php

$html = '';

$resultados = [
	'gespecial1' => 0,
	'gespecial2' => 0,
	'gespecial3' => 0,
	'gespecial4' => 0
];

if (isset($_POST['submit'])) {
	foreach ($_POST as $key => $value) {
		if ($key == 'submit') {
			continue;
		}
		
		foreach ($resultados as $k => $v) {
			if ($value !== $k) {
				continue;
			}
			
			$resultados[$value] += 1;
		}
	}
	
	echo '<pre><code>';
	var_dump($resultados);
	echo '</code></pre>';
}

$html .= '<form action="' . htmlspecialchars($_SERVER["PHP_SELF"]) . '" method="POST">';

for($i = 1; $i <= 10; $i++) {
	$html .= '<fieldset>';
	$html .= '<legend>Pregunta ' . $i . '</legend>';
	for ($j = 1; $j <= 4; $j++) {
		switch($j) {
			case 2:
				$inciso = 'B';
				break;
			case 3:
				$inciso = 'C';
				break;
			case 4:
				$inciso = 'D';
				break;
			default:
				$inciso = 'A';
				break;
		}
		$html .= vsprintf(
			'<input type="radio" name="pregunta_%1$d" value="gespecial%2$d" />%3$s',
			[$i, $j, $inciso]
		);
	}
	$html .= '</fieldset>';
}

$html .= PHP_EOL . '<button type="submit" name="submit">Enviar</button>';
$html .= '</form>';

echo $html;
Puedes probar el código en phptester.net

https://www.phpbb.com/community/viewtopic.php?t=2333241
https://github.com/phpbb/phpbb/blob/3.2 ... .php#L2672

Algunas de mis extensiones:
Imagen Imgur | :chart_with_upwards_trend: SEO Metadata | Imagen Markdown | :see_no_evil: Simple Spoiler BBCode | :shield: hCaptcha
:trophy: Checa todas mi extensiones aprobadas :trophy:

:penguin: Usuario de Arch Linux :penguin:


Responder
  • Temas similares
    Respuestas
    Vistas
    Último mensaje

Volver a “🔎 Foros de Soporte 3.2”