Ayuda con la configuración en el ACP de mi MOD

Foro de debate para los escritores de MOD, sobre MOD en Desarrollo.

Moderador: Personalizaciones de Extensiones

Avatar de Usuario
Saske
Ex Miembro del Equipo
Mensajes: 258
Registrado: Sab Feb 05, 2011 9:30 am
Ubicación: España
Contactar:

Re: Ayuda con la configuración en el ACP de mi MOD

Mensaje sin leer por Saske » Dom Sep 04, 2011 2:18 pm

Patrocinador

Leviatan21 escribió: Comencemos con esa duda, mientras esperamos a que Alorse escriba su guiá
Pues haya va, creo yo que es la mas compleja de las 3, por eso quería decirla al final :lol:
Bueno, pues me gustaría añadir un "orden de voto" (en phpBB.com me sugerieron/pidieron que añadirá esta función)
Me explico:
Con el MOD Advanced Show Poll Voters, las encuestas saldrían así:
Opción 1 Porcentaje
Nombre de Usuario que voto esta opción (4)
Opción 2 Porcentaje
Nombre de Usuario que voto esta opción (3)
Opción 3 Porcentaje
Nombre de Usuario que voto esta opción (2)
Opción 4 Porcentaje
Nombre de Usuario que voto esta opción (1)
El número entre parentesis, representa cual fue el primer, segundo, tercero y cuarto en este caso, en votar.
Viendo las tablas que crea phpBB3 por defecto para las encuestas (phpbb_poll_options y phpbb_poll_votes) me fije en que debía de crear un campo/columna en una de las 2 tablas para poder realizar esta función.
Crearlo, sería facil, pero luego, como le establezco el valor, para que funcione como puse en el ejemplo ?
Me imagino que estoy preguntando la parte mas dificil de esto, pero no se si ya hay alguna funcion que puedo usar o tomar como base para phpBB 3, o alguna cosa similar :roll:

Avatar de Usuario
Alorse
Menos de 100 mensajes
Menos de 100 mensajes
Mensajes: 32
Registrado: Mar Abr 26, 2011 12:24 am
Ubicación: Colombia
Contactar:

Re: Ayuda con la configuración en el ACP de mi MOD

Mensaje sin leer por Alorse » Dom Sep 04, 2011 2:51 pm

Leviatan21 escribió:Le avisaré de este tema, y veré si puede crearnos una guiá APB :mrgreen:
Tarde como 10 seg en deducir que era APB, luego Fredo = :lol: :lol: :lol:

Hay varios tipos de permisos, pero si, los mas usados son los permisos de grupos de usuarios (u_) y permisos de foros (f_), tambien estan los a_ y los m_, que son exclusivamente para administradores y moderadores respectivamente.
Todos se almacenan en la tabla ACL_OPTIONS_TABLE de la base de datos, y no hay que editar ningún archivo con código para poderlos usar, solo hay que declarar la variable de idioma en el archivo language/xx/acp/permissions_phpbb.php o en un archivo creado por nosotros que su nombre de archivo comience por info_xxx (debe tener el info_ o si no, no reconoce la variable de permiso.) de la siguiente manera:

Código: Seleccionar todo

'acl_x_yy'    => array('lang'    => 'Puede hacer tal cosa','cat'    => 'categoría',) 
x = puede ser u, f, m o a, según a quien valla dirigido el permiso (lo explique más arriba).
yy = nombre que le hallamos puesto al permiso, por ejemplo acl_u_poll_enable
lang = variable de idioma.
cat = la pestaña en que queramos que aparezca el permiso, si queremos en Mensajes le ponemos 'post' si queremos en encuestas, le ponemos 'polls', también hay mas categorías.

Ya por ultimo solo es agregar el permiso a la tabla correspondiente de la siguiente manera:

Código: Seleccionar todo

INSERT INTO `phpbb_acl_options` (`auth_option_id`, `auth_option`, `is_global`, `is_local`, `founder_only`) VALUES (' ', 'x_yy', 0, 1, 0);
Aunque si el MOD tiene instalador UMIL, lo hace automaticamente agregando al instalador:

Código: Seleccionar todo

        'permission_add' => array(
            array('x_yy', 1),
        ), 
