Valider 4190a26f rédigé par cyp@rouquin.me's avatar cyp@rouquin.me
Parcourir les fichiers

Mise a jour de la version 2

parent 16c8bfe4
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+96 −3
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
* text=auto !eol
/README.md -text
formulaires/configurer_geoip.html -text
formulaires/configurer_geoip.php -text
/geoip_administrations.php -text
/geoip_fonctions.php -text
/geoip_options.php -text
lang/geoip_fr.php -text
lib/GeoLite2-City.mmdb -text
lib/composer.json -text
lib/composer.lock -text
lib/composer.phar -text
lib/vendor/autoload.php -text
lib/vendor/composer/ClassLoader.php -text
lib/vendor/composer/LICENSE -text
lib/vendor/composer/autoload_classmap.php -text
lib/vendor/composer/autoload_namespaces.php -text
lib/vendor/composer/autoload_psr4.php -text
lib/vendor/composer/autoload_real.php -text
lib/vendor/composer/autoload_static.php -text
lib/vendor/composer/ca-bundle/LICENSE -text
lib/vendor/composer/ca-bundle/README.md -text
lib/vendor/composer/ca-bundle/composer.json -text
lib/vendor/composer/ca-bundle/res/cacert.pem -text
lib/vendor/composer/ca-bundle/src/CaBundle.php -text
lib/vendor/composer/installed.json -text
lib/vendor/geoip2/geoip2/.gitmodules -text
lib/vendor/geoip2/geoip2/CHANGELOG.md -text
lib/vendor/geoip2/geoip2/LICENSE -text
lib/vendor/geoip2/geoip2/README.md -text
lib/vendor/geoip2/geoip2/composer.json -text
lib/vendor/geoip2/geoip2/src/Compat/JsonSerializable.php -text
lib/vendor/geoip2/geoip2/src/Database/Reader.php -text
lib/vendor/geoip2/geoip2/src/Exception/AddressNotFoundException.php -text
lib/vendor/geoip2/geoip2/src/Exception/AuthenticationException.php -text
lib/vendor/geoip2/geoip2/src/Exception/GeoIp2Exception.php -text
lib/vendor/geoip2/geoip2/src/Exception/HttpException.php -text
lib/vendor/geoip2/geoip2/src/Exception/InvalidRequestException.php -text
lib/vendor/geoip2/geoip2/src/Exception/OutOfQueriesException.php -text
lib/vendor/geoip2/geoip2/src/Model/AbstractModel.php -text
lib/vendor/geoip2/geoip2/src/Model/AnonymousIp.php -text
lib/vendor/geoip2/geoip2/src/Model/City.php -text
lib/vendor/geoip2/geoip2/src/Model/ConnectionType.php -text
lib/vendor/geoip2/geoip2/src/Model/Country.php -text
lib/vendor/geoip2/geoip2/src/Model/Domain.php -text
lib/vendor/geoip2/geoip2/src/Model/Enterprise.php -text
lib/vendor/geoip2/geoip2/src/Model/Insights.php -text
lib/vendor/geoip2/geoip2/src/Model/Isp.php -text
lib/vendor/geoip2/geoip2/src/ProviderInterface.php -text
lib/vendor/geoip2/geoip2/src/Record/AbstractPlaceRecord.php -text
lib/vendor/geoip2/geoip2/src/Record/AbstractRecord.php -text
lib/vendor/geoip2/geoip2/src/Record/City.php -text
lib/vendor/geoip2/geoip2/src/Record/Continent.php -text
lib/vendor/geoip2/geoip2/src/Record/Country.php -text
lib/vendor/geoip2/geoip2/src/Record/Location.php -text
lib/vendor/geoip2/geoip2/src/Record/MaxMind.php -text
lib/vendor/geoip2/geoip2/src/Record/Postal.php -text
lib/vendor/geoip2/geoip2/src/Record/RepresentedCountry.php -text
lib/vendor/geoip2/geoip2/src/Record/Subdivision.php -text
lib/vendor/geoip2/geoip2/src/Record/Traits.php -text
lib/vendor/geoip2/geoip2/src/WebService/Client.php -text
lib/vendor/maxmind-db/reader/.coveralls-phpunit.xml.dist -text
lib/vendor/maxmind-db/reader/.gitmodules -text
lib/vendor/maxmind-db/reader/.travis-build.sh -text
lib/vendor/maxmind-db/reader/.travis-install-prereqs.sh -text
lib/vendor/maxmind-db/reader/.travis-test.sh -text
lib/vendor/maxmind-db/reader/.travis.yml -text
lib/vendor/maxmind-db/reader/CHANGELOG.md -text
lib/vendor/maxmind-db/reader/LICENSE -text
lib/vendor/maxmind-db/reader/README.md -text
lib/vendor/maxmind-db/reader/composer.json -text
lib/vendor/maxmind-db/reader/dev-bin/make-release.sh -text
lib/vendor/maxmind-db/reader/examples/benchmark.php -text
lib/vendor/maxmind-db/reader/ext/.uncrustify.cfg -text
lib/vendor/maxmind-db/reader/ext/config.m4 -text
lib/vendor/maxmind-db/reader/ext/maxminddb.c -text
lib/vendor/maxmind-db/reader/ext/php_maxminddb.h -text
lib/vendor/maxmind-db/reader/ext/tests/001-load.phpt -text
lib/vendor/maxmind-db/reader/phpunit.xml.dist -text
lib/vendor/maxmind-db/reader/src/MaxMind/Db/Reader.php -text
lib/vendor/maxmind-db/reader/src/MaxMind/Db/Reader/Decoder.php -text
lib/vendor/maxmind-db/reader/src/MaxMind/Db/Reader/InvalidDatabaseException.php -text
lib/vendor/maxmind-db/reader/src/MaxMind/Db/Reader/Metadata.php -text
lib/vendor/maxmind-db/reader/src/MaxMind/Db/Reader/Util.php -text
lib/vendor/maxmind-db/reader/tests/MaxMind/Db/Test/Reader/DecoderTest.php -text
lib/vendor/maxmind-db/reader/tests/MaxMind/Db/Test/Reader/PointerTest.php -text
lib/vendor/maxmind-db/reader/tests/MaxMind/Db/Test/ReaderTest.php -text
lib/vendor/maxmind-db/reader/tests/bootstrap.php -text
lib/vendor/maxmind/web-service-common/CHANGELOG.md -text
lib/vendor/maxmind/web-service-common/LICENSE -text
lib/vendor/maxmind/web-service-common/README.md -text
lib/vendor/maxmind/web-service-common/composer.json -text
lib/vendor/maxmind/web-service-common/src/Exception/AuthenticationException.php -text
lib/vendor/maxmind/web-service-common/src/Exception/HttpException.php -text
lib/vendor/maxmind/web-service-common/src/Exception/InsufficientFundsException.php -text
lib/vendor/maxmind/web-service-common/src/Exception/InvalidInputException.php -text
lib/vendor/maxmind/web-service-common/src/Exception/InvalidRequestException.php -text
lib/vendor/maxmind/web-service-common/src/Exception/IpAddressNotFoundException.php -text
lib/vendor/maxmind/web-service-common/src/Exception/PermissionRequiredException.php -text
lib/vendor/maxmind/web-service-common/src/Exception/WebServiceException.php -text
lib/vendor/maxmind/web-service-common/src/WebService/Client.php -text
lib/vendor/maxmind/web-service-common/src/WebService/Http/CurlRequest.php -text
lib/vendor/maxmind/web-service-common/src/WebService/Http/Request.php -text
lib/vendor/maxmind/web-service-common/src/WebService/Http/RequestFactory.php -text
/paquet.xml -text
prive/objets/contenu/test_geoip.html -text
prive/objets/contenu/test_geoip_fonctions.php -text
+10 −18
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
GeoIP
GeoIP (version 2)
============

