Crear pestaña en el ACP

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

Moderador: Personalizaciones de Extensiones

Avatar de Usuario
Juanla
Menos de 100 mensajes
Menos de 100 mensajes
Mensajes: 48
Registrado: Lun Dic 13, 2010 7:49 pm

Crear pestaña en el ACP

Mensaje sin leer por Juanla » Vie Jun 24, 2011 11:09 am

Patrocinador

Bueno, estaba pensando en hacer alguna cosilla para phpbb, y mirando un poco, estaba probando a crear una página personalizada en el ACP, bueno, lo que yo creo que hace el tutorial al menos es crear un módulo, pero pretendo que aparezca como una pestaña más en el ACP y ya ahi dentro pues ver que meto.

Lo que he seguido/imitado es esto:
http://wiki.phpbb.com/Creating_modules# ... ACP_Module

He creado esos archivos en sus respectivas carpetas e incluso lo añado (a mano) mediante SYSTEM - MODULE MANAGEMENT - ADMINISTRATION CONTROL PANEL

Luego de añadirlo de la lista, le doy a "Enable".

Y según lo que yo tenía entendido debería haber aparecido al recargar la nueva pestaña, quizás el tutorial este incompleto, o requiera de algo que me he saltado no?

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

Re: Crear pestaña en el ACP

Mensaje sin leer por Saske » Vie Jun 24, 2011 2:25 pm

Juanla escribió:Bueno, estaba pensando en hacer alguna cosilla para phpbb, y mirando un poco, estaba probando a crear una página personalizada en el ACP, bueno, lo que yo creo que hace el tutorial al menos es crear un módulo, pero pretendo que aparezca como una pestaña más en el ACP y ya ahi dentro pues ver que meto.

Lo que he seguido/imitado es esto:
http://wiki.phpbb.com/Creating_modules# ... ACP_Module

He creado esos archivos en sus respectivas carpetas e incluso lo añado (a mano) mediante SYSTEM - MODULE MANAGEMENT - ADMINISTRATION CONTROL PANEL

Luego de añadirlo de la lista, le doy a "Enable".

Y según lo que yo tenía entendido debería haber aparecido al recargar la nueva pestaña, quizás el tutorial este incompleto, o requiera de algo que me he saltado no?
Con lo que añade el tutorial, si debería de aparecerte, en una nueva pestaña, o eso creo yo 8-)
Por que segun se, donde se "pone" en que parte se debe de añadir, es en el archivo includes/acp/info/archivo.php
Ese tutorial añade esto

Código: Seleccionar todo

<?php
class acp_foo_info
{
    function module()
    {
        return array(
            'filename'    => 'acp_foo',
            'title'        => 'ACP_FOO',
            'version'    => '1.2.3',
            'modes'        => array(
                'index'        => array('title' => 'ACP_FOO_INDEX_TITLE', 'auth' => 'acl_a_foo_auth', 'cat' => array('')),
            ),
        );
    }

    function install()
    {
    }

    function uninstall()
    {
    }
}
?>
De todo el codigo, donde esta la "parte clave" de lo que comentas es en 'cat' => array(''), aunque puede que no lo vieras, por que usas permisos 'acl_a_foo_auth' ('auth' => 'acl_a_foo_auth',), y para poder usarlos, antes abría que crear esos permisos, lo mejor sería usar unos ya existentes en phpBB, como los de "usuario" acl_a_user

Yo te recomiendo, que leas este tutorial, en vez de ese, que encima esta en español y añade algunas cosas "extras" :lol:
http://www.phpbb-es.com/biblioteca/kb_show.php?id=29
Aparte, también leete estos 2 temas, puede que te ayuden, al menos a mi me han ayudado mucho :roll:
http://www.phpbb-es.com/foro/phpbb3-ava ... 32024.html
http://www.phpbb-es.com/foro/phpbb3-ava ... 32085.html

Avatar de Usuario
Juanla
Menos de 100 mensajes
Menos de 100 mensajes
Mensajes: 48
Registrado: Lun Dic 13, 2010 7:49 pm

Re: Crear pestaña en el ACP

Mensaje sin leer por Juanla » Sab Jun 25, 2011 9:12 am

Pues gracias, ya conseguí mostrarlo en el ACP, sería cosa de los permisos como has dicho saske, la verdad podrían mejorar el tutorial de la página de phpbb.com, pues a quien este empezando lo llevará por el mal camino :P

Pues voy a probar algunas cosillas, aver si me paso por aquí más a menudo a daros trabajo, que el veranito cunda!

Avatar de Usuario
Juanla
Menos de 100 mensajes
Menos de 100 mensajes
Mensajes: 48
Registrado: Lun Dic 13, 2010 7:49 pm