Ustedes, ya tienen experiencia en esto, así que no creo que necesitan que les diga específicamente donde poner cada código.

Sin embargo si consideran que es necesario, puedo crear una guía mas detallada.

Avatar de Usuario
Alorse
Menos de 100 mensajes
Menos de 100 mensajes
Mensajes: 32
Registrado: Mar Abr 26, 2011 12:24 am
Ubicación: Colombia
Contactar:

Re: Ayuda con la configuración en el ACP de mi MOD

Mensaje sin leer por Alorse » Dom Sep 04, 2011 3:01 pm

Me falto algo.... Como se usa?

Solo es llamarlo en el método en que lo vallamos a utilizar con una condición, por ejemplo:

Código: Seleccionar todo

if( $auth->acl_get('x_yy') ) {
echo 'lo que sea que el usuario valla a hacer con este permiso';
} 
 o 

Código: Seleccionar todo

$permiso = ($auth->acl_get('x_yy')) ? ' permiso': ' no permiso'; 
Obviamente en el método se debe llamar la variable global $auth, también se puede asignar a una variable del template o cosas así.

Avatar de Usuario
Saske
Ex Miembro del Equipo
Mensajes: 258
Registrado: Sab Feb 05, 2011 9:30 am
Ubicación: España
Contactar:

Re: Ayuda con la configuración en el ACP de mi MOD

Mensaje sin leer por Saske » Dom Sep 04, 2011 3:04 pm

Alorse escribió: Hay varios tipos de permisos, pero si, los mas usados son los permisos de grupos de usuarios (u_) y permisos de foros (f_), tambien estan los a_ y los m_, que son exclusivamente para administradores y moderadores respectivamente.
Todos se almacenan en la tabla ACL_OPTIONS_TABLE de la base de datos, y no hay que editar ningún archivo con código para poderlos usar
En primer lugar, gracias por toda la explicación, por lo que entendí, una opción para añadir un permisos en mi caso sería esta:
Abrir: language/es/acp/permissions_phpbb.php
Buscar:

Código: Seleccionar todo

	'acl_f_poll'	=> array('lang'	=> 'Puede hacer encuestas','cat'	=> 'polls',),
Añadir despues

Código: Seleccionar todo

	'acl_f_poll_results'	=> array('lang'	=> 'Puede ver quién ha votado en las encuestas','cat'	=> 'polls',),
Luego ejecutar esta Consulta SQL

Código: Seleccionar todo

    INSERT INTO `phpbb_acl_options` (`auth_option_id`, `auth_option`, `is_global`, `is_local`, `founder_only`) VALUES (' ', 'f_poll_results', 0, 1, 0);
O directamente añadir al archivo de instalación con UMIL

