Skip to content
Snippets Groups Projects
Commit d85cdc81 authored by Laurent Destailleur's avatar Laurent Destailleur
Browse files

First change for future geoip module.

parent b8284077
No related branches found
No related tags found
No related merge requests found
......@@ -168,28 +168,7 @@ if ($result)
// IP
print '<td>';
print $obj->ip;
if (! empty($conf->geoip_maxmind->enabled))
{
$datafile=$conf->global->GEOIP_MAXMIND_COUNTRY_DATAFILE;
$ip=$obj->ip;
$ip='24.24.24.24';
$datafile='E:\Mes Sites\Web\Admin1\awstats\maxmind\GeoIP.dat';
include_once(DOL_DOCUMENT_ROOT.'/lib/dolgeoip.class.php');
$geoip=new DolGeoIP('country',$datafile);
$countrycode=$geoip->getCountryCodeFromIP($ip);
if ($countrycode) // If success, countrycode is us, fr, ...
{
if (file_exists(DOL_DOCUMENT_ROOT.'/theme/common/flags/'.$countrycode.'.png'))
{
print ' '.img_picto($langs->trans("AccordingToGeoIPDatabase"),DOL_URL_ROOT.'/theme/common/flags/'.$countrycode.'.png','',1);
}
else print ' ('.$countrycode.')';
}
}
print dol_print_ip($obj->ip);
print '</td>';
// Login
......
<?php
/* Copyright (C) 2009 Laurent Destailleur <eldy@users.sourceforge.net>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
/** \defgroup geoip Module GeoIP
* \brief Module to make geoip conversions
* \version $Id$
*/
/**
* \file htdocs/includes/modules/modGeoIPMaxmind.class.php
* \ingroup geoip
* \brief File of geoipmaxmind module descriptor
*/
include_once(DOL_DOCUMENT_ROOT ."/includes/modules/DolibarrModules.class.php");
/** \class modImport
* \brief Classe de description et activation du module Import
*/
class modGeoIPMaxmind extends DolibarrModules
{
/**
* \brief Constructeur. Definit les noms, constantes et boites
* \param DB handler d'acces base
*/
function modGeoIPMaxmind($DB)
{
$this->db = $DB ;
$this->numero = 2900;
// Family can be 'crm','financial','hr','projects','products','ecm','technic','other'
// It is used to group modules in module setup page
$this->family = "technic";
// Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module)
$this->name = eregi_replace('^mod','',get_class($this));
// Module description, used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module)
$this->description = "GeoIP Maxmind conversions capabilities";
// Possible values for version are: 'development', 'experimental', 'dolibarr' or version
$this->version = 'experimental';
// Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase)
$this->const_name = 'MAIN_MODULE_'.strtoupper($this->name);
// Where to store the module in setup page (0=common,1=interface,2=others,3=very specific)
$this->special = 1;
// Name of image file used for this module.
// If file is in theme/yourtheme/img directory under name object_pictovalue.png, use this->picto='pictovalue'
// If file is in module/images directory, use this->picto=DOL_URL_ROOT.'/module/images/file.png'
$this->picto = '';
// Data directories to create when module is enabled
$this->dirs = array("/geoipmaxmind");
// Config pages
$this->config_page_url = array();
// D�pendances
$this->depends = array();
$this->requiredby = array();
$this->phpmin = array(4,2,0);
$this->phpmax = array();
$this->need_dolibarr_version = array(2,7,-1); // Minimum version of Dolibarr required by module
$this->need_javascript_ajax = 1;
// Constantes
$this->const = array();
// Boxes
$this->boxes = array();
// Permissions
$this->rights = array();
$this->rights_class = 'geoipmaxmind';
$r=0;
}
/**
* \brief Fonction appelee lors de l'activation du module. Insere en base les constantes, boites, permissions du module.
* Definit egalement les repertoires de donnees a creer pour ce module.
*/
function init()
{
$sql = array();
return $this->_init($sql);
}
/**
* \brief Fonction appelee lors de la desactivation d'un module.
* Supprime de la base les constantes, boites et permissions du module.
*/
function remove()
{
$sql = array();
return $this->_remove($sql);
}
}
?>
......@@ -860,6 +860,32 @@ function dol_print_phone($phone,$country="FR",$cid=0,$socid=0,$addlink=0,$separ=
return $newphone;
}
function dol_print_ip($ip)
{
global $conf,$langs;
print $ip;
if (! empty($conf->geoipmaxmind->enabled))
{
$datafile=$conf->global->GEOIPMAXMIND_COUNTRY_DATAFILE;
//$ip='24.24.24.24';
$datafile='E:\Mes Sites\Web\Admin1\awstats\maxmind\GeoIP.dat';
include_once(DOL_DOCUMENT_ROOT.'/lib/dolgeoip.class.php');
$geoip=new DolGeoIP('country',$datafile);
$countrycode=$geoip->getCountryCodeFromIP($ip);
if ($countrycode) // If success, countrycode is us, fr, ...
{
if (file_exists(DOL_DOCUMENT_ROOT.'/theme/common/flags/'.$countrycode.'.png'))
{
print ' '.img_picto($langs->trans("AccordingToGeoIPDatabase"),DOL_URL_ROOT.'/theme/common/flags/'.$countrycode.'.png','',1);
}
else print ' ('.$countrycode.')';
}
}
}
/**
* \brief Return true if email syntax is ok
* \param address email (Ex: "toto@titi.com", "John Do <johndo@titi.com>")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment