Versión phpBB: phpBB3 (3.0.

MODs Instalados:
Advanced BBCode BOX *** Categorize Announcements and Stickies
Default topic icon *** Evaluate Topics
External Links open in Rokbox *** Genders
Group icon *** ie6nomore
jQuery Quick Edit *** Karma Mod
Last post topic title *** Legend Repositioning
List subforums in columns *** Live preview
Log connections *** Login After Activation
Mak edited posts as unerad *** mod version check
moderator needed *** page titles optimize
Points *** post expire
Post First Before Voting *** Prime instant redirect
prime links *** profile view
Real user page *** SEO
Share topic *** Show Banned Status
Simple comment *** Topics descriptions
Users Notes
Plantilla(s) usada(s): Prosilver
Servidor: Linux, de pago.
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No
Problema:
Antes de nada decir que todos los MODs fueron probados y funcionaban todos...es decir, que no creo que sea algun problema de MODs porque los he usado y no pasó nada.
Llevo aproximadamente un mes, sin utilizar este foro en construcción por problemas de salud y cuando lo dejé, que yo recuerde, funcionaba todo a la perfección ya que las modificaciones no las hago en el foro, si no en una web aparte...
El caso es que hoy he decidido ir a continuar el proyecto y cuando entro a la Administración, me la encuentro vacia. Solo estan los dos links superiores de ir al Indice y a la Administración, el logo de PHPBB, una pequeña imagen larga de bordes redondeados y justo despues de esto, el Copyright. No salen pestañas ni menus ni nada de nada, solo header y footer. El código fuente HTML es este:
Código: Seleccionar todo
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="es" xml:lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Language" content="es" />
<meta http-equiv="imagetoolbar" content="no" />
<title>Panel principal de Administración</title>
<link href="style/admin.css" rel="stylesheet" type="text/css" media="screen" />
<script type="text/javascript">
// <![CDATA[
var jump_page = 'Introduzca el número de página al que desea saltar:';
var on_page = '';
var per_page = '';
var base_url = '';
var menu_state = 'shown';
/**
* Jump to page
*/
function jumpto()
{
var page = prompt(jump_page, on_page);
if (page !== null && !isNaN(page) && page == Math.floor(page) && page > 0)
{
if (base_url.indexOf('?') == -1)
{
document.location.href = base_url + '?start=' + ((page - 1) * per_page);
}
else
{
document.location.href = base_url.replace(/&/g, '&') + '&start=' + ((page - 1) * per_page);
}
}
}
/**
* Set display of page element
* s[-1,0,1] = hide,toggle display,show
*/
function dE(n, s, type)
{
if (!type)
{
type = 'block';
}
var e = document.getElementById(n);
if (!s)
{
s = (e.style.display == '') ? -1 : 1;
}
e.style.display = (s == 1) ? type : 'none';
}
/**
* Mark/unmark checkboxes
* id = ID of parent container, name = name prefix, state = state [true/false]
*/
function marklist(id, name, state)
{
var parent = document.getElementById(id);
if (!parent)
{
eval('parent = document.' + id);
}
if (!parent)
{
return;
}
var rb = parent.getElementsByTagName('input');
for (var r = 0; r < rb.length; r++)
{
if (rb[r].name.substr(0, name.length) == name)
{
rb[r].checked = state;
}
}
}
/**
* Find a member
*/
function find_username(url)
{
popup(url, 760, 570, '_usersearch');
return false;
}
/**
* Window popup
*/
function popup(url, width, height, name)
{
if (!name)
{
name = '_popup';
}
window.open(url.replace(/&/g, '&'), name, 'height=' + height + ',resizable=yes,scrollbars=yes, width=' + width);
return false;
}
/**
* Hiding/Showing the side menu
*/
function switch_menu()
{
var menu = document.getElementById('menu');
var main = document.getElementById('main');
var toggle = document.getElementById('toggle');
var handle = document.getElementById('toggle-handle');
switch (menu_state)
{
// hide
case 'shown':
main.style.width = '93%';
menu_state = 'hidden';
menu.style.display = 'none';
toggle.style.width = '20px';
handle.style.backgroundImage = 'url(images/toggle.gif)';
handle.style.backgroundRepeat = 'no-repeat';
handle.style.backgroundPosition = '100% 50%';
toggle.style.left = '0';
break;
// show
case 'hidden':
main.style.width = '76%';
menu_state = 'shown';
menu.style.display = 'block';
toggle.style.width = '5%';
handle.style.backgroundImage = 'url(images/toggle.gif)';
handle.style.backgroundRepeat = 'no-repeat';
handle.style.backgroundPosition = '0% 50%';
toggle.style.left = '15%';
break;
}
}
// ]]>
</script>
<!-- MOD : MSSTI ABBC3 (v) - Start //--><!-- MOD : MSSTI ABBC3 (v) - End //-->
</head>
<body class="ltr">
<div id="wrap">
<div id="page-header">
<h1>Panel de Administración (ACP)</h1>
<p><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54">Índice Admin</a> • <a href="./../?sid=49ccd0a20e5136764eec5f187083fc54">Índice general</a></p>
<p id="skip"><a href="#acp">Obviar</a></p>
</div>
<div id="page-body">
<div id="tabs">
<ul>
<li id="activetab"><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=1"><span>General</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=6"><span>Foros</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=9"><span>Mensajes</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=12"><span>Usuarios y grupos</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=16"><span>Permisos</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=21"><span>Estilos</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=24"><span>Mantenimiento</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=27"><span>Sistema</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=31"><span>Mods</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=199"><span>AutoMOD</span></a></li>
</ul>
</div>
<div id="acp">
<div class="panel">
<span class="corners-top"><span></span></span>
<div id="content">
<div id="toggle">
<a id="toggle-handle" accesskey="m" title="Ocultar o mostrar el menú lateral" onclick="switch_menu(); return false;" href="#"></a></div>
<div id="menu">
<p>Se identificó como:<br /><strong>Maverick</strong> [ <a href="./../ucp.php?mode=logout&sid=49ccd0a20e5136764eec5f187083fc54">Desconectarse</a> ][ <a href="./index.php?action=admlogout&sid=49ccd0a20e5136764eec5f187083fc54">Desconectarse del ACP</a> ] </p>
<ul>
<li class="header">Acceso rápido</li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=users&mode=overview"><span>Administrar usuarios</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=groups&mode=manage"><span>Administrar grupos</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=forums&mode=manage"><span>Administrar foros</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=logs&mode=mod"><span>Registro de moderadores</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=bots&mode=bots"><span>Spiders/Robots</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=php_info&mode=info"><span>Información de PHP</span></a></li>
<li class="header">Configuración del Sitio</li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=attachments&mode=attach"><span>Configuración de adjuntos</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=board&mode=settings"><span>Configuración del Sitio</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=board&mode=features"><span>Características del Sitio</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=board&mode=avatar"><span>Configuración de avatar</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=board&mode=message"><span>Configuración de mensajes privados</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=board&mode=post"><span>Configuración de mensaje</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=board&mode=signature"><span>Configuración de firma</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=board&mode=feed"><span>Configuración de Feeds</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=board&mode=registration"><span>Configuración de registro de usuarios</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=captcha&mode=visual"><span>Configuración del módulo de CAPTCHA</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=lc&mode=log_connections"><span>Configuración de Conexiones</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=karma&mode=karma"><span>MOD Karma</span></a></li>
<li class="header">Comunicación cliente</li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=board&mode=auth"><span>Autenticación</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=board&mode=email"><span>Configuración de email</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=jabber&mode=settings"><span>Configuración de Jabber</span></a></li>
<li class="header">Configuración del servidor</li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=board&mode=cookie"><span>Configuración de cookies</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=board&mode=server"><span>Configuración del servidor</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=board&mode=security"><span>Configuración de seguridad</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=board&mode=load"><span>Configuración de carga</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=search&mode=settings"><span>Configuración de búsqueda</span></a></li>
<li><a href="./index.php?sid=49ccd0a20e5136764eec5f187083fc54&i=send_statistics&mode=send_statistics"><span>Enviar información estadística</span></a></li>
</ul>
</div>
<div id="main">
<a name="maincontent"></a>
<h1>Bienvenido a phpBB</h1>
<p>Gracias por elegir phpBB como su foro. Esta pantalla le proporciona una visión general de las estadísticas del Sitio. Los enlaces a la izquierda le permiten un control completo del mismo. Cada página tiene instrucciones de cómo emplear las distintas herramientas.</p>
<table cellspacing="1">
<caption>Estadísticas de foros</caption>
<col class="col1" /><col class="col2" /><col class="col1" /><col class="col2" />
<thead>
<tr>
<th>Estadística</th>
<th>Valor</th>
<th>Estadística</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Número de mensajes: </td>
<td><strong>4</strong></td>
<td>Mensajes por día: </td>
<td><strong>0.04</strong></td>
</tr>
<tr>
<td>Número de temas: </td>
<td><strong>1</strong></td>
<td>Temas por día: </td>
<td><strong>0.01</strong></td>
</tr>
<tr>
<td>Número de usuarios: </td>
<td><strong>10</strong></td>
<td>Usuarios por día: </td>
<td><strong>0.09</strong></td>
</tr>
<tr>
<td>Número de adjuntos: </td>
<td><strong>0</strong></td>
<td>Adjuntos por día: </td>
<td><strong>0.00</strong></td>
</tr>
<tr>
<td>Sitio Inaugurado: </td>
<td><strong>Vie, 24 Dic 2010, 19:26</strong></td>
<td>Tamaño de la carpeta de avatares: </td>
<td><strong>0 Bytes</strong></td>
</tr>
<tr>
<td>Tamaño de la base de datos: </td>
<td><strong>768.14 KiB</strong></td>
<td>Tamaño de la carpeta de adjuntos: </td>
<td><strong>0 Bytes</strong></td>
</tr>
<tr>
<td>Servidor de base de datos: </td>
<td><strong>MySQL(i) 5.1.53-log</strong></td>
<td>Compresión GZip: </td>
<td><strong>Off</strong></td>
</tr>
<tr>
<td>Versión del Sitio: </td>
<td>
<strong><a href="./index.php?i=update&mode=version_check&sid=49ccd0a20e5136764eec5f187083fc54" style="color: #228822;" title="Más información »">3.0.8</a></strong> [ <a href="./index.php?i=1&versioncheck_force=1&sid=49ccd0a20e5136764eec5f187083fc54">Volver a comprobar la versión</a> ]
</td>
<td>Adjuntos huérfanos: </td>
<td><strong>0</strong></td>
</tr>
</tbody>
</table>
<fieldset>
<legend>Resincronizar o reiniciar las estadísticas</legend>
<form id="action_online_form" method="post" action="./index.php?i=main&sid=49ccd0a20e5136764eec5f187083fc54&mode=main">
<dl>
<dt><label for="action_online">Reiniciar contador usuarios máximos identificados</label><br /><span> </span></dt>
<dd><input type="hidden" name="action" value="online" /><input class="button2" type="submit" id="action_online" name="action_online" value="Ejecutar" /></dd>
</dl>
</form>
<form id="action_date_form" method="post" action="./index.php?i=main&sid=49ccd0a20e5136764eec5f187083fc54&mode=main">
<dl>
<dt><label for="action_date">Reiniciar fecha comienzo Sitio</label><br /><span> </span></dt>
<dd><input type="hidden" name="action" value="date" /><input class="button2" type="submit" id="action_date" name="action_date" value="Ejecutar" /></dd>
</dl>
</form>
<form id="action_stats_form" method="post" action="./index.php?i=main&sid=49ccd0a20e5136764eec5f187083fc54&mode=main">
<dl>
<dt><label for="action_stats">Sincronizar estadísticas</label><br /><span>Recalcula el número total de mensajes, temas, usuarios y archivos.</span></dt>
<dd><input type="hidden" name="action" value="stats" /><input class="button2" type="submit" id="action_stats" name="action_stats" value="Ejecutar" /></dd>
</dl>
</form>
<form id="action_user_form" method="post" action="./index.php?i=main&sid=49ccd0a20e5136764eec5f187083fc54&mode=main">
<dl>
<dt><label for="action_user">Sincronizar recuento de mensajes</label><br /><span>Se tomarán en consideración mensajes existentes. No se cuentan los mensajes purgados.</span></dt>
<dd><input type="hidden" name="action" value="user" /><input class="button2" type="submit" id="action_user" name="action_user" value="Ejecutar" /></dd>
</dl>
</form>
<form id="action_db_track_form" method="post" action="./index.php?i=main&sid=49ccd0a20e5136764eec5f187083fc54&mode=main">
<dl>
<dt><label for="action_db_track">Sincronizar temas marcados</label><br /><span>Primero desmarca todos los temas y luego marca correctamente los temas que han tenido actividad en los últimos seis meses.</span></dt>
<dd><input type="hidden" name="action" value="db_track" /><input class="button2" type="submit" id="action_db_track" name="action_db_track" value="Ejecutar" /></dd>
</dl>
</form>
<form id="action_purge_sessions_form" method="post" action="./index.php?i=main&sid=49ccd0a20e5136764eec5f187083fc54&mode=main">
<dl>
<dt><label for="action_purge_sessions">Purgar todas las sesiones</label><br /><span>Purgar todas las sesiones. Esto desconectará a todos los usuarios al limpiar la tabla de sesiones.</span></dt>
<dd><input type="hidden" name="action" value="purge_sessions" /><input class="button2" type="submit" id="action_purge_sessions" name="action_purge_sessions" value="Ejecutar" /></dd>
</dl>
</form>
<form id="action_purge_cache_form" method="post" action="./index.php?i=main&sid=49ccd0a20e5136764eec5f187083fc54&mode=main">
<dl>
<dt><label for="action_purge_cache">Limpiar la caché</label><br /><span>Limpiar todos los elementos relacionados con la caché, incluyendo cualquier plantilla o consulta cacheada.</span></dt>
<dd><input type="hidden" name="action" value="purge_cache" /><input class="button2" type="submit" id="action_purge_cache" name="action_purge_cache" value="Ejecutar" /></dd>
</dl>
</form>
</fieldset>
<h2>Movimientos de los Administradores</h2>
<p>Visión general de las últimas cinco acciones llevadas a cabo por los administradores del Sitio. Puede ver el registro completo en el menú correspondiente o siguiendo el enlace de abajo.</p>
<div style="text-align: right;"><a href="./index.php?i=logs&mode=admin&sid=49ccd0a20e5136764eec5f187083fc54">» Ver log de administradores</a></div>
<table cellspacing="1">
<thead>
<tr>
<th>Nombre de Usuario</th>
<th>IP del usuario</th>
<th>Hora</th>
<th>Acción</th>
</tr>
</thead>
<tbody>
<tr class="row1">
<td><a href="./index.php?i=users&mode=overview&sid=49ccd0a20e5136764eec5f187083fc54&u=2" style="color: #AA0000;" class="username-coloured">Maverick</a></td>
<td style="text-align: center;">89.131.145.23</td>
<td style="text-align: center;">Dom, 27 Feb 2011, 18:52</td>
<td><strong>Grupo por defecto para usuarios</strong><br />» Administradores</td>
</tr>
<tr class="row2">
<td><a href="./index.php?i=users&mode=overview&sid=49ccd0a20e5136764eec5f187083fc54&u=2" style="color: #AA0000;" class="username-coloured">Maverick</a></td>
<td style="text-align: center;">89.131.145.23</td>
<td style="text-align: center;">Dom, 27 Feb 2011, 18:52</td>
<td><strong>Agregados nuevos usuarios a grupo</strong> Administradores<br />» katsuke</td>
</tr>
<tr class="row1">
<td><a href="./index.php?i=users&mode=overview&sid=49ccd0a20e5136764eec5f187083fc54&u=2" style="color: #AA0000;" class="username-coloured">Maverick</a></td>
<td style="text-align: center;">89.131.145.23</td>
<td style="text-align: center;">Jue, 10 Feb 2011, 21:00</td>
<td><strong>Actualizado: detalles de usuario</strong><br />» Sistema de Shinobis' War</td>
</tr>
<tr class="row2">
<td><a href="./index.php?i=users&mode=overview&sid=49ccd0a20e5136764eec5f187083fc54&u=2" style="color: #AA0000;" class="username-coloured">Maverick</a></td>
<td style="text-align: center;">89.131.145.23</td>
<td style="text-align: center;">Jue, 10 Feb 2011, 20:59</td>
<td><strong>Modificado: configuración de registro de usuario</strong></td>
</tr>
<tr class="row1">
<td><a href="./index.php?i=users&mode=overview&sid=49ccd0a20e5136764eec5f187083fc54&u=2" style="color: #AA0000;" class="username-coloured">Maverick</a></td>
<td style="text-align: center;">89.131.145.23</td>
<td style="text-align: center;">Dom, 06 Feb 2011, 01:27</td>
<td><strong>Actualizado: detalles de grupo de usuarios</strong><br />» Administradores</td>
</tr>
</tbody>
</table>
<br />
<h2>Usuarios inactivos</h2>
<p>Esta es una lista de los últimos 10 usuarios registrados que tienen cuentas inactivas. Una lista completa está disponible desde el menú o siguiendo el enlace donde puede activar, borrar o recordárselo (enviando un e-mail) si quiere.</p>
<div style="text-align: right;"><a href="./index.php?i=inactive&mode=list&sid=49ccd0a20e5136764eec5f187083fc54">» Ver usuarios inactivos</a></div>
<table cellspacing="1">
<thead>
<tr>
<th>Nombre de Usuario</th>
<th>Registrado</th>
<th>Fecha inactividad</th>
<th>La última visita fue</th>
<th>Razón</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="5" style="text-align: center;">No hay usuarios inactivos</td>
</tr>
</tbody>
</table>
</div>
</div>
<span class="corners-bottom"><span></span></span>
<div class="clear"></div>
</div>
</div>
</div>
<!--
We request you retain the full copyright notice below including the link to www.phpbb.com.
This not only gives respect to the large amount of time given freely by the developers
but also helps build interest, traffic and use of phpBB. If you (honestly) cannot retain
the full copyright we ask you at least leave in place the "Powered by phpBB" line, with
"phpBB" linked to www.phpbb.com. If you refuse to include even this then support on our
forums may be affected.
The phpBB Group : 2006
// -->
<div id="page-footer">
Powered by phpBB © 2000, 2002, 2005, 2007 <a href="http://www.phpbb.com/">phpBB Group</a>
<br />Traducción al español por <a href="http://www.dfxteam.com/">Huan Manwë</a> para <a href="http://www.phpbb-es.com/">phpbb-es.com</a><br />Karma functions powered by Karma MOD © 2007, 2009 m157y
</div>
</div>
</body>
</html>
No he podido usar PasteBin, no me carga la imagen del código anti bots.
No se realmente que archivo PHP necesitariais ver...pero dejo el index.php de la carpeta ADM
Código: Seleccionar todo
<?php
/**
*
* @package acp
* @version $Id$
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
*/
define('IN_PHPBB', true);
define('ADMIN_START', true);
define('NEED_SID', true);
// Include files
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './../';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require($phpbb_root_path . 'common.' . $phpEx);
require($phpbb_root_path . 'includes/functions_admin.' . $phpEx);
require($phpbb_root_path . 'includes/functions_module.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('acp/common');
// End session management
// Have they authenticated (again) as an admin for this session?
if (!isset($user->data['session_admin']) || !$user->data['session_admin'])
{
login_box('', $user->lang['LOGIN_ADMIN_CONFIRM'], $user->lang['LOGIN_ADMIN_SUCCESS'], true, false);
}
// Is user any type of admin? No, then stop here, each script needs to
// check specific permissions but this is a catchall
if (!$auth->acl_get('a_'))
{
trigger_error('NO_ADMIN');
}
// We define the admin variables now, because the user is now able to use the admin related features...
define('IN_ADMIN', true);
$phpbb_admin_path = (defined('PHPBB_ADMIN_PATH')) ? PHPBB_ADMIN_PATH : './';
// Some oft used variables
$safe_mode = (@ini_get('safe_mode') == '1' || strtolower(@ini_get('safe_mode')) === 'on') ? true : false;
$file_uploads = (@ini_get('file_uploads') == '1' || strtolower(@ini_get('file_uploads')) === 'on') ? true : false;
$module_id = request_var('i', '');
$mode = request_var('mode', '');
// Set custom template for admin area
$template->set_custom_template($phpbb_admin_path . 'style', 'admin');
$template->assign_var('T_TEMPLATE_PATH', $phpbb_admin_path . 'style');
// the acp template is never stored in the database
$user->theme['template_storedb'] = false;
// Instantiate new module
$module = new p_master();
// Instantiate module system and generate list of available modules
$module->list_modules('acp');
// Select the active module
$module->set_active($module_id, $mode);
// Assign data to the template engine for the list of modules
// We do this before loading the active module for correct menu display in trigger_error
$module->assign_tpl_vars(append_sid("{$phpbb_admin_path}index.$phpEx"));
// Load and execute the relevant module
$module->load_active();
// Generate the page
adm_page_header($module->get_page_title());
$template->set_filenames(array(
'body' => $module->get_tpl_name(),
));
adm_page_footer();
/**
* Header for acp pages
*/
function adm_page_header($page_title)
{
global $config, $db, $user, $template;
global $phpbb_root_path, $phpbb_admin_path, $phpEx, $SID, $_SID;
if (defined('HEADER_INC'))
{
return;
}
define('HEADER_INC', true);
// gzip_compression
if ($config['gzip_compress'])
{
if (@extension_loaded('zlib') && !headers_sent())
{
ob_start('ob_gzhandler');
}
}
$template->assign_vars(array(
'PAGE_TITLE' => $page_title,
'USERNAME' => $user->data['username'],
'SID' => $SID,
'_SID' => $_SID,
'SESSION_ID' => $user->session_id,
'ROOT_PATH' => $phpbb_admin_path,
'U_LOGOUT' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=logout'),
'U_ADM_LOGOUT' => append_sid("{$phpbb_admin_path}index.$phpEx", 'action=admlogout'),
'U_ADM_INDEX' => append_sid("{$phpbb_admin_path}index.$phpEx"),
'U_INDEX' => append_sid("{$phpbb_root_path}index.$phpEx"),
'T_IMAGES_PATH' => "{$phpbb_root_path}images/",
'T_SMILIES_PATH' => "{$phpbb_root_path}{$config['smilies_path']}/",
'T_AVATAR_PATH' => "{$phpbb_root_path}{$config['avatar_path']}/",
'T_AVATAR_GALLERY_PATH' => "{$phpbb_root_path}{$config['avatar_gallery_path']}/",
'T_ICONS_PATH' => "{$phpbb_root_path}{$config['icons_path']}/",
'T_RANKS_PATH' => "{$phpbb_root_path}{$config['ranks_path']}/",
'T_UPLOAD_PATH' => "{$phpbb_root_path}{$config['upload_path']}/",
'ICON_MOVE_UP' => '<img src="' . $phpbb_admin_path . 'images/icon_up.gif" alt="' . $user->lang['MOVE_UP'] . '" title="' . $user->lang['MOVE_UP'] . '" />',
'ICON_MOVE_UP_DISABLED' => '<img src="' . $phpbb_admin_path . 'images/icon_up_disabled.gif" alt="' . $user->lang['MOVE_UP'] . '" title="' . $user->lang['MOVE_UP'] . '" />',
'ICON_MOVE_DOWN' => '<img src="' . $phpbb_admin_path . 'images/icon_down.gif" alt="' . $user->lang['MOVE_DOWN'] . '" title="' . $user->lang['MOVE_DOWN'] . '" />',
'ICON_MOVE_DOWN_DISABLED' => '<img src="' . $phpbb_admin_path . 'images/icon_down_disabled.gif" alt="' . $user->lang['MOVE_DOWN'] . '" title="' . $user->lang['MOVE_DOWN'] . '" />',
'ICON_EDIT' => '<img src="' . $phpbb_admin_path . 'images/icon_edit.gif" alt="' . $user->lang['EDIT'] . '" title="' . $user->lang['EDIT'] . '" />',
'ICON_EDIT_DISABLED' => '<img src="' . $phpbb_admin_path . 'images/icon_edit_disabled.gif" alt="' . $user->lang['EDIT'] . '" title="' . $user->lang['EDIT'] . '" />',
'ICON_DELETE' => '<img src="' . $phpbb_admin_path . 'images/icon_delete.gif" alt="' . $user->lang['DELETE'] . '" title="' . $user->lang['DELETE'] . '" />',
'ICON_DELETE_DISABLED' => '<img src="' . $phpbb_admin_path . 'images/icon_delete_disabled.gif" alt="' . $user->lang['DELETE'] . '" title="' . $user->lang['DELETE'] . '" />',
'ICON_SYNC' => '<img src="' . $phpbb_admin_path . 'images/icon_sync.gif" alt="' . $user->lang['RESYNC'] . '" title="' . $user->lang['RESYNC'] . '" />',
'ICON_SYNC_DISABLED' => '<img src="' . $phpbb_admin_path . 'images/icon_sync_disabled.gif" alt="' . $user->lang['RESYNC'] . '" title="' . $user->lang['RESYNC'] . '" />',
'S_USER_LANG' => $user->lang['USER_LANG'],
'S_CONTENT_DIRECTION' => $user->lang['DIRECTION'],
'S_CONTENT_ENCODING' => 'UTF-8',
'S_CONTENT_FLOW_BEGIN' => ($user->lang['DIRECTION'] == 'ltr') ? 'left' : 'right',
'S_CONTENT_FLOW_END' => ($user->lang['DIRECTION'] == 'ltr') ? 'right' : 'left',
));
// application/xhtml+xml not used because of IE
header('Content-type: text/html; charset=UTF-8');
header('Cache-Control: private, no-cache="set-cookie"');
header('Expires: 0');
header('Pragma: no-cache');
return;
}
/**
* Page footer for acp pages
*/
function adm_page_footer($copyright_html = true)
{
global $db, $config, $template, $user, $auth, $cache;
global $starttime, $phpbb_root_path, $phpbb_admin_path, $phpEx;
// Output page creation time
if (defined('DEBUG'))
{
$mtime = explode(' ', microtime());
$totaltime = $mtime[0] + $mtime[1] - $starttime;
if (!empty($_REQUEST['explain']) && $auth->acl_get('a_') && defined('DEBUG_EXTRA') && method_exists($db, 'sql_report'))
{
$db->sql_report('display');
}
$debug_output = sprintf('Time : %.3fs | ' . $db->sql_num_queries() . ' Queries | GZIP : ' . (($config['gzip_compress']) ? 'On' : 'Off') . (($user->load) ? ' | Load : ' . $user->load : ''), $totaltime);
if ($auth->acl_get('a_') && defined('DEBUG_EXTRA'))
{
if (function_exists('memory_get_usage'))
{
if ($memory_usage = memory_get_usage())
{
global $base_memory_usage;
$memory_usage -= $base_memory_usage;
$memory_usage = get_formatted_filesize($memory_usage);
$debug_output .= ' | Memory Usage: ' . $memory_usage;
}
}
$debug_output .= ' | <a href="' . build_url() . '&explain=1">Explain</a>';
}
}
$template->assign_vars(array(
'DEBUG_OUTPUT' => (defined('DEBUG')) ? $debug_output : '',
'TRANSLATION_INFO' => (!empty($user->lang['TRANSLATION_INFO'])) ? $user->lang['TRANSLATION_INFO'] : '',
'S_COPYRIGHT_HTML' => $copyright_html,
'VERSION' => $config['version'])
);
$template->display('body');
garbage_collection();
exit_handler();
}
/**
* Generate back link for acp pages
*/
function adm_back_link($u_action)
{
global $user;
return '<br /><br /><a href="' . $u_action . '">« ' . $user->lang['BACK_TO_PREV'] . '</a>';
}
/**
* Build select field options in acp pages
*/
function build_select($option_ary, $option_default = false)
{
global $user;
$html = '';
foreach ($option_ary as $value => $title)
{
$selected = ($option_default !== false && $value == $option_default) ? ' selected="selected"' : '';
$html .= '<option value="' . $value . '"' . $selected . '>' . $user->lang[$title] . '</option>';
}
return $html;
}
/**
* Build radio fields in acp pages
*/
function h_radio($name, &$input_ary, $input_default = false, $id = false, $key = false)
{
global $user;
$html = '';
$id_assigned = false;
foreach ($input_ary as $value => $title)
{
$selected = ($input_default !== false && $value == $input_default) ? ' checked="checked"' : '';
$html .= '<label><input type="radio" name="' . $name . '"' . (($id && !$id_assigned) ? ' id="' . $id . '"' : '') . ' value="' . $value . '"' . $selected . (($key) ? ' accesskey="' . $key . '"' : '') . ' class="radio" /> ' . $user->lang[$title] . '</label>';
$id_assigned = true;
}
return $html;
}
/**
* Build configuration template for acp configuration pages
*/
function build_cfg_template($tpl_type, $key, &$new, $config_key, $vars)
{
global $user, $module;
$tpl = '';
$name = 'config[' . $config_key . ']';
// Make sure there is no notice printed out for non-existent config options (we simply set them)
if (!isset($new[$config_key]))
{
$new[$config_key] = '';
}
switch ($tpl_type[0])
{
case 'text':
case 'password':
$size = (int) $tpl_type[1];
$maxlength = (int) $tpl_type[2];
$tpl = '<input id="' . $key . '" type="' . $tpl_type[0] . '"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="' . $name . '" value="' . $new[$config_key] . '" />';
break;
case 'dimension':
$size = (int) $tpl_type[1];
$maxlength = (int) $tpl_type[2];
$tpl = '<input id="' . $key . '" type="text"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="config[' . $config_key . '_width]" value="' . $new[$config_key . '_width'] . '" /> x <input type="text"' . (($size) ? ' size="' . $size . '"' : '') . ' maxlength="' . (($maxlength) ? $maxlength : 255) . '" name="config[' . $config_key . '_height]" value="' . $new[$config_key . '_height'] . '" />';
break;
case 'textarea':
$rows = (int) $tpl_type[1];
$cols = (int) $tpl_type[2];
$tpl = '<textarea id="' . $key . '" name="' . $name . '" rows="' . $rows . '" cols="' . $cols . '">' . $new[$config_key] . '</textarea>';
break;
case 'radio':
$key_yes = ($new[$config_key]) ? ' checked="checked"' : '';
$key_no = (!$new[$config_key]) ? ' checked="checked"' : '';
$tpl_type_cond = explode('_', $tpl_type[1]);
$type_no = ($tpl_type_cond[0] == 'disabled' || $tpl_type_cond[0] == 'enabled') ? false : true;
$tpl_no = '<label><input type="radio" name="' . $name . '" value="0"' . $key_no . ' class="radio" /> ' . (($type_no) ? $user->lang['NO'] : $user->lang['DISABLED']) . '</label>';
$tpl_yes = '<label><input type="radio" id="' . $key . '" name="' . $name . '" value="1"' . $key_yes . ' class="radio" /> ' . (($type_no) ? $user->lang['YES'] : $user->lang['ENABLED']) . '</label>';
$tpl = ($tpl_type_cond[0] == 'yes' || $tpl_type_cond[0] == 'enabled') ? $tpl_yes . $tpl_no : $tpl_no . $tpl_yes;
break;
case 'select':
case 'custom':
$return = '';
if (isset($vars['method']))
{
$call = array($module->module, $vars['method']);
}
else if (isset($vars['function']))
{
$call = $vars['function'];
}
else
{
break;
}
if (isset($vars['params']))
{
$args = array();
foreach ($vars['params'] as $value)
{
switch ($value)
{
case '{CONFIG_VALUE}':
$value = $new[$config_key];
break;
case '{KEY}':
$value = $key;
break;
}
$args[] = $value;
}
}
else
{
$args = array($new[$config_key], $key);
}
$return = call_user_func_array($call, $args);
if ($tpl_type[0] == 'select')
{
$tpl = '<select id="' . $key . '" name="' . $name . '">' . $return . '</select>';
}
else
{
$tpl = $return;
}
break;
default:
break;
}
if (isset($vars['append']))
{
$tpl .= $vars['append'];
}
return $tpl;
}
/**
* Going through a config array and validate values, writing errors to $error. The validation method accepts parameters separated by ':' for string and int.
* The first parameter defines the type to be used, the second the lower bound and the third the upper bound. Only the type is required.
*/
function validate_config_vars($config_vars, &$cfg_array, &$error)
{
global $phpbb_root_path, $user;
$type = 0;
$min = 1;
$max = 2;
foreach ($config_vars as $config_name => $config_definition)
{
if (!isset($cfg_array[$config_name]) || strpos($config_name, 'legend') !== false)
{
continue;
}
if (!isset($config_definition['validate']))
{
continue;
}
$validator = explode(':', $config_definition['validate']);
// Validate a bit. ;) (0 = type, 1 = min, 2= max)
switch ($validator[$type])
{
case 'string':
$length = strlen($cfg_array[$config_name]);
// the column is a VARCHAR
$validator[$max] = (isset($validator[$max])) ? min(255, $validator[$max]) : 255;
if (isset($validator[$min]) && $length < $validator[$min])
{
$error[] = sprintf($user->lang['SETTING_TOO_SHORT'], $user->lang[$config_definition['lang']], $validator[$min]);
}
else if (isset($validator[$max]) && $length > $validator[2])
{
$error[] = sprintf($user->lang['SETTING_TOO_LONG'], $user->lang[$config_definition['lang']], $validator[$max]);
}
break;
case 'bool':
$cfg_array[$config_name] = ($cfg_array[$config_name]) ? 1 : 0;
break;
case 'int':
$cfg_array[$config_name] = (int) $cfg_array[$config_name];
if (isset($validator[$min]) && $cfg_array[$config_name] < $validator[$min])
{
$error[] = sprintf($user->lang['SETTING_TOO_LOW'], $user->lang[$config_definition['lang']], $validator[$min]);
}
else if (isset($validator[$max]) && $cfg_array[$config_name] > $validator[$max])
{
$error[] = sprintf($user->lang['SETTING_TOO_BIG'], $user->lang[$config_definition['lang']], $validator[$max]);
}
if (strpos($config_name, '_max') !== false)
{
// Min/max pairs of settings should ensure that min <= max
// Replace _max with _min to find the name of the minimum
// corresponding configuration variable
$min_name = str_replace('_max', '_min', $config_name);
if (isset($cfg_array[$min_name]) && is_numeric($cfg_array[$min_name]) && $cfg_array[$config_name] < $cfg_array[$min_name])
{
// A minimum value exists and the maximum value is less than it
$error[] = sprintf($user->lang['SETTING_TOO_LOW'], $user->lang[$config_definition['lang']], (int) $cfg_array[$min_name]);
}
}
break;
// Absolute path
case 'script_path':
if (!$cfg_array[$config_name])
{
break;
}
$destination = str_replace('\\', '/', $cfg_array[$config_name]);
if ($destination !== '/')
{
// Adjust destination path (no trailing slash)
if (substr($destination, -1, 1) == '/')
{
$destination = substr($destination, 0, -1);
}
$destination = str_replace(array('../', './'), '', $destination);
if ($destination[0] != '/')
{
$destination = '/' . $destination;
}
}
$cfg_array[$config_name] = trim($destination);
break;
// Absolute path
case 'lang':
if (!$cfg_array[$config_name])
{
break;
}
$cfg_array[$config_name] = basename($cfg_array[$config_name]);
if (!file_exists($phpbb_root_path . 'language/' . $cfg_array[$config_name] . '/'))
{
$error[] = $user->lang['WRONG_DATA_LANG'];
}
break;
// Relative path (appended $phpbb_root_path)
case 'rpath':
case 'rwpath':
if (!$cfg_array[$config_name])
{
break;
}
$destination = $cfg_array[$config_name];
// Adjust destination path (no trailing slash)
if (substr($destination, -1, 1) == '/' || substr($destination, -1, 1) == '\\')
{
$destination = substr($destination, 0, -1);
}
$destination = str_replace(array('../', '..\\', './', '.\\'), '', $destination);
if ($destination && ($destination[0] == '/' || $destination[0] == "\\"))
{
$destination = '';
}
$cfg_array[$config_name] = trim($destination);
// Path being relative (still prefixed by phpbb_root_path), but with the ability to escape the root dir...
case 'path':
case 'wpath':
if (!$cfg_array[$config_name])
{
break;
}
$cfg_array[$config_name] = trim($cfg_array[$config_name]);
// Make sure no NUL byte is present...
if (strpos($cfg_array[$config_name], "\0") !== false || strpos($cfg_array[$config_name], '%00') !== false)
{
$cfg_array[$config_name] = '';
break;
}
if (!file_exists($phpbb_root_path . $cfg_array[$config_name]))
{
$error[] = sprintf($user->lang['DIRECTORY_DOES_NOT_EXIST'], $cfg_array[$config_name]);
}
if (file_exists($phpbb_root_path . $cfg_array[$config_name]) && !is_dir($phpbb_root_path . $cfg_array[$config_name]))
{
$error[] = sprintf($user->lang['DIRECTORY_NOT_DIR'], $cfg_array[$config_name]);
}
// Check if the path is writable
if ($config_definition['validate'] == 'wpath' || $config_definition['validate'] == 'rwpath')
{
if (file_exists($phpbb_root_path . $cfg_array[$config_name]) && !phpbb_is_writable($phpbb_root_path . $cfg_array[$config_name]))
{
$error[] = sprintf($user->lang['DIRECTORY_NOT_WRITABLE'], $cfg_array[$config_name]);
}
}
break;
}
}
return;
}
/**
* Checks whatever or not a variable is OK for use in the Database
* param mixed $value_ary An array of the form array(array('lang' => ..., 'value' => ..., 'column_type' =>))'
* param mixed $error The error array
*/
function validate_range($value_ary, &$error)
{
global $user;
$column_types = array(
'BOOL' => array('php_type' => 'int', 'min' => 0, 'max' => 1),
'USINT' => array('php_type' => 'int', 'min' => 0, 'max' => 65535),
'UINT' => array('php_type' => 'int', 'min' => 0, 'max' => (int) 0x7fffffff),
'INT' => array('php_type' => 'int', 'min' => (int) 0x80000000, 'max' => (int) 0x7fffffff),
'TINT' => array('php_type' => 'int', 'min' => -128, 'max' => 127),
'VCHAR' => array('php_type' => 'string', 'min' => 0, 'max' => 255),
);
foreach ($value_ary as $value)
{
$column = explode(':', $value['column_type']);
$max = $min = 0;
$type = 0;
if (!isset($column_types[$column[0]]))
{
continue;
}
else
{
$type = $column_types[$column[0]];
}
switch ($type['php_type'])
{
case 'string' :
$max = (isset($column[1])) ? min($column[1],$type['max']) : $type['max'];
if (strlen($value['value']) > $max)
{
$error[] = sprintf($user->lang['SETTING_TOO_LONG'], $user->lang[$value['lang']], $max);
}
break;
case 'int':
$min = (isset($column[1])) ? max($column[1],$type['min']) : $type['min'];
$max = (isset($column[2])) ? min($column[2],$type['max']) : $type['max'];
if ($value['value'] < $min)
{
$error[] = sprintf($user->lang['SETTING_TOO_LOW'], $user->lang[$value['lang']], $min);
}
else if ($value['value'] > $max)
{
$error[] = sprintf($user->lang['SETTING_TOO_BIG'], $user->lang[$value['lang']], $max);
}
break;
}
}
}
?>
Dejo una imagen para que podais ver realmente como ha quedado la administración

PD: La URL la he pasado por un anonimizador para evitar salir en Google, ya que es un proyecto privado y por ahora no quiero que nadie acceda ni sepa que existe, espero que no suponga un problema.