Código: Seleccionar todo

            'permission_add' => array(
                array('f_poll_results, 1),
            ), 
Lo que no me quedo muy claro esto que pones seguidamente
Alorse escribió: Solo es llamarlo en el método en que lo vallamos a utilizar con una condición, por ejemplo:

Código: Seleccionar todo

if( $auth->acl_get('x_yy') ) {
echo 'lo que sea que el usuario valla a hacer con este permiso';
}  
o

Código: Seleccionar todo

$permiso = ($auth->acl_get('x_yy')) ? ' permiso': ' no permiso';  
Obviamente en el método se debe llamar la variable global $auth, también se puede asignar a una variable del template o cosas así.
En el 1 "ejemplo" no entiendo nada, y tampoco me gusta usar "echos" :roll:
En el segundo, $permiso es la variable del permiso ?

Avatar de Usuario
Alorse
Menos de 100 mensajes
Menos de 100 mensajes
Mensajes: 32
Registrado: Mar Abr 26, 2011 12:24 am
Ubicación: Colombia
Contactar:

Re: Ayuda con la configuración en el ACP de mi MOD

Mensaje sin leer por Alorse » Dom Sep 04, 2011 3:24 pm

Saske escribió:En el 1 "ejemplo" no entiendo nada, y tampoco me gusta usar "echos" :roll:
En el segundo, $permiso es la variable del permiso ?
El echo solo es un "ejemplo" ya que en phpBB son causantes de error.
Si creas un permiso es porque vas a usarlo en algún lugar, según lo que veo, quieres el permiso para que los usuarios en los foros puedan ver o no los resultados de las encuestas.
Entonces lo que debes hacer es aplicarlo a la variable de dichos resultados, me explico:

Tu variable que muestra los usuarios que votaron en la encuesta se llama $voted_users, entonces pones la condición:

Código: Seleccionar todo

if( $auth->acl_get('f_poll_results') ) {
$voted_users = $voted_users;
}else{
$voted_users = '';
} 
Que es lo mismo que decir:

Código: Seleccionar todo

$voted_users = ($auth->acl_get('f_poll_results')) ? $voted_users: ' ';   
O se lo asignas a una variable del template:

Código: Seleccionar todo

'PERMISO'         => $auth->acl_get('f_poll_results'),
y luego en la plantilla pones:

Código: Seleccionar todo

<!-- IF .poll_results && poll_results.PERMISO  -->
Es un ejemplo, no es que lo debas hacer tal cual, solo es para que sepas como se usa el permiso.

Avatar de Usuario
Saske
Ex Miembro del Equipo
Mensajes: 258
Registrado: Sab Feb 05, 2011 9:30 am
Ubicación: España
Contactar:

Re: Ayuda con la configuración en el ACP de mi MOD

Mensaje sin leer por Saske » Dom Sep 04, 2011 3:54 pm

Alorse escribió: El echo solo es un "ejemplo" ya que en phpBB son causantes de error.
Si creas un permiso es porque vas a usarlo en algún lugar, según lo que veo, quieres el permiso para que los usuarios en los foros puedan ver o no los resultados de las encuestas.
Entonces lo que debes hacer es aplicarlo a la variable de dichos resultados, me explico:
Hice esto:
Abrir: viewtopic.php
Buscar:

Código: Seleccionar todo

            		'POLL_OPTION_VOTERS' 	=> $poll_option['poll_option_voters'],
Añadir despues:

Código: Seleccionar todo

			'POLL_OPTION_RESULT_PERMISSION'         => $auth->acl_get('f_poll_results'),
Abrir: styles/prosilver/template/viewtopic_body.html
Buscar: (el codigo a buscar lo modifica el Advanced Show Poll Voters, por lo que no esta por defecto en phpBB)

Código: Seleccionar todo

					<dd><!-- IF poll_option.POLL_OPTION_RESULT == 0 -->{L_NO_VOTES}<!-- ELSE -->{poll_option.POLL_OPTION_PERCENT}<!-- IF S_POLL_RESULTS_ENABLE --><dd class="resultbar">{poll_option.POLL_OPTION_VOTERS}</dd><!-- ENDIF --><!-- ENDIF --></dd>
Reemplazar con:

Código: Seleccionar todo

					<dd><!-- IF poll_option.POLL_OPTION_RESULT == 0 -->{L_NO_VOTES}<!-- ELSE -->{poll_option.POLL_OPTION_PERCENT}<!-- IF S_POLL_RESULTS_ENABLE --><!-- IF .poll_results && poll_results.POLL_OPTION_RESULT_PERMISSION  --><dd class="resultbar">{poll_option.POLL_OPTION_VOTERS}</dd><!-- ENDIF --><!-- ENDIF --><!-- ENDIF --></dd>
Luego actualize la plantilla, y di los permisos oportunos, no se si será un fallo mío o algo, pero no funcione el permiso, es decir, no veo el codigo
Lo acabo de hacer en mi foro, y aquí dejo una encuesta "De prueba"
http://www.phpbbsaske.com/foro/bienveni ... b3-t1.html
Puse tanto a el grupo Administradores, como al Invitados todos los permisos de la solapa encuesta (incluido este nuevo) en si :roll:

Avatar de Usuario
Leviatan21
Lider phpBB Argentina
Lider phpBB Argentina
Mensajes: 1993
Registrado: Mié Nov 25, 2009 4:43 pm
Ubicación: Buenos Aires, Argentina
Contactar:

Re: Ayuda con la configuración en el ACP de mi MOD

Mensaje sin leer por Leviatan21 » Dom Sep 04, 2011 4:10 pm

Creo que debes chequear mejor, si dicho usuario tiene permisos de ver resultados de votos en ese foro :

Código: Seleccionar todo

        'POLL_OPTION_RESULT_PERMISSION'    => ($config['poll_results_enable'] && $auth->acl_get('f_poll_results', $forum_id)) ? true : false; 
A ver que opina Alorse
Lea las reglas | Nosotros | Acerca de phpBB | Descargas | Soporte | Blog
Ex Miembro del Equipo QA en phpbb.com
No se brindará soporte por Mensaje Privado, por favor pregunte en un tema público, tenga en cuenta que su problema puede ser también un problema para otros ;)

