Saludos,,,
27-05-2006 Se ha insertado una actualización de los paises al final del post
Este
MOD es para poner en la sección
" Whos online " de nuestra galería,,,
las banderas de los paises de donde proceden las visitas que recibimos,, (ya sean
invitados o usuarios registrados).
Está basado en un fichero de códigos de IP de todos los paises del mundo ( la base de datos procede de
ip_country),, esta base de datos tiene un peso de 1.94 Mb,, por lo tanto cuidado con lo que tengais limitación de espacio en vuestra base de datos.
Abrir :
includes/constants.phplocalizar :define('WORDMATCH_TABLE', $table_prefix.'wordmatch');
Añadir a continuación :define('PAISES_TABLE', $table_prefix.'paises');
cerra y guardar cambiosAbrir
admin/backup.phplocalizar :WORDLIST_TABLE,
Añadir debajo :PAISES_TABLE,
guardar cambiosAbrir
templates/tus_plantillas/whos_online.htmlCambiar todo su contenido por el siguiente :<table width="100%" border="0" cellspacing="0" cellpadding="1">
<tr>
<td class="head1">
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr>
<td valign="top" class="head1">{lang_user_online}</td>
</tr>
<tr>
<td valign="top" class="row2">
{lang_user_online_detail} <br />
</td></tr>
<TR><td class="row1">
{invitado_online_list}
</td></TR>
<TR><td class="row2">{user_online_list}
</td>
</tr>
</table>
</td>
</tr>
</table>
cerrar y guardar cambiosAbrir
includes/sessions.phplocalizar :if (defined("GET_USER_ONLINE") && ($config['display_whosonline'] == 1 || $user_info['user_level'] == ADMIN)) {
$time_out = time() - 300;
$sql = "SELECT s.session_user_id, s.session_lastaction, s.session_ip".get_user_table_field(", u.", "user_id").get_user_table_field(", u.", "user_level").get_user_table_field(", u.", "user_name").get_user_table_field(", u.", "user_invisible")."
FROM ".SESSIONS_TABLE." s
LEFT JOIN ".USERS_TABLE." u ON (".get_user_table_field("u.", "user_id")." = s.session_user_id)
WHERE s.session_lastaction >= $time_out
ORDER BY ".get_user_table_field("u.", "user_id")." ASC, s.session_ip ASC";
$result = $site_db->query($sql);
while ($row = $site_db->fetch_array($result)) {
Añadir debajo :$userIP = $row['session_ip'];
$country_query = "SELECT country_code2,country_name FROM ".PAISES_TABLE."
WHERE IP_FROM<=inet_aton('$userIP')
AND IP_TO>=inet_aton('$userIP')";
$country_exec = $site_db->query($country_query);
$ccode_array = mysql_fetch_array($country_exec);
$country_code = $ccode_array['country_code2'];
$country_name = $ccode_array['country_name'];
if($country_code == ""){
$country_code = "no_pais";
$country_name = "??????";
$extension = "png";
}
else {
$extension = "png";
}
localizar :$user_online_list .= "<a href=\"".$site_sess->url($user_profile_link)."\">".$username."</a>".$invisibleuser;
Cambiar por :$user_online_list .= "<b>Usuario <a href=\"".$site_sess->url($user_profile_link)."\">".$username."</a>"." desde <img border=\"0\" src=\"./paises/$country_code.$extension\" alt=\"$country_name\">".$invisibleuser;
localizar :$num_guests_online++;
Añadir debajo :if ($num_guests_online > 1){
$invitado_online_list .= " , ";
}
$invitado_online_list .= "<b>Invitado <font color=\"#00FFFF\">".$num_guests_online."</font><b> desde </b>"."</a>"." <img border=\"0\" src=\"./paises/$country_code.$extension\" alt=\"$country_name\">".$invisibleuser;
localizar :"user_online_list" => $user_online_list,
Añadir debajo :"invitado_online_list" => $invitado_online_list
cerrar y guardar cambiosDescargar los nuevos ficheros y las imagenes << >>Descomprime el fichero ZIPSubir al directorio raiz de tu galería :
install_banderas_whos_online.phpMuy importante : No ejecutar el install_banderas_whos_online.php hasta no haber realizado todo los cambios y subido los nuevos ficheros.
Subir al directorio raiz la carpeta paises[/color]
Guardamos el fichero Data.dat en nuestro ordenador,, luego tendremos que localizarlo
Hacer copia de seguridad de la base de datosEjecutar
install_banderas_whos_online.phpPrestar especial atención a este paso :Tenemos que introducir los datos de
Data.dat en la tabla
paises que acabamos de crear, para ello tenemos que hacer lo siguiente :
abrimos nuestro
phpMyAdminLocalizamos la tabla de
paises en el
menú de la izquierda de nuestro
phpMyAdminAbrimos la tabla
paisesSe abrira en la página de la derecha la tabla de
paises con los datos de : campos, Tipo, Atributos, etc, etc.
Abajo de todo de la página hay un link que pone :
. Insertar archivo de texto en la tablaPicar en él,,, y se abrirá una pantalla en la cual hay un formulario a rellenar.
En el primer campo,, donde pone :
Localización del archivo de texto,, insertamos el archivo
Data.dat con el botón
Examinar...Dejamos todos los campos restantes tal y como estan,,,, menos el último que tiene dos opciones :
...DATA y
...DATA LOCAL que es la que estará seleccionada (según versión del phpMyAdmin)
Nosotros vamos a marcar
...DATA y picamos en
EnviarSi todo ha salido bien la página a tenido que cambiar y en la cabecera tiene que salir un texto que más o menos pondrá algo parecido a esto :
Filas insertadas: 50358 (La consulta tardó x.xxxx seg)Si da error realizar otra vez la inserción de datos en el formulario anterior pero sin cambiar a
...DATA ACTUALIZACION DE LOS PAISES : Antes de nada hacer copia de seguridad de la base de datos por si hay algun error que se pueda reponer los datos.Descarga el siguiente ZIP y lo descomprimes,,, subes los dos ficheros al directorio raiz de tu galería ( donde tienes el config.php ) y ejecutas el install_actualizar_paises.php
Descargar los nuevos ficheros y las imagenes << >>excitex2