Página 1 de 1
Welcome on Index colocado en el overall_header
Publicado: 11 Oct 2010, 19:46
por exau
Antes que nada, aclaro que este no es un tema repetido, pues aunque la consulta se parece a ésta:
http://www.phpbb-es.com/foro/soporte-mo ... 28445.html fue sobre cómo colocarlo en el portal, sin mencionar que no fue contestada por falta de interpretación del interesado y que el board3 tiene su propio bloque de bienvenida para el usuario...
Quiero colocar el bloque del Welcome on Index en el overall_header pues tengo espacio para hacerlo. Sin embargo, debido a que las modificaciones que se aplican son en el index.php, solo afectan el índice (obvio, valga la redundancia), cuando se cambia de página (viewforum.php, viewtopic.php, search.php, etc.) no se muestran ni el avatar, ni funciona los saludos en base a la rotación de la hora (buenos días, buenas tardes, buenas noches) porque dichos cambios no están montados en otra página. ¿Es posible plantear una modificación que permita que este mod pueda abarcar TODAS las páginas y no solo el índice?
Saludos,
Re: Welcome on Index colocado en el overall_header
Publicado: 11 Oct 2010, 20:14
por leviatan21
Se agradece un enlace directo a la descarga del MOD (tal como indican las normas)
Re: Welcome on Index colocado en el overall_header
Publicado: 11 Oct 2010, 20:22
por exau
leviatan21 escribió:Se agradece un enlace directo a la descarga del MOD (tal como indican las normas)
Lo siento compañero, me enredé en mi propio juego de palabras
Aquí lo tienes:
http://www.phpbb.com/customise/db/mod/w ... n_index_2/
Te agradezco la atención
Saludos,
Re: Welcome on Index colocado en el overall_header
Publicado: 12 Oct 2010, 17:17
por leviatan21
Para que sea visible en todo el foro (sin importar la página que se visite) los cambios que ha que realizar en el archivo
raíz/index.php hay que aplicarlos en otro, prueba siguiendo estos pasos :
Abrir :
raíz/includes/functions.php
Buscar :
Código: Seleccionar todo
// The following assigns all _common_ variables that may be used at any point in a template.
Antes, agregar :
Código: Seleccionar todo
// BEGIN Welcome Mod
//--Welcome_Mod--get the hour number-->
$date = $user->format_date(time(), 'H');
if ($user->data['is_registered'])
{
$u_user_name = get_username_string('full', $user->data['user_id'], $user->data['username'], $user->data['user_colour']);
}
else
{
$u_user_name = $user->lang['WELCOME_GUEST'];
}
switch (true)
{
case ($date < 1):
// if the hour is 11am-12am (18-23)
$s_welcome = sprintf($user->lang['GOOD_NIGHT'], $u_user_name);;
break;
case ($date < 4):
// if the hour is 1-3 am
$s_welcome = sprintf($user->lang['UP_LATE'], $u_user_name);
break;
case ($date < 8):
// if the hour is 4-7 am
$s_welcome = sprintf($user->lang['UP_EARLY'], $u_user_name);
break;
case ($date < 12):
// if the hour is 8-11 am
$s_welcome = sprintf($user->lang['GOOD_MORNING'], $u_user_name);
break;
case ($date < 18):
// if the hour is 12-5pm
$s_welcome = sprintf($user->lang['GOOD_AFTERNOON'], $u_user_name);
break;
case ($date < 24):
// if the hour is 6pm-11pm
$s_welcome = sprintf($user->lang['GOOD_EVENING'], $u_user_name);;
break;
}
// how long a member for
$member_for = '';
if ($user->data['is_registered'] && !$user->data['is_bot'])
{
$member_length = time() - $user->data['user_regdate'];
$years = $months = $days = 0;
$member_for = '';
if ($member_length)
{
if ($member_length >= 31536000)
{
$years = floor($member_length / 31536000);
$member_length = $member_length - ($years * 31536000);
$member_for .= $years > 1 ? ($years . ' ' . $user->lang['WELCOME_YEARS'] . ', ') : ($years . ' ' . $user->lang['WELCOME_YEAR'] . ', ');
}
$months = floor($member_length / 2628000);
if ($months)
{
$months = $months > 1 ? ($months . ' ' . $user->lang['WELCOME_MONTHS'] . ', ') : ($months . ' ' . $user->lang['WELCOME_MONTHS'] . ', ');
$member_length = $member_length - ($months * 2628000);
$member_for .= $months;
}
$days = floor($member_length / 86400);
if ($days)
{
$days = $days > 1 ? ($days . ' ' . $user->lang['WELCOME_DAYS']) : ($days . ' ' . $user->lang['WELCOME_DAY']);
$member_for .= $days;
}
}
}
//END Welcome Mod
Código: Seleccionar todo
'S_USER_LOGGED_IN' => ($user->data['user_id'] != ANONYMOUS) ? true : false,
Antes agregar :
Código: Seleccionar todo
// BEGIN Welcome Mod
'S_WELCOME' => $s_welcome,
'S_JOINED_DATE' => $user->lang['JOINED'] . ': ' . $user->format_date($user->data['user_regdate']),
'USER_AVATAR' => get_user_avatar($user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_avatar_width'], $user->data['user_avatar_height']),
'MEMBER_FOR' => (!empty($member_for)) ? $user->lang['MEMBER_FOR'] . ' ' . $member_for : '',
// END Welcome Mod
Re: Welcome on Index colocado en el overall_header
Publicado: 12 Oct 2010, 17:33
por exau
Reportando, funciona bien en todas las páginas excepto en search.php y en faq.php; me devuelve este error:
Código: Seleccionar todo
Fatal error: Call to undefined function get_user_avatar() in \includes\functions.php on line 4406

Re: Welcome on Index colocado en el overall_header
Publicado: 12 Oct 2010, 18:04
por leviatan21
Prueba haciendo este cambio en el archivo
raíz/includes/functions.php
Debajo de :
Agrega :
Código: Seleccionar todo
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
Re: Welcome on Index colocado en el overall_header
Publicado: 12 Oct 2010, 18:32
por exau
leviatan21 escribió:Prueba haciendo este cambio en el archivo
raíz/includes/functions.php
Debajo de :
Agrega :
Código: Seleccionar todo
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
Me devuelve este error en todas las páginas:
Código: Seleccionar todo
Parse error: syntax error, unexpected ';', expecting ')' in \includes\functions.php on line 4406
Welcome on Index colocado en el overall_header Tema Solucionado
Publicado: 12 Oct 2010, 18:59
por leviatan21
Hice el cambio en mi foro para probar y he tenido que hacer algunos cambios :
Nn el archivo
raíz/includes/functions.php el código agregado antes de :
Código: Seleccionar todo
// The following assigns all _common_ variables that may be used at any point in a template.
lo modifiqué a esto :
Código: Seleccionar todo
// BEGIN Welcome Mod
if (!function_exists('get_user_avatar'))
{
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
}
if (!function_exists('get_username_string'))
{
include($phpbb_root_path . 'includes/functions_content.' . $phpEx);
}
//--Welcome_Mod--get the hour number-->
$date = $user->format_date(time(), 'H');
if ($user->data['is_registered'])
{
$u_user_name = get_username_string('full', $user->data['user_id'], $user->data['username'], $user->data['user_colour']);
}
else
{
$u_user_name = $user->lang['WELCOME_GUEST'];
}
switch (true)
{
case ($date < 1):
// if the hour is 11am-12am (18-23)
$s_welcome = sprintf($user->lang['GOOD_NIGHT'], $u_user_name);
break;
case ($date < 4):
// if the hour is 1-3 am
$s_welcome = sprintf($user->lang['UP_LATE'], $u_user_name);
break;
case ($date < 8):
// if the hour is 4-7 am
$s_welcome = sprintf($user->lang['UP_EARLY'], $u_user_name);
break;
case ($date < 12):
// if the hour is 8-11 am
$s_welcome = sprintf($user->lang['GOOD_MORNING'], $u_user_name);
break;
case ($date < 18):
$s_welcome = sprintf($user->lang['GOOD_AFTERNOON'], $u_user_name);
break;
case ($date < 24):
// if the hour is 6pm-11pm
$s_welcome = sprintf($user->lang['GOOD_EVENING'], $u_user_name);
break;
}
// how long a member for
$member_for = '';
if ($user->data['is_registered'] && !$user->data['is_bot'])
{
$member_length = time() - $user->data['user_regdate'];
$years = $months = $days = 0;
$member_for = '';
if ($member_length)
{
if ($member_length >= 31536000)
{
$years = floor($member_length / 31536000);
$member_length = $member_length - ($years * 31536000);
$member_for .= $years > 1 ? ($years . ' ' . $user->lang['WELCOME_YEARS'] . ', ') : ($years . ' ' . $user->lang['WELCOME_YEAR'] . ', ');
}
$months = floor($member_length / 2628000);
if ($months)
{
$months = $months > 1 ? ($months . ' ' . $user->lang['WELCOME_MONTHS'] . ', ') : ($months . ' ' . $user->lang['WELCOME_MONTHS'] . ', ');
$member_length = $member_length - ($months * 2628000);
$member_for .= $months;
}
$days = floor($member_length / 86400);
if ($days)
{
$days = $days > 1 ? ($days . ' ' . $user->lang['WELCOME_DAYS']) : ($days . ' ' . $user->lang['WELCOME_DAY']);
$member_for .= $days;
}
}
}
//END Welcome Mod
Welcome on Index colocado en el overall_header
Publicado: 12 Oct 2010, 21:29
por exau
Más que un maestro... eres un dios
¡Se te agradece un millón!

marco el tema como solucionado
Saludos,