Avatar de Usuario
Saske
Ex Miembro del Equipo
Mensajes: 258
Registrado: Sab Feb 05, 2011 9:30 am
Ubicación: España
Contactar:

Re: Ayuda con la configuración en el ACP de mi MOD

Mensaje sin leer por Saske » Dom Sep 04, 2011 4:24 pm

Leviatan21 escribió:Creo que debes chequear mejor, si dicho usuario tiene permisos de ver resultados de votos en ese foro :
Pensaba que ya te habías ido, como no decías nada :lol:
Bueno, a la espera de ver que opina alorse, puse tu codigo en vez del que puse en mi mensaje anterior y me salta este error
Parse error: syntax error, unexpected ';', expecting ')' in /home/espartan/public_html/phpbbsaske.com/foro/viewtopic.php on line 1092
Puse esta linea en vez de la tuya (la diferencia esta, en que en la tuya pone ; y en esta ,)

Código: Seleccionar todo

            'POLL_OPTION_RESULT_PERMISSION'    => ($config['poll_results_enable'] && $auth->acl_get('f_poll_results', $forum_id)) ? true : false,
Y se soluciono el error, aunque sigo sin poder ver quién voto la encuesta ... :roll:

Avatar de Usuario
Leviatan21
Lider phpBB Argentina
Lider phpBB Argentina
Mensajes: 1993
Registrado: Mié Nov 25, 2009 4:43 pm
Ubicación: Buenos Aires, Argentina
Contactar:

Re: Ayuda con la configuración en el ACP de mi MOD

Mensaje sin leer por Leviatan21 » Dom Sep 04, 2011 4:44 pm

en la plantilla estas utilizando poll_results cuando deberías utilizar poll_option según donde agregaste el condicional... no se que otros cambios hará tu MOD, pero el loop poll_results no existe.

Código: Seleccionar todo

<!-- IF .poll_results && poll_results.POLL_OPTION_RESULT_PERMISSION  -->
cambiar por

Código: Seleccionar todo

<!-- IF .poll_option && poll_option.POLL_OPTION_RESULT_PERMISSION  -->
Lea las reglas | Nosotros | Acerca de phpBB | Descargas | Soporte | Blog
Ex Miembro del Equipo QA en phpbb.com
No se brindará soporte por Mensaje Privado, por favor pregunte en un tema público, tenga en cuenta que su problema puede ser también un problema para otros ;)

Avatar de Usuario
Alorse
Menos de 100 mensajes
Menos de 100 mensajes
Mensajes: 32
Registrado: Mar Abr 26, 2011 12:24 am
Ubicación: Colombia
Contactar:

Re: Ayuda con la configuración en el ACP de mi MOD

Mensaje sin leer por Alorse » Dom Sep 04, 2011 4:47 pm

Bueno, con los cambios que ustedes indican, en la plantilla quedaría de la siguiente manera:

Código: Seleccionar todo

               <dd><!-- IF poll_option.POLL_OPTION_RESULT == 0 -->{L_NO_VOTES}<!-- ELSE -->{poll_option.POLL_OPTION_PERCENT}<!-- IF poll_option.POLL_OPTION_RESULT_PERMISSION --><dd class="resultbar">{poll_option.POLL_OPTION_VOTERS}</dd><!-- ENDIF --><!-- ENDIF --></dd>
Estabas usando poll_results en vez de poll_option y como la variable POLL_OPTION_RESULT_PERMISSION ya esta verificando so el MOD esta habilitado entonces no hay necesidad de poner el S_POLL_RESULTS_ENABLE.

Cerrado