Author Topic: [MOD] Banderas de paises en Whos Online  (Read 52065 times)

0 Members and 1 Guest are viewing this topic.

Offline excitex2

  • Addicted member
  • ******
  • Posts: 1.590
  • He desactivado la galería y el buscador
    • View Profile
[MOD] Banderas de paises en Whos Online
« on: April 10, 2005, 04:32:50 AM »
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.php

localizar :

Code: [Select]
define('WORDMATCH_TABLE', $table_prefix.'wordmatch');
Añadir a continuación :

Code: [Select]
define('PAISES_TABLE', $table_prefix.'paises');
cerra y guardar cambios

Abrir admin/backup.php

localizar :

Code: [Select]
WORDLIST_TABLE,
Añadir debajo :

Code: [Select]
PAISES_TABLE,
guardar cambios

Abrir templates/tus_plantillas/whos_online.html

Cambiar todo su contenido por el siguiente :

Code: [Select]
<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 cambios

Abrir includes/sessions.php

localizar :

Code: [Select]
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 :

Code: [Select]
$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 :

Code: [Select]
$user_online_list .= "<a href=\"".$site_sess->url($user_profile_link)."\">".$username."</a>".$invisibleuser;
Cambiar por :

Code: [Select]
$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 :

Code: [Select]
$num_guests_online++;
Añadir debajo :

Code: [Select]
if ($num_guests_online > 1){
$invitado_online_list .= " , ";
}
 $invitado_online_list .= "<b>Invitado <font color=\"#00FFFF\">".$num_guests_online."</font><b> desde </b>"."</a>"."&nbsp;<img border=\"0\" src=\"./paises/$country_code.$extension\" alt=\"$country_name\">".$invisibleuser;
localizar :

Code: [Select]
"user_online_list" => $user_online_list,
Añadir debajo :

Code: [Select]
"invitado_online_list" => $invitado_online_list
cerrar y guardar cambios

Descargar los nuevos ficheros y las imagenes << >>

Descomprime el fichero ZIP

Subir al directorio raiz de tu galería : install_banderas_whos_online.php

Muy 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 datos

Ejecutar install_banderas_whos_online.php

Prestar 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 phpMyAdmin

Localizamos la tabla de paises en el menú de la izquierda de nuestro phpMyAdmin

Abrimos la tabla paises

Se 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 tabla

Picar 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 Enviar

Si 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
« Last Edit: June 12, 2008, 08:22:36 AM by kai »
Lo importante no es saber,,, lo importante es tener el E-Mail de quien sabe

Offline ascanio

  • Hero Member
  • *****
  • Posts: 569
    • View Profile
    • http://www.surfourspace.net
Re: MOD Banderas de paises en Whos Online
« Reply #1 on: April 10, 2005, 06:22:17 AM »
Gracias por compartir este MOD :) ahora lo instalo

Offline live@ct

  • Sr. Member
  • ****
  • Posts: 348
    • View Profile
Re: MOD Banderas de paises en Whos Online
« Reply #2 on: April 11, 2005, 09:13:00 AM »
yo tengo este error cuando subo el archivo

Quote
SQL-query:

33996344
MySQL said: 

#1064 - You have an error in your SQL syntax.  Check the manual that corresponds to your MySQL server version for the right syntax to use near '33996344' at line 1
Existen 10 tipos de personas, los que entienden el codigo binario y los que no.

Offline excitex2

  • Addicted member
  • ******
  • Posts: 1.590
  • He desactivado la galería y el buscador
    • View Profile
Re: MOD Banderas de paises en Whos Online
« Reply #3 on: April 11, 2005, 09:39:55 PM »
Saludos,,,

Has probado la opción a ...DATA en vez de ...DATA LOCAL a la hora de subir el archivo con los datos a la base de datos?????

otra cosa  que versión de MySql tienes instalada?????

excitex2
Lo importante no es saber,,, lo importante es tener el E-Mail de quien sabe

Offline live@ct

  • Sr. Member
  • ****
  • Posts: 348
    • View Profile
Re: MOD Banderas de paises en Whos Online
« Reply #4 on: April 12, 2005, 03:20:55 AM »
la version q aparece dice:

2.6.1-rc1
MySQL 4.0.22

y las otra opcion q dices no la encuentro  :?
Existen 10 tipos de personas, los que entienden el codigo binario y los que no.

Offline excitex2

  • Addicted member
  • ******
  • Posts: 1.590
  • He desactivado la galería y el buscador
    • View Profile
Re: MOD Banderas de paises en Whos Online
« Reply #5 on: April 13, 2005, 01:28:09 AM »
Saludos,,,

La versión es correcta.

intenta subir el fichero de la misma manera que pone en el MOD,, pero modifica Campos encerrados por le quitas las comillas y lo intentas,, si te falla haz lo mismo con el resto de los campos,, menos el  de Campos terminados en que ese siempre tiene que llevar el punto y coma ";"
Lo importante no es saber,,, lo importante es tener el E-Mail de quien sabe

Offline live@ct

  • Sr. Member
  • ****
  • Posts: 348
    • View Profile
Re: MOD Banderas de paises en Whos Online
« Reply #6 on: April 13, 2005, 04:52:50 AM »
ya estubo gracias funciono con la opcion ...DATA LOCAL


Se podra hacer q me agrupe los usuarios por pais, digamos 7 de mexico 4 de USA etc etc
Existen 10 tipos de personas, los que entienden el codigo binario y los que no.

Offline ascanio

  • Hero Member
  • *****
  • Posts: 569
    • View Profile
    • http://www.surfourspace.net
Re: [MOD] Banderas de paises en Whos Online
« Reply #7 on: May 09, 2005, 01:45:56 AM »
Ha salido una version de este MOD que creo que es un poco mas facil de instalar ya que no tienes que tocar nada en tu base de datos: http://www.4homepages.de/forum/index.php?topic=7831.new#new

Offline excitex2

  • Addicted member
  • ******
  • Posts: 1.590
  • He desactivado la galería y el buscador
    • View Profile
Re: [MOD] Banderas de paises en Whos Online
« Reply #8 on: May 10, 2005, 01:46:06 AM »
Saludos,,,

En mi parecer,,, creo que más que un MOD,,, lo que es ,, es una fusión del 85% de un MOD de V@no (http://www.4homepages.de/forum/index.php?topic=6709.msg29356#msg29356) y un 15% de este en el que estamos.

excitex2
Lo importante no es saber,,, lo importante es tener el E-Mail de quien sabe

Offline elcorazon

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
Re: [MOD] Banderas de paises en Whos Online
« Reply #9 on: October 16, 2005, 06:12:20 AM »
Saludos,,,

Cómo hacer con este mensaje que me devuelve la base?  :oops:

Erreur

requête SQL :

LOAD DATA LOCAL INFILE '/tmp/phpoUr7tK' INTO TABLE `4images_paises` FIELDS TERMINATED BY ';' ENCLOSED BY '"' ESCAPED BY '\\' LINES TERMINATED BY '\r\n'

MySQL a répondu:
#1148 - The used command is not allowed with this MySQL version  8O


Offline excitex2

  • Addicted member
  • ******
  • Posts: 1.590
  • He desactivado la galería y el buscador
    • View Profile
Re: [MOD] Banderas de paises en Whos Online
« Reply #10 on: October 16, 2005, 04:22:56 PM »
Saludos,,,,

La versión que usas de MySql,, no admite el método de carga DATA LOCAL ,, utiliza el método DATA.

excitex2
Lo importante no es saber,,, lo importante es tener el E-Mail de quien sabe

Offline elcorazon

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
Re: [MOD] Banderas de paises en Whos Online
« Reply #11 on: October 17, 2005, 05:12:27 PM »
Saludos,

Tengo intentar del métode, lo recojo por el fichero sql de la base pero llega a los alrededores de 10.000 él toma,
más de 10.000 no toma
Gracias

Hago como dice :P   SQL me digo eso  :evil:

Erreur

requête SQL :

LOAD DATA INFILE '/tmp/php67BTAc' REPLACE INTO TABLE `4images_news`
FIELDS TERMINATED BY ';'
ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\r\n'

MySQL a répondu:
#1045 - Access denied for user: 'galeriephotos@' (Using password: YES)


Error: 1045 SQLSTATE: 28000 (ER_ACCESS_DENIED_ERROR)  :?: :?: :?:



Offline excitex2

  • Addicted member
  • ******
  • Posts: 1.590
  • He desactivado la galería y el buscador
    • View Profile
Re: [MOD] Banderas de paises en Whos Online
« Reply #12 on: October 17, 2005, 09:18:33 PM »
Saludos,,,


La tabla 4images_news,,, no pertenece a este MOD,,, mira a ver si has instalado el MOD de las NEWS,, y tiene algun campo de la tabla que se mezcle con el de este MOD.

Otra cosa,,, este MOD esta desarrollado para trabajar con la base de datos MySql,,, cual usas tu ????????

excitex2
Lo importante no es saber,,, lo importante es tener el E-Mail de quien sabe

Offline elcorazon

  • Jr. Member
  • **
  • Posts: 58
    • View Profile
Re: [MOD] Banderas de paises en Whos Online
« Reply #13 on: October 18, 2005, 05:13:02 PM »
Saludos,
 Gracias para tu implicación en mi problema, pero pierdo valor y detengo del mod. acabo de suprimir del mod news para volver a entrar lo daté y velé a lo que la base me responde. 
MySQL a répondu: #1148 - The used command is not allowed with this MySQL version
Tengo esta versión : phpMyAdmin 2.5.7-pl1 MySQL 4.0.26

Gracias aún  :wink:


Offline excitex2

  • Addicted member
  • ******
  • Posts: 1.590
  • He desactivado la galería y el buscador
    • View Profile
Re: [MOD] Banderas de paises en Whos Online
« Reply #14 on: October 18, 2005, 05:39:00 PM »
Saludos,,,


El error #1148 significa que en esa versión no permite un determinado comando,, en este caso es el load data local infile,,, intenta subir la base de datos con el comando load data infile,

excitex2
Lo importante no es saber,,, lo importante es tener el E-Mail de quien sabe