Re: Crear pestaña en el ACP

Mensaje sin leer por Juanla » Sab Jun 25, 2011 9:55 am

Bueno, una vez conseguido el primer paso, tener unas páginas en el ACP para mi solo, me gustaría ejecutar algunas funciones en php y mostrar el resultado.

Código: Seleccionar todo

$info = $user->lang['CONFIG_UPDATED'] . adm_back_link($this->action); //Aviso de confimación
                break;
Mirando esto tengo en la plantilla un pequeño form que al enviarme envia a la página de confirmación, mi idea es por ejemplo hacer un:

echo "prueba de escritura en pantalla";

y que eso salga en la parte del formulario, supongo que para hacer eso habrá que seguir alguna jerarquía de funciones y pasos de phpBB, lo que si me gustaría es saber algo más, osea mostar un resultado de algo ahí.

Quizás este relacionado con los <!-- IF loquesea -->, estoy investigando de momento, pero si os pillo conectados :P, si avanzo os aviso

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

Re: Crear pestaña en el ACP

Mensaje sin leer por Saske » Sab Jun 25, 2011 1:21 pm

Juanla escribió:Bueno, una vez conseguido el primer paso, tener unas páginas en el ACP para mi solo, me gustaría ejecutar algunas funciones en php y mostrar el resultado.

Código: Seleccionar todo

$info = $user->lang['CONFIG_UPDATED'] . adm_back_link($this->action); //Aviso de confimación
                break;
Mirando esto tengo en la plantilla un pequeño form que al enviarme envia a la página de confirmación, mi idea es por ejemplo hacer un:

echo "prueba de escritura en pantalla";

y que eso salga en la parte del formulario, supongo que para hacer eso habrá que seguir alguna jerarquía de funciones y pasos de phpBB, lo que si me gustaría es saber algo más, osea mostar un resultado de algo ahí.

Quizás este relacionado con los <!-- IF loquesea -->, estoy investigando de momento, pero si os pillo conectados :P, si avanzo os aviso
Pero que es lo que quieres hacer exactamente con eso ?¿
Vas a usarlo por ejemplo para lo de comprobar la version de sistemas cms (como phpBB, SMF, joomla etc) ?¿
Si vas a usarlo para un MOD, que opciones quieres añadir ?¿
Las tipicas de habilitar/Deshabilutar ?¿
Alguna de comprobar la version ?¿
O que es lo que quieres añadir ?¿
Como ya te dije antes, lo mejor, es hacerlo todo basandose en el tutorial de Alorse en phpBB-es, es mucho mejor que el de phpbb.com :P
Aparte de las opciones de Habilitar/Deshabilutar, y comprobar la version, poco mas se hacer en el ACP :oops: :roll:
Siento no poder ayudarte mucho mas :roll:
Saludos ;)

Avatar de Usuario
Juanla
Menos de 100 mensajes
Menos de 100 mensajes
Mensajes: 48
Registrado: Lun Dic 13, 2010 7:49 pm

Re: Crear pestaña en el ACP

Mensaje sin leer por Juanla » Sab Jun 25, 2011 7:32 pm

Bueno, he avanzado un poco más, mi idea era mostrar en la pantalla del acp (html) lo que yo sacaba con php (en el archivo php xd) Lo conseguí leyendo y probando porque tuve un poco de tiempo, mañana espero tener libre más tiempo y darle algo más.. De momento dejo aquí como lo conseguí por si a alguien le sirve:

http://wiki.phpbb.com/Template.assign_vars


Y la verdad sigo manteniendo que aunque la wiki de phpBB ahora esta muchísimo mejor, debería de continuar mejorandose, al menos haciendola más accesible. Porque me encuentro muchas zonas para desarrolladores y pocas con información útil :S

Aunque bueno, alomejor cuando le coja un poco más el rollo ya se me haga todo mucho más fácil, os iré informando :)

Avatar de Usuario
Juanla
Menos de 100 mensajes
Menos de 100 mensajes
Mensajes: 48
Registrado: Lun Dic 13, 2010 7:49 pm

Re: Crear pestaña en el ACP

Mensaje sin leer por Juanla » Sab Jun 25, 2011 10:03 pm

