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
Nombre real: Jorge

Ayuda Forlumario y Grupo

#1

Mensaje por CoryuKimura » 29 May 2018, 11:50


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!




Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Avatar de Usuario
AbaddonOrmuz
Moderador
Mensajes: 610
Registrado: 14 Ene 2017, 22:18
Nombre real: Alfredo
Ubicación: /dev/null
Género:
Contactar:

Re: Ayuda Forlumario y Grupo

#2

Mensaje por AbaddonOrmuz » 30 May 2018, 07:34

CoryuKimura escribió:
29 May 2018, 11:50
Una 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: [ Imgur | Metadatos SEO | Markdown ]
Checa todas mi extensiones
Usuario de Arch Linux


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

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

Re: Ayuda Forlumario y Grupo

#3

Mensaje por CoryuKimura » 30 May 2018, 11:16

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.


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Avatar de Usuario
AbaddonOrmuz
Moderador
Mensajes: 610
Registrado: 14 Ene 2017, 22:18
Nombre real: Alfredo
Ubicación: /dev/null
Género:
Contactar:

Re: Ayuda Forlumario y Grupo

#4

Mensaje por AbaddonOrmuz » 30 May 2018, 22:16

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
Mostrar

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: [ Imgur | Metadatos SEO | Markdown ]
Checa todas mi extensiones
Usuario de Arch Linux


Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Responder
  • Temas similares
    Respuestas
    Vistas
    Último mensaje

Volver a “Foros de Soporte 3.2”