Utiliser la bibiothèque GeoIP de Maxmind

Attention, cette version n'est pas correct et introduit des failles de sécurité. Préfére utiliser la version 1 du plugin (http://zone.spip.org/trac/spip-zone/browser/_plugins_/geoip/branches/v1)

Lors de l'installation du plugins vous installez deux versions de la librairie, vous devez installer les bases de données dans la configuration du plugins.

En installant la version 1 de la librairie, vous devez renommer le fichier src/geoip.inc en src/geoip.php
La base de données (fichier .dat) est installé dans le répertoire lib/geoip-api-php/maxmind-db/ 
Utiliser la bibiothèque GeoIP version 2 de Maxmind

En installant la version 2, vous profitez des dernières fonctionnalités de geoIP.
La base de données (fichier .mmdb) est installé dans le répertoire lib/GeoIP2-php/maxmind-db/ 

Github : https://github.com/maxmind/
Version 1 : https://github.com/maxmind/geoip-api-php/archive/master.zip
Database version 1 : http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
La base de données (fichier .mmdb) est installé dans le répertoire lib/

Version 2 : https://github.com/maxmind/GeoIP2-php/archive/master.zip 
Database version 2 : http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz

## Changelog

### Version 2.0.1

- Suppression du code pour utiliser la version 1
- Suppression du formulaire de configuration inutile

### Version 2.0.0

Passage en version 2 suite à l'ajout sur le svn de la version 1
- Passage en version 2 suite à l'ajout sur le svn de la version 1

### Version 1.0.1

- Faire fonctionner la librairie version 2 sans l'autoload (cette enchaînement d'include_spip, faire mieux)
- Faire fonctionner la librairie version 2 sans l'autoload (cet enchaînement d'include_spip, faire mieux)
- Installation automatique des bases de données
- Installation automatique des librairies MaxMind

@@ -39,5 +33,3 @@ Passage en version 2 suite à l'ajout sur le svn de la version 1
- Récupérer le code pays d'après une IP

### TODO

- Voir pourquoi les contantes dans le fichier des fonctions ne fonctionnent pas.
 No newline at end of file

formulaires/configurer_geoip.html

supprimé100644 → 0
+0 −32
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">

	<h3 class="titrem"><:geoip:cfg_titre_parametrages:></h3>

	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
	[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]

	<form method="post" action="#ENV{action}">
	<div>
		#ACTION_FORMULAIRE{#ENV{action}}
		<ul class="editer-groupe">
			<li class="editer editer_geoipr_publier">
				#SET{name,geoip_version}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
				<label><:geoip:label_geoipr_publier:></label>
				<div class="choix">
					<input type="radio" name="#GET{name}" id="#GET{name}_oui" value="oui"
						[(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] />
					<label for="#GET{name}_oui"><:geoip:geoip_version1:></label>
				</div>
				<div class="choix">
					<input type="radio" name="#GET{name}" id="#GET{name}_non" value="non"
						[(#ENV{#GET{name}}|=={oui}|non)checked="checked"] />
					<label for="#GET{name}_non"><:geoip:geoip_version2:></label>
				</div>
			</li>
		</ul>

		<input type="hidden" name="_meta_casier" value="geoip" />
		<p class="boutons"><span class="image_loading">&nbsp;</span><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p>
	</div>
	</form>
</div>
 No newline at end of file

formulaires/configurer_geoip.php

supprimé100644 → 0
+0 −80
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<?php
/**
 * Peupler geoip
 *
 * @plugin     geoip
 * @copyright  2016
 * @author     cyp
 * @licence    GNU/GPL
 * @package    SPIP\geoip\formulaires_configurer_geoip
 */

if (!defined('_ECRIRE_INC_VERSION')) {
	return;
}

/**
 * Chargement du formulaire
 *
 * @return array
 *     Environnement du formulaire
 **/
function formulaires_configurer_geoip_charger_dist() {

	$valeurs = array();
	if ($_SERVER['GEOIP_ADDR']) {
		$valeurs = _T('geoip:libapache_installe');
	} else {
		foreach (array('geoip_version',) as $m) {
			$valeurs[$m] = $GLOBALS['meta'][$m];
		}
	}

	return $valeurs;
}

/**
 * Vérification du formulaire
 *
 * @return array
 *     Environnement du formulaire
 **/
function formulaires_configurer_geoip_verifier_dist() {

	$erreur = array();
	return $erreurs;
}

/**
 * Traiter les données du formulaire
 *
 * @return string
 *     Environnement du formulaire
 **/
function formulaires_configurer_geoip_traiter_dist() {

	include_spip('geoip_fonctions');

	if (_request('geoip_version')) {
		
		foreach (array('geoip_version',) as $m) {
			if (!is_null($v = _request($m))) {
				$v == 'oui' ? $version = 1 : $version = 2;
				$installer = installer_databases_geoip($version);
				ecrire_meta($m, $v == 'oui' ? 'oui' : 'non');
			}
		}

		// On renomme un fichier de la librairie qui a pour extension .inc
		$vieux_fichier = find_in_path('lib/geoip-api-php/src/geoip.inc');
		$nouveau_fichier = '../lib/geoip-api-php/src/geoip.php';
		rename($vieux_fichier, $nouveau_fichier);		

	}

	$res = array(
			'message_ok' => _T('geoip:message_confirmation_installer_databases_geoip')
	);

	return $res;
}

geoip_administrations.php

supprimé100644 → 0
+0 −34
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
<?php

/**
 * Administrations pour GeoIP
 *
 * @plugin     GeoIP
 * @copyright  2014
 * @author     cyp
 * @licence    GNU/GPL
 * @package    SPIP\GeoIP\administrations
 */

if (!defined('_ECRIRE_INC_VERSION')) {
	return;
}

function geoip_upgrade($nom_meta_base_version, $version_cible) {
	$maj = array();
	$maj['create'] = array();

	include_spip('base/upgrade');
	maj_plugin($nom_meta_base_version, $version_cible, $maj);
}

/**
 * Desinstallation/suppression des tables GeoIP
 *
 * @param string $nom_meta_base_version
 */
function geoip_vider_tables($nom_meta_base_version) {
	include_spip('inc/meta');
	effacer_meta('geoip_version');
	effacer_meta($nom_meta_base_version);
}
Chargement en cours