Bueno, vuelvo a la carga, tengo este código en el /includes/acp/*

Código: Seleccionar todo

                $path_common = $phpbb_root_path . "common." . $phpEx;
                $path_config = $phpbb_root_path . "config." . $phpEx;
                $path_cron = $phpbb_root_path . "cron." . $phpEx;
                clearstatcache();
                $chmod_common = substr(decoct(fileperms($path_common)),-3);
                $chmod_config = substr(decoct(fileperms($path_config)),-3);
                $chmod_cron = substr(decoct(fileperms($path_cron)),-3);
                
                $template->assign_vars(array(
                    'CHMOD_COMMON'      => $chmod_common,
                    'CHMOD_CONFIG'      => $chmod_config,
                    'CHMOD_CRON'        => $chmod_cron,
                    'PATH_COMMON'       => $path_common,
                    'PATH_CONFIG'       => $path_config,
                    'PATH_CRON'         => $path_cron,
                   )
                );
Mi idea es mostrar una tabla que muestre los archivos que vienen con phpBb3 y sus permisos, en este caso tenemos common.php, config.php y cron.php.

Primero defino las rutas de los 3, luego guardo en sus respectivas variables el valor de sus permisos (sus últimos 3 números) Tras esto creo las variables que mostraré en la plantilla.

Luego en el archivo .html las muestro así:

Código: Seleccionar todo

<table>
                        <tr><th>{L_CHMOD_ARCHIVE_NAME}</th><th>{L_CHMOD_ARCHIVE_PERMISSIONS}</th><th>{L_SC_ACTION}</th></tr>
                        <tr class="row1"><td>{PATH_COMMON}</td><td>{CHMOD_COMMON}</td><td></td></tr>
                        <tr class="row2"><td>{PATH_CONFIG}</td><td>{CHMOD_COMMON}</td><td></td></tr>
                        <tr class="row1"><td>{PATH_CRON}</td><td>{CHMOD_CRON}</td><td></td></tr>
                    </table>
La cuestión es que aparentemente funciona bien:
Imagen

Sólo que en realidad, mirando con mi cliente FTP, veo que tengo por ejemplo el archivo config.php en 644, por lo que no se a que se debe que no me devuelva los permisos correctamente, he probado en una instalacion que tengo en windows y otra ahora en un servidor linux, las 2 de la misma versión limpias (3.0.8), esto es lo que me tiene atrancado aunque supongo que es más problema de la funcion fileperms que otra cosa, tendré que buscar una alternativa, como los is_writable, pero no me convencen tanto.

Alguna ayuda con esto?

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: Crear pestaña en el ACP

Mensaje sin leer por Leviatan21 » Dom Jun 26, 2011 12:33 am

Juanla escribió:Sólo que en realidad, mirando con mi cliente FTP, veo que tengo por ejemplo el archivo config.php en 644, por lo que no se a que se debe que no me devuelva los permisos correctamente, he probado en una instalacion que tengo en windows y otra ahora en un servidor linux, las 2 de la misma versión limpias (3.0.8), esto es lo que me tiene atrancado aunque supongo que es más problema de la funcion fileperms que otra cosa, tendré que buscar una alternativa, como los is_writable, pero no me convencen tanto.

Alguna ayuda con esto?
En servidores Windows no hay permisos CHMOD ;)

en php.net vi este ejemplo :
To get permissions formatted as "644":

Código: Seleccionar todo

<?php
echo substr(decoct( fileperms('.') ), 2);
?>
To get permissions formatted as "0644":

Código: Seleccionar todo

<?php
echo substr(decoct( fileperms('.') ), 1);
?>
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
Juanla
Menos de 100 mensajes
Menos de 100 mensajes
Mensajes: 48
Registrado: Lun Dic 13, 2010 7:49 pm

Re: Crear pestaña en el ACP

Mensaje sin leer por Juanla » Dom Jun 26, 2011 8:42 am

Igualmente, aunque no hay permisos en Windows, el fileperms funciona, lo que no puedes usar es el CHMOD, también probe con esa función pero nada, me esta dando dolo de cabeza porque para todos los archivos me marca lo mismo. Voy a probar con otra aplicacion web aver si ahí distingue y sino pues ya veré que hago..

En phpBB he visto alguna función de permisos, le echaré un vistazo y os cuento

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: Crear pestaña en el ACP

Mensaje sin leer por Leviatan21 » Dom Jun 26, 2011 11:50 am

Juanla escribió:En phpBB he visto alguna función de permisos, le echaré un vistazo y os cuento
Cuando se entra al ACP se comprueban los permisos del archivo config.php, mediante la misma funcion que utilizas tu, pero con los valores hexadecimales en lugar de numéricos y los trasforma
Archivo :
raíz/includes/acp/acp_main.php

Código: Seleccionar todo

		if (!defined('PHPBB_DISABLE_CONFIG_CHECK') && file_exists($phpbb_root_path . 'config.' . $phpEx) && phpbb_is_writable($phpbb_root_path . 'config.' . $phpEx))
		{
			// World-Writable? (000x)
			$template->assign_var('S_WRITABLE_CONFIG', (bool) (@fileperms($phpbb_root_path . 'config.' . $phpEx) & 0x0002));
		}
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 ;)

Responder