Simple Machines Community Forum

SMF Support => Español (Spanish) => Language Specific Support => Tutoriales => Topic started by: Drogocop on October 06, 2008, 03:20:37 PM

Title: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: Drogocop on October 06, 2008, 03:20:37 PM
Bueno, se crean muchos mensajes, pidiendo ayuda con este tema, y hay threads desparramados por todo el foro, por eso creo este tutorial.

Editar el boton "My Messages"
(http://img90.imageshack.us/img90/1672/estoth9.jpg)

Bueno, como saben, en el pack de lenguajes al español de SMF, este boton no lo trae traducido.
Para traducirlo editan su index.spanish_es.php
Busca:
$txt[144] = 'My Messages';

Reemplaza por:
$txt[144] = 'Mensajes privados';

Como agregar un boton al menu
Primero Averiguamos el class del boton

Bueno, los botones tienen como un identificador, que en los codigos se escribe class="Clase">
Para saberlos, busquen en el codigo de cualquier boton, y se fijan lo que esta en el codigo Class="?"
Busca:
// Start the main menu.
echo '
<ul class="mainnav">';

// Show the [home] button.
echo '
<li><a href="', $scripturl, '">' , $txt[103] , '</a></li>
<li class="mainnavDivider"><!-- /--></li>';

// Show the [help] button.
echo '
<li><a href="http://www.atg-gaming.com.ar/foro/index.php?action=forum">' , $txt[119] , '</a></li>
<li class="mainnavDivider"><!-- /--></li>';

// Show the [Arcade] button.
echo '<li><a href="?action=arcade"><span>Juegos Online</span></a></li>
<li class="mainnavDivider"><!-- /--></li>';


// How about the [search] button?
if ($context['allow_search'])
echo '
<li><a href="', $scripturl, '?action=search">' , $txt[182] , '</a></li>
<li class="mainnavDivider"><!-- /--></li>';

Bueno, como pueden ver en todos los botones, el class es "mainnavDivider", como dice en el codigo class="mainnavDivider"

Bueno, ahora si agregamos nuestro nuevo boton.

Busca:
// Start the main menu.
Ahi arranca el codigo de los botones, simplemente añaden el codigo de su nuevo boton, en el lugar que quieren.
De ejemplo, vamos a agregar un boton alado del boton Ayuda, que sea para ir a la web de SMF.
Busca:
// Show the [help] button.
echo '
<li><a href="http://www.atg-gaming.com.ar/foro/index.php?action=forum">' , $txt[119] , '</a></li>

Agrega:
// Show the [Boton] button.
echo '<li><a href="Link que queres"><span>Nombre del Boton</span></a></li>
<li class="Clase del boton"></li>';

Ejemplo:
// Show the [SMF] button.
echo '<li><a href="http://www.simplemachines.org"><span>Simple Machines</span></a></li>
<li class="mainnavDivider"></li>';


Listo!
Bastante sencillo verdad ??

Saludos!


EDIT: Por recomendacion de M-DVD, aca les dejo el link del SMF FAQ (preguntas frecuentes frecuentes) (http://www.simplemachines.org/community/index.php?topic=255010.msg1656374#msg1656374)

Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: 4Kstore on October 06, 2008, 05:48:28 PM
Gracias por tomarte el trabajo (!).
saludos
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: M-DVD on October 06, 2008, 08:51:59 PM
Así como tu dices "se crean muchos mensajes, pidiendo ayuda con este tema". Por eso viene bien que pongas el link hacia este tema en el tema de FAQs (http://www.simplemachines.org/community/index.php?topic=255010.msg1656374#msg1656374)  :P
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: toldeman on November 21, 2008, 05:29:15 AM
Hola.

Me gustaria saber como encuentro el codigo del menu, para poder editar el codigo e incorporar un nuevo boton.

Gracias y saludos...
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: aristides_03 on November 22, 2008, 02:45:56 AM
Quote from: toldeman on November 21, 2008, 05:29:15 AM
Hola.

Me gustaria saber como encuentro el codigo del menu, para poder editar el codigo e incorporar un nuevo boton.

Gracias y saludos...

Hola amigo lee bien arriba dice  como hacer y esta muy explicado mas claro que el agua :)
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: toldeman on November 22, 2008, 03:27:42 AM
Perdona por mi ignorancia, pero no se buscar el código, por eso he posteado, quizás tendría que haber abierto un nuevo hilo, parto de la base que he creado un foro smf prefabricado y no tengo ni idea de este tipo de códigos, me imagino que para editarlos y buscarlos abra que tener un programa de edición. Yo dispongo de fronpage y dreamweaver, lo que sucede que abro el index.php y solo me sale el código en vista diseño no sale nada. Si fueras tan amable de explicar como hacerlo o poner,me un enlace donde pudiera tener información al respecto..

Gracias y saludos..

Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: manixless on November 22, 2008, 03:37:17 AM
hola toldeman

tienes que abrir este archivo: miforo/Themes/index.template.php ya sea desde ftp con dreamweaver o que lo descargues a tu pc, lo edites y que luego lo vuelvas a subir sustituyendo e archivo anterior.

recuerda bien que es el index.template.php y No el index.php ya que son dos cosas muy diferentes. Otra cosa, si abres el archivo con dreamweaver, frontpage, photoshop o algun editor de esos pues no esperes ver el diseño a modo de interfaz, pues el foro esta compuesto por muchos documentos que forman a la vez mas documentos

saludos
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: toldeman on November 22, 2008, 04:21:25 AM
Hola manfred en primer lugar darte las gracias por tu respuesta y luego comentar que me estoy dejando la vista en el index.template.php buscando Start the main menu´, para poder empezar entender el post.
Como no lo encontraba he utilizado del menú edición la opción buscar con este resultado:

http://img227.imageshack.us/my.php?image=dibujobj6.jpg

No se que podre estar haciendo mal...

Salu2...
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: manixless on November 22, 2008, 04:44:13 AM
hola

pues vas bien, lo que pasa es que esa linea que tienes que buscar no sale, pero si la lo de "Show the [Boton] button". Ahora solo falta agregar el boton, para ello solo agrega el siguiente codigo en la linea 522 segun la imagen

// Show the [Boton] button.
       echo '<li><a href="Link que queres"><span>Nombre del Boton</span></a></li>
             <li class="Clase del boton"></li>';


recuerda cambiar los datos que estan resaltados.

saludos
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: toldeman on November 22, 2008, 05:05:53 AM
Hola de nuevo.
bueno lo hecho como dijiste, lo que sucede que me sale como un enlace y con dos puntitos antes de el.

Te pongo una captura para que veas como quedo:

(http://img81.imageshack.us/img81/3552/dibujogb2.jpg) (http://imageshack.us)

Gracias de nuevo
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: manixless on November 22, 2008, 05:39:27 AM
ok, es el tema default... hay que hacer un par de ajustes

1. borra lo del post anterior (lo que pusistes en la linea 522)

2. busca esto:

array('search', 'admin', 'calendar', 'profile', 'mlist', 'register', 'login', 'help', 'pm'

y al final le pones esto:

, 'mi_boton'


3. busca esto:

// Show the [mi boton] button.
echo ($current_action=='mi_boton' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
<td valign="top" class="maintab_' , $current_action == 'mi_boton' ? 'active_back' : 'back' , '">
<a href="http://harrypotteralive.com/prueba"> mi boton</a>
</td>' , $current_action == 'mi_boton' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';


y justo debajo pones:
Quote
// Show the [mi boton] button.
   echo ($current_action=='mi_boton' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' . $first . '">&nbsp;</td>' : '' , '
            <td valign="top" class="maintab_' , $current_action == 'mi_boton' ? 'active_back' : 'back' , '">
               <a href="la url">el titulo del boton</a>
            </td>' , $current_action == 'mi_boton' ? '<td class="maintab_active_' . $last . '">&nbsp;</td>' : '';

dale a ver que tal te va
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: toldeman on November 22, 2008, 06:10:36 AM
Muchísimas gracias, tema solucionado te pongo como quedo:

(http://img227.imageshack.us/img227/3227/dibujovx3.jpg) (http://imageshack.us)


Saludos...
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: manixless on November 22, 2008, 06:14:33 AM
me alegra.
un saludo
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: davis69 on December 22, 2008, 09:43:59 PM
Gracias por el tuto, pero en los casos que lo botones tenga un tema y array diferente como se haria?

Mi tema tiene lo siguiente:

// Show the start of the tab section.



echo '

  <ul>';

  // Show the [home] button.

echo '<li><a' , $current_action=='home' ? ' class="current"' : '' , ' href="', $scripturl, '"><span>' , $txt[103] , '</span></a></li>';



  if($settings['TPortal_front_type']!='boardindex')

  // Show the [forum] button.

echo '<li><a' , $current_action=='forum' ? ' class="current"' : '' , ' href="', $scripturl, '?action=forum"><span>' , $txt['tp-forum'] , '</span></a></li>';



  // Show the [Help] button.

echo '<li><a' , $current_action=='pages' ? ' class="current"' : '' , ' href="', $scripturl, '?action=page;id=1"><span>' , $txt[900] , '</span></a></li>';





  // The [calendar]!

if ($context['allow_calendar'])

echo '<li><a' , $current_action=='calendar' ? ' class="current"' : '' , ' href="', $scripturl, '?action=calendar"><span>' , $txt['calendar24'] , '</span></a></li>';



  // Is the user allowed to administrate at all? ([admin])

if ($context['allow_admin'])

echo '<li><a' , $current_action=='admin' ? ' class="current"' : '' , ' href="', $scripturl, '?action=admin"><span>' , $txt[2] , '</span></a></li>';



  // Edit Profile... [profile]

if ($context['allow_edit_profile'])

echo '<li><a' , $current_action=='profile' ? ' class="current"' : '' , ' href="', $scripturl, '?action=profile"><span>' , $txt[79] , '</span></a></li>';



  // Go to PM center... [pm]

if ($context['user']['is_logged'] && $context['allow_pm'])

echo '<li><a' , $current_action=='pm' ? ' class="current"' : '' , ' href="', $scripturl, '?action=pm"><span>' , $txt['pm_short'] , '</span></a></li>';



// the [member] list button

if ($context['allow_memberlist'])

echo '<li><a ' , $current_action=='mlist' ? ' class="current"' : '' , ' href="', $scripturl, '?action=mlist"><span>' , $txt[331] , '</span></a></li>';



// If the user is a guest, show [login] button.

if ($context['user']['is_guest'])

echo '<li><a ' , $current_action=='login' ? ' class="current"' : '' , ' href="', $scripturl, '?action=login"><span>' , $txt[34] , '</span></a></li>';



  // If the user is a guest, also show [register] button.

if ($context['user']['is_guest'])

echo '<li><a ' , $current_action=='register' ? ' class="current"' : '' , ' href="', $scripturl, '?action=register"><span>' , $txt[97] , '</span></a></li>';



  // Otherwise, they might want to [logout]...

if ($context['user']['is_logged'])

echo '<li><a ' , $current_action=='logout' ? ' class="current"' : '' , 'href="', $scripturl, '?action=logout;sesc=', $context['session_id'], '"><span>' , $txt[108] , '</span></a></li>';



echo '

</ul>';




Donde mi boton seria asi:


// Show the [Series] button.

echo '<li><a' , $current_action=='help' ? ' class="current"' : '' , ' href="', $scripturl, '?action=page;id=1"><span>' , $txt[900] , '</span></a></li>';


Pero $current_action=='help' es el lugar donde marcara una vez q estas viendo la pagina. por decir algo el color de fondo del boton sera de color gris, si colocase mi boton de esta manera cada vez que entre a esa pagina entonces se marcara en Help en ve de Series.

Espero haberme explicado hasta ahora.

Ok, conociendo que $current_action=='' es una variable, entonces donde deberia modificar para decirle que el boton de colocara en series en vez de help, si coloco

$current_action=='Series' obviamente no funcionara ya que la variable no tiene esa informacion y otros aspecto que deberian ser cambiados pero lo desconozco.

si lo dejo en blanco marcara inicio.


Se que es bastante complicado pero si pudiese responder a esto estaría agradecido
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: LaRevelacion on January 03, 2009, 08:22:14 AM
no se me cambia el boton "my messages"
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: puchitus on January 04, 2009, 11:55:49 PM
Quote from: LaRevelacion on January 03, 2009, 08:22:14 AM
no se me cambia el boton "my messages"

En el index.tu_español.php busca $txt['pm_short'] = 'My Messages'; y lo dejas como $txt['pm_short'] = 'Mis Mensajes';

Saludos.
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: AJR on January 05, 2009, 08:06:21 AM
index.spanish_es.php como llego desde el cpanel ke ruta tengo ke seguir eske nuse como llegar a ese archivo
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: Sermax on January 05, 2009, 08:13:26 AM
Muchas gracias por que no encontraba donde traducir el botón de "My Messages" ^^

Quote from: AJR on January 05, 2009, 08:06:21 AM
index.spanish_es.php como llego desde el cpanel ke ruta tengo ke seguir eske nuse como llegar a ese archivo

Themes/default/languages

Saludos ^^
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: AJR on January 05, 2009, 08:15:42 AM
gracias ^^
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: pelotazos on January 05, 2009, 01:59:46 PM
Me pasa lo mismo que a davis69 tengo un boton creado a un hilo del foro y cuando le doy la supuesta animacion estilo solapa del theme default aparece en el boton inicio y no en el que yo selecciono.

Muchas gracias.
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: lucas-ruroken on March 25, 2009, 06:16:37 PM
muchas gracias ch e;D
saludos ^^
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: JBantha on June 05, 2009, 06:08:34 PM
Buenas, podrían decirme como agregar un botón el en tema FanTheme
es que no me sale algo similar, o al menos no que yo vea XDD
les adjunto mi index.php
muchas gracias por adelantado1 ^^


por cierto, no pude subir el archivo acá, pasenme su correo por MP y se los paso si es qeu me pueden ayudar T_T
pero es qeu ocupo ayuda ^^

gracias

esto es lo que sale:
<?php
/**********************************************************************************
* index.php                                                                       *
***********************************************************************************
* SMF: Simple Machines Forum                                                      *
* Open-Source Project Inspired by Zef Hemel ([email protected])                    *
* =============================================================================== *
* Software Version:           SMF 1.1.9                                           *
* Software by:                Simple Machines (http://www.simplemachines.org)     *
* Copyright 2006-2009 by:     Simple Machines LLC (http://www.simplemachines.org) *
*           2001-2006 by:     Lewis Media (http://www.lewismedia.com)             *
* Support, News, Updates at:  http://www.simplemachines.org                       *
***********************************************************************************
* This program is free software; you may redistribute it and/or modify it under   *
* the terms of the provided license as published by Simple Machines LLC.          *
*                                                                                 *
* This program is distributed in the hope that it is and will be useful, but      *
* WITHOUT ANY WARRANTIES; without even any implied warranty of MERCHANTABILITY    *
* or FITNESS FOR A PARTICULAR PURPOSE.                                            *
*                                                                                 *
* See the "license.txt" file for details of the Simple Machines license.          *
* The latest version can always be found at http://www.simplemachines.org.        *
**********************************************************************************/


/* This, as you have probably guessed, is the crux on which SMF functions.
Everything should start here, so all the setup and security is done
properly.  The most interesting part of this file is the action array in
the smf_main() function.  It is formatted as so:

'action-in-url' => array('Source-File.php', 'FunctionToCall'),

Then, you can access the FunctionToCall() function from Source-File.php
with the URL index.php?action=action-in-url.  Relatively simple, no?
*/

$forum_version 'SMF 1.1.9';

// Get everything started up...
define('SMF'1);
@
set_magic_quotes_runtime(0);
error_reporting(E_ALL);
$time_start microtime();

// Make sure some things simply do not exist.
foreach (array('db_character_set') as $variable)
if (isset($GLOBALS[$variable]))
unset($GLOBALS[$variable]);

// Load the settings...
require_once(dirname(__FILE__) . '/Settings.php');

// And important includes.
require_once($sourcedir '/QueryString.php');
require_once(
$sourcedir '/Subs.php');
require_once(
$sourcedir '/Errors.php');
require_once(
$sourcedir '/Load.php');
require_once(
$sourcedir '/Security.php');

// Using an old version of PHP?
if (@version_compare(PHP_VERSION'4.2.3') != 1)
require_once($sourcedir '/Subs-Compat.php');

// If $maintenance is set specifically to 2, then we're upgrading or something.
if (!empty($maintenance) && $maintenance == 2)
db_fatal_error();

// Connect to the MySQL database.
if (empty($db_persist))
$db_connection = @mysql_connect($db_server$db_user$db_passwd);
else
$db_connection = @mysql_pconnect($db_server$db_user$db_passwd);

// Show an error if the connection couldn't be made.
if (!$db_connection || !@mysql_select_db($db_name$db_connection))
db_fatal_error();

// Load the settings from the settings table, and perform operations like optimizing.
reloadSettings();
// Clean the request variables, add slashes, etc.
cleanRequest();
$context = array();

// Seed the random generator?
if (empty($modSettings['rand_seed']) || mt_rand(1250) == 69)
smf_seed_generator();

// Determine if this is using WAP, WAP2, or imode.  Technically, we should check that wap comes before application/xhtml or text/html, but this doesn't work in practice as much as it should.
if (isset($_SERVER['HTTP_ACCEPT']) && strpos($_SERVER['HTTP_ACCEPT'], 'application/vnd.wap.xhtml+xml') !== false)
$_REQUEST['wap2'] = 1;
elseif (isset(
$_SERVER['HTTP_ACCEPT']) && strpos($_SERVER['HTTP_ACCEPT'], 'text/vnd.wap.wml') !== false)
{
if (strpos($_SERVER['HTTP_USER_AGENT'], 'DoCoMo/') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'portalmmm/') !== false)
$_REQUEST['imode'] = 1;
else
$_REQUEST['wap'] = 1;
}

if (!
defined('WIRELESS'))
define('WIRELESS', isset($_REQUEST['wap']) || isset($_REQUEST['wap2']) || isset($_REQUEST['imode']));

// Some settings and headers are different for wireless protocols.
if (WIRELESS)
{
define('WIRELESS_PROTOCOL', isset($_REQUEST['wap']) ? 'wap' : (isset($_REQUEST['wap2']) ? 'wap2' : (isset($_REQUEST['imode']) ? 'imode' '')));

// Some cellphones can't handle output compression...
$modSettings['enableCompressedOutput'] = '0';
// !!! Do we want these hard coded?
$modSettings['defaultMaxMessages'] = 5;
$modSettings['defaultMaxTopics'] = 9;

// Wireless protocol header.
if (WIRELESS_PROTOCOL == 'wap')
header('Content-Type: text/vnd.wap.wml');
}

// Check if compressed output is enabled, supported, and not already being done.
if (!empty($modSettings['enableCompressedOutput']) && !headers_sent() && ob_get_length() == 0)
{
// If zlib is being used, turn off output compression.
if (@ini_get('zlib.output_compression') == '1' || @ini_get('output_handler') == 'ob_gzhandler' || @version_compare(PHP_VERSION'4.2.0') == -1)
$modSettings['enableCompressedOutput'] = '0';
else
ob_start('ob_gzhandler');
}
// This makes it so headers can be sent!
if (empty($modSettings['enableCompressedOutput']))
ob_start();

// Register an error handler.
set_error_handler('error_handler');

// Start the session. (assuming it hasn't already been.)
loadSession();

// What function shall we execute? (done like this for memory's sake.)
call_user_func(smf_main());

// Call obExit specially; we're coming from the main area ;).
obExit(nullnulltrue);

// The main controlling function.
function smf_main()
{
global $modSettings$settings$user_info$board$topic$maintenance$sourcedir;

// Special case: session keep-alive.
if (isset($_GET['action']) && $_GET['action'] == 'keepalive')
die;

// Load the user's cookie (or set as guest) and load their settings.
loadUserSettings();

// Load the current board's information.
loadBoard();

// Load the current theme.  (note that ?theme=1 will also work, may be used for guest theming.)
loadTheme();

// Check if the user should be disallowed access.
is_not_banned();

// Load the current user's permissions.
loadPermissions();

// Favicon Edits
global $context;
if (!empty($settings['header_favicon_url']))
{
if(preg_match('~http://(?:.*?)\.(png|ico|gif)(?:\?(?:.*?)|)~i'$settings['header_favicon_url'], $type))
{
// Append to html headers
$context['html_headers'] .= '
<link rel="'
. (!empty($context['browser']['is_ie']) ? 'shortcut icon' 'icon' ) .'" href="'$settings['header_favicon_url'] . '" type="'. (($type[1] == 'ico') ? 'image/vnd.microsoft.icon' 'image/'.$type[1] ) .'" />';
unset($type);
}

}

// Do some logging, unless this is an attachment, avatar, theme option or XML feed.
if (empty($_REQUEST['action']) || !in_array($_REQUEST['action'], array('dlattach''jsoption''.xml')))
{
// Log this user as online.
writeLog();

// Track forum statistics and hits...?
if (!empty($modSettings['hitStats']))
trackStats(array('hits' => '+'));
}

// Is the forum in maintenance mode? (doesn't apply to administrators.)
if (!empty($maintenance) && !allowedTo('admin_forum'))
{
// You can only login.... otherwise, you're getting the "maintenance mode" display.
if (isset($_REQUEST['action']) && ($_REQUEST['action'] == 'login2' || $_REQUEST['action'] == 'logout'))
{
require_once($sourcedir '/LogInOut.php');
return $_REQUEST['action'] == 'login2' 'Login2' 'Logout';
}
// Don't even try it, sonny.
else
{
require_once($sourcedir '/Subs-Auth.php');
return 'InMaintenance';
}
}
// If guest access is off, a guest can only do one of the very few following actions.
elseif (empty($modSettings['allow_guestAccess']) && $user_info['is_guest'] && (!isset($_REQUEST['action']) || !in_array($_REQUEST['action'], array('coppa''login''login2''register''register2''reminder''activate''smstats''help''verificationcode'))))
{
require_once($sourcedir '/Subs-Auth.php');
return 'KickGuest';
}
elseif (empty($_REQUEST['action']))
{
// Action and board are both empty... BoardIndex!
if (empty($board) && empty($topic))
{
require_once($sourcedir '/BoardIndex.php');
return 'BoardIndex';
}
// Topic is empty, and action is empty.... MessageIndex!
elseif (empty($topic))
{
require_once($sourcedir '/MessageIndex.php');
return 'MessageIndex';
}
// Board is not empty... topic is not empty... action is empty.. Display!
else
{
require_once($sourcedir '/Display.php');
return 'Display';
}
}

// Here's the monstrous $_REQUEST['action'] array - $_REQUEST['action'] => array($file, $function).
$actionArray = array(
'activate' => array('Register.php''Activate'),
'admin' => array('Admin.php''Admin'),
'announce' => array('Post.php''AnnounceTopic'),
'ban' => array('ManageBans.php''Ban'),
'boardrecount' => array('Admin.php''AdminBoardRecount'),
'buddy' => array('Subs-Members.php''BuddyListToggle'),
'calendar' => array('Calendar.php''CalendarMain'),
'cleanperms' => array('Admin.php''CleanupPermissions'),
'collapse' => array('Subs-Boards.php''CollapseCategory'),
'convertentities' => array('Admin.php''ConvertEntities'),
'convertutf8' => array('Admin.php''ConvertUtf8'),
'coppa' => array('Register.php''CoppaForm'),
'deletemsg' => array('RemoveTopic.php''DeleteMessage'),
'detailedversion' => array('Admin.php''VersionDetail'),
'display' => array('Display.php''Display'),
'dlattach' => array('Display.php''Download'),
'dumpdb' => array('DumpDatabase.php''DumpDatabase2'),
'editpoll' => array('Poll.php''EditPoll'),
'editpoll2' => array('Poll.php''EditPoll2'),
'featuresettings' => array('ModSettings.php''ModifyFeatureSettings'),
'featuresettings2' => array('ModSettings.php''ModifyFeatureSettings2'),
'findmember' => array('Subs-Auth.php''JSMembers'),
'help' => array('Help.php''ShowHelp'),
'helpadmin' => array('Help.php''ShowAdminHelp'),
'im' => array('PersonalMessage.php''MessageMain'),
'jsoption' => array('Themes.php''SetJavaScript'),
'jsmodify' => array('Post.php''JavaScriptModify'),
'lock' => array('LockTopic.php''LockTopic'),
'lockVoting' => array('Poll.php''LockVoting'),
'login' => array('LogInOut.php''Login'),
'login2' => array('LogInOut.php''Login2'),
'logout' => array('LogInOut.php''Logout'),
'maintain' => array('Admin.php''Maintenance'),
'manageattachments' => array('ManageAttachments.php''ManageAttachments'),
'manageboards' => array('ManageBoards.php''ManageBoards'),
'managecalendar' => array('ManageCalendar.php''ManageCalendar'),
'managesearch' => array('ManageSearch.php''ManageSearch'),
'markasread' => array('Subs-Boards.php''MarkRead'),
'membergroups' => array('ManageMembergroups.php''ModifyMembergroups'),
'mergetopics' => array('SplitTopics.php''MergeTopics'),
'mlist' => array('Memberlist.php''Memberlist'),
'modifycat' => array('ManageBoards.php''ModifyCat'),
'modifykarma' => array('Karma.php''ModifyKarma'),
'modlog' => array('Modlog.php''ViewModlog'),
'movetopic' => array('MoveTopic.php''MoveTopic'),
'movetopic2' => array('MoveTopic.php''MoveTopic2'),
'news' => array('ManageNews.php''ManageNews'),
'notify' => array('Notify.php''Notify'),
'notifyboard' => array('Notify.php''BoardNotify'),
'optimizetables' => array('Admin.php''OptimizeTables'),
'packageget' => array('PackageGet.php''PackageGet'),
'packages' => array('Packages.php''Packages'),
'permissions' => array('ManagePermissions.php''ModifyPermissions'),
'pgdownload' => array('PackageGet.php''PackageGet'),
'pm' => array('PersonalMessage.php''MessageMain'),
'post' => array('Post.php''Post'),
'post2' => array('Post.php''Post2'),
'postsettings' => array('ManagePosts.php''ManagePostSettings'),
'printpage' => array('Printpage.php''PrintTopic'),
'profile' => array('Profile.php''ModifyProfile'),
'profile2' => array('Profile.php''ModifyProfile2'),
'quotefast' => array('Post.php''QuoteFast'),
'quickmod' => array('Subs-Boards.php''QuickModeration'),
'quickmod2' => array('Subs-Boards.php''QuickModeration2'),
'recent' => array('Recent.php''RecentPosts'),
'regcenter' => array('ManageRegistration.php''RegCenter'),
'register' => array('Register.php''Register'),
'register2' => array('Register.php''Register2'),
'reminder' => array('Reminder.php''RemindMe'),
'removetopic2' => array('RemoveTopic.php''RemoveTopic2'),
'removeoldtopics2' => array('RemoveTopic.php''RemoveOldTopics2'),
'removepoll' => array('Poll.php''RemovePoll'),
'repairboards' => array('RepairBoards.php''RepairBoards'),
'reporttm' => array('SendTopic.php''ReportToModerator'),
'reports' => array('Reports.php''ReportsMain'),
'requestmembers' => array('Subs-Auth.php''RequestMembers'),
'search' => array('Search.php''PlushSearch1'),
'search2' => array('Search.php''PlushSearch2'),
'sendtopic' => array('SendTopic.php''SendTopic'),
'serversettings' => array('ManageServer.php''ModifySettings'),
'serversettings2' => array('ManageServer.php''ModifySettings2'),
'smileys' => array('ManageSmileys.php''ManageSmileys'),
'smstats' => array('Stats.php''SMStats'),
'spellcheck' => array('Subs-Post.php''SpellCheck'),
'splittopics' => array('SplitTopics.php''SplitTopics'),
'stats' => array('Stats.php''DisplayStats'),
'sticky' => array('LockTopic.php''Sticky'),
'theme' => array('Themes.php''ThemesMain'),
'trackip' => array('Profile.php''trackIP'),
'about:mozilla' => array('Karma.php''BookOfUnknown'),
'about:unknown' => array('Karma.php''BookOfUnknown'),
'unread' => array('Recent.php''UnreadTopics'),
'unreadreplies' => array('Recent.php''UnreadTopics'),
'viewErrorLog' => array('ManageErrors.php''ViewErrorLog'),
'viewmembers' => array('ManageMembers.php''ViewMembers'),
'viewprofile' => array('Profile.php''ModifyProfile'),
'verificationcode' => array('Register.php''VerificationCode'),
'vote' => array('Poll.php''Vote'),
'viewquery' => array('ViewQuery.php''ViewQuery'),
'who' => array('Who.php''Who'),
'.xml' => array('News.php''ShowXmlFeed'),
);

// Get the function and file to include - if it's not there, do the board index.
if (!isset($_REQUEST['action']) || !isset($actionArray[$_REQUEST['action']]))
{
// Catch the action with the theme?
if (!empty($settings['catch_action']))
{
require_once($sourcedir '/Themes.php');
return 'WrapAction';
}

// Fall through to the board index then...
require_once($sourcedir '/BoardIndex.php');
return 'BoardIndex';
}

// Otherwise, it was set - so let's go to that action.
require_once($sourcedir '/' $actionArray[$_REQUEST['action']][0]);
return $actionArray[$_REQUEST['action']][1];
}

?>


mejor lo puse así, directo1 XDDD

gracias d enuevo :P
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: ZerK on June 05, 2009, 07:23:33 PM
ese no es el archivo,

el archivo que tienes que poner es el

index.template.php de tu tema

creo que seria

/tuforo/themes/FanTheme/

ahi esta un archivo llamado
index.template.php

ese es el que tienes que poner para poder agregarle el boton
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: JBantha on June 05, 2009, 08:39:21 PM
jajajaja!
entonces ahora si lo encontré! XD
muchas gracias, es qeu en el post del inicio no me acuerdo haberlo leído! ^^

acá está:
<?php
// Version: 1.1.5; index

/* This template is, perhaps, the most important template in the theme. It
contains the main template layer that displays the header and footer of
the forum, namely with main_above and main_below. It also contains the
menu sub template, which appropriately displays the menu; the init sub
template, which is there to set the theme up; (init can be missing.) and
the linktree sub template, which sorts out the link tree.

The init sub template should load any data and set any hardcoded options.

The main_above sub template is what is shown above the main content, and
should contain anything that should be shown up there.

The main_below sub template, conversely, is shown after the main content.
It should probably contain the copyright statement and some other things.

The linktree sub template should display the link tree, using the data
in the $context['linktree'] variable.

The menu sub template should display all the relevant buttons the user
wants and or needs.

For more information on the templating system, please see the site at:
http://www.simplemachines.org/
*/

// Initialize the template... mainly little settings.
function template_init()
{
global $context$settings$options$txt;

/* Use images from default theme when using templates from the default theme?
if this is 'always', images from the default theme will be used.
if this is 'defaults', images from the default theme will only be used with default templates.
if this is 'never' or isn't set at all, images from the default theme will not be used. */
$settings['use_default_images'] = 'never';

/* What document type definition is being used? (for font size and other issues.)
'xhtml' for an XHTML 1.0 document type definition.
'html' for an HTML 4.01 document type definition. */
$settings['doctype'] = 'xhtml';

/* The version this template/theme is for.
This should probably be the version of SMF it was created for. */
$settings['theme_version'] = '1.1';

/* Set a setting that tells the theme that it can render the tabs. */
$settings['use_tabs'] = true;

/* Use plain buttons - as oppossed to text buttons? */
$settings['use_buttons'] = true;

/* Show sticky and lock status seperate from topic icons? */
$settings['seperate_sticky_lock'] = true;
}

// The main sub template above the content.
function template_main_above()
{
global $context$settings$options$scripturl$txt$modSettings;

// Show right to left and the character set for ease of translating.
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"'
$context['right_to_left'] ? ' dir="rtl"' '''><head>
<meta http-equiv="Content-Type" content="text/html; charset='
$context['character_set'], '" />
<meta name="description" content="'
$context['page_title'], '" />', empty($context['robot_no_index']) ? '' '
<meta name="robots" content="noindex" />'
'
<meta name="keywords" content="PHP, MySQL, bulletin, board, free, open, source, smf, simple, machines, forum" />
<script language="JavaScript" type="text/javascript" src="'
$settings['default_theme_url'], '/script.js?fin11"></script>

<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
var smf_theme_url = "'
$settings['theme_url'], '";
var smf_images_url = "'
$settings['images_url'], '";
var smf_scripturl = "'
$scripturl'";
var smf_iso_case_folding = '
$context['server']['iso_case_folding'] ? 'true' 'false'';
var smf_charset = "'
$context['character_set'], '";
// ]]></script>
<title>'
$context['page_title'], '</title>';

// The ?fin11 part of this link is just here to make sure browsers don't cache it wrongly.
echo '
<link rel="stylesheet" type="text/css" href="'
$settings['theme_url'], '/style.css?fin11" />
<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="'
$settings['theme_url'], '/iecss.css" />
<script language="JavaScript" type="text/javascript" src="'
$settings['theme_url'], '/png.js"></script>
<![endif]-->
<link rel="stylesheet" type="text/css" href="'
$settings['default_theme_url'], '/print.css?fin11" media="print" />';

/* Internet Explorer 4/5 and Opera 6 just don't do font sizes properly. (they are big...)
Thus, in Internet Explorer 4, 5, and Opera 6 this will show fonts one size smaller than usual.
Note that this is affected by whether IE 6 is in standards compliance mode.. if not, it will also be big.
Standards compliance mode happens when you use xhtml... */
if ($context['browser']['needs_size_fix'])
echo '
<link rel="stylesheet" type="text/css" href="'
$settings['default_theme_url'], '/fonts-compat.css" />';

// Show all the relative links, such as help, search, contents, and the like.
echo '
<link rel="help" href="'
$scripturl'?action=help" target="_blank" />
<link rel="search" href="' 
$scripturl '?action=search" />
<link rel="contents" href="'
$scripturl'" />';

// If RSS feeds are enabled, advertise the presence of one.
if (!empty($modSettings['xmlnews_enable']))
echo '
<link rel="alternate" type="application/rss+xml" title="'
$context['forum_name'], ' - RSS" href="'$scripturl'?type=rss;action=.xml" />';

// If we're viewing a topic, these should be the previous and next topics, respectively.
if (!empty($context['current_topic']))
echo '
<link rel="prev" href="'
$scripturl'?topic='$context['current_topic'], '.0;prev_next=prev" />
<link rel="next" href="'
$scripturl'?topic='$context['current_topic'], '.0;prev_next=next" />';

// If we're in a board, or a topic for that matter, the index will be the board's index.
if (!empty($context['current_board']))
echo '
<link rel="index" href="' 
$scripturl '?board=' $context['current_board'] . '.0" />';

// We'll have to use the cookie to remember the header...
if ($context['user']['is_guest'])
{
$options['collapse_header'] = !empty($_COOKIE['upshrink']);
$options['collapse_header_ic'] = !empty($_COOKIE['upshrinkIC']);
}

// Output any remaining HTML headers. (from mods, maybe?)
echo $context['html_headers'], '

<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
var current_header = '
, empty($options['collapse_header']) ? 'false' 'true'';

function shrinkHeader(mode)
{'
;

// Guests don't have theme options!!
if ($context['user']['is_guest'])
echo '
document.cookie = "upshrink=" + (mode ? 1 : 0);'
;
else
echo '
smf_setThemeOption("collapse_header", mode ? 1 : 0, null, "'
$context['session_id'], '");';

echo '
document.getElementById("upshrink").src = smf_images_url + (mode ? "/upshrink2.gif" : "/upshrink.gif");

document.getElementById("upshrinkHeader").style.display = mode ? "none" : "";
document.getElementById("upshrinkHeader2").style.display = mode ? "none" : "";

current_header = mode;
}
// ]]></script>'
;

// the routine for the info center upshrink
echo '
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
var current_header_ic = '
, empty($options['collapse_header_ic']) ? 'false' 'true'';

function shrinkHeaderIC(mode)
{'
;

if ($context['user']['is_guest'])
echo '
document.cookie = "upshrinkIC=" + (mode ? 1 : 0);'
;
else
echo '
smf_setThemeOption("collapse_header_ic", mode ? 1 : 0, null, "'
$context['session_id'], '");';

echo '
document.getElementById("upshrink_ic").src = smf_images_url + (mode ? "/expand.gif" : "/collapse.gif");

document.getElementById("upshrinkHeaderIC").style.display = mode ? "none" : "";

current_header_ic = mode;
}
// ]]></script>
</head>
<body>'
;

echo '
<div class="tborder" '
$context['browser']['needs_size_fix'] && !$context['browser']['is_ie6'] ? ' style="width: 100%;"' '''>
,border_ust(), '<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="catbg" height="32">'
;

if (empty($settings['header_logo_url']))
echo '
<span style="font-family: Verdana, sans-serif; font-size: 140%; ">'
$context['forum_name'], '</span>';
else
echo '
<img src="'
$settings['header_logo_url'], '" style="margin: 4px;" alt="'$context['forum_name'], '" />';

echo '
</td>
<td align="right" class="catbg">
<img src="'
$settings['images_url'], '/smflogo.gif" style="margin: 2px;" alt="" />
</td>
</tr>
</table>'
;


// display user name
echo '
<table width="100%" cellpadding="0" cellspacing="0" border="0" >
<tr>'
;

if($context['user']['is_logged'])
echo '
<td class="titlebg2" height="32">
<span style="font-size: 130%;"> '
$txt['hello_member_ndt'], ' <b>'$context['user']['name'] , '</b></span>
</td>'
;

// display the time
echo '
<td class="titlebg2" height="32" align="right">
<span class="smalltext">' 
$context['current_time'], '</span>';

// this is the upshrink button for the user info section
echo '
<a href="#" onclick="shrinkHeader(!current_header); return false;"><img id="upshrink" src="'
$settings['images_url'], '/', empty($options['collapse_header']) ? 'upshrink.gif' 'upshrink2.gif''" alt="*" title="'$txt['upshrink_description'], '" align="bottom" style="margin: 0 1ex;" /></a>
</td>
</tr>
<tr id="upshrinkHeader"'
, empty($options['collapse_header']) ? '' ' style="display: none;"''>
<td valign="top" colspan="2">
<table width="100%" class="bordercolor" cellpadding="8" cellspacing="1" border="0" style="margin-top: 1px;">
<tr>'
;

if (!empty($context['user']['avatar']))
echo '
<td class="windowbg" valign="middle">'
$context['user']['avatar']['image'], '</td>';

echo '
<td colspan="2" width="100%" valign="top" class="windowbg2"><span class="middletext">'
;

// If the user is logged in, display stuff like their name, new messages, etc.
if ($context['user']['is_logged'])
{
echo '
<a href="'
$scripturl'?action=unread">'$txt['unread_since_visit'], '</a> <br />
<a href="'
$scripturl'?action=unreadreplies">'$txt['show_unread_replies'], '</a><br />';

}
// Otherwise they're a guest - send them a lovely greeting...
else
echo $txt['welcome_guest'];

// Now, onto our second set of info, are they logged in again?
if ($context['user']['is_logged'])
{
// Is the forum in maintenance mode?
if ($context['in_maintenance'] && $context['user']['is_admin'])
echo '
<b>'
$txt[616], '</b><br />';

// Are there any members waiting for approval?
if (!empty($context['unapproved_members']))
echo '
'
$context['unapproved_members'] == $txt['approve_thereis'] : $txt['approve_thereare'], ' <a href="'$scripturl'?action=viewmembers;sa=browse;type=approve">'$context['unapproved_members'] == $txt['approve_member'] : $context['unapproved_members'] . ' ' $txt['approve_members'], '</a> '$txt['approve_members_waiting'], '<br />';

// Show the total time logged in?
if (!empty($context['user']['total_time_logged_in']))
{
echo '
'
$txt['totalTimeLogged1'];

// If days is just zero, don't bother to show it.
if ($context['user']['total_time_logged_in']['days'] > 0)
echo $context['user']['total_time_logged_in']['days'] . $txt['totalTimeLogged2'];

// Same with hours - only show it if it's above zero.
if ($context['user']['total_time_logged_in']['hours'] > 0)
echo $context['user']['total_time_logged_in']['hours'] . $txt['totalTimeLogged3'];

// But, let's always show minutes - Time wasted here: 0 minutes ;).
echo $context['user']['total_time_logged_in']['minutes'], $txt['totalTimeLogged4'], '<br />';
}
echo ' </span>';
}
// Otherwise they're a guest - this time ask them to either register or login - lazy bums...
else
{
echo ' </span>
<script language="JavaScript" type="text/javascript" src="'
$settings['default_theme_url'], '/sha1.js"></script>

<form action="'
$scripturl'?action=login2" method="post" accept-charset="'$context['character_set'], '" class="middletext" style="margin: 3px 1ex 1px 0;"', empty($context['disable_login_hashing']) ? ' onsubmit="hashLoginPassword(this, \'' $context['session_id'] . '\');"' '''>
<input type="text" name="user" size="10" /> <input type="password" name="passwrd" size="10" />
<select name="cookielength">
<option value="60">'
$txt['smf53'], '</option>
<option value="1440">'
$txt['smf47'], '</option>
<option value="10080">'
$txt['smf48'], '</option>
<option value="43200">'
$txt['smf49'], '</option>
<option value="-1" selected="selected">'
$txt['smf50'], '</option>
</select>
<input type="submit" value="'
$txt[34], '" /><br />
<span class="middletext">'
$txt['smf52'], '</span>
<input type="hidden" name="hash_passwrd" value="" />
</form>'
;
}

echo '
</td>
</tr>
</table>
</td>
</tr>
</table>'
;

echo '
<table id="upshrinkHeader2"'
, empty($options['collapse_header']) ? '' ' style="display: none;"'' width="100%" cellpadding="4" cellspacing="0" border="0">
<tr>'
;

// Show a random news item? (or you could pick one from news_lines...)
if (!empty($settings['enable_news']))
echo '
<td width="90%" class="titlebg2">
<span class="smalltext"><b>'
$txt[102], '</b>: '$context['random_news_line'], '</span>
</td>'
;
echo '
<td class="titlebg2" align="right" nowrap="nowrap" valign="top">
<form action="'
$scripturl'?action=search2" method="post" accept-charset="'$context['character_set'], '" style="margin: 0;">
<a href="'
$scripturl'?action=search;advanced"><img src="'.$settings['images_url'].'/filter.gif" align="middle" style="margin: 0 1ex;" alt="" /></a>
<input type="text" name="search" value="" style="width: 190px;" />&nbsp;
<input type="submit" name="submit" value="'
$txt[182], '" style="width: 11ex;" />
<input type="hidden" name="advanced" value="0" />'
;

// Search within current topic?
if (!empty($context['current_topic']))
echo '
<input type="hidden" name="topic" value="'
$context['current_topic'], '" />';

// If we're on a certain board, limit it to this board ;).
elseif (!empty($context['current_board']))
echo '
<input type="hidden" name="brd['
$context['current_board'], ']" value="'$context['current_board'], '" />';

echo '
</form>
</td>
</tr>
</table>' 
,border_alt(), '
</div>'
;


// Show the menu here, according to the menu sub template.
template_menu();


// The main content should go here.
echo '
<div id="bodyarea" style="padding: 0px;">'
;
}

function 
template_main_below()
{
global $context$settings$options$scripturl$txt;

echo '
</div>'
;

// Show the "Powered by" and "Valid" logos, as well as the copyright. Remember, the copyright must be somewhere!
echo '

<div id="footerarea" style="text-align: center; padding-bottom: 1ex;'
$context['browser']['needs_size_fix'] && !$context['browser']['is_ie6'] ? ' width: 100%;' '''">
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
function smfFooterHighlight(element, value)
{
element.src = smf_images_url + "/" + (value ? "h_" : "") + element.id + ".gif";
}
// ]]></script>
<table cellspacing="0" cellpadding="3" border="0" align="center" width="100%">
<tr>

<td valign="middle" class="smalltext" align="center" style="white-space: nowrap;">
'
theme_copyright(), '<br />FanTheme By <a href="http://www.smftr.com" title="smf">Burak</a>
</td>

</tr>
</table>'
;

// Show the load time?
if ($context['show_load_time'])
echo '
<span class="smalltext">'
$txt['smf301'], $context['load_time'], $txt['smf302'], $context['load_queries'], $txt['smf302b'], '</span>';

// This is an interesting bug in Internet Explorer AND Safari. Rather annoying, it makes overflows just not tall enough.
if (($context['browser']['is_ie'] && !$context['browser']['is_ie4']) || $context['browser']['is_mac_ie'] || $context['browser']['is_safari'] || $context['browser']['is_firefox'])
{
// The purpose of this code is to fix the height of overflow: auto div blocks, because IE can't figure it out for itself.
echo '
<script language="JavaScript" type="text/javascript"><!-- // --><![CDATA['
;

// Unfortunately, Safari does not have a "getComputedStyle" implementation yet, so we have to just do it to code...
if ($context['browser']['is_safari'])
echo '
window.addEventListener("load", smf_codeFix, false);

function smf_codeFix()
{
var codeFix = document.getElementsByTagName ? document.getElementsByTagName("div") : document.all.tags("div");

for (var i = 0; i < codeFix.length; i++)
{
if ((codeFix[i].className == "code" || codeFix[i].className == "post" || codeFix[i].className == "signature") && codeFix[i].offsetHeight < 20)
codeFix[i].style.height = (codeFix[i].offsetHeight + 20) + "px";
}
}'
;
elseif ($context['browser']['is_firefox'])
echo '
window.addEventListener("load", smf_codeFix, false);
function smf_codeFix()
{
var codeFix = document.getElementsByTagName ? document.getElementsByTagName("div") : document.all.tags("div");

for (var i = 0; i < codeFix.length; i++)
{
if (codeFix[i].className == "code" && (codeFix[i].scrollWidth > codeFix[i].clientWidth || codeFix[i].clientWidth == 0))
codeFix[i].style.overflow = "scroll";
}
}'
;
else
echo '
var window_oldOnload = window.onload;
window.onload = smf_codeFix;

function smf_codeFix()
{
var codeFix = document.getElementsByTagName ? document.getElementsByTagName("div") : document.all.tags("div");

for (var i = codeFix.length - 1; i > 0; i--)
{
if (codeFix[i].currentStyle.overflow == "auto" && (codeFix[i].currentStyle.height == "" || codeFix[i].currentStyle.height == "auto") && (codeFix[i].scrollWidth > codeFix[i].clientWidth || codeFix[i].clientWidth == 0) && (codeFix[i].offsetHeight != 0 || codeFix[i].className == "code"))
codeFix[i].style.height = (codeFix[i].offsetHeight + 36) + "px";
}

if (window_oldOnload)
{
window_oldOnload();
window_oldOnload = null;
}
}'
;

echo '
// ]]></script>'
;
}

echo '
</div>'
;

// The following will be used to let the user know that some AJAX process is running
echo '
<div id="ajax_in_progress" style="display: none;'
$context['browser']['is_ie'] && !$context['browser']['is_ie7'] ? 'position: absolute;' '''">'$txt['ajax_in_progress'], '</div>
</body></html>'
;
}

// Show a linktree. This is that thing that shows "My Community | General Category | General Discussion"..
function theme_linktree()
{
global $context$settings$options;

echo '' border_ust(), '<div class="nav" style="font-size: smaller; ">';

// Each tree item has a URL and name. Some may have extra_before and extra_after.
foreach ($context['linktree'] as $link_num => $tree)
{
// Show something before the link?
if (isset($tree['extra_before']))
echo $tree['extra_before'];

// Show the link, including a URL if it should have one.
echo '<b>'$settings['linktree_link'] && isset($tree['url']) ? '<a href="' $tree['url'] . '" class="nav">' $tree['name'] . '</a>' $tree['name'], '</b>';

// Show something after the link...?
if (isset($tree['extra_after']))
echo $tree['extra_after'];

// Don't show a separator for the last one.
if ($link_num != count($context['linktree']) - 1)
echo '&nbsp;>&nbsp;';
}

echo '</div>' border_alt(), '';
}
// border
function border_ust()
{

echo'
<div class="ust"></div>
<div class="orta">
<div style="padding: 0px 25px 0px 25px;">
'
;
}
function 
border_alt()
{

echo'
</div>
</div>
<div class="alt"></div>
'
;
}

// Show the menu up top. Something like [home] [help] [profile] [logout]...
function template_menu()
{
global $context$settings$options$scripturl$txt;

// Work out where we currently are.
$current_action 'home';
if (in_array($context['current_action'], array('admin''ban''boardrecount''cleanperms''detailedversion''dumpdb''featuresettings''featuresettings2''findmember''maintain''manageattachments''manageboards''managecalendar''managesearch''membergroups''modlog''news''optimizetables''packageget''packages''permissions''pgdownload''postsettings''regcenter''repairboards''reports''serversettings''serversettings2''smileys''viewErrorLog''viewmembers')))
$current_action 'admin';
if (in_array($context['current_action'], array('search''admin''calendar''profile''mlist''register''login''help''pm')))
$current_action $context['current_action'];
if ($context['current_action'] == 'search2')
$current_action 'search';
if ($context['current_action'] == 'theme')
$current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' 'profile' 'admin';

// Are we using right-to-left orientation?
if ($context['right_to_left'])
{
$first 'last';
$last 'first';
}
else
{
$first 'first';
$last 'last';
}

// Show the start of the tab section.
echo '
<table cellpadding="0" cellspacing="0" border="0" style="margin-left: 10px;">
<tr>
<td class="maintab_' 
$first '">&nbsp;</td>';

// Show the [home] button.
echo ($current_action=='home' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
<td valign="top" class="maintab_' 
$current_action == 'home' 'active_back' 'back' '">
<a href="'
$scripturl'">' $txt[103] , '</a>
</td>' 
$current_action == 'home' '<td class="maintab_active_' $last '">&nbsp;</td>' '';

// Show the [help] button.
echo ($current_action == 'help' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
<td valign="top" class="maintab_' 
$current_action == 'help' 'active_back' 'back' '">
<a href="'
$scripturl'?action=help">' $txt[119] , '</a>
</td>' 
$current_action == 'help' '<td class="maintab_active_' $last '">&nbsp;</td>' '';

// How about the [search] button?
if ($context['allow_search'])
echo ($current_action == 'search' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
<td valign="top" class="maintab_' 
$current_action == 'search' 'active_back' 'back' '">
<a href="'
$scripturl'?action=search">' $txt[182] , '</a>
</td>' 
$current_action == 'search' '<td class="maintab_active_' $last '">&nbsp;</td>' '';

// Is the user allowed to administrate at all? ([admin])
if ($context['allow_admin'])
echo ($current_action == 'admin' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
<td valign="top" class="maintab_' 
$current_action == 'admin' 'active_back' 'back' '">
<a href="'
$scripturl'?action=admin">' $txt[2] , '</a>
</td>' 
$current_action == 'admin' '<td class="maintab_active_' $last '">&nbsp;</td>' '';

// Edit Profile... [profile]
if ($context['allow_edit_profile'])
echo ($current_action == 'profile' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
<td valign="top" class="maintab_' 
$current_action == 'profile' 'active_back' 'back' '">
<a href="'
$scripturl'?action=profile">' $txt[79] , '</a>
</td>' 
$current_action == 'profile' '<td class="maintab_active_' $last '">&nbsp;</td>' '';

// Go to PM center... [pm]
if ($context['user']['is_logged'] && $context['allow_pm'])
echo ($current_action == 'pm' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
<td valign="top" class="maintab_' 
$current_action == 'pm' 'active_back' 'back' '">
<a href="'
$scripturl'?action=pm">' $txt['pm_short'] , ' '$context['user']['unread_messages'] > '[<strong>'$context['user']['unread_messages'] . '</strong>]' '' '</a>
</td>' 
$current_action == 'pm' '<td class="maintab_active_' $last '">&nbsp;</td>' '';

// The [calendar]!
if ($context['allow_calendar'])
echo ($current_action == 'calendar' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
<td valign="top" class="maintab_' 
$current_action == 'calendar' 'active_back' 'back' '">
<a href="'
$scripturl'?action=calendar">' $txt['calendar24'] , '</a>
</td>' 
$current_action == 'calendar' '<td class="maintab_active_' $last '">&nbsp;</td>' '';

// the [member] list button
if ($context['allow_memberlist'])
echo ($current_action == 'mlist' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
<td valign="top" class="maintab_' 
$current_action == 'mlist' 'active_back' 'back' '">
<a href="'
$scripturl'?action=mlist">' $txt[331] , '</a>
</td>' 
$current_action == 'mlist' '<td class="maintab_active_' $last '">&nbsp;</td>' '';


// If the user is a guest, show [login] button.
if ($context['user']['is_guest'])
echo ($current_action == 'login' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
<td valign="top" class="maintab_' 
$current_action == 'login' 'active_back' 'back' '">
<a href="'
$scripturl'?action=login">' $txt[34] , '</a>
</td>' 
$current_action == 'login' '<td class="maintab_active_' $last '">&nbsp;</td>' '';


// If the user is a guest, also show [register] button.
if ($context['user']['is_guest'])
echo ($current_action == 'register' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
<td valign="top" class="maintab_' 
$current_action == 'register' 'active_back' 'back' '">
<a href="'
$scripturl'?action=register">' $txt[97] , '</a>
</td>' 
$current_action == 'register' '<td class="maintab_active_' $last '">&nbsp;</td>' '';


// Otherwise, they might want to [logout]...
if ($context['user']['is_logged'])
echo ($current_action == 'logout' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
<td valign="top" class="maintab_' 
$current_action == 'logout' 'active_back' 'back' '">
<a href="'
$scripturl'?action=logout;sesc='$context['session_id'], '">' $txt[108] , '</a>
</td>' 
$current_action == 'logout' '<td class="maintab_active_' $last '">&nbsp;</td>' '';

// The end of tab section.
echo '
<td class="maintab_' 
$last '">&nbsp;</td>
</tr>
</table>'
;

}

// Generate a strip of buttons.
function template_button_strip($button_strip$direction 'top'$force_reset false$custom_td '')
{
global $settings$buttons$context$txt$scripturl;

// Create the buttons...
foreach ($button_strip as $key => $value)
{
if (isset($value['test']) && empty($context[$value['test']]))
{
unset($button_strip[$key]);
continue;
}
elseif (!isset($buttons[$key]) || $force_reset)
$buttons[$key] = '<a href="' $value['url'] . '" ' .( isset($value['custom']) ? $value['custom'] : '') . '>' $txt[$value['text']] . '</a>';

$button_strip[$key] = $buttons[$key];
}

if (empty($button_strip))
return '<td>&nbsp;</td>';

echo '
<td class="'
$direction == 'top' 'main' 'mirror''tab_' $context['right_to_left'] ? 'last' 'first' '">&nbsp;</td>
<td class="'
$direction == 'top' 'main' 'mirror''tab_back">'implode(' &nbsp;|&nbsp; '$button_strip) , '</td>
<td class="'
$direction == 'top' 'main' 'mirror''tab_' $context['right_to_left'] ? 'first' 'last' '">&nbsp;</td>';
}

?>


Intenté agregarle lo qeu dice pero vean como qeuda, mal:

OSea, si encontre la parte de los botones, pero qeuda mal :S


(http://i124.photobucket.com/albums/p17/JBantha/SSblogbadbuttonXD.png)
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: ZerK on June 05, 2009, 11:10:35 PM
tu tema parece que tiene un ancho maximo, tienes dos opciones:

1- eliminar del menu el link de ayuda (la ayuda esta en ingles y no creo que  nadie la use) o eliminar el calendario.

2- arreglar el style.css de tu tema para que entren mas links.

Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: JBantha on June 06, 2009, 05:22:52 PM
Quote from: El Player on June 05, 2009, 11:10:35 PM
tu tema parece que tiene un ancho maximo, tienes dos opciones:

1- eliminar del menu el link de ayuda (la ayuda esta en ingles y no creo que  nadie la use) o eliminar el calendario.

2- arreglar el style.css de tu tema para que entren mas links.


Gracias, lo que hice fue eliminar la ayuda, que aunque la tengo en español, la verda tampoco creoq eu nadie la vaya a usar, sin embargo el resultado fue el mismo de la imagen aterior, bueno, con la excepción qeu ya no parece el menú de ayuda! X3 PEro lo que dice BLOG aprece ahí arriba S:

te agrego el style.css a ver si me puedes ayudar :S

/* Normal, standard links. */
a:link
{
color: #dedede;
text-decoration: none;
}
a:visited
{
color: #dedede;
text-decoration: none;
}
a:hover
{
text-decoration: underline;
}

/* Navigation links - for the link tree. */
.nav, .nav:link, .nav:visited
{
color: #000000;
text-decoration: none;
}
a.nav:hover
{
color: #cc3333;
text-decoration: underline;
}

/* Tables should show empty cells. */
table
{
empty-cells: show;
}

/* By default (td, body..) use verdana in black. */
body, td, th , tr
{
color: #eeeeee;
font-size: small;
font-family: verdana, sans-serif;

}

/* The main body of the entire forum. */
body
{
background: url(images/bg.jpg) #abadac 100% 100% no-repeat;
background-attachment: fixed;
margin: 0 auto;
width:980px;
padding: 22:43 28.07.20080px;
}

/* Input boxes - just a bit smaller than normal so they align well. */
input, textarea, button
{
color: #efefef;
font-family: verdana, sans-serif;
background:transparent;
, border: 1px solid #efefef;
}
input, button
{
font-size: 90%;
}

textarea
{
font-size: 100%;
color: #000000;
font-family: verdana, sans-serif;
}

/* All input elements that are checkboxes or radio buttons. */
input.check
{
}

/* Selects are a bit smaller, because it makes them look even better 8). */
select
{
font-size: 90%;
font-weight: normal;
color: #000000;
font-family: verdana, sans-serif;
}

/* Standard horizontal rule.. ([hr], etc.) */
hr, .hrcolor
{
height: 1px;
border: 0;
color: #666666;
background-color: #666666;
}

/* No image should have a border when linked */
a img
{
border: 0;
}
/* A quote, perhaps from another post. */
.quote
{
color: #000000;
background-color: #D7DAEC;
border: 1px solid #000000;
margin: 1px;
padding: 1px;
font-size: x-small;
line-height: 1.4em;
}

/* A code block - maybe even PHP ;). */
.code
{
color: #000000;
background-color: #dddddd;
font-family: "courier new", "times new roman", monospace;
font-size: x-small;
line-height: 1.3em;
/* Put a nice border around it. */
border: 1px solid #000000;
margin: 1px auto 1px auto;
padding: 1px;
width: 99%;
/* Don't wrap its contents, and show scrollbars. */
white-space: nowrap;
overflow: auto;
/* Stop after about 24 lines, and just show a scrollbar. */
max-height: 24em;
}

/* The "Quote:" and "Code:" header parts... */
.quoteheader, .codeheader
{
color: #000000;
text-decoration: none;
font-style: normal;
font-weight: bold;
font-size: x-small;
line-height: 1.2em;
}

/* Generally, those [?] icons.  This makes your cursor a help icon. */
.help
{
cursor: help;
}

/* /me uses this a lot. (emote, try typing /me in a post.) */
.meaction
{
color: red;
}

/* The main post box - this makes it as wide as possible. */
.editor
{
width: 96%;
}

/* Highlighted text - such as search results. */
.highlight
{
background-color: yellow;
font-weight: bold;
color: black;
}

/* Alternating backgrounds for posts, and several other sections of the forum. */
.windowbg, #preview_body
{
color: #7a7b7a;

}
.windowbg2
{
color: #7a7b7a;

}
.windowbg3
{
color: #7a7b7a;

}
/* the today container in calendar */
.calendar_today
{
background-color: #FFFFFF;
}

/* These are used primarily for titles, but also for headers (the row that says what everything in the table is.) */
.titlebg, tr.titlebg th, tr.titlebg td, .titlebg2, tr.titlebg2 th, tr.titlebg2 td
{
color: #848282;
font-style: normal;
margin-bottom: 1px;
border-top: 1px solid #6d6d6d;
border-bottom: 1px solid #6d6d6d;
margin-top: 1px;
padding-left: 10px;
padding-right: 10px;
}
.titlebg, .titlebg a:link, .titlebg a:visited
{
font-weight: bold;
color: #848282;
font-style: normal;
}

.titlebg a:hover
{
color: #404040;
}
/* same as titlebg, but used where bold text is not needed */
.titlebg2 a:link, .titlebg2 a:visited
{
color: #848282;
font-style: normal;
text-decoration: underline;
}

.titlebg2 a:hover
{
text-decoration: underline;
}

/* This is used for categories, page indexes, and several other areas in the forum.
.catbg and .catbg2 is for boardindex, while .catbg3 is for messageindex and display headers*/
.catbg , tr.catbg td , .catbg3 , tr.catbg3 td
{
color: #ffffff;
padding-left: 10px;
padding-right: 10px;
}
.catbg2 , tr.catbg2 td
{
color: #ffffff;
padding-left: 10px;
padding-right: 10px;
}
.catbg, .catbg2, .catbg3
{
border-bottom: 0px;
}
.catbg, .catbg2
{
font-weight: bold;
}
.catbg3, tr.catbg3 td, .catbg3 a:link, .catbg3 a:visited
{
font-size: 95%;
color: white;
text-decoration: none;
}
.catbg a:link, .catbg a:visited , .catbg2 a:link, .catbg2 a:visited
{
color: white;
text-decoration: none;
}
.catbg a:hover, .catbg2 a:hover, .catbg3 a:hover
{
color: #e0e0ff;
}
/* This is used for tables that have a grid/border background color (such as the topic listing.) */
.bordercolor
{
padding: 0px;
border-bottom: 1px solid #8f9190;

}

/* This is used on tables that should just have a border around them. */
.tborder
{
padding: 1px;
border: 0px;

}

/* Default font sizes: small (8pt), normal (10pt), and large (14pt). */
.smalltext
{
font-size: x-small;
font-family: verdana, sans-serif;
}
.middletext
{
font-size: 90%;
}
.normaltext
{
font-size: small;
}
.largetext
{
font-size: large;
}


/* Posts and personal messages displayed throughout the forum. */
.post, .personalmessage
{
width: 100%;
overflow: auto;
line-height: 1.3em;
}

/* All the signatures used in the forum.  If your forum users use Mozilla, Opera, or Safari, you might add max-height here ;). */
.signature
{
width: 100%;
overflow: auto;
padding-bottom: 3px;
line-height: 1.3em;
}

/* Sometimes there will be an error when you post */
.error
{
color: red;
}


/* definitions for the main tab, active means the tab reflects which page is displayed */
.maintab_first {
VERTICAL-ALIGN: top
}
.maintab_back {
VERTICAL-ALIGN: top
}
.maintab_last {
VERTICAL-ALIGN: top
}
.maintab_active_first {
VERTICAL-ALIGN: top
}
.maintab_active_back {
VERTICAL-ALIGN: top
}
.maintab_active_last {
VERTICAL-ALIGN: top
}
.maintab_back {
PADDING-RIGHT: 1em; PADDING-LEFT: 1em; FONT-SIZE: 0.85em; PADDING-BOTTOM: 0.3em; PADDING-TOP: 0.3em; TEXT-DECORATION: none
}
.maintab_active_back {
PADDING-RIGHT: 1em; PADDING-LEFT: 1em; FONT-SIZE: 0.85em; PADDING-BOTTOM: 0.3em; PADDING-TOP: 0.3em; TEXT-DECORATION: none
}
.maintab_first {
DISPLAY: none
}
.maintab_back {
BORDER-BOTTOM: #1a1a1a 3px solid
}
.maintab_last {
DISPLAY: none
}
.maintab_active_first {
DISPLAY: none
}
.maintab_active_back {
COLOR: #efefef; BORDER-BOTTOM: #1a1a1a 3px solid; TEXT-DECORATION: none
}
.maintab_active_last {
DISPLAY: none
}
.maintab_back A:link {
color: #efefef;
TEXT-DECORATION: none;
}
.maintab_back A:visited {
TEXT-DECORATION: none
}
.maintab_active_back A:link {
color: #efefef;
TEXT-DECORATION: none;
}
.maintab_active_back A:visited {
TEXT-DECORATION: none
}
.maintab_back A:hover {
BORDER-BOTTOM-WIDTH: 3px; BORDER-BOTTOM-COLOR: #efefef; COLOR: #efefef; TEXT-DECORATION: none;
}
.maintab_active_back A:hover {
BORDER-BOTTOM-WIDTH: 3px; BORDER-BOTTOM-COLOR: #efefef; COLOR: #efefef; TEXT-DECORATION: none;
}
.mirrortab_first {
VERTICAL-ALIGN: top
}
.mirrortab_back {
VERTICAL-ALIGN: top
}
.mirrortab_last {
VERTICAL-ALIGN: top
}
.mirrortab_active_first {
VERTICAL-ALIGN: top
}
.mirrortab_active_back {
VERTICAL-ALIGN: top
}
.mirrortab_active_last {
VERTICAL-ALIGN: top
}
.mirrortab_back {
PADDING-RIGHT: 1em; PADDING-LEFT: 1em; FONT-SIZE: 0.85em; PADDING-BOTTOM: 0.3em; PADDING-TOP: 0.3em; TEXT-DECORATION: none
}
.mirrortab_active_back {
PADDING-RIGHT: 1em; PADDING-LEFT: 1em; FONT-SIZE: 0.85em; PADDING-BOTTOM: 0.3em; PADDING-TOP: 0.3em; TEXT-DECORATION: none
}
.mirrortab_first {
DISPLAY: none
}
.mirrortab_back {
BORDER-TOP: #1a1a1a 3px solid
}
.mirrortab_last {
DISPLAY: none
}
.mirrortab_active_first {
DISPLAY: none
}
.mirrortab_active_back {
BORDER-TOP: #1a1a1a 3px solid; COLOR: #efefef; TEXT-DECORATION: none
}
.mirrortab_active_last {
DISPLAY: none
}
.mirrortab_back A:link {
TEXT-DECORATION: none;
color: #efefef;
}
.mirrortab_back A:visited {
TEXT-DECORATION: none
}
.mirrortab_active_back A:link {
TEXT-DECORATION: none
}
.mirrortab_active_back A:visited {
TEXT-DECORATION: none
}
.mirrortab_back A:hover {
BORDER-TOP-WIDTH: 3px; COLOR: #efefef; BORDER-TOP-COLOR: #1a1a1a; TEXT-DECORATION: none
}
.mirrortab_active_back A:hover {
BORDER-TOP-WIDTH: 3px; COLOR: #efefef; BORDER-TOP-COLOR: #efefef; TEXT-DECORATION: none
}
/* The AJAX notifier */
#ajax_in_progress
{
background: #32CD32;
color: white;
text-align: center;
font-weight: bold;
font-size: 18pt;
padding: 3px;
width: 100%;
position: fixed;
top: 0;
left: 0;
}
.orta
{
background-image: url('images/orta.png');
background-repeat: repeat-y;
width: 980px;

text-align:left;

}

.ust
{
background-image: url('images/ust.png');
background-repeat: no-repeat;
width: 980px;
height: 27px;
color:efefef;
margin-top:-8px;

}

.alt
{
background-image: url('images/alt.png');
background-repeat: no-repeat;
width: 980px;
height: 22px;
}
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: ZerK on June 06, 2009, 08:43:33 PM
Prueba con este index.template.php



<?php
// Version: 1.1.5; index

/*   This template is, perhaps, the most important template in the theme. It
   contains the main template layer that displays the header and footer of
   the forum, namely with main_above and main_below. It also contains the
   menu sub template, which appropriately displays the menu; the init sub
   template, which is there to set the theme up; (init can be missing.) and
   the linktree sub template, which sorts out the link tree.

   The init sub template should load any data and set any hardcoded options.

   The main_above sub template is what is shown above the main content, and
   should contain anything that should be shown up there.

   The main_below sub template, conversely, is shown after the main content.
   It should probably contain the copyright statement and some other things.

   The linktree sub template should display the link tree, using the data
   in the $context['linktree'] variable.

   The menu sub template should display all the relevant buttons the user
   wants and or needs.

   For more information on the templating system, please see the site at:
   http://www.simplemachines.org/
*/

// Initialize the template... mainly little settings.
function template_init()
{
   global 
$context$settings$options$txt;

   
/* Use images from default theme when using templates from the default theme?
      if this is 'always', images from the default theme will be used.
      if this is 'defaults', images from the default theme will only be used with default templates.
      if this is 'never' or isn't set at all, images from the default theme will not be used. */
   
$settings['use_default_images'] = 'never';

   
/* What document type definition is being used? (for font size and other issues.)
      'xhtml' for an XHTML 1.0 document type definition.
      'html' for an HTML 4.01 document type definition. */
   
$settings['doctype'] = 'xhtml';

   
/* The version this template/theme is for.
      This should probably be the version of SMF it was created for. */
   
$settings['theme_version'] = '1.1';

   
/* Set a setting that tells the theme that it can render the tabs. */
   
$settings['use_tabs'] = true;

   
/* Use plain buttons - as oppossed to text buttons? */
   
$settings['use_buttons'] = true;

   
/* Show sticky and lock status seperate from topic icons? */
   
$settings['seperate_sticky_lock'] = true;
}

// The main sub template above the content.
function template_main_above()
{
   global 
$context$settings$options$scripturl$txt$modSettings;

   
// Show right to left and the character set for ease of translating.
   
echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"'
$context['right_to_left'] ? ' dir="rtl"' '''><head>
   <meta http-equiv="Content-Type" content="text/html; charset='
$context['character_set'], '" />
   <meta name="description" content="'
$context['page_title'], '" />', empty($context['robot_no_index']) ? '' '
   <meta name="robots" content="noindex" />'
'
   <meta name="keywords" content="PHP, MySQL, bulletin, board, free, open, source, smf, simple, machines, forum" />
   <script language="JavaScript" type="text/javascript" src="'
$settings['default_theme_url'], '/script.js?fin11"></script>

   <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
      var smf_theme_url = "'
$settings['theme_url'], '";
      var smf_images_url = "'
$settings['images_url'], '";
      var smf_scripturl = "'
$scripturl'";
      var smf_iso_case_folding = '
$context['server']['iso_case_folding'] ? 'true' 'false'';
      var smf_charset = "'
$context['character_set'], '";
   // ]]></script>
   <title>'
$context['page_title'], '</title>';

   
// The ?fin11 part of this link is just here to make sure browsers don't cache it wrongly.
   
echo '
   <link rel="stylesheet" type="text/css" href="'
$settings['theme_url'], '/style.css?fin11" />
   <!--[if IE 6]>
   <link rel="stylesheet" type="text/css" href="'
$settings['theme_url'], '/iecss.css" />
   <script language="JavaScript" type="text/javascript" src="'
$settings['theme_url'], '/png.js"></script>
   <![endif]-->
   <link rel="stylesheet" type="text/css" href="'
$settings['default_theme_url'], '/print.css?fin11" media="print" />';

   
/* Internet Explorer 4/5 and Opera 6 just don't do font sizes properly. (they are big...)
      Thus, in Internet Explorer 4, 5, and Opera 6 this will show fonts one size smaller than usual.
      Note that this is affected by whether IE 6 is in standards compliance mode.. if not, it will also be big.
      Standards compliance mode happens when you use xhtml... */
   
if ($context['browser']['needs_size_fix'])
      echo 
'
   <link rel="stylesheet" type="text/css" href="'
$settings['default_theme_url'], '/fonts-compat.css" />';

   
// Show all the relative links, such as help, search, contents, and the like.
   
echo '
   <link rel="help" href="'
$scripturl'?action=help" target="_blank" />
   <link rel="search" href="' 
$scripturl '?action=search" />
   <link rel="contents" href="'
$scripturl'" />';

   
// If RSS feeds are enabled, advertise the presence of one.
   
if (!empty($modSettings['xmlnews_enable']))
      echo 
'
   <link rel="alternate" type="application/rss+xml" title="'
$context['forum_name'], ' - RSS" href="'$scripturl'?type=rss;action=.xml" />';

   
// If we're viewing a topic, these should be the previous and next topics, respectively.
   
if (!empty($context['current_topic']))
      echo 
'
   <link rel="prev" href="'
$scripturl'?topic='$context['current_topic'], '.0;prev_next=prev" />
   <link rel="next" href="'
$scripturl'?topic='$context['current_topic'], '.0;prev_next=next" />';

   
// If we're in a board, or a topic for that matter, the index will be the board's index.
   
if (!empty($context['current_board']))
      echo 
'
   <link rel="index" href="' 
$scripturl '?board=' $context['current_board'] . '.0" />';

   
// We'll have to use the cookie to remember the header...
   
if ($context['user']['is_guest'])
   {
      
$options['collapse_header'] = !empty($_COOKIE['upshrink']);
      
$options['collapse_header_ic'] = !empty($_COOKIE['upshrinkIC']);
   }

   
// Output any remaining HTML headers. (from mods, maybe?)
   
echo $context['html_headers'], '

   <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
      var current_header = '
, empty($options['collapse_header']) ? 'false' 'true'';

      function shrinkHeader(mode)
      {'
;

   
// Guests don't have theme options!!
   
if ($context['user']['is_guest'])
      echo 
'
         document.cookie = "upshrink=" + (mode ? 1 : 0);'
;
   else
      echo 
'
         smf_setThemeOption("collapse_header", mode ? 1 : 0, null, "'
$context['session_id'], '");';

   echo 
'
         document.getElementById("upshrink").src = smf_images_url + (mode ? "/upshrink2.gif" : "/upshrink.gif");

         document.getElementById("upshrinkHeader").style.display = mode ? "none" : "";
         document.getElementById("upshrinkHeader2").style.display = mode ? "none" : "";

         current_header = mode;
      }
   // ]]></script>'
;

   
// the routine for the info center upshrink
   
echo '
      <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
         var current_header_ic = '
, empty($options['collapse_header_ic']) ? 'false' 'true'';

         function shrinkHeaderIC(mode)
         {'
;

   if (
$context['user']['is_guest'])
      echo 
'
            document.cookie = "upshrinkIC=" + (mode ? 1 : 0);'
;
   else
      echo 
'
            smf_setThemeOption("collapse_header_ic", mode ? 1 : 0, null, "'
$context['session_id'], '");';

   echo 
'
            document.getElementById("upshrink_ic").src = smf_images_url + (mode ? "/expand.gif" : "/collapse.gif");

            document.getElementById("upshrinkHeaderIC").style.display = mode ? "none" : "";

            current_header_ic = mode;
         }
      // ]]></script>
</head>
<body>'
;

   echo 
'
   <div class="tborder" '
$context['browser']['needs_size_fix'] && !$context['browser']['is_ie6'] ? ' style="width: 100%;"' '''>
      ' 
,border_ust(), '<table width="100%" cellpadding="0" cellspacing="0" border="0">
         <tr>
            <td class="catbg" height="32">'
;

   if (empty(
$settings['header_logo_url']))
      echo 
'
               <span style="font-family: Verdana, sans-serif; font-size: 140%; ">'
$context['forum_name'], '</span>';
   else
      echo 
'
               <img src="'
$settings['header_logo_url'], '" style="margin: 4px;" alt="'$context['forum_name'], '" />';

   echo 
'
            </td>
            <td align="right" class="catbg">
               <img src="'
$settings['images_url'], '/smflogo.gif" style="margin: 2px;" alt="" />
            </td>
         </tr>
      </table>'
;


   
// display user name
   
echo '
      <table width="100%" cellpadding="0" cellspacing="0" border="0" >
         <tr>'
;

   if(
$context['user']['is_logged'])
      echo 
'
            <td class="titlebg2" height="32">
               <span style="font-size: 130%;"> '
$txt['hello_member_ndt'], ' <b>'$context['user']['name'] , '</b></span>
            </td>'
;

   
// display the time
   
echo '
            <td class="titlebg2" height="32" align="right">
               <span class="smalltext">' 
$context['current_time'], '</span>';

   
// this is the upshrink button for the user info section
   
echo '
               <a href="#" onclick="shrinkHeader(!current_header); return false;"><img id="upshrink" src="'
$settings['images_url'], '/', empty($options['collapse_header']) ? 'upshrink.gif' 'upshrink2.gif''" alt="*" title="'$txt['upshrink_description'], '" align="bottom" style="margin: 0 1ex;" /></a>
            </td>
         </tr>
         <tr id="upshrinkHeader"'
, empty($options['collapse_header']) ? '' ' style="display: none;"''>
            <td valign="top" colspan="2">
               <table width="100%" class="bordercolor" cellpadding="8" cellspacing="1" border="0" style="margin-top: 1px;">
                  <tr>'
;

   if (!empty(
$context['user']['avatar']))
      echo 
'
                     <td class="windowbg" valign="middle">'
$context['user']['avatar']['image'], '</td>';

   echo 
'
                     <td colspan="2" width="100%" valign="top" class="windowbg2"><span class="middletext">'
;

   
// If the user is logged in, display stuff like their name, new messages, etc.
   
if ($context['user']['is_logged'])
   {
      echo 
'
                        <a href="'
$scripturl'?action=unread">'$txt['unread_since_visit'], '</a> <br />
                        <a href="'
$scripturl'?action=unreadreplies">'$txt['show_unread_replies'], '</a><br />';

   }
   
// Otherwise they're a guest - send them a lovely greeting...
   
else
      echo 
$txt['welcome_guest'];

   
// Now, onto our second set of info, are they logged in again?
   
if ($context['user']['is_logged'])
   {
      
// Is the forum in maintenance mode?
      
if ($context['in_maintenance'] && $context['user']['is_admin'])
         echo 
'
                        <b>'
$txt[616], '</b><br />';

      
// Are there any members waiting for approval?
      
if (!empty($context['unapproved_members']))
         echo 
'
                        '
$context['unapproved_members'] == $txt['approve_thereis'] : $txt['approve_thereare'], ' <a href="'$scripturl'?action=viewmembers;sa=browse;type=approve">'$context['unapproved_members'] == $txt['approve_member'] : $context['unapproved_members'] . ' ' $txt['approve_members'], '</a> '$txt['approve_members_waiting'], '<br />';

      
// Show the total time logged in?
      
if (!empty($context['user']['total_time_logged_in']))
      {
         echo 
'
                        '
$txt['totalTimeLogged1'];

         
// If days is just zero, don't bother to show it.
         
if ($context['user']['total_time_logged_in']['days'] > 0)
            echo 
$context['user']['total_time_logged_in']['days'] . $txt['totalTimeLogged2'];

         
// Same with hours - only show it if it's above zero.
         
if ($context['user']['total_time_logged_in']['hours'] > 0)
            echo 
$context['user']['total_time_logged_in']['hours'] . $txt['totalTimeLogged3'];

         
// But, let's always show minutes - Time wasted here: 0 minutes ;).
         
echo $context['user']['total_time_logged_in']['minutes'], $txt['totalTimeLogged4'], '<br />';
      }
      echo 
'            </span>';
   }
   
// Otherwise they're a guest - this time ask them to either register or login - lazy bums...
   
else
   {
      echo 
'            </span>
                        <script language="JavaScript" type="text/javascript" src="'
$settings['default_theme_url'], '/sha1.js"></script>

                        <form action="'
$scripturl'?action=login2" method="post" accept-charset="'$context['character_set'], '" class="middletext" style="margin: 3px 1ex 1px 0;"', empty($context['disable_login_hashing']) ? ' onsubmit="hashLoginPassword(this, \'' $context['session_id'] . '\');"' '''>
                           <input type="text" name="user" size="10" /> <input type="password" name="passwrd" size="10" />
                           <select name="cookielength">
                              <option value="60">'
$txt['smf53'], '</option>
                              <option value="1440">'
$txt['smf47'], '</option>
                              <option value="10080">'
$txt['smf48'], '</option>
                              <option value="43200">'
$txt['smf49'], '</option>
                              <option value="-1" selected="selected">'
$txt['smf50'], '</option>
                           </select>
                           <input type="submit" value="'
$txt[34], '" /><br />
                           <span class="middletext">'
$txt['smf52'], '</span>
                           <input type="hidden" name="hash_passwrd" value="" />
                        </form>'
;
   }

   echo 
'
                     </td>
                  </tr>
               </table>
            </td>
         </tr>
      </table>'
;

   echo 
'
      <table id="upshrinkHeader2"'
, empty($options['collapse_header']) ? '' ' style="display: none;"'' width="100%" cellpadding="4" cellspacing="0" border="0">
         <tr>'
;

   
// Show a random news item? (or you could pick one from news_lines...)
   
if (!empty($settings['enable_news']))
      echo 
'
            <td width="90%" class="titlebg2">
               <span class="smalltext"><b>'
$txt[102], '</b>: '$context['random_news_line'], '</span>
            </td>'
;
   echo 
'
            <td class="titlebg2" align="right" nowrap="nowrap" valign="top">
               <form action="'
$scripturl'?action=search2" method="post" accept-charset="'$context['character_set'], '" style="margin: 0;">
                  <a href="'
$scripturl'?action=search;advanced"><img src="'.$settings['images_url'].'/filter.gif" align="middle" style="margin: 0 1ex;" alt="" /></a>
                  <input type="text" name="search" value="" style="width: 190px;" />&nbsp;
                  <input type="submit" name="submit" value="'
$txt[182], '" style="width: 11ex;" />
                  <input type="hidden" name="advanced" value="0" />'
;

   
// Search within current topic?
   
if (!empty($context['current_topic']))
      echo 
'
                  <input type="hidden" name="topic" value="'
$context['current_topic'], '" />';

      
// If we're on a certain board, limit it to this board ;).
   
elseif (!empty($context['current_board']))
      echo 
'
                  <input type="hidden" name="brd['
$context['current_board'], ']" value="'$context['current_board'], '" />';

   echo 
'
               </form>
            </td>
         </tr>
      </table>' 
,border_alt(), '
   </div>'
;


   
// Show the menu here, according to the menu sub template.
   
template_menu();


   
// The main content should go here.
   
echo '
      <div id="bodyarea" style="padding: 0px;">'
;
}

function 
template_main_below()
{
   global 
$context$settings$options$scripturl$txt;

   echo 
'
   </div>'
;

   
// Show the "Powered by" and "Valid" logos, as well as the copyright. Remember, the copyright must be somewhere!
   
echo '

   <div id="footerarea" style="text-align: center; padding-bottom: 1ex;'
$context['browser']['needs_size_fix'] && !$context['browser']['is_ie6'] ? ' width: 100%;' '''">
      <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA[
         function smfFooterHighlight(element, value)
         {
            element.src = smf_images_url + "/" + (value ? "h_" : "") + element.id + ".gif";
         }
      // ]]></script>
      <table cellspacing="0" cellpadding="3" border="0" align="center" width="100%">
         <tr>

            <td valign="middle" class="smalltext" align="center" style="white-space: nowrap;">
               '
theme_copyright(), '<br />FanTheme By <a href="http://www.smftr.com" title="smf">Burak</a>
            </td>

         </tr>
      </table>'
;

      
// Show the load time?
   
if ($context['show_load_time'])
      echo 
'
      <span class="smalltext">'
$txt['smf301'], $context['load_time'], $txt['smf302'], $context['load_queries'], $txt['smf302b'], '</span>';

   
// This is an interesting bug in Internet Explorer AND Safari. Rather annoying, it makes overflows just not tall enough.
   
if (($context['browser']['is_ie'] && !$context['browser']['is_ie4']) || $context['browser']['is_mac_ie'] || $context['browser']['is_safari'] || $context['browser']['is_firefox'])
   {
      
// The purpose of this code is to fix the height of overflow: auto div blocks, because IE can't figure it out for itself.
      
echo '
      <script language="JavaScript" type="text/javascript"><!-- // --><![CDATA['
;

      
// Unfortunately, Safari does not have a "getComputedStyle" implementation yet, so we have to just do it to code...
      
if ($context['browser']['is_safari'])
         echo 
'
         window.addEventListener("load", smf_codeFix, false);

         function smf_codeFix()
         {
            var codeFix = document.getElementsByTagName ? document.getElementsByTagName("div") : document.all.tags("div");

            for (var i = 0; i < codeFix.length; i++)
            {
               if ((codeFix[i].className == "code" || codeFix[i].className == "post" || codeFix[i].className == "signature") && codeFix[i].offsetHeight < 20)
                  codeFix[i].style.height = (codeFix[i].offsetHeight + 20) + "px";
            }
         }'
;
      elseif (
$context['browser']['is_firefox'])
         echo 
'
         window.addEventListener("load", smf_codeFix, false);
         function smf_codeFix()
         {
            var codeFix = document.getElementsByTagName ? document.getElementsByTagName("div") : document.all.tags("div");

            for (var i = 0; i < codeFix.length; i++)
            {
               if (codeFix[i].className == "code" && (codeFix[i].scrollWidth > codeFix[i].clientWidth || codeFix[i].clientWidth == 0))
                  codeFix[i].style.overflow = "scroll";
            }
         }'
;
      else
         echo 
'
         var window_oldOnload = window.onload;
         window.onload = smf_codeFix;

         function smf_codeFix()
         {
            var codeFix = document.getElementsByTagName ? document.getElementsByTagName("div") : document.all.tags("div");

            for (var i = codeFix.length - 1; i > 0; i--)
            {
               if (codeFix[i].currentStyle.overflow == "auto" && (codeFix[i].currentStyle.height == "" || codeFix[i].currentStyle.height == "auto") && (codeFix[i].scrollWidth > codeFix[i].clientWidth || codeFix[i].clientWidth == 0) && (codeFix[i].offsetHeight != 0 || codeFix[i].className == "code"))
                  codeFix[i].style.height = (codeFix[i].offsetHeight + 36) + "px";
            }

            if (window_oldOnload)
            {
               window_oldOnload();
               window_oldOnload = null;
            }
         }'
;

      echo 
'
      // ]]></script>'
;
   }

   echo 
'
   </div>'
;

   
// The following will be used to let the user know that some AJAX process is running
   
echo '
   <div id="ajax_in_progress" style="display: none;'
$context['browser']['is_ie'] && !$context['browser']['is_ie7'] ? 'position: absolute;' '''">'$txt['ajax_in_progress'], '</div>
</body></html>'
;
}

// Show a linktree. This is that thing that shows "My Community | General Category | General Discussion"..
function theme_linktree()
{
   global 
$context$settings$options;

   echo 
'' border_ust(), '<div class="nav" style="font-size: smaller; ">';

   
// Each tree item has a URL and name. Some may have extra_before and extra_after.
   
foreach ($context['linktree'] as $link_num => $tree)
   {
      
// Show something before the link?
      
if (isset($tree['extra_before']))
         echo 
$tree['extra_before'];

      
// Show the link, including a URL if it should have one.
      
echo '<b>'$settings['linktree_link'] && isset($tree['url']) ? '<a href="' $tree['url'] . '" class="nav">' $tree['name'] . '</a>' $tree['name'], '</b>';

      
// Show something after the link...?
      
if (isset($tree['extra_after']))
         echo 
$tree['extra_after'];

      
// Don't show a separator for the last one.
      
if ($link_num != count($context['linktree']) - 1)
         echo 
'&nbsp;>&nbsp;';
   }

   echo 
'</div>' border_alt(), '';
}
// border
function border_ust()
{   
   echo
'
   <div class="ust"></div>
   <div class="orta">
   <div style="padding: 0px 25px 0px 25px;">
   '
;
}
function 
border_alt()
{   
   echo
'
   </div>
   </div>
   <div class="alt"></div>
   '
;
}

// Show the menu up top. Something like [home] [help] [profile] [logout]...
function template_menu()
{
   global 
$context$settings$options$scripturl$txt;

   
// Work out where we currently are.
   
$current_action 'home';
   if (
in_array($context['current_action'], array('admin''ban''boardrecount''cleanperms''detailedversion''dumpdb''featuresettings''featuresettings2''findmember''maintain''manageattachments''manageboards''managecalendar''managesearch''membergroups''modlog''news''optimizetables''packageget''packages''permissions''pgdownload''postsettings''regcenter''repairboards''reports''serversettings''serversettings2''smileys''viewErrorLog''viewmembers')))
      
$current_action 'admin';
   if (
in_array($context['current_action'], array('search''admin''calendar''profile''mlist''register''login''help''pm')))
      
$current_action $context['current_action'];
   if (
$context['current_action'] == 'search2')
      
$current_action 'search';
   if (
$context['current_action'] == 'theme')
      
$current_action = isset($_REQUEST['sa']) && $_REQUEST['sa'] == 'pick' 'profile' 'admin';

   
// Are we using right-to-left orientation?
   
if ($context['right_to_left'])
   {
      
$first 'last';
      
$last 'first';
   }
   else
   {
      
$first 'first';
      
$last 'last';
   }

   
// Show the start of the tab section.
   
echo '
         <table cellpadding="0" cellspacing="0" border="0" style="margin-left: 10px;">
            <tr>
               <td class="maintab_' 
$first '">&nbsp;</td>';

   
// Show the [home] button.
   
echo ($current_action=='home' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
            <td valign="top" class="maintab_' 
$current_action == 'home' 'active_back' 'back' '">
               <a href="'
$scripturl'">' $txt[103] , '</a>
            </td>' 
$current_action == 'home' '<td class="maintab_active_' $last '">&nbsp;</td>' '';

   
// Show the [Blog] button.
   
echo ($current_action == 'blog' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
            <td valign="top" class="maintab_' 
$current_action == 'blog' 'active_back' 'back' '">
               <a href="'
$scripturl'?action=blog">Blog</a>
            </td>' 
$current_action == 'help' '<td class="maintab_active_' $last '">&nbsp;</td>' '';

   
// How about the [search] button?
   
if ($context['allow_search'])
      echo (
$current_action == 'search' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
            <td valign="top" class="maintab_' 
$current_action == 'search' 'active_back' 'back' '">
               <a href="'
$scripturl'?action=search">' $txt[182] , '</a>
            </td>' 
$current_action == 'search' '<td class="maintab_active_' $last '">&nbsp;</td>' '';

   
// Is the user allowed to administrate at all? ([admin])
   
if ($context['allow_admin'])
      echo (
$current_action == 'admin' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
            <td valign="top" class="maintab_' 
$current_action == 'admin' 'active_back' 'back' '">
               <a href="'
$scripturl'?action=admin">' $txt[2] , '</a>
            </td>' 
$current_action == 'admin' '<td class="maintab_active_' $last '">&nbsp;</td>' '';

   
// Edit Profile... [profile]
   
if ($context['allow_edit_profile'])
      echo (
$current_action == 'profile' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
            <td valign="top" class="maintab_' 
$current_action == 'profile' 'active_back' 'back' '">
               <a href="'
$scripturl'?action=profile">' $txt[79] , '</a>
            </td>' 
$current_action == 'profile' '<td class="maintab_active_' $last '">&nbsp;</td>' '';

   
// Go to PM center... [pm]
   
if ($context['user']['is_logged'] && $context['allow_pm'])
      echo (
$current_action == 'pm' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
            <td valign="top" class="maintab_' 
$current_action == 'pm' 'active_back' 'back' '">
               <a href="'
$scripturl'?action=pm">' $txt['pm_short'] , ' '$context['user']['unread_messages'] > '[<strong>'$context['user']['unread_messages'] . '</strong>]' '' '</a>
            </td>' 
$current_action == 'pm' '<td class="maintab_active_' $last '">&nbsp;</td>' '';

   
// The [calendar]!
   
if ($context['allow_calendar'])
      echo (
$current_action == 'calendar' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
            <td valign="top" class="maintab_' 
$current_action == 'calendar' 'active_back' 'back' '">
               <a href="'
$scripturl'?action=calendar">' $txt['calendar24'] , '</a>
            </td>' 
$current_action == 'calendar' '<td class="maintab_active_' $last '">&nbsp;</td>' '';

   
// the [member] list button
   
if ($context['allow_memberlist'])
      echo (
$current_action == 'mlist' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
            <td valign="top" class="maintab_' 
$current_action == 'mlist' 'active_back' 'back' '">
               <a href="'
$scripturl'?action=mlist">' $txt[331] , '</a>
            </td>' 
$current_action == 'mlist' '<td class="maintab_active_' $last '">&nbsp;</td>' '';


   
// If the user is a guest, show [login] button.
   
if ($context['user']['is_guest'])
      echo (
$current_action == 'login' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
            <td valign="top" class="maintab_' 
$current_action == 'login' 'active_back' 'back' '">
               <a href="'
$scripturl'?action=login">' $txt[34] , '</a>
            </td>' 
$current_action == 'login' '<td class="maintab_active_' $last '">&nbsp;</td>' '';


   
// If the user is a guest, also show [register] button.
   
if ($context['user']['is_guest'])
      echo (
$current_action == 'register' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
            <td valign="top" class="maintab_' 
$current_action == 'register' 'active_back' 'back' '">
               <a href="'
$scripturl'?action=register">' $txt[97] , '</a>
            </td>' 
$current_action == 'register' '<td class="maintab_active_' $last '">&nbsp;</td>' '';


   
// Otherwise, they might want to [logout]...
   
if ($context['user']['is_logged'])
      echo (
$current_action == 'logout' || $context['browser']['is_ie4']) ? '<td class="maintab_active_' $first '">&nbsp;</td>' '' '
            <td valign="top" class="maintab_' 
$current_action == 'logout' 'active_back' 'back' '">
               <a href="'
$scripturl'?action=logout;sesc='$context['session_id'], '">' $txt[108] , '</a>
            </td>' 
$current_action == 'logout' '<td class="maintab_active_' $last '">&nbsp;</td>' '';

   
// The end of tab section.
   
echo '
            <td class="maintab_' 
$last '">&nbsp;</td>
         </tr>
      </table>'
;

}

// Generate a strip of buttons.
function template_button_strip($button_strip$direction 'top'$force_reset false$custom_td '')
{
   global 
$settings$buttons$context$txt$scripturl;

   
// Create the buttons...
   
foreach ($button_strip as $key => $value)
   {
      if (isset(
$value['test']) && empty($context[$value['test']]))
      {
         unset(
$button_strip[$key]);
         continue;
      }
      elseif (!isset(
$buttons[$key]) || $force_reset)
         
$buttons[$key] = '<a href="' $value['url'] . '" ' .( isset($value['custom']) ? $value['custom'] : '') . '>' $txt[$value['text']] . '</a>';

      
$button_strip[$key] = $buttons[$key];
   }

   if (empty(
$button_strip))
      return 
'<td>&nbsp;</td>';

   echo 
'
      <td class="'
$direction == 'top' 'main' 'mirror''tab_' $context['right_to_left'] ? 'last' 'first' '">&nbsp;</td>
      <td class="'
$direction == 'top' 'main' 'mirror''tab_back">'implode(' &nbsp;|&nbsp; '$button_strip) , '</td>
      <td class="'
$direction == 'top' 'main' 'mirror''tab_' $context['right_to_left'] ? 'first' 'last' '">&nbsp;</td>';
}

?>
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: JBantha on June 06, 2009, 08:58:14 PM
Gracias! ^^ ahora si nos sale el botón.. pero, y en serio, disculpa que no haya mencionado esto antes, el blog es extreno, y ahí puedo ver que lo que pusiste es un "action=blog".. como hago para ponerle una URL?

Gracias por tanta ayuda!  :-[
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: ZerK on June 06, 2009, 09:21:11 PM
busca esto:


               <a href="', $scripturl, '?action=blog">Blog</a>


y cambialo por esto



               <a href="Aqui la url de tu blog">Blog</a>


Recuerda poner el link completo incluyendo el http://
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: JBantha on June 07, 2009, 10:52:52 AM
Wow!
montones de gracias! ^^
Sirvió de lo más bien! ^^ ya no tengo que poner un link en las noticias! ^^
gracias gracias gracias! ^^
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: el pinta on June 24, 2009, 02:04:01 PM
EDITO:

ok, tema solucionado, gracias, ya entendi...


saludos!!
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: 4KING.GA~ on June 26, 2009, 12:04:00 AM
Muchas Gracias por el tutorial te quedo exelente !  ;)
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: Trampasj on August 01, 2009, 03:56:33 AM
 :-* Muchas gracias por la introduccion y la explicación
Botón agregado con exito..

Gracias cielos
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: DANIEL! on October 02, 2009, 10:47:47 AM
HOla amigos entonces Diganme! como cambio enves de las letras ponerle para cada menu su imagen..
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: pityuno on November 16, 2009, 04:12:48 AM
Hola buena qiero añadir un boton y me ocurre esto lo que sale en la imagen

(http://i38.tinypic.com/2ikbn1d.jpg)

y he desacativado el calendario por si era por tamaño saludo y gracias
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: m1993 on July 18, 2010, 09:01:58 AM
mi theme no tiene el folder de languages es diferente
Title: Re: [Tutorial] Editar boton "My Messages" y agregar uno nuevo.
Post by: eR-sHuLaKo on September 21, 2010, 08:55:20 AM
Soy nuevo en esto y me gustaria saber donde está el // Start the main menu.