Test encodage UTF-8
This commit is contained in:
parent
5be21d5cc3
commit
9736b4e17d
@ -22,16 +22,16 @@ set_time_limit(0);
|
||||
$eol="\n";
|
||||
$lastJO=$dateDebut=$dateFin=$verif=false;
|
||||
$strInfoProg='Usage : '.basename($argv[0]). " [OPTION]
|
||||
Vérifie les actes numérisés reçus en provenance des Greffes.
|
||||
Vérifie les actes numérisés reçus en provenance des Greffes.
|
||||
|
||||
Sans aucun paramètre, récupération des actes.
|
||||
Sans aucun paramètre, récupération des actes.
|
||||
";/*Sinon:
|
||||
-d:JJ/MM/AAAA Date de début de publication
|
||||
-d:JJ/MM/AAAA Date de début de publication
|
||||
-f:JJ/MM/AAAA Date de fin de publication
|
||||
-l Dernier JO Association uniquement (*)
|
||||
-n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes)
|
||||
-i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes)
|
||||
-v Vérifier que toutes les annonces du JO sont en base !
|
||||
-n:X Intervalle MIN en secondes entre les requêtes sur le site des JO (défaut=$tempsMinEntreRequetes)
|
||||
-i:X \" MAX \" \" \" \" \" \" \" \" \" \" (défaut=$tempsMaxEntreRequetes)
|
||||
-v Vérifier que toutes les annonces du JO sont en base !
|
||||
";*/
|
||||
|
||||
$argv=$_SERVER['argv'];
|
||||
@ -60,10 +60,10 @@ else {
|
||||
$con = mysql_pconnect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
|
||||
if (!($con === false)) {
|
||||
if (mysql_select_db(MYSQL_DB, $con) === false)
|
||||
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error() . $eol;
|
||||
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error() . $eol;
|
||||
}
|
||||
else
|
||||
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error(). $eol;
|
||||
echo date ('Y/m/d - H:i:s') .' - ERREUR : MySql n°'. mysql_errno() .') : '. mysql_error(). $eol;
|
||||
|
||||
$tabCommandes=mysql_select('commandes', 'idCommande, idUser, login, emailCommande, siren, refDocument, dateCommande', 'dateReception=0', false, MYSQL_ASSOC);
|
||||
$nbCommandes=count($tabCommandes);
|
||||
@ -73,24 +73,24 @@ foreach ($tabCommandes as $commande) {
|
||||
}
|
||||
$tabCommandes=$tabTmp;
|
||||
unset($tabTmp);
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbCommandes actes en attente de réception courrier ou numérisation !$eol";
|
||||
echo date('Y/m/d - H:i:s') ." - Il y a $nbCommandes actes en attente de réception courrier ou numérisation !$eol";
|
||||
//print_r($tabCommandes);
|
||||
//die();
|
||||
|
||||
/**
|
||||
** Connexion au site FTP
|
||||
**/
|
||||
echo date('Y/m/d - H:i:s') ." - Récupération des fichiers numérisés en attente de traitement...".EOL;
|
||||
echo date('Y/m/d - H:i:s') ." - Récupération des fichiers numérisés en attente de traitement...".EOL;
|
||||
$ret=ftp_mget(ACTES_IGNUM_FTP_URL, ACTES_IGNUM_FTP_USER, ACTES_IGNUM_FTP_PASS, '*.pdf', ACTES_IGNUM_LOCAL_DIR, false);
|
||||
if ($ret===false)
|
||||
die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des actes numérisés impossible !".EOL);
|
||||
die (date ('Y/m/d - H:i:s')." - ERREUR : Récupération des actes numérisés impossible !".EOL);
|
||||
else
|
||||
echo date ('Y/m/d - H:i:s')." - FIN de la récupération des flux Hugin en FTP ($ret fichiers récupérés).".EOL;
|
||||
echo date ('Y/m/d - H:i:s')." - FIN de la récupération des flux Hugin en FTP ($ret fichiers récupérés).".EOL;
|
||||
|
||||
/**
|
||||
** Connexion au site FTP
|
||||
**/
|
||||
echo date('Y/m/d - H:i:s') ." - Traitement des actes non encore traités !".EOL;
|
||||
echo date('Y/m/d - H:i:s') ." - Traitement des actes non encore traités !".EOL;
|
||||
$tabFichiers=array();
|
||||
$dh = opendir(ACTES_IGNUM_LOCAL_DIR);
|
||||
while (false !== ($filename = readdir($dh))) {
|
||||
@ -106,33 +106,33 @@ foreach ($tabFichiers as $k => $nomFichier) {
|
||||
$tabActes[] = $nomFichier;
|
||||
if (isset($tabCommandes[$numFichier]) && is_array($tabCommandes[$numFichier])) {
|
||||
$commande=$tabCommandes[$numFichier];
|
||||
echo date ('Y/m/d - H:i:s')." - Le fichier $nomFichier correspond à la commande ".$commande['refDocument'].' de '.$commande['login'].'.'.EOL;
|
||||
echo date ('Y/m/d - H:i:s')." - Le fichier $nomFichier correspond à la commande ".$commande['refDocument'].' de '.$commande['login'].'.'.EOL;
|
||||
$numFichierSuiv=str_replace('.pdf','', $tabFichiers[$k+1]);
|
||||
if (strpos($numFichierSuiv, $numFichier) === false) {
|
||||
/** Le fichier $nomFichier est une commande livrée en un seul fichier **/
|
||||
/** Le fichier $nomFichier est une commande livrée en un seul fichier **/
|
||||
$siren=$commande['siren'];
|
||||
$ref=$commande['refDocument'];
|
||||
$nomCible="acte-$siren-$ref.pdf";
|
||||
if (file_exists(ACTES_IG_LOCAL_DIR.$nomCible))
|
||||
echo date ('Y/m/d - H:i:s')." - La commande $nomCible est déjà mise à disposition !".EOL;
|
||||
echo date ('Y/m/d - H:i:s')." - La commande $nomCible est déjà mise à disposition !".EOL;
|
||||
else {
|
||||
if (rename(ACTES_IGNUM_LOCAL_DIR.$nomFichier, ACTES_IG_LOCAL_DIR.$nomCible)) {
|
||||
echo date ('Y/m/d - H:i:s')." - La commande $nomCible a été mise à disposition.".EOL;
|
||||
echo date ('Y/m/d - H:i:s')." - La commande $nomCible a été mise à disposition.".EOL;
|
||||
if (trim($commande['emailCommande'])<>'') {
|
||||
$subject="Actes ou Statuts disponible pour $siren";
|
||||
$message ="Le document commandé pour le siren $siren est disponible en téléchargement sur le site de Scores & Décisions à l'adresse suivante :\r\n\r\n";
|
||||
$message ="Le document commandé pour le siren $siren est disponible en téléchargement sur le site de Scores & Décisions à l'adresse suivante :\r\n\r\n";
|
||||
$message.="http://extranet.scores-decisions.com/pdf/$nomCible\r\n";
|
||||
$headers = 'From: infoslegales@scores-decisions.com' . "\r\n" .
|
||||
'Reply-To: infoslegales@scores-decisions.com';
|
||||
if (mail($commande['emailCommande'], $subject, $message, $headers))
|
||||
echo date ('Y/m/d - H:i:s').' - Un email a été envoyé à '.$commande['emailCommande']." pour la commande $nomCible.".EOL;
|
||||
echo date ('Y/m/d - H:i:s').' - Un email a été envoyé à '.$commande['emailCommande']." pour la commande $nomCible.".EOL;
|
||||
else
|
||||
echo date ('Y/m/d - H:i:s').' - ERREUR : Impossible d\'envoyer l\'email à '.$commande['emailCommande']." pour la commande $nomCible.".EOL;
|
||||
echo date ('Y/m/d - H:i:s').' - ERREUR : Impossible d\'envoyer l\'email à '.$commande['emailCommande']." pour la commande $nomCible.".EOL;
|
||||
}
|
||||
mysql_update('commandes', array('dateReception'=>date('YmdHis')),'idCommande='.$commande['idCommande']);
|
||||
//print_r($tabCommandes[$numFichier]);
|
||||
}
|
||||
else print 'Impossible de déplacer '.ACTES_IGNUM_LOCAL_DIR.$nomFichier.' en '.ACTES_IG_LOCAL_DIR.$nomCible.' !'.EOL;
|
||||
else print 'Impossible de déplacer '.ACTES_IGNUM_LOCAL_DIR.$nomFichier.' en '.ACTES_IG_LOCAL_DIR.$nomCible.' !'.EOL;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -34,17 +34,17 @@ if($argc > 1)
|
||||
}
|
||||
}else{
|
||||
print $argv[0]." version : ".$version."\n\n";
|
||||
print "Lancer le script ".$argv[0]." sans paramètres permet de charger toutes les méthodes graydon et vérifier les commandes\n\n";
|
||||
print "Lancer le script ".$argv[0]." sans paramètres permet de charger toutes les méthodes graydon et vérifier les commandes\n\n";
|
||||
print "Les services disponibles sont :\n";
|
||||
print "\t-Disponibilité des pays graydon (availability).\n";
|
||||
print "\t-Disponibilité des pays graydon (availability).\n";
|
||||
print "\t-Types d'identifiant disponible par pays (matchidentifiers).\n";
|
||||
print "\t-Méthodes de recherche (matchmethods).\n";
|
||||
print "\t-Vérification des commandes (commandes).\n";
|
||||
print "\t-Méthodes de recherche (matchmethods).\n";
|
||||
print "\t-Vérification des commandes (commandes).\n";
|
||||
exit;
|
||||
}
|
||||
|
||||
require_once '../config/prepend.php';
|
||||
//Inclure la base de données
|
||||
//Inclure la base de données
|
||||
require_once 'dbbootstrap.php';
|
||||
//Inclure la config graydon
|
||||
require_once 'graydon/graydon.php';
|
||||
@ -66,7 +66,7 @@ if($availability === TRUE)
|
||||
{
|
||||
$availability = array();
|
||||
$availability = $item->Products->Product;
|
||||
//Enregistrement pour chaque pays de la disponibilité des services
|
||||
//Enregistrement pour chaque pays de la disponibilité des services
|
||||
$countryavailability = new Countryavailability();
|
||||
$countryavailability->country = $item->Country;
|
||||
$countryavailability->availability = serialize($availability);
|
||||
@ -90,7 +90,7 @@ if($matchidentifiers === TRUE)
|
||||
foreach($result->CompanyMatchIdentifiers->CompanyMatchIdentifier as $item){
|
||||
$tabIdentifiers = array();
|
||||
$tabIdentifiers = $item->CompanyIdentifier;
|
||||
//Stockage du résultat de la méthode en caches
|
||||
//Stockage du résultat de la méthode en caches
|
||||
$matchidentifiers = new Matchidentifiers();
|
||||
$matchidentifiers->country = $item->Country;
|
||||
$matchidentifiers->identifiers = serialize($tabIdentifiers);
|
||||
@ -103,7 +103,7 @@ if($matchidentifiers === TRUE)
|
||||
require_once 'graydon/graydon_error.php';
|
||||
if(graydon_error($code, $text)!=FALSE){
|
||||
if($code=='CWS0112'){
|
||||
//Stockage du résultat de la méthode en cache
|
||||
//Stockage du résultat de la méthode en cache
|
||||
$matchidentifiers = new Matchidentifiers();
|
||||
$matchidentifiers->country = $pays;
|
||||
$matchidentifiers->identifiers = serialize('noidentifiers');
|
||||
@ -129,7 +129,7 @@ if($matchmethods === TRUE)
|
||||
foreach($result->CompanyMatchMethods->CompanyMatchMethod as $item){
|
||||
$methods = array();
|
||||
$methods = $item->MatchMethods->MatchMethod;
|
||||
//Stockage du résultat de la méthode en cache
|
||||
//Stockage du résultat de la méthode en cache
|
||||
$matchmethods = new Matchmethods();
|
||||
$matchmethods->country = $item->Country;
|
||||
$matchmethods->methods = serialize($methods);
|
||||
@ -143,7 +143,7 @@ if($matchmethods === TRUE)
|
||||
require_once 'graydon/error.php';
|
||||
if(graydon_error($code, $text)!=FALSE){
|
||||
if($code=='CWS0112'){
|
||||
//Stockage du résultat de la méthode en cache
|
||||
//Stockage du résultat de la méthode en cache
|
||||
$matchmethods = new Matchmethods();
|
||||
$matchmethods->country = $pays;
|
||||
$matchmethods->methods = serialize('nomethods');
|
||||
@ -157,25 +157,25 @@ if($matchmethods === TRUE)
|
||||
|
||||
if($checkCommandes === TRUE)
|
||||
{
|
||||
//Vérification des commandes
|
||||
//Vérification des commandes
|
||||
$q = Doctrine_Query::create()
|
||||
->select('*')
|
||||
->from('Commandes');
|
||||
$tabCommandes = $q->Execute();
|
||||
//Pour chaque commande ('Completed','Assigned','InError','Initialised','Delivered','Notified','ReCompleted')
|
||||
foreach($tabCommandes as $commande){
|
||||
//Si servicespeed = immediate alors on ne gère pas
|
||||
//Si servicespeed = immediate alors on ne gère pas
|
||||
if($commande->servicespeed != 'Immediate'){
|
||||
switch($commande->orderstate){
|
||||
case 'Delivered': //Délivré, on a été la chercher
|
||||
case 'Delivered': //Délivré, on a été la chercher
|
||||
//On ne fait rien
|
||||
break;
|
||||
|
||||
case 'ReCompleted':
|
||||
case 'Completed':
|
||||
//Si serviceSpeed est différent de immediate
|
||||
//alors c'est une commande passé en mode normal ou superflash
|
||||
//getCompanyReport => On récupère le rapport
|
||||
//Si serviceSpeed est différent de immediate
|
||||
//alors c'est une commande passé en mode normal ou superflash
|
||||
//getCompanyReport => On récupère le rapport
|
||||
|
||||
//Si le format est en HMTL
|
||||
|
||||
@ -186,7 +186,7 @@ if($checkCommandes === TRUE)
|
||||
|
||||
break;
|
||||
|
||||
case 'InError': //Problème dans la commande
|
||||
case 'InError': //Problème dans la commande
|
||||
|
||||
break;
|
||||
|
||||
@ -196,9 +196,9 @@ if($checkCommandes === TRUE)
|
||||
|
||||
case 'Initialised': //Commande prise en compte
|
||||
$orderstart = 'Initialised';
|
||||
case 'Assigned': //Assigné chez graydon
|
||||
case 'Assigned': //Assigné chez graydon
|
||||
$orderstart = 'Assigned';
|
||||
case '': // Pas d'état, commande pas encore vérifier
|
||||
case '': // Pas d'état, commande pas encore vérifier
|
||||
case 'default':
|
||||
$q = Doctrine_Query::create()
|
||||
->update('Commandes')
|
||||
|
@ -10,8 +10,8 @@ function mysql_trace($query, $res='') {
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Retourne la dernière valeur de l'auto-incrément ou 0 si pas d'auto-incrément
|
||||
** Penser à bien tester la valeur !== false
|
||||
/** Retourne la dernière valeur de l'auto-incrément ou 0 si pas d'auto-incrément
|
||||
** Penser à bien tester la valeur !== false
|
||||
**/
|
||||
function mysql_insert($table, $toAdd, $debug=false){
|
||||
$fields = implode(array_keys($toAdd), '`,`');
|
||||
|
@ -11,8 +11,8 @@ if ( LOG_BENCH != 'NONE')
|
||||
fclose($f);
|
||||
}
|
||||
if ( LOG_BENCH == 'WEB' || LOG_BENCH == 'BOTH' ) {
|
||||
echo '<br/><hr><br/>Mémoire utilisée par le script "'. $_SERVER['PHP_SELF'].'" = '.$mem . " octets ($memko ko)";
|
||||
echo "<br/>Temps d'exécution de la page :<br/>";
|
||||
echo '<br/><hr><br/>Mémoire utilisée par le script "'. $_SERVER['PHP_SELF'].'" = '.$mem . " octets ($memko ko)";
|
||||
echo "<br/>Temps d'exécution de la page :<br/>";
|
||||
$timer->display();
|
||||
}
|
||||
}
|
||||
|
@ -1,12 +1,12 @@
|
||||
<?php
|
||||
/*
|
||||
* Spécification des chemins d'include
|
||||
* Spécification des chemins d'include
|
||||
* Remplacement du php_value include_path dans le .htaccess
|
||||
* Attention à bien placer l'include_path dans le php.ini
|
||||
* Attention à bien placer l'include_path dans le php.ini
|
||||
* Pour windows/wamp : include_path = ".;c:\wamp\bin\php\php-X.X.X\PEAR"
|
||||
* Pour serveur linux : include_path = ".:/usr/share/php"
|
||||
*/
|
||||
// TODO : Placer le répertoire framework dans le répertoire includes pour limiter les inclusions de répertoire
|
||||
// TODO : Placer le répertoire framework dans le répertoire includes pour limiter les inclusions de répertoire
|
||||
ini_set('include_path',
|
||||
ini_get('include_path') . PATH_SEPARATOR .
|
||||
realpath(dirname(__FILE__) . '/../framework/') . PATH_SEPARATOR .
|
||||
@ -16,16 +16,16 @@ ini_set('include_path',
|
||||
// Lecture du fichier de configuration
|
||||
require_once realpath(dirname(__FILE__)).'/config.inc';
|
||||
|
||||
// Démarrage des statistiques
|
||||
// Démarrage des statistiques
|
||||
require_once 'debug/bench.php';
|
||||
|
||||
// Classe de génération des graphiques perso (Nécessaire pour la page synthese_perso.php)
|
||||
// Classe de génération des graphiques perso (Nécessaire pour la page synthese_perso.php)
|
||||
require_once 'ratios/Graphperso.php';
|
||||
|
||||
// Chargement de la classe de debuggage
|
||||
require_once 'FirePHPCore/FirePHP.class.php';
|
||||
|
||||
// Démarrage de l'environnement
|
||||
// Démarrage de l'environnement
|
||||
ob_start();
|
||||
$firephp = FirePHP::getInstance(true);
|
||||
|
||||
@ -36,7 +36,7 @@ if(ENVIRONNEMENT == 'PRD')
|
||||
}
|
||||
elseif(ENVIRONNEMENT == 'DEV' || ENVIRONNEMENT == 'REC')
|
||||
{
|
||||
$firephp->setEnabled(true); //Debuggage activé par defaut
|
||||
$firephp->setEnabled(true); //Debuggage activé par defaut
|
||||
//ini_set('error_reporting', E_ALL ^ E_NOTICE);
|
||||
}
|
||||
|
||||
@ -44,9 +44,9 @@ elseif(ENVIRONNEMENT == 'DEV' || ENVIRONNEMENT == 'REC')
|
||||
*
|
||||
* DATETIME YmdHis
|
||||
* DATETIME_LOG Y-m-d H:i:s Date du jour pour les insertions en BDD
|
||||
* NOW His Heure d'exécution du script
|
||||
* NOW_FORMAT H:i:s Heure d'exécution du script
|
||||
* TODAY Ymd Année, Mois, Jour d'exécution du script
|
||||
* NOW His Heure d'exécution du script
|
||||
* NOW_FORMAT H:i:s Heure d'exécution du script
|
||||
* TODAY Ymd Année, Mois, Jour d'exécution du script
|
||||
* TODAY_FORMAT Y-m-d
|
||||
* TODAY_AFF d/m/Y
|
||||
*/
|
||||
@ -58,7 +58,7 @@ define ('TODAY_FORMAT', substr(DATETIME,0,4).'-'.substr(DATETIME,4,2).'-'.substr
|
||||
define ('TODAY_AFF', substr(DATETIME,6,2).'/'.substr(DATETIME,4,2).'/'.substr(DATETIME,0,4));
|
||||
define ('NOW_FORMAT', substr(DATETIME,8,2).':'.substr(DATETIME,10,2).':'.substr(DATETIME,12,2));
|
||||
|
||||
// Démarrage de la session
|
||||
// Démarrage de la session
|
||||
session_start();
|
||||
|
||||
?>
|
@ -1125,405 +1125,4 @@ class FirePHP {
|
||||
// with to stop infinite recursion in this case.
|
||||
if($key=='GLOBALS'
|
||||
&& is_array($val)
|
||||
&& array_key_exists('GLOBALS',$val)) {
|
||||
$val['GLOBALS'] = '** Recursion (GLOBALS) **';
|
||||
}
|
||||
|
||||
$return[$key] = $this->encodeObject($val, 1, $ArrayDepth + 1);
|
||||
}
|
||||
} else {
|
||||
if(self::is_utf8($Object)) {
|
||||
return $Object;
|
||||
} else {
|
||||
return utf8_encode($Object);
|
||||
}
|
||||
}
|
||||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if $string is valid UTF-8 and false otherwise.
|
||||
*
|
||||
* @param mixed $str String to be tested
|
||||
* @return boolean
|
||||
*/
|
||||
protected static function is_utf8($str) {
|
||||
$c=0; $b=0;
|
||||
$bits=0;
|
||||
$len=strlen($str);
|
||||
for($i=0; $i<$len; $i++){
|
||||
$c=ord($str[$i]);
|
||||
if($c > 128){
|
||||
if(($c >= 254)) return false;
|
||||
elseif($c >= 252) $bits=6;
|
||||
elseif($c >= 248) $bits=5;
|
||||
elseif($c >= 240) $bits=4;
|
||||
elseif($c >= 224) $bits=3;
|
||||
elseif($c >= 192) $bits=2;
|
||||
else return false;
|
||||
if(($i+$bits) > $len) return false;
|
||||
while($bits > 1){
|
||||
$i++;
|
||||
$b=ord($str[$i]);
|
||||
if($b < 128 || $b > 191) return false;
|
||||
$bits--;
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts to and from JSON format.
|
||||
*
|
||||
* JSON (JavaScript Object Notation) is a lightweight data-interchange
|
||||
* format. It is easy for humans to read and write. It is easy for machines
|
||||
* to parse and generate. It is based on a subset of the JavaScript
|
||||
* Programming Language, Standard ECMA-262 3rd Edition - December 1999.
|
||||
* This feature can also be found in Python. JSON is a text format that is
|
||||
* completely language independent but uses conventions that are familiar
|
||||
* to programmers of the C-family of languages, including C, C++, C#, Java,
|
||||
* JavaScript, Perl, TCL, and many others. These properties make JSON an
|
||||
* ideal data-interchange language.
|
||||
*
|
||||
* This package provides a simple encoder and decoder for JSON notation. It
|
||||
* is intended for use with client-side Javascript applications that make
|
||||
* use of HTTPRequest to perform server communication functions - data can
|
||||
* be encoded into JSON notation for use in a client-side javascript, or
|
||||
* decoded from incoming Javascript requests. JSON format is native to
|
||||
* Javascript, and can be directly eval()'ed with no further parsing
|
||||
* overhead
|
||||
*
|
||||
* All strings should be in ASCII or UTF-8 format!
|
||||
*
|
||||
* LICENSE: Redistribution and use in source and binary forms, with or
|
||||
* without modification, are permitted provided that the following
|
||||
* conditions are met: Redistributions of source code must retain the
|
||||
* above copyright notice, this list of conditions and the following
|
||||
* disclaimer. Redistributions in binary form must reproduce the above
|
||||
* copyright notice, this list of conditions and the following disclaimer
|
||||
* in the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
|
||||
* NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
* DAMAGE.
|
||||
*
|
||||
* @category
|
||||
* @package Services_JSON
|
||||
* @author Michal Migurski <mike-json@teczno.com>
|
||||
* @author Matt Knapp <mdknapp[at]gmail[dot]com>
|
||||
* @author Brett Stimmerman <brettstimmerman[at]gmail[dot]com>
|
||||
* @author Christoph Dorn <christoph@christophdorn.com>
|
||||
* @copyright 2005 Michal Migurski
|
||||
* @version CVS: $Id: JSON.php,v 1.31 2006/06/28 05:54:17 migurski Exp $
|
||||
* @license http://www.opensource.org/licenses/bsd-license.php
|
||||
* @link http://pear.php.net/pepr/pepr-proposal-show.php?id=198
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Keep a list of objects as we descend into the array so we can detect recursion.
|
||||
*/
|
||||
private $json_objectStack = array();
|
||||
|
||||
|
||||
/**
|
||||
* convert a string from one UTF-8 char to one UTF-16 char
|
||||
*
|
||||
* Normally should be handled by mb_convert_encoding, but
|
||||
* provides a slower PHP-only method for installations
|
||||
* that lack the multibye string extension.
|
||||
*
|
||||
* @param string $utf8 UTF-8 character
|
||||
* @return string UTF-16 character
|
||||
* @access private
|
||||
*/
|
||||
private function json_utf82utf16($utf8)
|
||||
{
|
||||
// oh please oh please oh please oh please oh please
|
||||
if(function_exists('mb_convert_encoding')) {
|
||||
return mb_convert_encoding($utf8, 'UTF-16', 'UTF-8');
|
||||
}
|
||||
|
||||
switch(strlen($utf8)) {
|
||||
case 1:
|
||||
// this case should never be reached, because we are in ASCII range
|
||||
// see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
return $utf8;
|
||||
|
||||
case 2:
|
||||
// return a UTF-16 character from a 2-byte UTF-8 char
|
||||
// see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
return chr(0x07 & (ord($utf8{0}) >> 2))
|
||||
. chr((0xC0 & (ord($utf8{0}) << 6))
|
||||
| (0x3F & ord($utf8{1})));
|
||||
|
||||
case 3:
|
||||
// return a UTF-16 character from a 3-byte UTF-8 char
|
||||
// see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
return chr((0xF0 & (ord($utf8{0}) << 4))
|
||||
| (0x0F & (ord($utf8{1}) >> 2)))
|
||||
. chr((0xC0 & (ord($utf8{1}) << 6))
|
||||
| (0x7F & ord($utf8{2})));
|
||||
}
|
||||
|
||||
// ignoring UTF-32 for now, sorry
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* encodes an arbitrary variable into JSON format
|
||||
*
|
||||
* @param mixed $var any number, boolean, string, array, or object to be encoded.
|
||||
* see argument 1 to Services_JSON() above for array-parsing behavior.
|
||||
* if var is a strng, note that encode() always expects it
|
||||
* to be in ASCII or UTF-8 format!
|
||||
*
|
||||
* @return mixed JSON string representation of input var or an error if a problem occurs
|
||||
* @access public
|
||||
*/
|
||||
private function json_encode($var)
|
||||
{
|
||||
|
||||
if(is_object($var)) {
|
||||
if(in_array($var,$this->json_objectStack)) {
|
||||
return '"** Recursion **"';
|
||||
}
|
||||
}
|
||||
|
||||
switch (gettype($var)) {
|
||||
case 'boolean':
|
||||
return $var ? 'true' : 'false';
|
||||
|
||||
case 'NULL':
|
||||
return 'null';
|
||||
|
||||
case 'integer':
|
||||
return (int) $var;
|
||||
|
||||
case 'double':
|
||||
case 'float':
|
||||
return (float) $var;
|
||||
|
||||
case 'string':
|
||||
// STRINGS ARE EXPECTED TO BE IN ASCII OR UTF-8 FORMAT
|
||||
$ascii = '';
|
||||
$strlen_var = strlen($var);
|
||||
|
||||
/*
|
||||
* Iterate over every character in the string,
|
||||
* escaping with a slash or encoding to UTF-8 where necessary
|
||||
*/
|
||||
for ($c = 0; $c < $strlen_var; ++$c) {
|
||||
|
||||
$ord_var_c = ord($var{$c});
|
||||
|
||||
switch (true) {
|
||||
case $ord_var_c == 0x08:
|
||||
$ascii .= '\b';
|
||||
break;
|
||||
case $ord_var_c == 0x09:
|
||||
$ascii .= '\t';
|
||||
break;
|
||||
case $ord_var_c == 0x0A:
|
||||
$ascii .= '\n';
|
||||
break;
|
||||
case $ord_var_c == 0x0C:
|
||||
$ascii .= '\f';
|
||||
break;
|
||||
case $ord_var_c == 0x0D:
|
||||
$ascii .= '\r';
|
||||
break;
|
||||
|
||||
case $ord_var_c == 0x22:
|
||||
case $ord_var_c == 0x2F:
|
||||
case $ord_var_c == 0x5C:
|
||||
// double quote, slash, slosh
|
||||
$ascii .= '\\'.$var{$c};
|
||||
break;
|
||||
|
||||
case (($ord_var_c >= 0x20) && ($ord_var_c <= 0x7F)):
|
||||
// characters U-00000000 - U-0000007F (same as ASCII)
|
||||
$ascii .= $var{$c};
|
||||
break;
|
||||
|
||||
case (($ord_var_c & 0xE0) == 0xC0):
|
||||
// characters U-00000080 - U-000007FF, mask 110XXXXX
|
||||
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
$char = pack('C*', $ord_var_c, ord($var{$c + 1}));
|
||||
$c += 1;
|
||||
$utf16 = $this->json_utf82utf16($char);
|
||||
$ascii .= sprintf('\u%04s', bin2hex($utf16));
|
||||
break;
|
||||
|
||||
case (($ord_var_c & 0xF0) == 0xE0):
|
||||
// characters U-00000800 - U-0000FFFF, mask 1110XXXX
|
||||
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
$char = pack('C*', $ord_var_c,
|
||||
ord($var{$c + 1}),
|
||||
ord($var{$c + 2}));
|
||||
$c += 2;
|
||||
$utf16 = $this->json_utf82utf16($char);
|
||||
$ascii .= sprintf('\u%04s', bin2hex($utf16));
|
||||
break;
|
||||
|
||||
case (($ord_var_c & 0xF8) == 0xF0):
|
||||
// characters U-00010000 - U-001FFFFF, mask 11110XXX
|
||||
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
$char = pack('C*', $ord_var_c,
|
||||
ord($var{$c + 1}),
|
||||
ord($var{$c + 2}),
|
||||
ord($var{$c + 3}));
|
||||
$c += 3;
|
||||
$utf16 = $this->json_utf82utf16($char);
|
||||
$ascii .= sprintf('\u%04s', bin2hex($utf16));
|
||||
break;
|
||||
|
||||
case (($ord_var_c & 0xFC) == 0xF8):
|
||||
// characters U-00200000 - U-03FFFFFF, mask 111110XX
|
||||
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
$char = pack('C*', $ord_var_c,
|
||||
ord($var{$c + 1}),
|
||||
ord($var{$c + 2}),
|
||||
ord($var{$c + 3}),
|
||||
ord($var{$c + 4}));
|
||||
$c += 4;
|
||||
$utf16 = $this->json_utf82utf16($char);
|
||||
$ascii .= sprintf('\u%04s', bin2hex($utf16));
|
||||
break;
|
||||
|
||||
case (($ord_var_c & 0xFE) == 0xFC):
|
||||
// characters U-04000000 - U-7FFFFFFF, mask 1111110X
|
||||
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
$char = pack('C*', $ord_var_c,
|
||||
ord($var{$c + 1}),
|
||||
ord($var{$c + 2}),
|
||||
ord($var{$c + 3}),
|
||||
ord($var{$c + 4}),
|
||||
ord($var{$c + 5}));
|
||||
$c += 5;
|
||||
$utf16 = $this->json_utf82utf16($char);
|
||||
$ascii .= sprintf('\u%04s', bin2hex($utf16));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return '"'.$ascii.'"';
|
||||
|
||||
case 'array':
|
||||
/*
|
||||
* As per JSON spec if any array key is not an integer
|
||||
* we must treat the the whole array as an object. We
|
||||
* also try to catch a sparsely populated associative
|
||||
* array with numeric keys here because some JS engines
|
||||
* will create an array with empty indexes up to
|
||||
* max_index which can cause memory issues and because
|
||||
* the keys, which may be relevant, will be remapped
|
||||
* otherwise.
|
||||
*
|
||||
* As per the ECMA and JSON specification an object may
|
||||
* have any string as a property. Unfortunately due to
|
||||
* a hole in the ECMA specification if the key is a
|
||||
* ECMA reserved word or starts with a digit the
|
||||
* parameter is only accessible using ECMAScript's
|
||||
* bracket notation.
|
||||
*/
|
||||
|
||||
// treat as a JSON object
|
||||
if (is_array($var) && count($var) && (array_keys($var) !== range(0, sizeof($var) - 1))) {
|
||||
|
||||
$this->json_objectStack[] = $var;
|
||||
|
||||
$properties = array_map(array($this, 'json_name_value'),
|
||||
array_keys($var),
|
||||
array_values($var));
|
||||
|
||||
array_pop($this->json_objectStack);
|
||||
|
||||
foreach($properties as $property) {
|
||||
if($property instanceof Exception) {
|
||||
return $property;
|
||||
}
|
||||
}
|
||||
|
||||
return '{' . join(',', $properties) . '}';
|
||||
}
|
||||
|
||||
$this->json_objectStack[] = $var;
|
||||
|
||||
// treat it like a regular array
|
||||
$elements = array_map(array($this, 'json_encode'), $var);
|
||||
|
||||
array_pop($this->json_objectStack);
|
||||
|
||||
foreach($elements as $element) {
|
||||
if($element instanceof Exception) {
|
||||
return $element;
|
||||
}
|
||||
}
|
||||
|
||||
return '[' . join(',', $elements) . ']';
|
||||
|
||||
case 'object':
|
||||
$vars = self::encodeObject($var);
|
||||
|
||||
$this->json_objectStack[] = $var;
|
||||
|
||||
$properties = array_map(array($this, 'json_name_value'),
|
||||
array_keys($vars),
|
||||
array_values($vars));
|
||||
|
||||
array_pop($this->json_objectStack);
|
||||
|
||||
foreach($properties as $property) {
|
||||
if($property instanceof Exception) {
|
||||
return $property;
|
||||
}
|
||||
}
|
||||
|
||||
return '{' . join(',', $properties) . '}';
|
||||
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* array-walking function for use in generating JSON-formatted name-value pairs
|
||||
*
|
||||
* @param string $name name of key to use
|
||||
* @param mixed $value reference to an array element to be encoded
|
||||
*
|
||||
* @return string JSON-formatted name-value pair, like '"name":value'
|
||||
* @access private
|
||||
*/
|
||||
private function json_name_value($name, $value)
|
||||
{
|
||||
// Encoding the $GLOBALS PHP array causes an infinite loop
|
||||
// if the recursion is not reset here as it contains
|
||||
// a reference to itself. This is the only way I have come up
|
||||
// with to stop infinite recursion in this case.
|
||||
if($name=='GLOBALS'
|
||||
&& is_array($value)
|
||||
&& array_key_exists('GLOBALS',$value)) {
|
||||
$value['GLOBALS'] = '** Recursion **';
|
||||
}
|
||||
|
||||
$encoded_value = $this->json_encode($value);
|
||||
|
||||
if($encoded_value instanceof Exception) {
|
||||
return $encoded_value;
|
||||
}
|
||||
|
||||
return $this->json_encode(strval($name)) . ':' . $encoded_value;
|
||||
}
|
||||
}
|
||||
&& array_key_exists(
|
@ -2,7 +2,7 @@
|
||||
|
||||
class WChiffes {
|
||||
|
||||
private static $tabChiffresEnLEttres = array( 0=>'zéro',
|
||||
private static $tabChiffresEnLEttres = array( 0=>'zéro',
|
||||
1=>'un',
|
||||
2=>'deux',
|
||||
3=>'trois',
|
||||
|
@ -3,7 +3,7 @@
|
||||
//include_once('/var/www/default/_includes/timer.php');
|
||||
|
||||
/** Parse une page Html et retourne son contenu dans un tableau :
|
||||
** "code" => Code réponse Serveur
|
||||
** "code" => Code réponse Serveur
|
||||
** "header" => Headers du serveur
|
||||
** "body" => Page HTML
|
||||
**/
|
||||
@ -26,22 +26,22 @@ function parse_response($this_response) {
|
||||
|
||||
if ($header=='Set-cookie' && substr($value,0,5)=='RMID=' && $nbRMID<5)//{
|
||||
$nbRMID++;
|
||||
// echo ("Je gicle le RMID n°$nbRMID\r\n");}
|
||||
// echo ("Je gicle le RMID n°$nbRMID\r\n");}
|
||||
else
|
||||
$response_header_array[$header] .= $value."\n";
|
||||
}
|
||||
return array('code' => $response_code, 'header' => $response_header_array, 'body' => $response_body);
|
||||
}
|
||||
|
||||
/** Récupère une page HTML en fonction des paramètres :
|
||||
** $url Url distante de la page à récupérer
|
||||
** $strCookies Chaine de caractère contenant les cookies
|
||||
** $postData Tableau des données à passer en POST uniquement
|
||||
** $referer Referer à indiquer lors de l'appel de la page
|
||||
** $debug Activer le débogage (True/False)
|
||||
/** Récupère une page HTML en fonction des paramètres :
|
||||
** $url Url distante de la page à récupérer
|
||||
** $strCookies Chaine de caractère contenant les cookies
|
||||
** $postData Tableau des données à passer en POST uniquement
|
||||
** $referer Referer à indiquer lors de l'appel de la page
|
||||
** $debug Activer le débogage (True/False)
|
||||
**
|
||||
** ... et retourne son contenu dans un tableau :
|
||||
** "code" => Code réponse Serveur
|
||||
** "code" => Code réponse Serveur
|
||||
** "header" => Headers du serveur
|
||||
** "body" => Page HTML
|
||||
**/
|
||||
@ -59,7 +59,7 @@ function getUrl($url, $strCookies='', $postData='', $referer='', $debug=false, $
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_HEADER, 1);
|
||||
if ($proxy<>'') curl_setopt($ch, CURLOPT_PROXY, $proxy);
|
||||
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'username:password'); // Pas nécessaire en authentification NT
|
||||
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'username:password'); // Pas nécessaire en authentification NT
|
||||
|
||||
if (((int)$timeout)<>0) curl_setopt($ch, CURLOPT_TIMEOUT, (int)$timeout);
|
||||
|
||||
@ -157,16 +157,16 @@ function getTextInHtml($pageHtml, $strToFind, $strDeb, $strEnd, $include_strDeb=
|
||||
$nbOccTrouve++;
|
||||
|
||||
if ($nbOcc==$nbOccTrouve) {
|
||||
// echo "j'ai trouvé le nb demandé, je sort\r\n";
|
||||
// echo "j'ai trouvé le nb demandé, je sort\r\n";
|
||||
break;
|
||||
};
|
||||
}
|
||||
|
||||
return $tabUrl;
|
||||
/*<span class="mongrasvert">
|
||||
<li>Le type de voie a été modifié<br>
|
||||
<li>L'orthographe du mot directeur a été modifiée<br>
|
||||
<li>Le code postal a été forcé à partir du département et de la localité<br> </span>
|
||||
<li>Le type de voie a été modifié<br>
|
||||
<li>L'orthographe du mot directeur a été modifiée<br>
|
||||
<li>Le code postal a été forcé à partir du département et de la localité<br> </span>
|
||||
*/
|
||||
}
|
||||
|
||||
|
@ -4,14 +4,14 @@ include_once('chiffres.php');
|
||||
|
||||
|
||||
/**
|
||||
* Classe de gestion des méthodes relatives à la date et à l'heure
|
||||
* Classe de gestion des méthodes relatives à la date et à l'heure
|
||||
*
|
||||
* <p>détail de la classe</p>
|
||||
* <p>détail de la classe</p>
|
||||
*
|
||||
* @name nom de la classe
|
||||
* @author Nom de l'auteur <adresse@Email.dom>
|
||||
* @link
|
||||
* @copyright Prénom Nom Année
|
||||
* @copyright Prénom Nom Année
|
||||
* @version 1.0.0
|
||||
* @package Nom du package
|
||||
*/
|
||||
@ -19,31 +19,31 @@ include_once('chiffres.php');
|
||||
class WDate {
|
||||
|
||||
private static $tabMoisEnLettres = array( 1=>'Janvier',
|
||||
2=>'Février',
|
||||
2=>'Février',
|
||||
3=>'Mars',
|
||||
4=>'Avril',
|
||||
5=>'Mai',
|
||||
6=>'Juin',
|
||||
7=>'Juillet',
|
||||
8=>'Août',
|
||||
8=>'Août',
|
||||
9=>'Septembre',
|
||||
10=>'Octobre',
|
||||
11=>'Novembre',
|
||||
12=>'Décembre');
|
||||
12=>'Décembre');
|
||||
|
||||
/** Retourne le numéro du mois donné au format texte (janvier, mars, etc...)
|
||||
/** Retourne le numéro du mois donné au format texte (janvier, mars, etc...)
|
||||
* @param string Mois en toute lettres (janvier, mars, etc...)
|
||||
* @return string Mois en Chiffe (1, 3, 12) / false en cas d'erreur
|
||||
*/
|
||||
public function getNumMois($moisEnLettres) {
|
||||
foreach (self::$tabMoisEnLettres as $num=>$mois)
|
||||
$tabMoisSansAccents[$num]=strtr($mois, 'ééû','eeu');
|
||||
return array_search(ucfirst(strtolower(strtr($moisEnLettres, 'ééû','eeu'))), $tabMoisSansAccents);
|
||||
$tabMoisSansAccents[$num]=strtr($mois, 'ééû','eeu');
|
||||
return array_search(ucfirst(strtolower(strtr($moisEnLettres, 'ééû','eeu'))), $tabMoisSansAccents);
|
||||
}
|
||||
|
||||
/** Retourne le libellé nu numéro du mois passé en paramètre
|
||||
/** Retourne le libellé nu numéro du mois passé en paramètre
|
||||
* @param int $moisEnChiffre
|
||||
* @return string Libellé du mois / false si le mois passé en paramètre est invalide
|
||||
* @return string Libellé du mois / false si le mois passé en paramètre est invalide
|
||||
*/
|
||||
public function getLibelleMois($moisEnChiffre) {
|
||||
if ($moisEnChiffre>0 && $moisEnChiffre<13)
|
||||
@ -53,11 +53,11 @@ include_once('chiffres.php');
|
||||
}
|
||||
|
||||
/**
|
||||
* Conversion de formats de dates selon les formats de dates définits en php
|
||||
* @param string Format de la date d'entrée
|
||||
* Conversion de formats de dates selon les formats de dates définits en php
|
||||
* @param string Format de la date d'entrée
|
||||
* @param string Format de la date de sortie
|
||||
* @param string Date d'entrée
|
||||
* @return string Date formatée
|
||||
* @param string Date d'entrée
|
||||
* @return string Date formatée
|
||||
*/
|
||||
public function dateT($formatIN, $formatOUT, $date)
|
||||
{
|
||||
@ -113,7 +113,7 @@ include_once('chiffres.php');
|
||||
}
|
||||
}
|
||||
|
||||
/** Calcul de la date après application de la période textuelle (deux ans, six mois, quinze jours, etc...)
|
||||
/** Calcul de la date après application de la période textuelle (deux ans, six mois, quinze jours, etc...)
|
||||
* @todo Fonction ne fonctionnant qu'avec un chiffre en un seul mot du genre dix mais pas quatre vingt dix !!!
|
||||
* @param date $dateIN au format Ymd
|
||||
* @param string $period (ex : cinq mois, six ans, un jour)
|
||||
|
@ -12,9 +12,9 @@ function ftp_mget($ftp_url, $ftp_user, $ftp_pass, $ftp_dir, $local_dir, $debug=n
|
||||
if ($debug<>null) echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de s'authentifier sur le serveur FTP (user=$ftp_user)!".EOL;
|
||||
return false;
|
||||
}
|
||||
// Récupération du contenu d'un dossier
|
||||
// Récupération du contenu d'un dossier
|
||||
$contents = ftp_nlist($conn_id, $ftp_dir);
|
||||
$nbFic=0; // Nombre de fichiers récupérés
|
||||
$nbFic=0; // Nombre de fichiers récupérés
|
||||
if (is_array($contents))
|
||||
foreach($contents as $k => $server_file) {
|
||||
$tailleDist = ftp_size($conn_id, $server_file);
|
||||
@ -22,10 +22,10 @@ function ftp_mget($ftp_url, $ftp_user, $ftp_pass, $ftp_dir, $local_dir, $debug=n
|
||||
$tailleLoc=0;
|
||||
if ($dateDist != -1) {
|
||||
$tabFichiers[$server_file]['dateDispo']=date('Y-m-d H:i:s', $dateDist);
|
||||
if ($debug<>null) echo date ('Y/m/d - H:i:s') ." - Le fichier distant $server_file a été modifié le ".date("d/m/Y à H:i:s.",$dateDist)."\n";
|
||||
if ($debug<>null) echo date ('Y/m/d - H:i:s') ." - Le fichier distant $server_file a été modifié le ".date("d/m/Y à H:i:s.",$dateDist)."\n";
|
||||
} else {
|
||||
$tabFichiers[$server_file]['dateDispo']=NULL;
|
||||
if ($debug<>null) echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de récupérer l'heure de modification du fichier distant $server_file !\n";
|
||||
if ($debug<>null) echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de récupérer l'heure de modification du fichier distant $server_file !\n";
|
||||
}
|
||||
$tabFichiers[$server_file]['taille']=$tailleDist;
|
||||
if ($tailleDist != -1) {
|
||||
@ -39,10 +39,10 @@ function ftp_mget($ftp_url, $ftp_user, $ftp_pass, $ftp_dir, $local_dir, $debug=n
|
||||
}
|
||||
if ($tailleDist<>$tailleLoc) {
|
||||
if (ftp_get($conn_id, $local_dir. $server_file, $server_file, FTP_BINARY)) {
|
||||
if ($debug<>null) echo date ('Y/m/d - H:i:s')." - Fichier distant $server_file téléchargé avec succès".EOL;
|
||||
if ($debug<>null) echo date ('Y/m/d - H:i:s')." - Fichier distant $server_file téléchargé avec succès".EOL;
|
||||
$nbFic++;
|
||||
} else {
|
||||
if ($debug<>null) echo date ('Y/m/d - H:i:s')." - ERREUR : Fichier distant $server_file non téléchargé !".EOL;
|
||||
if ($debug<>null) echo date ('Y/m/d - H:i:s')." - ERREUR : Fichier distant $server_file non téléchargé !".EOL;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ class WDB {
|
||||
$this->con_id = mysql_pconnect($this->host, $this->user, $this->password);
|
||||
if (!($this->con_id === false)) {
|
||||
if (mysql_select_db($this->database, $this->con_id) === false) {
|
||||
echo date('Y/m/d - H:i:s') ." - ERREUR ".mysql_errno()." : Connection à la base de données impossible !".EOL;
|
||||
echo date('Y/m/d - H:i:s') ." - ERREUR ".mysql_errno()." : Connection à la base de données impossible !".EOL;
|
||||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||||
die();
|
||||
}
|
||||
@ -35,10 +35,10 @@ class WDB {
|
||||
}
|
||||
|
||||
/** INSERTION d'un tableau dans une table.
|
||||
** Les index doivent avoir les mêmes noms que les champs.
|
||||
** Les index doivent avoir les mêmes noms que les champs.
|
||||
** @param string Table
|
||||
** @param array Valeurs insérer
|
||||
** @return int Dernière valeur de l'auto-incrément, 1 si pas d'auto-incrément et 0 si erreur
|
||||
** @param array Valeurs insérer
|
||||
** @return int Dernière valeur de l'auto-incrément, 1 si pas d'auto-incrément et 0 si erreur
|
||||
**/
|
||||
public function insert($table, $toAdd, $debug=false){
|
||||
$fields = implode(array_keys($toAdd), '`,`');
|
||||
@ -88,7 +88,7 @@ public function delete($table, $where, $debug=false) {
|
||||
|
||||
public function select($table, $fields, $where, $debug=false, $assoc=MYSQL_BOTH, $huge=false) {
|
||||
if (mysql_select_db($this->database, $this->con_id) === false) {
|
||||
echo date('Y/m/d - H:i:s') ." - ERREUR ".mysql_errno()." : Connection à la base de données impossible !".EOL;
|
||||
echo date('Y/m/d - H:i:s') ." - ERREUR ".mysql_errno()." : Connection à la base de données impossible !".EOL;
|
||||
echo date ('Y/m/d - H:i:s'). mysql_error();
|
||||
die();
|
||||
}
|
||||
@ -128,21 +128,21 @@ public function trace($query, $res='', $tdeb=-1) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Exécute la requête passé en paramètre **/
|
||||
/** Exécute la requête passé en paramètre **/
|
||||
public function query($query, $debug=false){
|
||||
return mysql_query($query, $this->con_id);
|
||||
}
|
||||
|
||||
/** Retourne le libellé de la dernière erreur **/
|
||||
/** Retourne le libellé de la dernière erreur **/
|
||||
public function getLastErrorMsg() {
|
||||
return mysql_error($this->con_id);
|
||||
}
|
||||
/** Retourne le numéro de la dernière erreur **/
|
||||
/** Retourne le numéro de la dernière erreur **/
|
||||
public function getLastErrorNum() {
|
||||
return mysql_errno($this->con_id);
|
||||
}
|
||||
|
||||
/** Retourne le libellé et le numéro de la dernière erreur **/
|
||||
/** Retourne le libellé et le numéro de la dernière erreur **/
|
||||
public function getLastError() {
|
||||
return mysql_error($this->con_id).' ('.mysql_errno($this->con_id).')';
|
||||
}
|
||||
|
@ -7,12 +7,12 @@ define ('ALIGN_LEFT', 0);
|
||||
define ('ALIGN_RIGHT', 1);
|
||||
|
||||
|
||||
/**Initialisation d'une chaîne de caractère
|
||||
/**Initialisation d'une chaîne de caractère
|
||||
*
|
||||
* @param string $chaine Chaîne de caractère initiale
|
||||
* @param int $taille Taille de la chaîne de caractère à initialiser
|
||||
* @param string $caractere_pour_combler Caractère à utiliser pour combler la chaîne de caractère (espace par défaut)
|
||||
* @param string $align Aligner la chaîne de caractère à droite (right) ou à gauche (left, par défaut)
|
||||
* @param string $chaine Chaîne de caractère initiale
|
||||
* @param int $taille Taille de la chaîne de caractère à initialiser
|
||||
* @param string $caractere_pour_combler Caractère à utiliser pour combler la chaîne de caractère (espace par défaut)
|
||||
* @param string $align Aligner la chaîne de caractère à droite (right) ou à gauche (left, par défaut)
|
||||
* @return string
|
||||
*/
|
||||
function initstr($chaine, $taille, $caractere_pour_combler=' ', $align=ALIGN_LEFT) {
|
||||
@ -34,7 +34,7 @@ define ('ALIGN_RIGHT', 1);
|
||||
/**
|
||||
* Ajout d'anti-slashs s'il y a lieu en vu d'une insertion en BDD
|
||||
*
|
||||
* @param string $str Chaine de caractère
|
||||
* @param string $str Chaine de caractère
|
||||
* @return unknown
|
||||
*/
|
||||
|
||||
@ -100,7 +100,7 @@ define ('ALIGN_RIGHT', 1);
|
||||
$strIn=str_replace('y', 'i', $strIn);
|
||||
/** On supprime les accents **/
|
||||
$strIn=trimAccent($strIn);
|
||||
/** On retire les 'H' muets sauf ceux précédés par 'C' ou 'S' **/
|
||||
/** On retire les 'H' muets sauf ceux précédés par 'C' ou 'S' **/
|
||||
$strIn = preg_replace ('/(?<![CS])H/', '', $strIn);
|
||||
/** On remplace les 'PH' par des 'F' **/
|
||||
$strIn=str_replace('ph', 'f', $strIn);
|
||||
@ -122,14 +122,14 @@ define ('ALIGN_RIGHT', 1);
|
||||
$strIn=str_replace('oua', '2', $strIn);
|
||||
$strIn=str_replace('ein', '4', $strIn);
|
||||
$strIn=str_replace('ain', '4', $strIn);
|
||||
/** Remplacement du son 'é' **/
|
||||
/** Remplacement du son 'é' **/
|
||||
$strIn=str_replace('ai', 'y', $strIn);
|
||||
$strIn=str_replace('ei', 'y', $strIn);
|
||||
$strIn=str_replace('er', 'yr', $strIn);
|
||||
$strIn=str_replace('ess', 'yss', $strIn);
|
||||
$strIn=str_replace('et', 'yt', $strIn);
|
||||
$strIn=str_replace('ez', 'yz', $strIn);
|
||||
/** Remplacement des groupes de 2 lettres sauf si voyelle ou son (1 à 4) AVANT **/
|
||||
/** Remplacement des groupes de 2 lettres sauf si voyelle ou son (1 à 4) AVANT **/
|
||||
$strIn=str_replace_except_voy('an', '1', $strIn, BEFORE);
|
||||
$strIn=str_replace_except_voy('am', '1', $strIn, BEFORE);
|
||||
$strIn=str_replace_except_voy('en', '1', $strIn, BEFORE);
|
||||
@ -137,7 +137,7 @@ define ('ALIGN_RIGHT', 1);
|
||||
$strIn=str_replace_except_voy('in', '4', $strIn, BEFORE);
|
||||
/** Remplacement du son 'SCH' **/
|
||||
$strIn=str_replace('sch', '5', $strIn);
|
||||
/** Remplacement du 'S' sauf si voyelle ou son (1 à 4) avant ou après **/
|
||||
/** Remplacement du 'S' sauf si voyelle ou son (1 à 4) avant ou après **/
|
||||
$strIn=str_replace_except_voy('in', '4', $strIn, BOTH);
|
||||
/** Remplacement de groupe de 2 lettres diverses **/
|
||||
$strIn=str_replace('oe', 'e', $strIn);
|
||||
@ -174,7 +174,7 @@ define ('ALIGN_RIGHT', 1);
|
||||
$strIn=str_replace('v', 'f', $strIn);
|
||||
$strIn=str_replace('m', 'n', $strIn);
|
||||
|
||||
/** Supression des lettres dupliquées **/
|
||||
/** Supression des lettres dupliquées **/
|
||||
$let=$strIn[0];
|
||||
$strIn2=$let;
|
||||
for ($i=1; $i<strlen($strIn); $i++)
|
||||
@ -192,7 +192,7 @@ define ('ALIGN_RIGHT', 1);
|
||||
if ($strIn2=='t' || $strIn2=='k' || $strIn2=='s' || $strIn2=='z')
|
||||
$strIn=substr($strIn,0,-1);
|
||||
|
||||
/** Supression des caractères non autorisés **/
|
||||
/** Supression des caractères non autorisés **/
|
||||
$j=10;
|
||||
$sout=array();
|
||||
for ($i=0; $i<strlen($strIn); $i++)
|
||||
@ -220,7 +220,7 @@ define ('ALIGN_RIGHT', 1);
|
||||
/**
|
||||
* CLASS soundex2
|
||||
* soundex2 French version
|
||||
* based on the algorithm described here : http://sqlpro.developpez.com/cours/soundex/ by Frédéric BROUARD
|
||||
* based on the algorithm described here : http://sqlpro.developpez.com/cours/soundex/ by Frédéric BROUARD
|
||||
*
|
||||
* author Johan Barbier <barbier_johan@hotmail.com>
|
||||
*/
|
||||
|
@ -49,18 +49,18 @@
|
||||
}
|
||||
|
||||
function getPage($url) {
|
||||
$this->trace('URL demandée : "'. $url .'"');
|
||||
$this->trace('URL demandée : "'. $url .'"');
|
||||
return file_get_contents ($url);
|
||||
}
|
||||
|
||||
function getServerUrl() {
|
||||
if (!$this->server_url) {
|
||||
// On récupère le site automate 1 ou 2
|
||||
// On récupère le site automate 1 ou 2
|
||||
$str= $this->getPage('http://automate.bil.fr/');
|
||||
|
||||
//$str=$this->get('http://automate.bil.fr/');
|
||||
//echo $str;exit();
|
||||
$tab=explode('Accès Hyperbil ',$str);
|
||||
$tab=explode('Accès Hyperbil ',$str);
|
||||
$tab=explode('</', $tab[1]);
|
||||
$this->server_url=trim($tab[0]).'/';
|
||||
//$this->server_url='http://automate1.bil.fr/';
|
||||
@ -98,7 +98,7 @@
|
||||
return false;
|
||||
}else{
|
||||
$this->connected=true;
|
||||
$this->trace('Connexion OK. ID de session définitif : '. $this->session_id);
|
||||
$this->trace('Connexion OK. ID de session définitif : '. $this->session_id);
|
||||
//exit();
|
||||
return $this->session_id;
|
||||
}
|
||||
@ -108,7 +108,7 @@
|
||||
return false;
|
||||
}
|
||||
}
|
||||
$this->trace('Connexion déjà existante !');
|
||||
$this->trace('Connexion déjà existante !');
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -128,10 +128,10 @@
|
||||
if ($type=='') $typeFiche='';
|
||||
else $typeFiche=$type;
|
||||
/*
|
||||
hbilsoid Requête IDENTITE FORMAT SO2000
|
||||
hbilsoid Requête IDENTITE FORMAT SO2000
|
||||
hbilsoids
|
||||
hbilsoidci Fiche identité Complete INSEE SO2000
|
||||
hbilsoidc Fiche identité Complete SO2000
|
||||
hbilsoidci Fiche identité Complete INSEE SO2000
|
||||
hbilsoidc Fiche identité Complete SO2000
|
||||
*/
|
||||
if ($this->connected) {
|
||||
$str=strip_tags($this->getPage ($this->server_url .'cgi-bin/h2r?magic='. $this->session_id .'&rq=hbilsoid'. $typeFiche .'&QIABO='. $this->code_abonne .'&QISIR='. $siren .'&QINIC='. $nic .'&CT=text/plain'));
|
||||
@ -278,17 +278,17 @@ hbilsoidc Fiche identit
|
||||
switch ($ficheSO2000){
|
||||
case 'ID':
|
||||
$tab_ret=array(
|
||||
'SONABO'=>trim(substr($str, 0, 9)), // N°ABONNE (I) ********************
|
||||
'SONUME'=>trim(substr($str, 9, 9)), // N°ENTREPRISE (I) * FICHE COMPLETE *
|
||||
'SONUS' =>trim(substr($str, 18, 9)), // N°UFS (I) * +EXTENSION INSEE * SONUS_V
|
||||
'SOANN' =>trim(substr($str, 27, 9)), // N° ANNONCE (I) ********************
|
||||
'SORCS' =>trim(substr($str, 36, 14)), // N°SIRET (I)
|
||||
'SONABO'=>trim(substr($str, 0, 9)), // N°ABONNE (I) ********************
|
||||
'SONUME'=>trim(substr($str, 9, 9)), // N°ENTREPRISE (I) * FICHE COMPLETE *
|
||||
'SONUS' =>trim(substr($str, 18, 9)), // N°UFS (I) * +EXTENSION INSEE * SONUS_V
|
||||
'SOANN' =>trim(substr($str, 27, 9)), // N° ANNONCE (I) ********************
|
||||
'SORCS' =>trim(substr($str, 36, 14)), // N°SIRET (I)
|
||||
'SOPRD' =>trim(substr($str, 50, 2)), // CODE PRODUIT (I) SOPRD_N
|
||||
'SOSEQ' =>trim(substr($str, 52, 5)), // SEQUENCE DANS GROUPE(I) SOSEQ_N
|
||||
'SODTEN'=>trim(substr($str, 57, 8)), // DATE ENVOI (I) AAAAMMJJ SODTEN_D
|
||||
'SOTENR'=>trim(substr($str, 65, 1)), // CODE ENREGISTREMENT (I)
|
||||
'SOTYP' =>trim(substr($str, 66, 3)), // TYPE STRUCTURE (I) "ID " SOTYP_V
|
||||
'SOCONF'=>trim(substr($str, 69, 1)), // Code confirmé (I)
|
||||
'SOCONF'=>trim(substr($str, 69, 1)), // Code confirmé (I)
|
||||
'SOREFC'=>trim(substr($str, 70, 30)), // REFERENCE CLIENT (I) SOREFC_X
|
||||
'SOORIG'=>trim(substr($str, 100, 1)), // Code Origine BIL (S)
|
||||
'SOSDTX'=>trim(substr($str, 101, 1)), // INDIC. QUALITE (S)
|
||||
@ -297,7 +297,7 @@ hbilsoidc Fiche identit
|
||||
'SONOM2'=>trim(substr($str, 171, 30)), // RAISON SOCIALE p/2 (I) (INSEE=BLANC) SONOM_N
|
||||
'SOSIG' =>trim(substr($str, 201, 30)), // SIGLE (S) (INSEE=20) SOSIG_N
|
||||
'SOENS' =>trim(substr($str, 231, 60)), // ENSEIGNE (S) (INSEE=40) SOENS_X
|
||||
'SONRU' =>trim(substr($str, 291, 4)), // N°DS LA RUE (S)
|
||||
'SONRU' =>trim(substr($str, 291, 4)), // N°DS LA RUE (S)
|
||||
'SOBTQ' =>trim(substr($str, 295, 1)), // B=BIS T=TER Q=QUAT. (S)
|
||||
'SORUE' =>trim(substr($str, 296, 33)), // NOM DE LA RUE (S)
|
||||
'SOCOM' =>trim(substr($str, 329, 32)), // LIBELLE COMMUNE (I)
|
||||
@ -315,13 +315,13 @@ hbilsoidc Fiche identit
|
||||
'SORLJ' =>trim(substr($str, 430, 1)), // Proc.Collective (C) "O"=RLJ SORLJ_N
|
||||
'SOCAPM'=>trim(substr($str, 431, 2)), // MONNAIE (C) Table BDV SOCAPM_N
|
||||
'SOCAPI'=>trim(substr($str, 433, 13)), // MONTANT CAPITAL (C) CAPITE_X
|
||||
'SOEFF' =>trim(substr($str, 446, 7)), // EFFECTIF (+Ext) blanc=non précisé SOEFF_N
|
||||
'SORCE' =>trim(substr($str, 453, 9)), // N°RC (C) RCE_X
|
||||
'SOEFF' =>trim(substr($str, 446, 7)), // EFFECTIF (+Ext) blanc=non précisé SOEFF_N
|
||||
'SORCE' =>trim(substr($str, 453, 9)), // N°RC (C) RCE_X
|
||||
'SOETEL'=>trim(substr($str, 462, 10)), // TELEPHONE SOURCE BIL (S)
|
||||
'SOEFAX'=>trim(substr($str, 472, 10)), // FAX SOURCE BIL (S)
|
||||
'SOEWEB'=>trim(substr($str, 482, 40)), // SITE WEB SOURCE BIL (S) non encore renseigné SOEWEB_N
|
||||
'SOEWEB'=>trim(substr($str, 482, 40)), // SITE WEB SOURCE BIL (S) non encore renseigné SOEWEB_N
|
||||
'SOEDRQ'=>trim(substr($str, 522, 3)), // QUALITE DIRIGEANT (C) source BIL
|
||||
'SOEDRN'=>trim(substr($str, 525, 60)), // NOM-prénom DIRIGEANT (C) source BIL SOEDRN_X
|
||||
'SOEDRN'=>trim(substr($str, 525, 60)), // NOM-prénom DIRIGEANT (C) source BIL SOEDRN_X
|
||||
'SDEDRD'=>trim(substr($str, 585, 8)), // DATE NAISSANCE DIRIG (C) AAAAMMJJ SOEDRD_D
|
||||
'SOEDRL'=>trim(substr($str, 593, 35)), // LIEU NAISSANCE DIRIG (C) source BIL SOEDRL_N
|
||||
'SORSNO'=>trim(substr($str, 628, 2)), // NOTE SUR 20 (+sc) BLANC=PAS DE NOTE
|
||||
@ -333,7 +333,7 @@ hbilsoidc Fiche identit
|
||||
'SOSICO'=>trim(substr($str, 643, 6)), // CODE SICOVAM (C) STE COTEE EN BOURSE SOSICO_N
|
||||
'SOTYPM'=>trim(substr($str, 649, 2)), // TYPE DE MARCHE (C) STE COTEE EN BOURSE SOTYPM_N
|
||||
'SOISIN'=>trim(substr($str, 651, 12)), // CODE ISIN (C) STE COTEE EN BOURSE SOISIN_N
|
||||
'SOIDR1'=>trim(substr($str, 663, 41)), // réserve, non encore renseigné
|
||||
'SOIDR1'=>trim(substr($str, 663, 41)), // réserve, non encore renseigné
|
||||
'SONICC'=>trim(substr($str, 704, 5)), // NIC SOURCE/CIBLE (C)(+Ext) TRANSFERT ADRESSE SONICC_N
|
||||
'SODCAP'=>trim(substr($str, 709, 8)), // DATE MAJ CAPITAL (C) AAAAMMJJ SODCAP_D
|
||||
'SOCAPO'=>trim(substr($str, 717, 3)), // CAPITAL MONNAIE ORI (C) Table BDV
|
||||
@ -392,7 +392,7 @@ hbilsoidc Fiche identit
|
||||
$tabBilan['DUREE_MOIS'] =substr($fcontents[$i], 117, 2);
|
||||
$tabBilan['DUREE_MOIS_PRE'] =substr($fcontents[$i], 119, 2);
|
||||
$tabBilan['MONNAIE'] =substr($fcontents[$i], 121, 2);
|
||||
$tabBilan['CONSOLIDE'] =substr($fcontents[$i], 123, 1); // C = Bilan consolidé
|
||||
$tabBilan['CONSOLIDE'] =substr($fcontents[$i], 123, 1); // C = Bilan consolidé
|
||||
$tabBilan['MONNAIE_ORI'] =substr($fcontents[$i], 793, 3);
|
||||
$tabBilan['MONNAIE_LIV_UNITE'] =substr($fcontents[$i], 796, 1);
|
||||
$tabBilan['MONNAIE_LIV'] =substr($fcontents[$i], 797, 3);
|
||||
@ -422,122 +422,122 @@ hbilsoidc Fiche identit
|
||||
|
||||
|
||||
$tab_ret=$tabBilan;/*array(
|
||||
'SONABO'=>trim(substr($str, 0, 9)), // N°ABONNE (I) ********************
|
||||
'SONUME'=>trim(substr($str, 9, 9)), // N°ENTREPRISE (I) * FICHE COMPLETE *
|
||||
'SONUS' =>trim(substr($str, 18, 9)), // N°UFS (I) * +EXTENSION INSEE * SONUS_V
|
||||
'SOANN' =>trim(substr($str, 27, 9)), // N° ANNONCE (I) ********************
|
||||
'SORCS' =>trim(substr($str, 36, 14)), // N°SIRET (I)
|
||||
'SONABO'=>trim(substr($str, 0, 9)), // N°ABONNE (I) ********************
|
||||
'SONUME'=>trim(substr($str, 9, 9)), // N°ENTREPRISE (I) * FICHE COMPLETE *
|
||||
'SONUS' =>trim(substr($str, 18, 9)), // N°UFS (I) * +EXTENSION INSEE * SONUS_V
|
||||
'SOANN' =>trim(substr($str, 27, 9)), // N° ANNONCE (I) ********************
|
||||
'SORCS' =>trim(substr($str, 36, 14)), // N°SIRET (I)
|
||||
'SOPRD' =>trim(substr($str, 50, 2)), // CODE PRODUIT (I) SOPRD_N
|
||||
'SOSEQ' =>trim(substr($str, 52, 5)), // SEQUENCE DANS GROUPE(I) SOSEQ_N
|
||||
'SODTEN'=>trim(substr($str, 57, 8)), // DATE ENVOI (I) AAAAMMJJ SODTEN_D
|
||||
'SOTENR'=>trim(substr($str, 65, 1)), // CODE ENREGISTREMENT (I)
|
||||
'SOTYP' =>trim(substr($str, 66, 3)), // TYPE STRUCTURE (I) "ID " SOTYP_V
|
||||
'SOCONF'=>trim(substr($str, 69, 1)), // Code confirmé (I)
|
||||
'SOCONF'=>trim(substr($str, 69, 1)), // Code confirmé (I)
|
||||
'SOREFC'=>trim(substr($str, 70, 30)), // REFERENCE CLIENT (I) SOREFC_X
|
||||
'SOORIG'=>trim(substr($str, 100, 1)), // Code Origine BIL (S)
|
||||
'SOBICN'=>trim(substr($str, 101, 8)), // Date de cloture de l'exercice Exercice Année N au format SSAAMMJJ 20051231
|
||||
'SOBIC1'=>trim(substr($str, 109, 8)), // Date de cloture de l'exercice précédent Exercice Année N-1 au format SSAAMMJJ 20041231
|
||||
'SOBIDN'=>trim(substr($str, 117, 2)), // Durée en mois de l'exercice Durée de l'exercice au format MM 12
|
||||
'SOBID1'=>trim(substr($str, 119, 2)), // Durée en mois de l'exercice précédent Durée de l'exercice N-1 au format MM 12
|
||||
'SOBICN'=>trim(substr($str, 101, 8)), // Date de cloture de l'exercice Exercice Année N au format SSAAMMJJ 20051231
|
||||
'SOBIC1'=>trim(substr($str, 109, 8)), // Date de cloture de l'exercice précédent Exercice Année N-1 au format SSAAMMJJ 20041231
|
||||
'SOBIDN'=>trim(substr($str, 117, 2)), // Durée en mois de l'exercice Durée de l'exercice au format MM 12
|
||||
'SOBID1'=>trim(substr($str, 119, 2)), // Durée en mois de l'exercice précédent Durée de l'exercice N-1 au format MM 12
|
||||
'SOBIMO'=>trim(substr($str, 121, 2)), // Monnaie du bilan Cf. Table BDV EUR
|
||||
'SOBICO'=>trim(substr($str, 123, 1)), // Type du bilan S = Bilan réel Normal / C = Bilan Consolidé S
|
||||
//725 69 793 SOBIFF O AN Zone réservé Réservé usage GROUPE BIL
|
||||
'SOBIMU'=>trim(substr($str, 793, 3)), // Code devise ISO de déclaration du bilan Cf. Table BDV EUR
|
||||
'SOBIUL'=>trim(substr($str, 796, 1)), // Unité de la devise du bilan livré K=KILO
|
||||
'SOBIML'=>trim(substr($str, 123, 3)), // Code devise ISO du bilan livré Cf. Table BDV EUR
|
||||
'SOBICO'=>trim(substr($str, 123, 1)), // Type du bilan S = Bilan réel Normal / C = Bilan Consolidé S
|
||||
//725 69 793 SOBIFF O AN Zone réservé Réservé usage GROUPE BIL
|
||||
'SOBIMU'=>trim(substr($str, 793, 3)), // Code devise ISO de déclaration du bilan Cf. Table BDV EUR
|
||||
'SOBIUL'=>trim(substr($str, 796, 1)), // Unité de la devise du bilan livré K=KILO
|
||||
'SOBIML'=>trim(substr($str, 123, 3)), // Code devise ISO du bilan livré Cf. Table BDV EUR
|
||||
|
||||
/*
|
||||
|
||||
125 4 128 SOBL01 N AN Code du poste bilan dans la liasse Cerfa Poste 01 * AX
|
||||
129 1 129 SOBS01 N AN Signe du poste bilan, "-" si négatif Poste 01 *
|
||||
130 15 144 SOBM01 N Num Montant du poste bilan en unité monétaire Poste 01 * 000000000012345
|
||||
129 1 129 SOBS01 N AN Signe du poste bilan, "-" si négatif Poste 01 *
|
||||
130 15 144 SOBM01 N Num Montant du poste bilan en unité monétaire Poste 01 * 000000000012345
|
||||
145 4 148 SOBL02 N AN Code du poste bilan dans la liasse Cerfa Poste 02 BX
|
||||
149 1 149 SOBS02 N AN Signe du poste bilan, "-" si négatif Poste 02 -
|
||||
150 15 164 SOBM02 N Num Montant du poste bilan en unité monétaire Poste 02 000000000000045
|
||||
149 1 149 SOBS02 N AN Signe du poste bilan, "-" si négatif Poste 02 -
|
||||
150 15 164 SOBM02 N Num Montant du poste bilan en unité monétaire Poste 02 000000000000045
|
||||
165 4 168 SOBL03 N AN Code du poste bilan dans la liasse Cerfa Poste 03 DE
|
||||
169 1 169 SOBS03 N AN Signe du poste bilan, "-" si négatif Poste 03 000000000012345
|
||||
170 15 184 SOBM03 N Num Montant du poste bilan en unité monétaire Poste 03
|
||||
169 1 169 SOBS03 N AN Signe du poste bilan, "-" si négatif Poste 03 000000000012345
|
||||
170 15 184 SOBM03 N Num Montant du poste bilan en unité monétaire Poste 03
|
||||
185 4 188 SOBL04 N AN Code du poste bilan dans la liasse Cerfa Poste 04
|
||||
189 1 189 SOBS04 N AN Signe du poste bilan, "-" si négatif Poste 04
|
||||
190 15 204 SOBM04 N Num Montant du poste bilan en unité monétaire Poste 04
|
||||
189 1 189 SOBS04 N AN Signe du poste bilan, "-" si négatif Poste 04
|
||||
190 15 204 SOBM04 N Num Montant du poste bilan en unité monétaire Poste 04
|
||||
205 4 208 SOBL05 N AN Code du poste bilan dans la liasse Cerfa Poste 05
|
||||
209 1 209 SOBS05 N AN Signe du poste bilan, "-" si négatif Poste 05
|
||||
210 15 224 SOBM05 N Num Montant du poste bilan en unité monétaire Poste 05
|
||||
209 1 209 SOBS05 N AN Signe du poste bilan, "-" si négatif Poste 05
|
||||
210 15 224 SOBM05 N Num Montant du poste bilan en unité monétaire Poste 05
|
||||
225 4 228 SOBL06 N AN Code du poste bilan dans la liasse Cerfa Poste 06
|
||||
229 1 229 SOBS06 N AN Signe du poste bilan, "-" si négatif Poste 06
|
||||
230 15 244 SOBM06 N Num Montant du poste bilan en unité monétaire Poste 06
|
||||
229 1 229 SOBS06 N AN Signe du poste bilan, "-" si négatif Poste 06
|
||||
230 15 244 SOBM06 N Num Montant du poste bilan en unité monétaire Poste 06
|
||||
245 4 248 SOBL07 N AN Code du poste bilan dans la liasse Cerfa Poste 07
|
||||
249 1 249 SOBS07 N AN Signe du poste bilan, "-" si négatif Poste 07
|
||||
250 15 264 SOBM07 N Num Montant du poste bilan en unité monétaire Poste 07
|
||||
249 1 249 SOBS07 N AN Signe du poste bilan, "-" si négatif Poste 07
|
||||
250 15 264 SOBM07 N Num Montant du poste bilan en unité monétaire Poste 07
|
||||
265 4 268 SOBL08 N AN Code du poste bilan dans la liasse Cerfa Poste 08
|
||||
269 1 269 SOBS08 N AN Signe du poste bilan, "-" si négatif Poste 08
|
||||
270 15 284 SOBM08 N Num Montant du poste bilan en unité monétaire Poste 08
|
||||
269 1 269 SOBS08 N AN Signe du poste bilan, "-" si négatif Poste 08
|
||||
270 15 284 SOBM08 N Num Montant du poste bilan en unité monétaire Poste 08
|
||||
285 4 288 SOBL09 N AN Code du poste bilan dans la liasse Cerfa Poste 09
|
||||
289 1 289 SOBS09 N AN Signe du poste bilan, "-" si négatif Poste 09
|
||||
290 15 304 SOBM09 N Num Montant du poste bilan en unité monétaire Poste 09
|
||||
289 1 289 SOBS09 N AN Signe du poste bilan, "-" si négatif Poste 09
|
||||
290 15 304 SOBM09 N Num Montant du poste bilan en unité monétaire Poste 09
|
||||
305 4 308 SOBL10 N AN Code du poste bilan dans la liasse Cerfa Poste 10
|
||||
309 1 309 SOBS10 N AN Signe du poste bilan, "-" si négatif Poste 10
|
||||
310 15 324 SOBM10 N Num Montant du poste bilan en unité monétaire Poste 10
|
||||
309 1 309 SOBS10 N AN Signe du poste bilan, "-" si négatif Poste 10
|
||||
310 15 324 SOBM10 N Num Montant du poste bilan en unité monétaire Poste 10
|
||||
325 4 328 SOBL11 N AN Code du poste bilan dans la liasse Cerfa Poste 11
|
||||
329 1 329 SOBS11 N AN Signe du poste bilan, "-" si négatif Poste 11
|
||||
330 15 344 SOBM11 N Num Montant du poste bilan en unité monétaire Poste 11
|
||||
329 1 329 SOBS11 N AN Signe du poste bilan, "-" si négatif Poste 11
|
||||
330 15 344 SOBM11 N Num Montant du poste bilan en unité monétaire Poste 11
|
||||
345 4 348 SOBL12 N AN Code du poste bilan dans la liasse Cerfa Poste 12
|
||||
349 1 349 SOBS12 N AN Signe du poste bilan, "-" si négatif Poste 12
|
||||
350 15 364 SOBM12 N Num Montant du poste bilan en unité monétaire Poste 12
|
||||
349 1 349 SOBS12 N AN Signe du poste bilan, "-" si négatif Poste 12
|
||||
350 15 364 SOBM12 N Num Montant du poste bilan en unité monétaire Poste 12
|
||||
365 4 368 SOBL13 N AN Code du poste bilan dans la liasse Cerfa Poste 13
|
||||
369 1 369 SOBS13 N AN Signe du poste bilan, "-" si négatif Poste 13
|
||||
370 15 384 SOBM13 N Num Montant du poste bilan en unité monétaire Poste 13
|
||||
369 1 369 SOBS13 N AN Signe du poste bilan, "-" si négatif Poste 13
|
||||
370 15 384 SOBM13 N Num Montant du poste bilan en unité monétaire Poste 13
|
||||
385 4 388 SOBL14 N AN Code du poste bilan dans la liasse Cerfa Poste 14
|
||||
389 1 389 SOBS14 N AN Signe du poste bilan, "-" si négatif Poste 14
|
||||
390 15 404 SOBM14 N Num Montant du poste bilan en unité monétaire Poste 14
|
||||
389 1 389 SOBS14 N AN Signe du poste bilan, "-" si négatif Poste 14
|
||||
390 15 404 SOBM14 N Num Montant du poste bilan en unité monétaire Poste 14
|
||||
405 4 408 SOBL15 N AN Code du poste bilan dans la liasse Cerfa Poste 15
|
||||
409 1 409 SOBS15 N AN Signe du poste bilan, "-" si négatif Poste 15
|
||||
410 15 424 SOBM15 N Num Montant du poste bilan en unité monétaire Poste 15
|
||||
409 1 409 SOBS15 N AN Signe du poste bilan, "-" si négatif Poste 15
|
||||
410 15 424 SOBM15 N Num Montant du poste bilan en unité monétaire Poste 15
|
||||
425 4 428 SOBL16 N AN Code du poste bilan dans la liasse Cerfa Poste 16
|
||||
429 1 429 SOBS16 N AN Signe du poste bilan, "-" si négatif Poste 16
|
||||
430 15 444 SOBM16 N Num Montant du poste bilan en unité monétaire Poste 16
|
||||
429 1 429 SOBS16 N AN Signe du poste bilan, "-" si négatif Poste 16
|
||||
430 15 444 SOBM16 N Num Montant du poste bilan en unité monétaire Poste 16
|
||||
445 4 448 SOBL17 N AN Code du poste bilan dans la liasse Cerfa Poste 17
|
||||
449 1 449 SOBS17 N AN Signe du poste bilan, "-" si négatif Poste 17
|
||||
450 15 464 SOBM17 N Num Montant du poste bilan en unité monétaire Poste 17
|
||||
449 1 449 SOBS17 N AN Signe du poste bilan, "-" si négatif Poste 17
|
||||
450 15 464 SOBM17 N Num Montant du poste bilan en unité monétaire Poste 17
|
||||
465 4 468 SOBL18 N AN Code du poste bilan dans la liasse Cerfa Poste 18
|
||||
469 1 469 SOBS18 N AN Signe du poste bilan, "-" si négatif Poste 18
|
||||
470 15 484 SOBM18 N Num Montant du poste bilan en unité monétaire Poste 18
|
||||
469 1 469 SOBS18 N AN Signe du poste bilan, "-" si négatif Poste 18
|
||||
470 15 484 SOBM18 N Num Montant du poste bilan en unité monétaire Poste 18
|
||||
485 4 488 SOBL19 N AN Code du poste bilan dans la liasse Cerfa Poste 19
|
||||
489 1 489 SOBS19 N AN Signe du poste bilan, "-" si négatif Poste 19
|
||||
490 15 504 SOBM19 N Num Montant du poste bilan en unité monétaire Poste 19
|
||||
489 1 489 SOBS19 N AN Signe du poste bilan, "-" si négatif Poste 19
|
||||
490 15 504 SOBM19 N Num Montant du poste bilan en unité monétaire Poste 19
|
||||
505 4 508 SOBL20 N AN Code du poste bilan dans la liasse Cerfa Poste 20
|
||||
509 1 509 SOBS20 N AN Signe du poste bilan, "-" si négatif Poste 20
|
||||
510 15 524 SOBM20 N Num Montant du poste bilan en unité monétaire Poste 20
|
||||
509 1 509 SOBS20 N AN Signe du poste bilan, "-" si négatif Poste 20
|
||||
510 15 524 SOBM20 N Num Montant du poste bilan en unité monétaire Poste 20
|
||||
525 4 528 SOBL21 N AN Code du poste bilan dans la liasse Cerfa Poste 21
|
||||
529 1 529 SOBS21 N AN Signe du poste bilan, "-" si négatif Poste 21
|
||||
530 15 544 SOBM21 N Num Montant du poste bilan en unité monétaire Poste 21
|
||||
529 1 529 SOBS21 N AN Signe du poste bilan, "-" si négatif Poste 21
|
||||
530 15 544 SOBM21 N Num Montant du poste bilan en unité monétaire Poste 21
|
||||
545 4 548 SOBL22 N AN Code du poste bilan dans la liasse Cerfa Poste 22
|
||||
549 1 549 SOBS22 N AN Signe du poste bilan, "-" si négatif Poste 22
|
||||
550 15 564 SOBM22 N Num Montant du poste bilan en unité monétaire Poste 22
|
||||
549 1 549 SOBS22 N AN Signe du poste bilan, "-" si négatif Poste 22
|
||||
550 15 564 SOBM22 N Num Montant du poste bilan en unité monétaire Poste 22
|
||||
565 4 568 SOBL23 N AN Code du poste bilan dans la liasse Cerfa Poste 23
|
||||
569 1 569 SOBS23 N AN Signe du poste bilan, "-" si négatif Poste 23
|
||||
570 15 584 SOBM23 N Num Montant du poste bilan en unité monétaire Poste 23
|
||||
569 1 569 SOBS23 N AN Signe du poste bilan, "-" si négatif Poste 23
|
||||
570 15 584 SOBM23 N Num Montant du poste bilan en unité monétaire Poste 23
|
||||
585 4 588 SOBL24 N AN Code du poste bilan dans la liasse Cerfa Poste 24
|
||||
589 1 589 SOBS24 N AN Signe du poste bilan, "-" si négatif Poste 24
|
||||
590 15 604 SOBM24 N Num Montant du poste bilan en unité monétaire Poste 24
|
||||
589 1 589 SOBS24 N AN Signe du poste bilan, "-" si négatif Poste 24
|
||||
590 15 604 SOBM24 N Num Montant du poste bilan en unité monétaire Poste 24
|
||||
605 4 608 SOBL25 N AN Code du poste bilan dans la liasse Cerfa Poste 25
|
||||
609 1 609 SOBS25 N AN Signe du poste bilan, "-" si négatif Poste 25
|
||||
610 15 624 SOBM25 N Num Montant du poste bilan en unité monétaire Poste 25
|
||||
609 1 609 SOBS25 N AN Signe du poste bilan, "-" si négatif Poste 25
|
||||
610 15 624 SOBM25 N Num Montant du poste bilan en unité monétaire Poste 25
|
||||
625 4 628 SOBL26 N AN Code du poste bilan dans la liasse Cerfa Poste 26
|
||||
629 1 629 SOBS26 N AN Signe du poste bilan, "-" si négatif Poste 26
|
||||
630 15 644 SOBM26 N Num Montant du poste bilan en unité monétaire Poste 26
|
||||
629 1 629 SOBS26 N AN Signe du poste bilan, "-" si négatif Poste 26
|
||||
630 15 644 SOBM26 N Num Montant du poste bilan en unité monétaire Poste 26
|
||||
645 4 648 SOBL27 N AN Code du poste bilan dans la liasse Cerfa Poste 27
|
||||
649 1 649 SOBS27 N AN Signe du poste bilan, "-" si négatif Poste 27
|
||||
650 15 664 SOBM27 N Num Montant du poste bilan en unité monétaire Poste 27
|
||||
649 1 649 SOBS27 N AN Signe du poste bilan, "-" si négatif Poste 27
|
||||
650 15 664 SOBM27 N Num Montant du poste bilan en unité monétaire Poste 27
|
||||
665 4 668 SOBL28 N AN Code du poste bilan dans la liasse Cerfa Poste 28
|
||||
669 1 669 SOBS28 N AN Signe du poste bilan, "-" si négatif Poste 28
|
||||
670 15 684 SOBM28 N Num Montant du poste bilan en unité monétaire Poste 28
|
||||
669 1 669 SOBS28 N AN Signe du poste bilan, "-" si négatif Poste 28
|
||||
670 15 684 SOBM28 N Num Montant du poste bilan en unité monétaire Poste 28
|
||||
685 4 688 SOBL29 N AN Code du poste bilan dans la liasse Cerfa Poste 29
|
||||
689 1 689 SOBS29 N AN Signe du poste bilan, "-" si négatif Poste 29
|
||||
690 15 704 SOBM29 N Num Montant du poste bilan en unité monétaire Poste 29
|
||||
689 1 689 SOBS29 N AN Signe du poste bilan, "-" si négatif Poste 29
|
||||
690 15 704 SOBM29 N Num Montant du poste bilan en unité monétaire Poste 29
|
||||
705 4 708 SOBL30 N AN Code du poste bilan dans la liasse Cerfa Poste 30
|
||||
709 1 709 SOBS30 N AN Signe du poste bilan, "-" si négatif Poste 30
|
||||
710 15 724 SOBM30 N Num Montant du poste bilan en unité monétaire Poste 30
|
||||
709 1 709 SOBS30 N AN Signe du poste bilan, "-" si négatif Poste 30
|
||||
710 15 724 SOBM30 N Num Montant du poste bilan en unité monétaire Poste 30
|
||||
|
||||
|
||||
|
||||
@ -568,10 +568,10 @@ hbilsoidc Fiche identit
|
||||
$tab_ret=array(
|
||||
'RETOUR' =>'',
|
||||
'PRODUIT' =>'BILANS',
|
||||
'RISIR' =>$data2[3],// N° SIREN
|
||||
'RINUME' =>$data2[4], // N° ENTREPRISE
|
||||
'RBDTCN' =>$data2[5],// N° SIREN
|
||||
'RDDURN' =>trim($data2[6]),// N° SIREN
|
||||
'RISIR' =>$data2[3],// N° SIREN
|
||||
'RINUME' =>$data2[4], // N° ENTREPRISE
|
||||
'RBDTCN' =>$data2[5],// N° SIREN
|
||||
'RDDURN' =>trim($data2[6]),// N° SIREN
|
||||
);
|
||||
$tab2[$ligne]=$tab_ret;
|
||||
break;
|
||||
@ -579,8 +579,8 @@ hbilsoidc Fiche identit
|
||||
$tab_ret=array(
|
||||
'RETOUR'=>'',
|
||||
'PRODUIT'=>'PRODUITS',
|
||||
'RINUME'=>$data2[0],// N° ENTREPRISE
|
||||
'RISIR' =>$data2[1],// N° SIREN
|
||||
'RINUME'=>$data2[0],// N° ENTREPRISE
|
||||
'RISIR' =>$data2[1],// N° SIREN
|
||||
'RIANNL'=>$data2[2],// PRESENCE D'INFORMATION(S) LEGALE(S)
|
||||
'RIELML'=>$data2[3],// PRESENCE D'ELEMENTS FINANCIERS
|
||||
'RIBILL'=>$data2[4],// PRESENCE DE BILAN(S), ANNEXES OU RATIOS
|
||||
@ -600,12 +600,12 @@ hbilsoidc Fiche identit
|
||||
$tab_ret=array('actionnaire'=>array(
|
||||
'RETOUR' =>'',
|
||||
'PRODUIT' =>'ACTIONNAIRES',
|
||||
'XLABO' =>str_replace('<HTML>','',$data2[0]),// N° SIREN
|
||||
'RISIR' =>$data2[2],// N° SIREN
|
||||
'RINUME' =>$data2[3], // N° ENTREPRISE
|
||||
'RLPSIR' =>$data2[4],// N° SIREN
|
||||
'RLPNOM' =>$data2[5],// N° SIREN
|
||||
'RLPOUR' =>$data2[6],// N° SIREN
|
||||
'XLABO' =>str_replace('<HTML>','',$data2[0]),// N° SIREN
|
||||
'RISIR' =>$data2[2],// N° SIREN
|
||||
'RINUME' =>$data2[3], // N° ENTREPRISE
|
||||
'RLPSIR' =>$data2[4],// N° SIREN
|
||||
'RLPNOM' =>$data2[5],// N° SIREN
|
||||
'RLPOUR' =>$data2[6],// N° SIREN
|
||||
));
|
||||
$tab2[$ligne]=$tab_ret;
|
||||
|
||||
@ -614,8 +614,8 @@ hbilsoidc Fiche identit
|
||||
$tab_ret=array(
|
||||
'RETOUR' =>'',
|
||||
'PRODUIT' =>'SOLVABIL3',
|
||||
'RNISIR' =>$data2[3],// N° SIREN
|
||||
'RINUME' =>'', // N° ENTREPRISE
|
||||
'RNISIR' =>$data2[3],// N° SIREN
|
||||
'RINUME' =>'', // N° ENTREPRISE
|
||||
'RNNIV' =>$data2[0],
|
||||
'RNDATN' =>$data2[1],
|
||||
'RNREFC' =>$data2[2],
|
||||
@ -650,367 +650,4 @@ hbilsoidc Fiche identit
|
||||
'RIAPEL' =>$data2[31],
|
||||
'RISINL' =>$data2[32],
|
||||
'RINBET' =>$data2[33],
|
||||
'RIDRN1' =>$data2[34],
|
||||
'RIDRR1' =>$data2[35],
|
||||
'RIDRF1' =>$data2[36],
|
||||
'RIDDN1' =>$data2[37],
|
||||
'RIDRV1' =>$data2[38],
|
||||
'RIDRN2' =>$data2[39],
|
||||
'RIDRR2' =>$data2[40],
|
||||
'RIDRF2' =>$data2[41],
|
||||
'RIDDN2' =>$data2[42],
|
||||
'RIDRV2' =>$data2[43],
|
||||
'RICAL' =>$data2[44],
|
||||
'RICAUM' =>$data2[45],
|
||||
'RICSEL' =>$data2[46],
|
||||
'RICOTL' =>$data2[47],
|
||||
'RITMAR' =>$data2[48],
|
||||
'RISICO' =>$data2[49],
|
||||
'RIACNO' =>$data2[50],
|
||||
'RIACSI' =>$data2[51],
|
||||
'RIACPO' =>$data2[52],
|
||||
'RIRLJ' =>$data2[53],
|
||||
'RIDATE' =>$data2[54],
|
||||
'RIEVTL' =>$data2[55],
|
||||
'RIROLL' =>$data2[56],
|
||||
'RISTYPL' =>$data2[57],
|
||||
'RISNOM' =>$data2[58],
|
||||
'RISNRU' =>$data2[59],
|
||||
'RISBIS' =>$data2[60],
|
||||
'RISRUE' =>$data2[61],
|
||||
'RISCP' =>$data2[62],
|
||||
'RISVIL' =>$data2[63],
|
||||
'RISTEL' =>$data2[64],
|
||||
'RFRUNM' =>$data2[65],
|
||||
'RFCLO3' =>$data2[66],
|
||||
'RFDUR3' =>$data2[67],
|
||||
'RFCA3' =>$data2[68],
|
||||
'RFCAX3' =>$data2[69],
|
||||
'RFRP3' =>$data2[70],
|
||||
'RFFF3' =>$data2[71],
|
||||
'RFRS3' =>$data2[72],
|
||||
'RFRX3' =>$data2[73],
|
||||
'RFRN3' =>$data2[74],
|
||||
'RFCF3' =>$data2[75],
|
||||
'RFFP3' =>$data2[76],
|
||||
'RFDC3' =>$data2[77],
|
||||
'RFDM3' =>$data2[78],
|
||||
'RFTB3' =>$data2[79],
|
||||
'RFFR3' =>$data2[80],
|
||||
'RFBF3' =>$data2[81],
|
||||
'RFTI3' =>$data2[82],
|
||||
'RFEF3' =>$data2[83],
|
||||
'RFCLO2' =>$data2[84],
|
||||
'RFDUR2' =>$data2[85],
|
||||
'RFCA2' =>$data2[86],
|
||||
'RFCAP2' =>$data2[87],
|
||||
'RFCAX2' =>$data2[88],
|
||||
'RFCAXP2' =>$data2[89],
|
||||
'RFRP2' =>$data2[90],
|
||||
'RFRPP2' =>$data2[91],
|
||||
'RFFF2' =>$data2[92],
|
||||
'RFFFP2' =>$data2[93],
|
||||
'RFRS2' =>$data2[94],
|
||||
'RFRSP2' =>$data2[95],
|
||||
'RFRX2' =>$data2[96],
|
||||
'RFRXP2' =>$data2[97],
|
||||
'RFRN2' =>$data2[98],
|
||||
'RFRNP2' =>$data2[99],
|
||||
'RFCF2' =>$data2[100],
|
||||
'RFCFP2' =>$data2[101],
|
||||
'RFFP2' =>$data2[102],
|
||||
'RFFPP2' =>$data2[103],
|
||||
'RFDC2' =>$data2[104],
|
||||
'RFDCP2' =>$data2[105],
|
||||
'RFDM2' =>$data2[106],
|
||||
'RFDMP2' =>$data2[107],
|
||||
'RFTB2' =>$data2[108],
|
||||
'RFTBP2' =>$data2[109],
|
||||
'RFFR2' =>$data2[110],
|
||||
'RFFRP2' =>$data2[111],
|
||||
'RFBF2' =>$data2[112],
|
||||
'RFBFP2' =>$data2[113],
|
||||
'RFTI2' =>$data2[114],
|
||||
'RFTIP2' =>$data2[115],
|
||||
'RFEF2' =>$data2[116],
|
||||
'RFEFP2' =>$data2[117],
|
||||
'RFCLO1' =>$data2[118],
|
||||
'RFDUR1' =>$data2[119],
|
||||
'RFCA1' =>$data2[120],
|
||||
'RFCAP1' =>$data2[121],
|
||||
'RFCAX1' =>$data2[122],
|
||||
'RFCAXP1' =>$data2[123],
|
||||
'RFRP1' =>$data2[124],
|
||||
'RFRPP1' =>$data2[125],
|
||||
'RFFF1' =>$data2[126],
|
||||
'RFFFP1' =>$data2[127],
|
||||
'RFRS1' =>$data2[128],
|
||||
'RFRSP1' =>$data2[129],
|
||||
'RFRX1' =>$data2[130],
|
||||
'RFRXP1' =>$data2[131],
|
||||
'RFRN1' =>$data2[132],
|
||||
'RFRNP1' =>$data2[133],
|
||||
'RFCF1' =>$data2[134],
|
||||
'RFCFP1' =>$data2[135],
|
||||
'RFFP1' =>$data2[136],
|
||||
'RFFPP1' =>$data2[137],
|
||||
'RFDC1' =>$data2[138],
|
||||
'RFDCP1' =>$data2[139],
|
||||
'RFDM1' =>$data2[140],
|
||||
'RFDMP1' =>$data2[141],
|
||||
'RFTB1' =>$data2[142],
|
||||
'RFTBP1' =>$data2[143],
|
||||
'RFFR1' =>$data2[144],
|
||||
'RFFRP1' =>$data2[145],
|
||||
'RFBF1' =>$data2[146],
|
||||
'RFBFP1' =>$data2[147],
|
||||
'RFTI1' =>$data2[148],
|
||||
'RFTIP1' =>$data2[149],
|
||||
'RFEF1' =>$data2[150],
|
||||
'RFEFP1' =>$data2[151],
|
||||
'RBRUNM' =>$data2[152],
|
||||
'XBDTCN' =>$data2[153],
|
||||
'RBDURN' =>$data2[154],
|
||||
'RBR11' =>$data2[155],
|
||||
'RBR11P' =>$data2[156],
|
||||
'RBR12' =>$data2[157],
|
||||
'RBR12P' =>$data2[158],
|
||||
'RBR13' =>$data2[159],
|
||||
'RBR13P' =>$data2[160],
|
||||
'RBR14' =>$data2[161],
|
||||
'RBR14P' =>$data2[162],
|
||||
'RBR15' =>$data2[163],
|
||||
'RBR15P' =>$data2[164],
|
||||
'RBR16' =>$data2[165],
|
||||
'RBR16P' =>$data2[166],
|
||||
'RBR17' =>$data2[167],
|
||||
'RBR17P' =>$data2[168],
|
||||
'RBR18' =>$data2[169],
|
||||
'RBR18P' =>$data2[170],
|
||||
'RBR1A' =>$data2[171],
|
||||
'RBR1AP' =>$data2[172],
|
||||
'RBR1T' =>$data2[173],
|
||||
'RBR1TP' =>$data2[174],
|
||||
'RBR21' =>$data2[175],
|
||||
'RBR21P' =>$data2[176],
|
||||
'RBR22' =>$data2[177],
|
||||
'RBR22P' =>$data2[178],
|
||||
'RBR23' =>$data2[179],
|
||||
'RBR23P' =>$data2[180],
|
||||
'RBR24' =>$data2[181],
|
||||
'RBR24P' =>$data2[182],
|
||||
'RBR25' =>$data2[183],
|
||||
'RBR25P' =>$data2[184],
|
||||
'RBR26' =>$data2[185],
|
||||
'RBR26P' =>$data2[186],
|
||||
'RBR27' =>$data2[187],
|
||||
'RBR27P' =>$data2[188],
|
||||
'RBR28' =>$data2[189],
|
||||
'RBR28P' =>$data2[190],
|
||||
'RBR29' =>$data2[191],
|
||||
'RBR29P' =>$data2[192],
|
||||
'RBR2A' =>$data2[193],
|
||||
'RBR2AP' =>$data2[194],
|
||||
'RBR2T' =>$data2[195],
|
||||
'RBR2TP' =>$data2[196],
|
||||
'RBRUNM' =>$data2[197],
|
||||
'XBDTCN' =>$data2[198],
|
||||
'RBDURN' =>$data2[199],
|
||||
'RBS01' =>$data2[200],
|
||||
'RBS01P' =>$data2[201],
|
||||
'RBS02' =>$data2[202],
|
||||
'RBS02P' =>$data2[203],
|
||||
'RBS03' =>$data2[204],
|
||||
'RBS03P' =>$data2[205],
|
||||
'RBS04' =>$data2[206],
|
||||
'RBS04P' =>$data2[207],
|
||||
'RBS05' =>$data2[208],
|
||||
'RBS05P' =>$data2[209],
|
||||
'RBS06' =>$data2[210],
|
||||
'RBS06P' =>$data2[211],
|
||||
'RBS07' =>$data2[212],
|
||||
'RBS07P' =>$data2[213],
|
||||
'RBS08' =>$data2[214],
|
||||
'RBS08P' =>$data2[215],
|
||||
'RBS09' =>$data2[216],
|
||||
'RBS09P' =>$data2[217],
|
||||
'RBS10' =>$data2[218],
|
||||
'RBS10P' =>$data2[219],
|
||||
'RBS11' =>$data2[220],
|
||||
'RBS11P' =>$data2[221],
|
||||
'RBS12' =>$data2[222],
|
||||
'RBS12P' =>$data2[223],
|
||||
'RBS13' =>$data2[224],
|
||||
'RBS13P' =>$data2[225],
|
||||
'RBS14' =>$data2[226],
|
||||
'RBS14P' =>$data2[227],
|
||||
'RBS15' =>$data2[228],
|
||||
'RBS15P' =>$data2[229],
|
||||
'RBS16' =>$data2[230],
|
||||
'RBS16P' =>$data2[231],
|
||||
'RBS17' =>$data2[232],
|
||||
'RBS17P' =>$data2[233],
|
||||
'RBS18' =>$data2[234],
|
||||
'RBS18P' =>$data2[235],
|
||||
'RBS19' =>$data2[236],
|
||||
'RBS19P' =>$data2[237],
|
||||
'RBS20' =>$data2[238],
|
||||
'RBS20P' =>$data2[239],
|
||||
'RBS21' =>$data2[240],
|
||||
'RBS21P' =>$data2[241],
|
||||
'RBS22' =>$data2[242],
|
||||
'RBS22P' =>$data2[243],
|
||||
'RBS23' =>$data2[244],
|
||||
'RBS23P' =>$data2[245],
|
||||
'RBS24' =>$data2[246],
|
||||
'RBS24P' =>$data2[247],
|
||||
'RVDTCN' =>$data2[248],
|
||||
'RVDUR' =>$data2[249],
|
||||
'RVRAM' =>$data2[250],
|
||||
'RVRAMS' =>$data2[251],
|
||||
'RVUNI' =>$data2[252],
|
||||
'RVPOS' =>$data2[253],
|
||||
'RVRAM' =>$data2[254],
|
||||
'RVRAMS' =>$data2[255],
|
||||
'RVUNI' =>$data2[256],
|
||||
'RVPOS' =>$data2[257],
|
||||
'RVRAM' =>$data2[258],
|
||||
'RVRAMS' =>$data2[259],
|
||||
'RVUNI' =>$data2[260],
|
||||
'RVPOS' =>$data2[261],
|
||||
'RVRAM' =>$data2[262],
|
||||
'RVRAMS' =>$data2[263],
|
||||
'RVUNI' =>$data2[264],
|
||||
'RVPOS' =>$data2[265],
|
||||
'RVRAM' =>$data2[266],
|
||||
'RVRAMS' =>$data2[267],
|
||||
'RVUNI' =>$data2[268],
|
||||
'RVPOS' =>$data2[269],
|
||||
'RVRAM' =>$data2[270],
|
||||
'RVRAMS' =>$data2[271],
|
||||
'RVUNI' =>$data2[272],
|
||||
'RVPOS' =>$data2[273],
|
||||
'RVRAM' =>$data2[274],
|
||||
'RVRAMS' =>$data2[275],
|
||||
'RVUNI' =>$data2[276],
|
||||
'RVPOS' =>$data2[277],
|
||||
'RVRAM' =>$data2[278],
|
||||
'RVRAMS' =>$data2[279],
|
||||
'RVUNI' =>$data2[280],
|
||||
'RVPOS' =>$data2[281],
|
||||
'RVRAM' =>$data2[282],
|
||||
'RVRAMS' =>$data2[283],
|
||||
'RVUNI' =>$data2[284],
|
||||
'RVPOS' =>$data2[285],
|
||||
'RVRAM' =>$data2[286],
|
||||
'RVRAMS' =>$data2[287],
|
||||
'RVUNI' =>$data2[288],
|
||||
'RVPOS' =>$data2[289],
|
||||
'RVRAM' =>$data2[290],
|
||||
'RVRAMS' =>$data2[291],
|
||||
'RVUNI' =>$data2[292],
|
||||
'RVPOS' =>$data2[293],
|
||||
'RVRAM' =>$data2[294],
|
||||
'RVRAMS' =>$data2[295],
|
||||
'RVUNI' =>$data2[296],
|
||||
'RVPOS' =>$data2[297],
|
||||
'RVRAM' =>$data2[298],
|
||||
'RVRAMS' =>$data2[299],
|
||||
'RVUNI' =>$data2[300],
|
||||
'RVPOS' =>$data2[301],
|
||||
'RVRAM' =>$data2[302],
|
||||
'RVRAMS' =>$data2[303],
|
||||
'RVUNI' =>$data2[304],
|
||||
'RVPOS' =>$data2[305],
|
||||
'RVRAM' =>$data2[306],
|
||||
'RVRAMS' =>$data2[307],
|
||||
'RVUNI' =>$data2[308],
|
||||
'RVPOS' =>$data2[309],
|
||||
'RVRAM' =>$data2[310],
|
||||
'RVRAMS' =>$data2[311],
|
||||
'RVUNI' =>$data2[312],
|
||||
'RVPOS' =>$data2[313],
|
||||
'RVRAM' =>$data2[314],
|
||||
'RVRAMS' =>$data2[315],
|
||||
'RVUNI' =>$data2[316],
|
||||
'RVPOS' =>$data2[317],
|
||||
'RNNBS' =>$data2[318],
|
||||
);
|
||||
for ($i=0; $i<(int)($data2[318]); $i++){
|
||||
$j=$i+319;
|
||||
$tabRNTX[$i]=$data2[$j];
|
||||
$this->trace ( "Ligne de commentaire n°$i ($j) = ". $data2[$j] );
|
||||
}
|
||||
$tab_RNTX=array('RNTX'=>$tabRNTX);
|
||||
$tab_ret=array_merge($tab_ret, $tab_RNTX);
|
||||
|
||||
$posNbActionnaires=$j+1;
|
||||
$nbActionnaires=$data2[$posNbActionnaires];
|
||||
$this->trace ( "Nombre d'actionnaire(s) = $nbActionnaires (position $posNbActionnaires)");
|
||||
|
||||
for ($i=1, $k=0; $i<=(int)($nbActionnaires)*3; $i=$i+3, $k++){
|
||||
$j=$i+$posNbActionnaires;
|
||||
$tabACT[$k]=array('NOM'=>$data2[$j],
|
||||
'SIREN'=>$data2[$j+1],
|
||||
'POURCENTAGE'=>$data2[$j+2],
|
||||
);
|
||||
|
||||
$this->trace ( "Ligne d'actionnaire n°$k ($j) = ". $data2[$j] .' '. $data2[$j+1] .' '. $data2[$j+2]);
|
||||
}
|
||||
$tab_ACT=array('ACTIONNAIRES'=>$tabACT);
|
||||
$tab_ret=array_merge($tab_ret, $tab_ACT);
|
||||
|
||||
$posNbPart=$j+3;
|
||||
$nbPart=$data2[$posNbPart];
|
||||
$this->trace ( "Nombre de participation(s) = $nbPart (position $posNbPart)");
|
||||
|
||||
for ($i=1, $k=0; $i<=(int)($nbPart)*3; $i=$i+3, $k++){
|
||||
$j=$i+$posNbPart;
|
||||
$tabPART[$k]=array('NOM'=>$data2[$j],
|
||||
'SIREN'=>$data2[$j+1],
|
||||
'POURCENTAGE'=>$data2[$j+2],
|
||||
);
|
||||
|
||||
$this->trace ( "Ligne de participation n°$k ($j) = ". $data2[$j] .' '. $data2[$j+1] .' '. $data2[$j+2]);
|
||||
}
|
||||
$tab_PART=array('PARTICIPATIONS'=>$tabPART);
|
||||
$tab_ret=array_merge($tab_ret, $tab_PART);
|
||||
$tab2[$ligne]=$tab_ret;
|
||||
|
||||
break;
|
||||
|
||||
case '':
|
||||
|
||||
break;
|
||||
default:
|
||||
$tab2[$ligne]=array(
|
||||
'RETOUR' =>trim($ficheCSV.' '.$data2[2]),
|
||||
'RISIR' =>trim($siren));
|
||||
break;
|
||||
}
|
||||
}
|
||||
// print_r($tab2);exit();
|
||||
return $tab2;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
function array2csv($array, $level=0, $str_csv='') {
|
||||
|
||||
if (!is_array($array))
|
||||
return 0;
|
||||
reset($array);
|
||||
while ( list($key, $value) = each($array) ) {
|
||||
if (is_array($value))
|
||||
array2csv($value, $level+1, $str_csv);
|
||||
else
|
||||
$str_csv.=$value.';';
|
||||
}
|
||||
if ($level==0) return $str_csv."\r\n";
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
//include_once(realpath(dirname(__FILE__) . '/timer.php'));
|
||||
|
||||
/** Parse une page Html et retourne son contenu dans un tableau :
|
||||
** "code" => Code réponse Serveur
|
||||
** "code" => Code réponse Serveur
|
||||
** "header" => Headers du serveur
|
||||
** "body" => Page HTML
|
||||
**/
|
||||
@ -32,7 +32,7 @@ function parse_response($this_response, $err_num, $err_msg) {
|
||||
|
||||
if ($header=='Set-cookie' && substr($value,0,5)=='RMID=' && $nbRMID<5)//{
|
||||
$nbRMID++;
|
||||
// echo ("Je gicle le RMID n°$nbRMID\r\n");}
|
||||
// echo ("Je gicle le RMID n°$nbRMID\r\n");}
|
||||
else
|
||||
$response_header_array[$header] .= $value."\n";
|
||||
}
|
||||
@ -43,15 +43,15 @@ function parse_response($this_response, $err_num, $err_msg) {
|
||||
return array('code' => $response_code, 'header' => $response_header_array, 'body' => $response_body, 'err_num'=>$err_num, 'err_msg'=>$err_msg);
|
||||
}
|
||||
|
||||
/** Récupère une page HTML en fonction des paramètres :
|
||||
** $url Url distante de la page à récupérer
|
||||
** $strCookies Chaine de caractère contenant les cookies
|
||||
** $postData Tableau des données à passer en POST uniquement
|
||||
** $referer Referer à indiquer lors de l'appel de la page
|
||||
** $debug Activer le débogage (True/False)
|
||||
/** Récupère une page HTML en fonction des paramètres :
|
||||
** $url Url distante de la page à récupérer
|
||||
** $strCookies Chaine de caractère contenant les cookies
|
||||
** $postData Tableau des données à passer en POST uniquement
|
||||
** $referer Referer à indiquer lors de l'appel de la page
|
||||
** $debug Activer le débogage (True/False)
|
||||
**
|
||||
** ... et retourne son contenu dans un tableau :
|
||||
** "code" => Code réponse Serveur
|
||||
** "code" => Code réponse Serveur
|
||||
** "header" => Headers du serveur
|
||||
** "body" => Page HTML
|
||||
**/
|
||||
@ -72,7 +72,7 @@ function getUrl($url, $strCookies='', $postData='', $referer='', $debug=false, $
|
||||
|
||||
if (((int)$timeout)<>0) curl_setopt($ch, CURLOPT_TIMEOUT, (int)$timeout);
|
||||
|
||||
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'username:password'); // Pas nécessaire en authentification NT
|
||||
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'username:password'); // Pas nécessaire en authentification NT
|
||||
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
||||
@ -161,16 +161,16 @@ function getTextInHtml($pageHtml, $strToFind, $strDeb, $strEnd, $include_strDeb=
|
||||
$nbOccTrouve++;
|
||||
|
||||
if ($nbOcc==$nbOccTrouve) {
|
||||
// echo "j'ai trouvé le nb demandé, je sort\r\n";
|
||||
// echo "j'ai trouvé le nb demandé, je sort\r\n";
|
||||
break;
|
||||
};
|
||||
}
|
||||
|
||||
return $tabUrl;
|
||||
/*<span class="mongrasvert">
|
||||
<li>Le type de voie a été modifié<br>
|
||||
<li>L'orthographe du mot directeur a été modifiée<br>
|
||||
<li>Le code postal a été forcé à partir du département et de la localité<br> </span>
|
||||
<li>Le type de voie a été modifié<br>
|
||||
<li>L'orthographe du mot directeur a été modifiée<br>
|
||||
<li>Le code postal a été forcé à partir du département et de la localité<br> </span>
|
||||
*/
|
||||
}
|
||||
|
||||
|
@ -6,27 +6,27 @@
|
||||
/* Email : bernard@ediweb.org */
|
||||
/* */
|
||||
/* Cette classe permet de : */
|
||||
/* - créer un formulaire */
|
||||
/* - le contrôler et l'afficher pour confirmation */
|
||||
/* - créer un formulaire */
|
||||
/* - le contrôler et l'afficher pour confirmation */
|
||||
/* - et retourner son contenu */
|
||||
/***********************************************************************************************************/
|
||||
|
||||
define("_SEPA_AFFICHE_MULTIPLE", ", ");
|
||||
define("_SEPA_VALEUR_MULTIPLE", "###");
|
||||
$erreur_message = array("min" => "caractères minimum",
|
||||
"max" => "caractères maximum",
|
||||
$erreur_message = array("min" => "caractères minimum",
|
||||
"max" => "caractères maximum",
|
||||
"texte" => "texte non valide",
|
||||
"alphanum" => "texte alphanumérique non valide",
|
||||
"num" => "valeur numérique non valide",
|
||||
"num-strict" => "valeur numérique non valide",
|
||||
"tel" => "numéro de téléphone non valide",
|
||||
"alphanum" => "texte alphanumérique non valide",
|
||||
"num" => "valeur numérique non valide",
|
||||
"num-strict" => "valeur numérique non valide",
|
||||
"tel" => "numéro de téléphone non valide",
|
||||
"email" => "e-mail non valide",
|
||||
"url" => "url non valide",
|
||||
"date" => "date non valide",
|
||||
"datej" => "jour non valide",
|
||||
"datem" => "mois non valide",
|
||||
"datem" => "année non valide",
|
||||
"option" => "aucune option n'a été sélectionnée",
|
||||
"datem" => "année non valide",
|
||||
"option" => "aucune option n'a été sélectionnée",
|
||||
"vide" => "champ obligatoire");
|
||||
|
||||
class ClasseForm {
|
||||
@ -248,7 +248,7 @@ class ClasseForm {
|
||||
$html .= " onClick='soumettre(\"confirme\")'; />";
|
||||
}
|
||||
}
|
||||
$html .= " <input class='form-bouton' type='reset' value='Rétablir' onClick='soumettre(\"annuler\")' />\n";
|
||||
$html .= " <input class='form-bouton' type='reset' value='Rétablir' onClick='soumettre(\"annuler\")' />\n";
|
||||
if ($this->closeButton)
|
||||
$html .= " <input class='form-bouton' type='button' value='Annuler & Fermer' onClick='soumettre(\"fermer\")' />\n";
|
||||
$html .= "</td></tr>";
|
||||
@ -441,13 +441,13 @@ class ClasseFormChamp {
|
||||
if ($this->champAOptions()) {
|
||||
if (is_array($options)) {
|
||||
foreach ($options as $option) {
|
||||
if (preg_match("/^s[e|é]lection\s?=\s?(.+)$/", $option, $regs))
|
||||
if (preg_match("/^s[e|é]lection\s?=\s?(.+)$/", $option, $regs))
|
||||
$this->options[] = new ClasseFormOption($regs[1], true);
|
||||
else $this->options[] = new ClasseFormOption($option);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (preg_match("/^s[e|é]lection\s?=\s?(.+)$/", $options, $regs))
|
||||
if (preg_match("/^s[e|é]lection\s?=\s?(.+)$/", $options, $regs))
|
||||
$this->options[] = new ClasseFormOption($regs[1], true);
|
||||
else $this->options[] = new ClasseFormOption($options);
|
||||
}
|
||||
@ -546,7 +546,7 @@ class ClasseFormChamp {
|
||||
function retournerTableauValeurs(&$tableau, $mode_retour) {
|
||||
if (is_array($this->valeur)) {$valeur = implode(_SEPA_VALEUR_MULTIPLE, $this->valeur);
|
||||
print_r($this->valeur);
|
||||
die('Cas non géré dans inc_classeform.php');
|
||||
die('Cas non géré dans inc_classeform.php');
|
||||
}
|
||||
else $valeur = $this->valeur_db;
|
||||
|
||||
@ -807,14 +807,4 @@ function champTexteConforme($valeur, $min, $max) {
|
||||
function convertirPost($post) {
|
||||
$result = array();
|
||||
foreach ($post as $cle => $valeur) {
|
||||
if (is_array($valeur)) {
|
||||
for ($i=0;$i<sizeof($valeur);$i++)
|
||||
$result[$cle][] = stripslashes($valeur[$i]);//htmlspecialchars(, ENT_QUOTES);
|
||||
}
|
||||
else $result[$cle] =stripslashes($valeur);// htmlspecialchars(stripslashes(), ENT_QUOTES);
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
if (
|
@ -6,24 +6,24 @@
|
||||
/* Email : bernard@ediweb.org */
|
||||
/* */
|
||||
/* Cette classe permet de : */
|
||||
/* - créer un formulaire */
|
||||
/* - le contrôler et l'afficher pour confirmation */
|
||||
/* - créer un formulaire */
|
||||
/* - le contrôler et l'afficher pour confirmation */
|
||||
/* - et retourner son contenu */
|
||||
/***********************************************************************************************************/
|
||||
|
||||
define("_SEPA_AFFICHE_MULTIPLE", ", ");
|
||||
define("_SEPA_VALEUR_MULTIPLE", "###");
|
||||
$erreur_message = array("min" => "caractères minimum",
|
||||
"max" => "caractères maximum",
|
||||
$erreur_message = array("min" => "caractères minimum",
|
||||
"max" => "caractères maximum",
|
||||
"texte" => "texte non valide",
|
||||
"alphanum" => "texte alphanumérique non valide",
|
||||
"num" => "valeur numérique non valide",
|
||||
"num-strict" => "valeur numérique non valide",
|
||||
"tel" => "numéro de téléphone non valide",
|
||||
"alphanum" => "texte alphanumérique non valide",
|
||||
"num" => "valeur numérique non valide",
|
||||
"num-strict" => "valeur numérique non valide",
|
||||
"tel" => "numéro de téléphone non valide",
|
||||
"email" => "e-mail non valide",
|
||||
"url" => "url non valide",
|
||||
"date" => "date non valide",
|
||||
"option" => "aucune option n'a été sélectionnée",
|
||||
"option" => "aucune option n'a été sélectionnée",
|
||||
"vide" => "champ obligatoire");
|
||||
|
||||
class ClasseForm {
|
||||
@ -410,13 +410,13 @@ class ClasseFormChamp {
|
||||
if ($this->champAOptions()) {
|
||||
if (is_array($options)) {
|
||||
foreach ($options as $option) {
|
||||
if (preg_match("/^s[e|é]lection\s?=\s?(.+)$/", $option, $regs))
|
||||
if (preg_match("/^s[e|é]lection\s?=\s?(.+)$/", $option, $regs))
|
||||
$this->options[] = new ClasseFormOption($regs[1], true);
|
||||
else $this->options[] = new ClasseFormOption($option);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (preg_match("/^s[e|é]lection\s?=\s?(.+)$/", $options, $regs))
|
||||
if (preg_match("/^s[e|é]lection\s?=\s?(.+)$/", $options, $regs))
|
||||
$this->options[] = new ClasseFormOption($regs[1], true);
|
||||
else $this->options[] = new ClasseFormOption($options);
|
||||
}
|
||||
@ -511,7 +511,7 @@ class ClasseFormChamp {
|
||||
function retournerTableauValeurs(&$tableau, $mode_retour) {
|
||||
if (is_array($this->valeur)) {$valeur = implode(_SEPA_VALEUR_MULTIPLE, $this->valeur);
|
||||
print_r($this->valeur);
|
||||
die('Cas non géré dans inc_classeform.php');
|
||||
die('Cas non géré dans inc_classeform.php');
|
||||
}
|
||||
else $valeur = $this->valeur_db;
|
||||
switch ($mode_retour) {
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?
|
||||
/** Parse une page Html et retourne son contenu dans un tableau :
|
||||
** "code" => Code réponse Serveur
|
||||
** "code" => Code réponse Serveur
|
||||
** "header" => Headers du serveur
|
||||
** "body" => Page HTML
|
||||
**/
|
||||
@ -24,22 +24,22 @@ function parse_response($this_response) {
|
||||
|
||||
if ($header=='Set-cookie' && substr($value,0,5)=='RMID=' && $nbRMID<5)//{
|
||||
$nbRMID++;
|
||||
// echo ("Je gicle le RMID n°$nbRMID\r\n");}
|
||||
// echo ("Je gicle le RMID n°$nbRMID\r\n");}
|
||||
else
|
||||
$response_header_array[$header] .= $value."\n";
|
||||
}
|
||||
return array('code' => $response_code, 'header' => $response_header_array, 'body' => $response_body);
|
||||
}
|
||||
|
||||
/** Récupère une page HTML en fonction des paramètres :
|
||||
** $url Url distante de la page à récupérer
|
||||
** $strCookies Chaine de caractère contenant les cookies
|
||||
** $postData Tableau des données à passer en POST uniquement
|
||||
** $referer Referer à indiquer lors de l'appel de la page
|
||||
** $debug Activer le débogage (True/False)
|
||||
/** Récupère une page HTML en fonction des paramètres :
|
||||
** $url Url distante de la page à récupérer
|
||||
** $strCookies Chaine de caractère contenant les cookies
|
||||
** $postData Tableau des données à passer en POST uniquement
|
||||
** $referer Referer à indiquer lors de l'appel de la page
|
||||
** $debug Activer le débogage (True/False)
|
||||
**
|
||||
** ... et retourne son contenu dans un tableau :
|
||||
** "code" => Code réponse Serveur
|
||||
** "code" => Code réponse Serveur
|
||||
** "header" => Headers du serveur
|
||||
** "body" => Page HTML
|
||||
**/
|
||||
@ -56,7 +56,7 @@ function getUrl($url, $strCookies='', $postData='', $referer='', $debug=false, $
|
||||
curl_setopt($ch, CURLOPT_URL, $url);
|
||||
curl_setopt($ch, CURLOPT_HEADER, 1);
|
||||
//curl_setopt($ch, CURLOPT_PROXY, '10.142.10.254:80');
|
||||
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'username:password'); // Pas nécessaire en authentification NT
|
||||
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'username:password'); // Pas nécessaire en authentification NT
|
||||
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
//curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
||||
@ -120,7 +120,7 @@ function getUrl($url, $strCookies='', $postData='', $referer='', $debug=false, $
|
||||
return $response;
|
||||
}
|
||||
|
||||
/**Verification de la validité des données pour la demande*/
|
||||
/**Verification de la validité des données pour la demande*/
|
||||
function valideData($variable, $taille_min, $taille_max, $type_variable, $erreur=false){
|
||||
if ( strlen((string)$variable) < $taille_min )
|
||||
return $erreur;
|
||||
@ -148,11 +148,11 @@ function valideData($variable, $taille_min, $taille_max, $type_variable, $erreur
|
||||
return $erreur;
|
||||
}
|
||||
|
||||
/** Test de la validité du siren demandé */
|
||||
/** Test de la validité du siren demandé */
|
||||
function valideSiren($siren, $nic='', $erreur=false) {
|
||||
|
||||
$lenSIREN=strlen($siren);
|
||||
if (!valideData($siren, 9, 9,'N')) //Siren non précisé ou incorrect.
|
||||
if (!valideData($siren, 9, 9,'N')) //Siren non précisé ou incorrect.
|
||||
return $erreur;
|
||||
else
|
||||
{
|
||||
@ -173,7 +173,7 @@ function valideSiren($siren, $nic='', $erreur=false) {
|
||||
|
||||
if ((integer)($somme/10)!=($somme/10))
|
||||
{ // Le Siren est faux
|
||||
if (substr($siren,0,3)!='200') // Les siren débutant par 200 sont toujours valides (sirens provisoires de la BDF?!)
|
||||
if (substr($siren,0,3)!='200') // Les siren débutant par 200 sont toujours valides (sirens provisoires de la BDF?!)
|
||||
return $erreur;
|
||||
}
|
||||
} else {
|
||||
@ -230,7 +230,7 @@ function rechercheTelephone($raisonSociale='', $adresse='', $localite='', $depar
|
||||
|
||||
$input_image=$VALID_ARR=$NUM_RUE=$NEW_DEPARTEMENT=$OBJ_GEO='';
|
||||
|
||||
// Requête d'interrogation
|
||||
// Requête d'interrogation
|
||||
$postData=array(
|
||||
'ACTIVITE_VALIDATED_ASCII'=>'',
|
||||
'ID_THEME_SDE'=>'',
|
||||
@ -263,8 +263,8 @@ sleep(1);
|
||||
|
||||
if (count($tabNT=getTabListeNonTrouve($pageHtml))>0)
|
||||
{
|
||||
// Pas de réponses pour ces critères
|
||||
// Il faut élargir la recherche !
|
||||
// Pas de réponses pour ces critères
|
||||
// Il faut élargir la recherche !
|
||||
$tabNTk=array_keys($tabNT);
|
||||
$input_image=$tabNT[0];
|
||||
$DEFAULT_ACTION='inscriptions_req';
|
||||
@ -273,7 +273,7 @@ sleep(1);
|
||||
}
|
||||
elseif (count($tabGU=getTabListeGU($pageHtml))>0)
|
||||
{
|
||||
// Plusieurs Adresses possibles pour l'adresse donnée
|
||||
// Plusieurs Adresses possibles pour l'adresse donnée
|
||||
// print_r($tabGU);
|
||||
$input_image=getBonneAdresse($adresse, $tabGU);
|
||||
$DEFAULT_ACTION='jf_inscriptions_req';
|
||||
@ -291,7 +291,7 @@ sleep(1);
|
||||
'input_image'=>$input_image,// diff
|
||||
'SESSION_ID'=>$SESSION_ID,
|
||||
'VID'=>$VID,
|
||||
'INFO_VILLE'=>'oui', // non dans la recherche préc.
|
||||
'INFO_VILLE'=>'oui', // non dans la recherche préc.
|
||||
'CODE_LOC_INFO_VILLE'=>$CODE_LOC_INFO_VILLE, // diff
|
||||
'IV_ACTIVATION'=>'oui',
|
||||
'lang'=>'FR',
|
||||
@ -351,14 +351,14 @@ function getTabResponses($pageHtml) {
|
||||
$page=getUrl($lienWeb, '', '', '', true);
|
||||
$lienWeb=$page['header']['Location'];
|
||||
|
||||
/*echo "Enreg n°$key : RS='$raisonSociale'\r\n";
|
||||
echo "Enreg n°$key : Adresse1='$ligneAdresse1'\r\n";
|
||||
echo "Enreg n°$key : Adresse2='$ligneAdresse2'\r\n";
|
||||
echo "Enreg n°$key : Plan ?='$dispoPlan'\r\n";
|
||||
echo "Enreg n°$key : Itineraire ?='$dispoIti'\r\n";
|
||||
echo "Enreg n°$key : Photo ?='$dispoPhoto'\r\n";
|
||||
echo "Enreg n°$key : Web ?='$dispoWeb'\r\n";
|
||||
echo "Enreg n°$key : Site WEB='$lienWeb'\r\n\r\n";*/
|
||||
/*echo "Enreg n°$key : RS='$raisonSociale'\r\n";
|
||||
echo "Enreg n°$key : Adresse1='$ligneAdresse1'\r\n";
|
||||
echo "Enreg n°$key : Adresse2='$ligneAdresse2'\r\n";
|
||||
echo "Enreg n°$key : Plan ?='$dispoPlan'\r\n";
|
||||
echo "Enreg n°$key : Itineraire ?='$dispoIti'\r\n";
|
||||
echo "Enreg n°$key : Photo ?='$dispoPhoto'\r\n";
|
||||
echo "Enreg n°$key : Web ?='$dispoWeb'\r\n";
|
||||
echo "Enreg n°$key : Site WEB='$lienWeb'\r\n\r\n";*/
|
||||
array_push($tabRep, array( 'raisonSociale' =>$raisonSociale,
|
||||
'AdresseLigne1' =>$ligneAdresse1,
|
||||
'AdresseLigne2' =>$ligneAdresse2,
|
||||
@ -374,42 +374,42 @@ function getTabResponses($pageHtml) {
|
||||
|
||||
function getBonneAdresse($adresse, $tabGU) {
|
||||
|
||||
// tableau de mots à vérifier
|
||||
// tableau de mots à vérifier
|
||||
$words = array_keys($tabGU);
|
||||
|
||||
// aucune distance de trouvée pour le moment
|
||||
// aucune distance de trouvée pour le moment
|
||||
$shortest = -1;
|
||||
|
||||
// boucle sur les des mots pour trouver le plus près
|
||||
// boucle sur les des mots pour trouver le plus près
|
||||
foreach ($words as $word) {
|
||||
|
||||
// calcule la distance avec le mot mis en entrée,
|
||||
// calcule la distance avec le mot mis en entrée,
|
||||
// et le mot courant
|
||||
$lev = levenshtein($adresse, $word);
|
||||
|
||||
// cherche une correspondance exacte
|
||||
if ($lev == 0) {
|
||||
|
||||
// le mot le plus près est celui-ci (correspondance exacte)
|
||||
// le mot le plus près est celui-ci (correspondance exacte)
|
||||
$closest = $word;
|
||||
$shortest = 0;
|
||||
|
||||
// on sort de la boucle ; nous avons trouvé une correspondance exacte
|
||||
// on sort de la boucle ; nous avons trouvé une correspondance exacte
|
||||
break;
|
||||
}
|
||||
|
||||
// Si la distance est plus petite que la prochaine distance trouvée
|
||||
// OU, si le prochain mot le plus près n'a pas encore été trouvé
|
||||
// Si la distance est plus petite que la prochaine distance trouvée
|
||||
// OU, si le prochain mot le plus près n'a pas encore été trouvé
|
||||
if ($lev <= $shortest || $shortest < 0) {
|
||||
// définission du mot le plus près ainsi que la distance
|
||||
// définission du mot le plus près ainsi que la distance
|
||||
$closest = $word;
|
||||
$shortest = $lev;
|
||||
}
|
||||
}
|
||||
/*
|
||||
echo "Mot entré : $adresse\n";
|
||||
echo "Mot entré : $adresse\n";
|
||||
if ($shortest == 0) {
|
||||
echo "Correspondance exacte trouvée : $closest\n";
|
||||
echo "Correspondance exacte trouvée : $closest\n";
|
||||
} else {
|
||||
echo "Vous voulez dire : $closest ?\n";
|
||||
}*/
|
||||
|
@ -9,17 +9,17 @@ function getDataEtablissement($pageHtml)
|
||||
$responseSiege=$pageHtml;
|
||||
$tabRet=array();
|
||||
|
||||
// On recherche si on est sur un établissement siège ou secondaire
|
||||
// On recherche si on est sur un établissement siège ou secondaire
|
||||
$pos=strpos($pageHtml, '<table cols="2" width="100%"><tr><td bgcolor="#FFCC33" align="left"><font face="Arial" size="2"><B>Fiche Etablissement</B>');
|
||||
if ($pos>0)
|
||||
$tabRet['typeEtablissement']='secondaire';
|
||||
|
||||
$pos=strpos($pageHtml, '<table cols="2" width="100%"><tr><td bgcolor="#FFCC33" align="left"><font face="Arial" size="2"><B>Fiche siège</B>');
|
||||
$pos=strpos($pageHtml, '<table cols="2" width="100%"><tr><td bgcolor="#FFCC33" align="left"><font face="Arial" size="2"><B>Fiche siège</B>');
|
||||
if ($pos>0)
|
||||
$tabRet['typeEtablissement']='siège';
|
||||
$tabRet['typeEtablissement']='siège';
|
||||
|
||||
// Recherche Dernière MAJ / Activité
|
||||
$pos=strpos($responseSiege, '<font face="Arial" size="2">(dernière mise à jour :');
|
||||
// Recherche Dernière MAJ / Activité
|
||||
$pos=strpos($responseSiege, '<font face="Arial" size="2">(dernière mise à jour :');
|
||||
if ($pos>0) {
|
||||
$tabRet['dateMAJ']=substr($responseSiege, $pos+51, 10);
|
||||
$tabRet['dateAbsActivite']='';
|
||||
@ -27,21 +27,21 @@ function getDataEtablissement($pageHtml)
|
||||
} else {
|
||||
$tabRet['active']='N';
|
||||
$tabRet['dateMAJ']='';
|
||||
$pos=strpos($responseSiege, '<font face="Arial" size="2">Absence d\'activité notée le : ');
|
||||
$pos=strpos($responseSiege, '<font face="Arial" size="2">Absence d\'activité notée le : ');
|
||||
if ($pos>0) $tabRet['dateAbsActivite']=substr($responseSiege, $pos+78, 10);
|
||||
else {
|
||||
$pos=strpos($responseSiege, '<font face="Arial" size="2">Absence d\'activité');
|
||||
$pos=strpos($responseSiege, '<font face="Arial" size="2">Absence d\'activité');
|
||||
if ($pos>0) $tabRet['dateAbsActivite']='';
|
||||
}
|
||||
}
|
||||
|
||||
$pos=strpos($responseSiege, ' size="-1"> <B>n° SIRET :</B></FONT></td><td valign="top"><font face="Arial" size="-1">');
|
||||
$tabRet['siret']=str_replace(' ', '', html_entity_decode(substr($responseSiege, $pos+97, 32)));
|
||||
$pos=strpos($responseSiege, ' size="-1"> <B>n° SIRET :</B></FONT></td><td valign="top"><font face="Arial" size="-1">');
|
||||
$tabRet['siret']=str_replace(' ', '', html_entity_decode(substr($responseSiege, $pos+97, 32)));
|
||||
|
||||
$pos=strpos($responseSiege, 'size="-1"> <B>Date de création :</B></FONT></td><td valign="top"><font face="Arial" size="-1">');
|
||||
$pos=strpos($responseSiege, 'size="-1"> <B>Date de création :</B></FONT></td><td valign="top"><font face="Arial" size="-1">');
|
||||
if ($pos>0) {
|
||||
$posFin=strpos($responseSiege, '</font>', $pos+109);
|
||||
$tabRet['dateCreation']=str_replace(' ', '', html_entity_decode(substr($responseSiege, $pos+109, $posFin-($pos+109))));
|
||||
$tabRet['dateCreation']=str_replace(' ', '', html_entity_decode(substr($responseSiege, $pos+109, $posFin-($pos+109))));
|
||||
}
|
||||
else $tabRet['dateCreation']='';
|
||||
|
||||
@ -61,10 +61,10 @@ function getDataEtablissement($pageHtml)
|
||||
$posFin=strpos($responseSiege, '</font>', $pos+$len);
|
||||
$raisonSocialeStr=trim(substr($responseSiege, $pos+$len, $posFin-($pos+$len)));
|
||||
$raisonSocialeTabLigne=explode('<BR>', $raisonSocialeStr);
|
||||
$tabRet['raisonSociale']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[0])));
|
||||
$tabRet['Enseigne']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[1])));
|
||||
$tabRet['raisonSociale']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[0])));
|
||||
$tabRet['Enseigne']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[1])));
|
||||
|
||||
$pos=strpos($responseSiege, ' size="-1"> <B>Activité principale :</B></FONT></td><td valign="top" colspan="3"><font face="Arial" size="-1">');
|
||||
$pos=strpos($responseSiege, ' size="-1"> <B>Activité principale :</B></FONT></td><td valign="top" colspan="3"><font face="Arial" size="-1">');
|
||||
$tabRet['NafCode']=substr($responseSiege, $pos+120, 4);
|
||||
$tabRet['NafLib']=trim(substr($responseSiege, $pos+137, 70));
|
||||
|
||||
@ -82,15 +82,15 @@ function getDataEtablissement($pageHtml)
|
||||
$AdresseCP=$AdresseTabLigne2[0];
|
||||
$AdresseVille=$AdresseTabLigne2[1];
|
||||
*/
|
||||
$pos=strpos($responseSiege, '<font face="Arial" size="-1"><b>L\'entreprise est connue au répertoire comme ');
|
||||
$pos=strpos($responseSiege, '<font face="Arial" size="-1"><b>L\'entreprise est connue au répertoire comme ');
|
||||
if ($pos>0) {
|
||||
$posFin=strpos($responseSiege, '</b>', $pos+106);
|
||||
$tabRet['etatJuridique']=html_entity_decode(substr($responseSiege, $pos+106, $posFin-($pos+106)));
|
||||
$tabRet['dateEtatJuridique']='';
|
||||
} else {
|
||||
$pos=strpos($responseSiege, '<font face="Arial" size="-1"><b>L\'entreprise est cessée le : ');
|
||||
$pos=strpos($responseSiege, '<font face="Arial" size="-1"><b>L\'entreprise est cessée le : ');
|
||||
$tabRet['dateEtatJuridique']=substr($responseSiege, $pos+86, 10);
|
||||
$tabRet['etatJuridique']='cessée';
|
||||
$tabRet['etatJuridique']='cessée';
|
||||
}
|
||||
//echo 'GetDataEtab="'.$libelleErreur."\"\r\n";
|
||||
|
||||
@ -108,7 +108,7 @@ function getDataEntreprise($pageHtml)
|
||||
|
||||
if ($libelleErreur=='') {
|
||||
|
||||
$pos=strpos($responseEntreprise, 'size="-1"> <B>Date de création :</B></FONT></td><td valign="top"><font face="Arial" size="-1">');
|
||||
$pos=strpos($responseEntreprise, 'size="-1"> <B>Date de création :</B></FONT></td><td valign="top"><font face="Arial" size="-1">');
|
||||
if ($pos>0)
|
||||
$tabRet['dateCreationEntrep']=substr($responseEntreprise, $pos+109, 10);
|
||||
else
|
||||
@ -119,11 +119,11 @@ function getDataEntreprise($pageHtml)
|
||||
$posFin=strpos($responseEntreprise, '</font>', $pos+123);
|
||||
$raisonSocialeStr=trim(substr($responseEntreprise, $pos+123, $posFin-($pos+123)));
|
||||
$raisonSocialeTabLigne=explode('<BR>', $raisonSocialeStr);
|
||||
$tabRet['raisonSocialeEntrep']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[0])));
|
||||
$tabRet['sigle']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[1])));
|
||||
$tabRet['raisonSocialeEntrep']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[0])));
|
||||
$tabRet['sigle']=trim(str_replace(' ', '', html_entity_decode($raisonSocialeTabLigne[1])));
|
||||
|
||||
// Activité prinicpale Entrep
|
||||
$pos=strpos($responseEntreprise, ' size="-1"> <B>Activité principale :</B></FONT></td><td valign="top" colspan="3"><font face="Arial" size="-1">');
|
||||
// Activité prinicpale Entrep
|
||||
$pos=strpos($responseEntreprise, ' size="-1"> <B>Activité principale :</B></FONT></td><td valign="top" colspan="3"><font face="Arial" size="-1">');
|
||||
$tabRet['NafCodeEntrep']=substr($responseEntreprise, $pos+120, 4);
|
||||
$tabRet['NafLibEntrep']=trim(substr($responseEntreprise, $pos+137, 70));
|
||||
|
||||
@ -133,9 +133,9 @@ function getDataEntreprise($pageHtml)
|
||||
$tabRet['FJLibEntrep']=trim(substr($responseEntreprise, $pos+133, 70));
|
||||
|
||||
// Nb Etab Actifs
|
||||
$pos=strpos($responseEntreprise, ' size="-1"> <B>Nb établissements actifs :</B></FONT></td><td valign="top"><font face="Arial" size="-1">');
|
||||
$pos=strpos($responseEntreprise, ' size="-1"> <B>Nb établissements actifs :</B></FONT></td><td valign="top"><font face="Arial" size="-1">');
|
||||
$posFin=strpos($responseEntreprise, '</font>', $pos+118);
|
||||
$tabRet['nbEtabActifs']=trim(str_replace(' ', '', html_entity_decode(substr($responseEntreprise, $pos+118, $posFin-($pos+118)))));
|
||||
$tabRet['nbEtabActifs']=trim(str_replace(' ', '', html_entity_decode(substr($responseEntreprise, $pos+118, $posFin-($pos+118)))));
|
||||
}
|
||||
return $tabRet;
|
||||
}
|
||||
@ -224,11 +224,11 @@ function getDataEntrepriseRNCS($pageHtml) {
|
||||
|
||||
// Forme Juridique
|
||||
|
||||
// Nationalité
|
||||
// Nationalité
|
||||
|
||||
// Activité
|
||||
// Activité
|
||||
|
||||
// Siège social
|
||||
// Siège social
|
||||
/*
|
||||
<tr>
|
||||
<td bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
|
||||
@ -260,7 +260,7 @@ function getDataEntrepriseRNCS($pageHtml) {
|
||||
<td width="185" bgcolor="#FFFFFF" class="boldtextarial">Forme
|
||||
juridique</td>
|
||||
<td width="5" bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
|
||||
<td width="385" bgcolor="#EBF0F5" class="basictext">SA à conseil d'administration</td>
|
||||
<td width="385" bgcolor="#EBF0F5" class="basictext">SA à conseil d'administration</td>
|
||||
</tr>
|
||||
|
||||
<tr align="left" valign="top">
|
||||
@ -307,7 +307,7 @@ function getDataEntrepriseRNCS($pageHtml) {
|
||||
<td width="5" bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
|
||||
<td width="185" align="left" valign="top" bgcolor="#FFFFFF" class="boldtextarial">Effectif</td>
|
||||
<td width="5" bgcolor="#336699"><img src="../images/shim.gif" width="2" height="2"></td>
|
||||
<td width="385" align="left" valign="top" bgcolor="#EBF0F5" class="basictext">De 5150 à 5720</td>
|
||||
<td width="385" align="left" valign="top" bgcolor="#EBF0F5" class="basictext">De 5150 à 5720</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
@ -327,21 +327,21 @@ function getDataEcoCoface($pageHtml) {
|
||||
$tabRet=array();
|
||||
|
||||
// SIREN
|
||||
$pos=strpos($pageHtml, '<b><font class="nota">La forme juridique ou la date de création trop récente de l\'entreprise ne nous permettant pas d\'obtenir suffisamment d\'informations, nous vous offrons ce produit.</font></b>');
|
||||
$pos=strpos($pageHtml, '<b><font class="nota">La forme juridique ou la date de création trop récente de l\'entreprise ne nous permettant pas d\'obtenir suffisamment d\'informations, nous vous offrons ce produit.</font></b>');
|
||||
if ($pos>0) {
|
||||
$tabRet['infoEco']='OUI';
|
||||
$tabRet['societeInactive']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Société inactive</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
|
||||
$tabRet['societeInactive']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Société inactive</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
|
||||
$strCapital=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Capital   (', '(', '</tr><tr>');
|
||||
$tabTmp=explode('</td>', $strCapital);
|
||||
$tabRet['capital_source']=str_replace(')', '', $tabTmp[0]);
|
||||
$tabTmp=explode(' ', $tabTmp[1]);
|
||||
$tabRet['capital_montant']=str_replace(chr(160), '', trim(strip_tags($tabTmp[0])));
|
||||
$tabRet['capital_devise']=trim(strip_tags($tabTmp[1]));
|
||||
$tabRet['dateCreation']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Date de création</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
|
||||
$tabRet['dateCreation']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Date de création</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
|
||||
$tabRet['formeJuridique']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Forme juridique</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
|
||||
$tabRet['cotationBourse']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Cotation en bourse</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
|
||||
$tabRet['effectifSociete']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Effectif société</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
|
||||
$tabRet['activite']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Activité</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
|
||||
$tabRet['effectifSociete']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Effectif société</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
|
||||
$tabRet['activite']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Activité</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
|
||||
|
||||
$tabRet['sigle']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Sigle</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
|
||||
$tabRet['enseigne']=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne" > Enseigne</td>', '<td bgcolor="#FFF3DE" class="tabval" > ', '</td>');
|
||||
@ -355,8 +355,8 @@ function getDataEcoCoface($pageHtml) {
|
||||
$tabTmp=explode('<td bgcolor="#FFF3DE" class="tabval" > ', $dir);
|
||||
$typeDir=trim(strip_tags($tabTmp[0]));
|
||||
$nomDir=trim(strip_tags($tabTmp[1]));
|
||||
if ($typeDir<>'' && $typeDir<>'Date de création' && $typeDir<>'Forme juridique' && $typeDir<>'Cotation en bourse'
|
||||
&& $typeDir<>'Effectif société' && $typeDir<>'Société inactive' && $typeDir<>'Activité'
|
||||
if ($typeDir<>'' && $typeDir<>'Date de création' && $typeDir<>'Forme juridique' && $typeDir<>'Cotation en bourse'
|
||||
&& $typeDir<>'Effectif société' && $typeDir<>'Société inactive' && $typeDir<>'Activité'
|
||||
&& $typeDir<>'Sigle' && $typeDir<>'Enseigne'
|
||||
&& substr($typeDir, 0, 8) <>'Capital ' )
|
||||
{
|
||||
@ -374,17 +374,17 @@ function getDataEcoCoface($pageHtml) {
|
||||
|
||||
// Liens Financiers
|
||||
$strTmp=@getTextInHtml($pageHtml, '<td class="tabtot">LIENS FINANCIERS</td>', '<td> </td>', '</table>');
|
||||
if (strpos($strTmp, 'Néant')>0)
|
||||
$tabRet['LiensFinanciers']='Néant';
|
||||
if (strpos($strTmp, 'Néant')>0)
|
||||
$tabRet['LiensFinanciers']='Néant';
|
||||
else
|
||||
$tabRet['LiensFinanciers']='Présence liens';
|
||||
$tabRet['LiensFinanciers']='Présence liens';
|
||||
|
||||
// ELEMENTS FINANCIERS
|
||||
$strTmp=@getTextInHtml($pageHtml, '<td class="tabtot">ELEMENTS FINANCIERS</td>', '<td> </td>', '</table>');
|
||||
if (strpos($strTmp, 'Néant')>0)
|
||||
$tabRet['ElementsFinanciers']='Néant';
|
||||
if (strpos($strTmp, 'Néant')>0)
|
||||
$tabRet['ElementsFinanciers']='Néant';
|
||||
else
|
||||
$tabRet['ElementsFinanciers']='Présence El.Fi.';
|
||||
$tabRet['ElementsFinanciers']='Présence El.Fi.';
|
||||
}
|
||||
else
|
||||
$tabRet['infoEco']='NON';
|
||||
@ -408,7 +408,7 @@ function getDataEntrepriseCoface($pageHtml) {
|
||||
//$tabRet['siren']=@getTextInHtml($pageHtml, '<a href="http://www.coface.fr" target="_blank"> Qui sommes nous </a>-<a href="javascript:;" onClick="MM_openBrWindow(\'../mod_cofacescrl/part_recherche.asp?nscrl=18452&metier=ALL&geo=ALL&idnav=168d25840396c5f38f4
|
||||
$tabRet['nscrl']=@getTextInHtml($pageHtml, 'Plan du site </a>-<a href="http://www.coface.fr" target="_blank"> Qui sommes nous </a>-<a href="javascript:;" onClick="MM_openBrWindow(\'../mod_cofacescrl/part_recherche.asp?nscrl=', '?nscrl=', '&metier=ALL&geo=ALL&idnav=');
|
||||
|
||||
// Raison Sociale, Adresse et lien vers Géoloc
|
||||
// Raison Sociale, Adresse et lien vers Géoloc
|
||||
$strRS_Adr=@getTextInHtml($pageHtml, '<td WIDTH="40%" bgcolor="#F3E5CC" class="tabligne"> <b> Raison sociale<br>', '<td WIDTH="60%" bgcolor="#FFF3DE" class="tabval"><b>', '</b></td>');
|
||||
$tabRS_Adr=explode('<br>', $strRS_Adr);
|
||||
$tabRet['raisonSociale']=trim($tabRS_Adr[0]);
|
||||
@ -420,8 +420,8 @@ function getDataEntrepriseCoface($pageHtml) {
|
||||
$tabRet['ville']=trim($tabRS_Adr1[1]);
|
||||
$tabRet['UrlGeoLoc']=@getTextInHtml($pageHtml, '<td WIDTH="60%" bgcolor="#FFF3DE" class="tabval"><a href="javascript:;" onClick="MM_openBrWindow(\'', 'onClick="MM_openBrWindow(\'', '\',\'Planfax');
|
||||
|
||||
// Téléphone / Fax
|
||||
$strTelFax=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne"><b>Téléphone<br>', '<td bgcolor="#FFF3DE" class="tabval" valign="top">', '</td>');
|
||||
// Téléphone / Fax
|
||||
$strTelFax=@getTextInHtml($pageHtml, '<td bgcolor="#F3E5CC" class="tabligne"><b>Téléphone<br>', '<td bgcolor="#FFF3DE" class="tabval" valign="top">', '</td>');
|
||||
$tabTelFax=explode('<br>', $strTelFax);
|
||||
$tabRet['tel']=trim($tabTelFax[0]);
|
||||
$tabRet['fax']=trim($tabTelFax[1]);
|
||||
@ -439,8 +439,8 @@ function getDataEntrepriseCoface($pageHtml) {
|
||||
$tabRet['bourse_marche']=trim($tabBourse[1]);
|
||||
$tabRet['bourse_ville']=trim($tabBourse[2]);
|
||||
|
||||
// Activité
|
||||
$tabRet['activite']=trim(str_replace(' ', ' ', @getTextInHtml($pageHtml, '<td WIDTH="40%" bgcolor="#F3E5CC" class="tabligne" valign="top"><b>Libellé code activité </b></td>', '<td WIDTH="60%" bgcolor="#FFF3DE" class="tabval">', '</td>')));
|
||||
// Activité
|
||||
$tabRet['activite']=trim(str_replace(' ', ' ', @getTextInHtml($pageHtml, '<td WIDTH="40%" bgcolor="#F3E5CC" class="tabligne" valign="top"><b>Libellé code activité </b></td>', '<td WIDTH="60%" bgcolor="#FFF3DE" class="tabval">', '</td>')));
|
||||
|
||||
// Produits disponibles
|
||||
$strDispos=@getTextInHtml($pageHtml, '<table border="0" cellpadding="0" cellspacing="0" width="98%"><tr><td class="normal"><b>Produits disponibles</b></td></tr><tr><td bgcolor="#E1D0B6"><img src="../images/vide.gif" border="0" height="1"><br></td></tr><tr><td><img src="../images/vide.gif" border="0" height="5"><br></td></tr></table>', '<table border="0" cellpadding="5" cellspacing="0" width="100%">', '</table>');
|
||||
@ -533,16 +533,16 @@ function getTextInHtml($pageHtml, $strToFind, $strDeb, $strEnd, $include_strDeb=
|
||||
$nbOccTrouve++;
|
||||
|
||||
if ($nbOcc==$nbOccTrouve) {
|
||||
// echo "j'ai trouvé le nb demandé, je sort\r\n";
|
||||
// echo "j'ai trouvé le nb demandé, je sort\r\n";
|
||||
break;
|
||||
};
|
||||
}
|
||||
|
||||
return $tabUrl;
|
||||
/*<span class="mongrasvert">
|
||||
<li>Le type de voie a été modifié<br>
|
||||
<li>L'orthographe du mot directeur a été modifiée<br>
|
||||
<li>Le code postal a été forcé à partir du département et de la localité<br> </span>
|
||||
<li>Le type de voie a été modifié<br>
|
||||
<li>L'orthographe du mot directeur a été modifiée<br>
|
||||
<li>Le code postal a été forcé à partir du département et de la localité<br> </span>
|
||||
*/
|
||||
}
|
||||
?>
|
@ -7,13 +7,13 @@
|
||||
//$normad2=new Normad('SCI BRYGE', 'Kervegant', '', '', '', '29', 'SCAER');
|
||||
|
||||
class Normad {
|
||||
/** Normalise l'adresse postale donnée en paramètre. Seule la ligne 1 qui devrait comporter la Raison Sociale ou le nom de l'expéditeur reste inchangée !
|
||||
/** Normalise l'adresse postale donnée en paramètre. Seule la ligne 1 qui devrait comporter la Raison Sociale ou le nom de l'expéditeur reste inchangée !
|
||||
** @param $adrL1 Obligatoirement le Nom ou la Raison Sociale du destinataire
|
||||
** @param $adrL2 Normalisation = Appart.,Bâtiment...
|
||||
** @param $adrL3 Normalisation = Résidence,Cité...
|
||||
** @param $adrL2 Normalisation = Appart.,Bâtiment...
|
||||
** @param $adrL3 Normalisation = Résidence,Cité...
|
||||
** @param $adrL4 Normalisation = Num./Bis/Type voie/Nom voie
|
||||
** @param $adrL5 Normalisation = BP,TSA,Lieu-dit...
|
||||
** @param $codPos Code Postal (ou département)
|
||||
** @param $codPos Code Postal (ou département)
|
||||
** @param $ville Ville (orthographe correcte si possible si pas de CP)
|
||||
** @return array
|
||||
**/
|
||||
@ -43,21 +43,21 @@
|
||||
$tabRet['retour_libelle']=trim($retour[0]);
|
||||
$tabRet['retour_messages']=getTextInHtml($page, '<li>', 'i>', '<br>', false, false, true, true, $posInHtml, 0);
|
||||
|
||||
// Récupération des Lignes d'adresse
|
||||
// Récupération des Lignes d'adresse
|
||||
$tabRet['ligne1']=$adrL1;
|
||||
$tabRet['ligne2']=getTextInHtml($page, '<td class="gris2"><span class=grasnoir>Adresse en sortie :</span>', '<td class=gras nowrap>', '</td>', false, false, true, true, $posInHtml);
|
||||
$tabRet['ligne3']=getTextInHtml($page, '<td class=pet align=right nowrap> Volet 2 : </td>', '<td class=gras nowrap>', '</td>', false, false, true, true, $posInHtml);
|
||||
$tabRet['ligne4']=getTextInHtml($page, '<td class=pet align=right nowrap> Volet ', '<td class=gras nowrap>', '</td>', false, false, true, true, $posInHtml);
|
||||
$tabRet['ligne5']=getTextInHtml($page, '<td class=pet align=right nowrap> Volet 4 : </td>', '<td class=gras nowrap>', '</td>', false, false, true, true, $posInHtml);
|
||||
$tabRet['CP']=getTextInHtml($page, '<td class=pet align=right nowrap> CP : </td>', '<td class=gras nowrap>', '</td>', false, false, true, true, $posInHtml);
|
||||
$tabRet['ville']=getTextInHtml($page, '<td class=pet align=right nowrap> Localité : </td>', '<td class=gras nowrap>', '</td>', false, false, true, true, $posInHtml);
|
||||
$tabRet['ville']=getTextInHtml($page, '<td class=pet align=right nowrap> Localité : </td>', '<td class=gras nowrap>', '</td>', false, false, true, true, $posInHtml);
|
||||
$tabRet['ligne6']=$tabRet['CP'] .' '. $tabRet['ville'];
|
||||
|
||||
// Découpage de la rue
|
||||
$tabRet['voie_num']=getTextInHtml($page, '<span class=pet>Numéro ', '<span class=gras>', '</span><br>', false, false, true, true, $posInHtml);
|
||||
// Découpage de la rue
|
||||
$tabRet['voie_num']=getTextInHtml($page, '<span class=pet>Numéro ', '<span class=gras>', '</span><br>', false, false, true, true, $posInHtml);
|
||||
$tabRet['voie_btq']=getTextInHtml($page, '<span class=pet>Bis/Ter/Quater/...', '<span class=gras>', '</span><br>', false, false, true, true, $posInHtml);
|
||||
$tabRet['voie_type']=getTextInHtml($page, '<span class=pet>Type', '<span class=gras>', '</span><br>', false, false, true, true, $posInHtml);
|
||||
$tabRet['voie_denom']=getTextInHtml($page, '<span class=pet>Dénomination', '<span class=gras>', '</span><br>', false, false, true, true, $posInHtml);
|
||||
$tabRet['voie_denom']=getTextInHtml($page, '<span class=pet>Dénomination', '<span class=gras>', '</span><br>', false, false, true, true, $posInHtml);
|
||||
$tabRet['voie_motDir']=getTextInHtml($page, 'directeur :</span> ', '<span class=gras>', '</span><br>', false, false, true, true, $posInHtml);
|
||||
$tabRet['voie_matric']=getTextInHtml($page, '<span class=pet>Matricule voie :</span>', '</span>', '<br>', false, true, true, true, $posInHtml);
|
||||
$tabRet['code_insee_commune']=getTextInHtml($page, '<span class=pet>Code INSEE commune :</span>', '</span>', '<br>', false, true, true, true, $posInHtml);
|
||||
@ -67,7 +67,7 @@
|
||||
}
|
||||
|
||||
/*
|
||||
<td class="gris2" valign=top><span class=grasnoir>Détails :</span><br>
|
||||
<td class="gris2" valign=top><span class=grasnoir>Détails :</span><br>
|
||||
|
||||
00441644 <br>
|
||||
|
||||
|
@ -98,7 +98,7 @@ if(is_array($list)) {
|
||||
echo imap_utf7_decode($val) . "<br />\n";
|
||||
}
|
||||
} else {
|
||||
echo "imap_list a échoué : " . imap_last_error() . "\n";
|
||||
echo "imap_list a échoué : " . imap_last_error() . "\n";
|
||||
}
|
||||
|
||||
echo "<p><h1>Entetes de mail dans INBOX</h1>\n";
|
||||
@ -117,12 +117,12 @@ if($check) {
|
||||
echo "Pilote: " . $check->Driver ."<br />\n" ;
|
||||
echo "Mailbox: " . $check->Mailbox ."<br />\n" ;
|
||||
echo "Messages: ". $check->Nmsgs ."<br />\n" ;
|
||||
echo "Récent: " . $check->Recent ."<br />\n" ;
|
||||
echo "Récent: " . $check->Recent ."<br />\n" ;
|
||||
echo "Non lus: " . $check->Unread ."<br />\n" ;
|
||||
echo "Effacés: " . $check->Deleted ."<br />\n" ;
|
||||
echo "Effacés: " . $check->Deleted ."<br />\n" ;
|
||||
echo "Taille: " . $check->Size ."<br />\n" ;
|
||||
} else {
|
||||
echo "imap_check() a échoué: ".imap_last_error(). "<br />\n";
|
||||
echo "imap_check() a échoué: ".imap_last_error(). "<br />\n";
|
||||
}
|
||||
|
||||
$imap_obj = imap_check($mbox);
|
||||
@ -141,18 +141,18 @@ $partsarray=array();
|
||||
/*$unsorted[$k]["subject"]=imap_utf8($val->subject); // Le sujet du message
|
||||
$unsorted[$k]['from']=$val->from;
|
||||
$unsorted[$k]['to']=$val->to;
|
||||
$unsorted[$k]['date']=$val->date;// Date d'expédition
|
||||
$unsorted[$k]['date']=$val->date;// Date d'expédition
|
||||
$unsorted[$k]['message_id - Identification du message
|
||||
references - est une référence sur l'id de ce message
|
||||
in_reply_to - est une réponse à cet identifiant de message
|
||||
references - est une référence sur l'id de ce message
|
||||
in_reply_to - est une réponse à cet identifiant de message
|
||||
size - taille en octets
|
||||
uid - UID du message dans la boîte aux lettres
|
||||
msgno - numéro de séquence du message dans la boîte
|
||||
recent - Ce message est récent
|
||||
flagged - Ce message est marqué
|
||||
answered - Ce message a donné lieu à une réponse
|
||||
deleted - Ce message est marqué pour l'effacement
|
||||
seen - Ce message est déjà lu
|
||||
uid - UID du message dans la boîte aux lettres
|
||||
msgno - numéro de séquence du message dans la boîte
|
||||
recent - Ce message est récent
|
||||
flagged - Ce message est marqué
|
||||
answered - Ce message a donné lieu à une réponse
|
||||
deleted - Ce message est marqué pour l'effacement
|
||||
seen - Ce message est déjà lu
|
||||
draft - Ce message est un brouillon
|
||||
*/
|
||||
$s=imap_fetchstructure($mbox,$val->message_id);
|
||||
|
@ -10,8 +10,8 @@ function mysql_trace($query, $res='') {
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Retourne la dernière valeur de l'auto-incrément ou 0 si pas d'auto-incrément
|
||||
** Penser à bien tester la valeur !== false
|
||||
/** Retourne la dernière valeur de l'auto-incrément ou 0 si pas d'auto-incrément
|
||||
** Penser à bien tester la valeur !== false
|
||||
**/
|
||||
function mysql_insert($table, $toAdd, $debug=false){
|
||||
$fields = implode(array_keys($toAdd), '`,`');
|
||||
|
@ -14,10 +14,10 @@ include('/var/www/_includes/includes/fonctions.php');
|
||||
Usage: <?=$argv[0]?> <extract type> <fileIn> <fileInFmt> <fileOut> <fileOutFmt>
|
||||
|
||||
Where <extract type> is :
|
||||
id siren.tm.fr : Fiche d'identite INSEE (établissement+entreprise)
|
||||
id siren.tm.fr : Fiche d'identite INSEE (établissement+entreprise)
|
||||
lst siren.tm.fr : Liste des etablissements du SIREN (+infos entreprise)
|
||||
rncs societe.com : Informations du RNCS
|
||||
pj pagesjaunes.fr : Données des pages jaunes
|
||||
pj pagesjaunes.fr : Données des pages jaunes
|
||||
coface cofacerating.fr : Coface
|
||||
|
||||
Where <fileInFmt> is :
|
||||
@ -26,7 +26,7 @@ include('/var/www/_includes/includes/fonctions.php');
|
||||
|
||||
Where <fileOutFmt> is : csv / todo
|
||||
|
||||
Le fichier en entrée doit être au format <fileInFmt> et contenir le SIREN en première colonne.
|
||||
Le fichier en entrée doit être au format <fileInFmt> et contenir le SIREN en première colonne.
|
||||
*/
|
||||
|
||||
$insee=&new Insee();
|
||||
@ -45,18 +45,18 @@ function getInfosSirene($sirenLu, $nicLu='') {
|
||||
if ($invalide==true)
|
||||
{
|
||||
$siret=$sirenLu.$nicLu;
|
||||
$str=date('d/m/Y à H:i:s') .';'. $libelleErreur .';'. $siret .';;;;;;;;;;;;;;;;;;;;;;;';
|
||||
$str=date('d/m/Y à H:i:s') .';'. $libelleErreur .';'. $siret .';;;;;;;;;;;;;;;;;;;;;;;';
|
||||
$fp=fopen('/var/www/_includes/partenaires/insee/debug.csv', 'a');
|
||||
fwrite($fp, $str."\r\n");
|
||||
fclose($fp);
|
||||
$num=$key+1;
|
||||
flush();
|
||||
} else { // La demande est valide on va à l'INSEE
|
||||
/** Paramètre de requête "option" à l'insee :
|
||||
** 1: Fiche du siège + Données entreprises
|
||||
** 2: Tous les établissements de l'entreprise
|
||||
** 3: Un établissement particulier
|
||||
** 4: Département
|
||||
} else { // La demande est valide on va à l'INSEE
|
||||
/** Paramètre de requête "option" à l'insee :
|
||||
** 1: Fiche du siège + Données entreprises
|
||||
** 2: Tous les établissements de l'entreprise
|
||||
** 3: Un établissement particulier
|
||||
** 4: Département
|
||||
**/
|
||||
if ($nicLu<>'') $option=3;
|
||||
else $option=1;
|
||||
@ -80,9 +80,9 @@ function getInfosSirene($sirenLu, $nicLu='') {
|
||||
$response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_haut.asp?grille=siren&action=nouvelle', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?grille=siren&action=nouvelle');
|
||||
$response=getUrl(SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_bas.asp?grille=siren&action=nouvelle', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?grille=siren&action=nouvelle');
|
||||
|
||||
if ($nicLu=='') //Faire une boucle de recherche de tous les établissement et y inclure le reste du traitement
|
||||
if ($nicLu=='') //Faire une boucle de recherche de tous les établissement et y inclure le reste du traitement
|
||||
{
|
||||
// Requête d'interrogation
|
||||
// Requête d'interrogation
|
||||
$postData=array(
|
||||
'siren'=>$sirenLu,
|
||||
'option'=>2,
|
||||
@ -103,7 +103,7 @@ function getInfosSirene($sirenLu, $nicLu='') {
|
||||
{
|
||||
//$libelleErreur='Erreur INSEE inconnue 1';
|
||||
|
||||
// Siren Invalide ou autre erreur non répertoriée !
|
||||
// Siren Invalide ou autre erreur non répertoriée !
|
||||
$header=$responseQ['header'];
|
||||
if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur')
|
||||
{
|
||||
@ -117,10 +117,10 @@ function getInfosSirene($sirenLu, $nicLu='') {
|
||||
$libelleErreur='Erreur INSEE inconnue';
|
||||
}
|
||||
|
||||
// On déroule les URLs d'appels liste des établissements
|
||||
// On déroule les URLs d'appels liste des établissements
|
||||
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false');
|
||||
//sleep(1);
|
||||
// Frames réponse niveau Etab
|
||||
// Frames réponse niveau Etab
|
||||
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste');
|
||||
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste');
|
||||
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste');
|
||||
@ -128,7 +128,7 @@ function getInfosSirene($sirenLu, $nicLu='') {
|
||||
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Liste_bas.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=liste');
|
||||
$responseListe=$responseListe['body'];
|
||||
|
||||
$pos=strpos($responseListe, 'Nombre total de réponses : '."\r\n\t\t\t".'<font face="Arial" size="2"><b>');
|
||||
$pos=strpos($responseListe, 'Nombre total de réponses : '."\r\n\t\t\t".'<font face="Arial" size="2"><b>');
|
||||
if ($pos>0) {
|
||||
$posFin=strpos($responseListe, '</b></font>', $pos+73);
|
||||
$nbRepTot=trim(substr($responseListe, $pos+73, $posFin-($pos+73)));
|
||||
@ -147,26 +147,26 @@ function getInfosSirene($sirenLu, $nicLu='') {
|
||||
$nbRepParPage=trim(substr($responseListe, $pos+60, $posFin-($pos+60)));
|
||||
}
|
||||
|
||||
/* TODO = Récupérer les infos étab + entrep pour chaque ligne du tableau !!!*
|
||||
/* TODO = Récupérer les infos étab + entrep pour chaque ligne du tableau !!!*
|
||||
*/
|
||||
if ($libelleErreur=='Erreur SCRIPT Inconnue')
|
||||
$libelleErreur='';
|
||||
for ($i=1;$i<11; $i++)
|
||||
{
|
||||
if ($numEtab==$nbRepTot)
|
||||
break; // Il n'y a pas plus d'établissement à récupérer ! On sort...
|
||||
break; // Il n'y a pas plus d'établissement à récupérer ! On sort...
|
||||
|
||||
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/reponse/question.asp?action=detail&numtableau='.$i, $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Liste_principal.asp');
|
||||
if ($responseQ['code']==302)
|
||||
{
|
||||
// Siren Invalide ou autre erreur non répertoriée !
|
||||
// Siren Invalide ou autre erreur non répertoriée !
|
||||
$header=$responseQ['header'];
|
||||
if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?origine=liste&dest=detail&niveau=siege&numtableau='.$i)
|
||||
{
|
||||
// On déroule les URLs d'appels fiche siège
|
||||
// On déroule les URLs d'appels fiche siège
|
||||
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege&numtableau='.$i, $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false');
|
||||
//sleep(1);
|
||||
// Frames réponse niveau Etab
|
||||
// Frames réponse niveau Etab
|
||||
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege');
|
||||
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege');
|
||||
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege');
|
||||
@ -174,7 +174,7 @@ function getInfosSirene($sirenLu, $nicLu='') {
|
||||
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=siege&numtableau='.$i.'&origine=liste', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?origine=liste&dest=detail&niveau=siege&numtableau='.$i);
|
||||
$responseEtab=$responseEtab['body'];
|
||||
|
||||
// Récupération de la fiche entreprise INSEE
|
||||
// Récupération de la fiche entreprise INSEE
|
||||
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i, $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=siege&numtableau='.$i.'&origine=liste');
|
||||
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/reponse/frame_reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i);
|
||||
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?niveau=entreprise&dest=detail&origine=liste&numtableau='.$i);
|
||||
@ -186,10 +186,10 @@ function getInfosSirene($sirenLu, $nicLu='') {
|
||||
}
|
||||
elseif (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?origine=liste&dest=detail&niveau=etablissement&numtableau='.$i)
|
||||
{
|
||||
// On déroule les URLs d'appels établissement
|
||||
// On déroule les URLs d'appels établissement
|
||||
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement&numtableau='.$i, $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false');
|
||||
//sleep(1);
|
||||
// Frames réponse niveau Etab
|
||||
// Frames réponse niveau Etab
|
||||
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement');
|
||||
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement');
|
||||
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement');
|
||||
@ -204,9 +204,9 @@ function getInfosSirene($sirenLu, $nicLu='') {
|
||||
if ($libelleErreur<>'' && $tabInfoEtab['siret'] =='') $siret=$sirenLu . $nicLu;
|
||||
else $siret=$tabInfoEtab['siret'];
|
||||
|
||||
$str= date('d/m/Y à H:i:s') .';'.
|
||||
$str= date('d/m/Y à H:i:s') .';'.
|
||||
$libelleErreur .';'.
|
||||
// Siège
|
||||
// Siège
|
||||
$siret .';'.
|
||||
$tabInfoEtab['active'] .';'.
|
||||
$tabInfoEtab['dateAbsActivite'] .';'.
|
||||
@ -246,7 +246,7 @@ function getInfosSirene($sirenLu, $nicLu='') {
|
||||
}//end for
|
||||
}//end if
|
||||
if ($pageCour==$nbTotPage) {
|
||||
// On sort de la boucle de passage à la page de liste suivante car il n'y a plus d'autres pages
|
||||
// On sort de la boucle de passage à la page de liste suivante car il n'y a plus d'autres pages
|
||||
break;
|
||||
} else {
|
||||
$action='listeplus';
|
||||
@ -257,7 +257,7 @@ function getInfosSirene($sirenLu, $nicLu='') {
|
||||
// die('Boucle');
|
||||
} /* Fin de la boucle option 'lst' */ else
|
||||
{
|
||||
// Requête d'interrogation
|
||||
// Requête d'interrogation
|
||||
$postData=array('siren'=>$sirenLu,
|
||||
'option'=>$option,
|
||||
'nic'=>$nicLu,
|
||||
@ -270,7 +270,7 @@ function getInfosSirene($sirenLu, $nicLu='') {
|
||||
{
|
||||
//$libelleErreur='Erreur INSEE inconnue 1';
|
||||
|
||||
// Siren Invalide ou autre erreur non répertoriée !
|
||||
// Siren Invalide ou autre erreur non répertoriée !
|
||||
$header=$responseQ['header'];
|
||||
if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?dest=erreur')
|
||||
{
|
||||
@ -285,45 +285,45 @@ function getInfosSirene($sirenLu, $nicLu='') {
|
||||
}
|
||||
else
|
||||
{ if (trim($header['Location'])=='/REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege')
|
||||
// L'établissement demandé est un siège !
|
||||
// L'établissement demandé est un siège !
|
||||
$option=1;
|
||||
|
||||
if ($option==3)
|
||||
{
|
||||
// On déroule les URLs d'appels établissement
|
||||
// On déroule les URLs d'appels établissement
|
||||
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false');
|
||||
//sleep(1);
|
||||
// Frames réponse niveau Etab
|
||||
// Frames réponse niveau Etab
|
||||
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement');
|
||||
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement');
|
||||
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement');
|
||||
$responseEtab=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=etablissement', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement', true);
|
||||
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=etablissement', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=etablissement');
|
||||
$responseEtab=$responseEtab['body'];
|
||||
// On recherche si on est bien sur un fiche établissement
|
||||
// On recherche si on est bien sur un fiche établissement
|
||||
$pos=strpos($responseEtab, '<table cols="2" width="100%"><tr><td bgcolor="#FFCC33" align="left"><font face="Arial" size="2"><B>Fiche Etablissement</B>');
|
||||
if ($pos<1)
|
||||
$libelleErreur='Erreur SCRIPT Fiche Etablissement non trouvée';
|
||||
$libelleErreur='Erreur SCRIPT Fiche Etablissement non trouvée';
|
||||
else
|
||||
$libelleErreur='';
|
||||
$responseSiege=$responseEtab;
|
||||
}
|
||||
else
|
||||
{
|
||||
// On déroule les URLs d'appels Sièges
|
||||
// On déroule les URLs d'appels Sièges
|
||||
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Interrogation/Interrogation_principal.asp?action=valider&grille=siren&waitframe=false');
|
||||
//sleep(1);
|
||||
// Frames réponse niveau sièges
|
||||
// Frames réponse niveau sièges
|
||||
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_menu.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege');
|
||||
$responseQ=getUrl(SITE_INSEE .'SIRENET_Script/Interrogation/script_recherche_barre_haut.asp?niveau=siren', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege');
|
||||
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Reponse_haut.asp', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege');
|
||||
$responseSiege=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_principal.asp?niveau=siege', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege', true);
|
||||
$responseQ=getUrl(SITE_INSEE .'REPERTOIRE/Reponse/Detail_bas.asp?niveau=siege', $response1["header"]["Set-Cookie"], '', SITE_INSEE .'REPERTOIRE/Reponse/Frame_Reponse.asp?dest=detail&niveau=siege');
|
||||
$responseSiege=$responseSiege['body'];//strip_tags(html_entity_decode(), '<td>');
|
||||
// On recherche si on est bien sur un fiche siège
|
||||
$pos=strpos($responseSiege, '<table cols="2" width="100%"><tr><td bgcolor="#FFCC33" align="left"><font face="Arial" size="2"><B>Fiche siège</B>');
|
||||
// On recherche si on est bien sur un fiche siège
|
||||
$pos=strpos($responseSiege, '<table cols="2" width="100%"><tr><td bgcolor="#FFCC33" align="left"><font face="Arial" size="2"><B>Fiche siège</B>');
|
||||
if ($pos<1)
|
||||
$libelleErreur='Erreur SCRIPT Fiche Siège non trouvée';
|
||||
$libelleErreur='Erreur SCRIPT Fiche Siège non trouvée';
|
||||
else
|
||||
$libelleErreur='';
|
||||
}
|
||||
@ -339,14 +339,14 @@ function getInfosSirene($sirenLu, $nicLu='') {
|
||||
$responseEntreprise=$responseEntreprise['body'];
|
||||
$pos=strpos($responseEntreprise, '<table cols="2" width="100%"><tr><td bgcolor="#FFCC33" align="left"><font face="Arial" size="2"><B>Fiche Entreprise</B>');
|
||||
if ($pos<1) {
|
||||
$libelleErreur='Erreur SCRIPT Fiche Entreprise non trouvée';
|
||||
$libelleErreur='Erreur SCRIPT Fiche Entreprise non trouvée';
|
||||
}
|
||||
|
||||
/** Recherche des données établissement
|
||||
/** Recherche des données établissement
|
||||
**/
|
||||
$tabInfoEtab=getDataEtablissement($responseSiege);
|
||||
|
||||
/** Recherche des données entreprise
|
||||
/** Recherche des données entreprise
|
||||
**/
|
||||
$tabInfoEntrep=getDataEntreprise($responseEntreprise);
|
||||
|
||||
@ -356,9 +356,9 @@ function getInfosSirene($sirenLu, $nicLu='') {
|
||||
if ($libelleErreur<>'' && $tabInfoEtab['siret'] =='') $siret=$sirenLu . $nicLu;
|
||||
else $siret=$tabInfoEtab['siret'];
|
||||
|
||||
$str= date('d/m/Y à H:i:s') .';'.
|
||||
$str= date('d/m/Y à H:i:s') .';'.
|
||||
$libelleErreur .';'.
|
||||
// Siège
|
||||
// Siège
|
||||
$siret .';'.
|
||||
$tabInfoEtab['active'] .';'.
|
||||
$tabInfoEtab['dateAbsActivite'] .';'.
|
||||
|
@ -54,7 +54,7 @@ define ('BOTH', 2);
|
||||
$strIn=str_replace('y', 'i', $strIn);
|
||||
/** On supprime les accents **/
|
||||
$strIn=trimAccent($strIn);
|
||||
/** On retire les 'H' muets sauf ceux précédés par 'C' ou 'S' **/
|
||||
/** On retire les 'H' muets sauf ceux précédés par 'C' ou 'S' **/
|
||||
$strIn = preg_replace ('/(?<![CS])H/', '', $strIn);
|
||||
/** On remplace les 'PH' par des 'F' **/
|
||||
$strIn=str_replace('ph', 'f', $strIn);
|
||||
@ -76,14 +76,14 @@ define ('BOTH', 2);
|
||||
$strIn=str_replace('oua', '2', $strIn);
|
||||
$strIn=str_replace('ein', '4', $strIn);
|
||||
$strIn=str_replace('ain', '4', $strIn);
|
||||
/** Remplacement du son 'é' **/
|
||||
/** Remplacement du son 'é' **/
|
||||
$strIn=str_replace('ai', 'y', $strIn);
|
||||
$strIn=str_replace('ei', 'y', $strIn);
|
||||
$strIn=str_replace('er', 'yr', $strIn);
|
||||
$strIn=str_replace('ess', 'yss', $strIn);
|
||||
$strIn=str_replace('et', 'yt', $strIn);
|
||||
$strIn=str_replace('ez', 'yz', $strIn);
|
||||
/** Remplacement des groupes de 2 lettres sauf si voyelle ou son (1 à 4) AVANT **/
|
||||
/** Remplacement des groupes de 2 lettres sauf si voyelle ou son (1 à 4) AVANT **/
|
||||
$strIn=str_replace_except_voy('an', '1', $strIn, BEFORE);
|
||||
$strIn=str_replace_except_voy('am', '1', $strIn, BEFORE);
|
||||
$strIn=str_replace_except_voy('en', '1', $strIn, BEFORE);
|
||||
@ -91,7 +91,7 @@ define ('BOTH', 2);
|
||||
$strIn=str_replace_except_voy('in', '4', $strIn, BEFORE);
|
||||
/** Remplacement du son 'SCH' **/
|
||||
$strIn=str_replace('sch', '5', $strIn);
|
||||
/** Remplacement du 'S' sauf si voyelle ou son (1 à 4) avant ou après **/
|
||||
/** Remplacement du 'S' sauf si voyelle ou son (1 à 4) avant ou après **/
|
||||
$strIn=str_replace_except_voy('in', '4', $strIn, BOTH);
|
||||
/** Remplacement de groupe de 2 lettres diverses **/
|
||||
$strIn=str_replace('oe', 'e', $strIn);
|
||||
@ -128,7 +128,7 @@ define ('BOTH', 2);
|
||||
$strIn=str_replace('v', 'f', $strIn);
|
||||
$strIn=str_replace('m', 'n', $strIn);
|
||||
|
||||
/** Supression des lettres dupliquées **/
|
||||
/** Supression des lettres dupliquées **/
|
||||
$let=$strIn[0];
|
||||
$strIn2=$let;
|
||||
for ($i=1; $i<strlen($strIn); $i++)
|
||||
@ -146,7 +146,7 @@ define ('BOTH', 2);
|
||||
if ($strIn2=='t' || $strIn2=='k' || $strIn2=='s' || $strIn2=='z')
|
||||
$strIn=substr($strIn,0,-1);
|
||||
|
||||
/** Supression des caractères non autorisés **/
|
||||
/** Supression des caractères non autorisés **/
|
||||
$j=10;
|
||||
$sout=array();
|
||||
for ($i=0; $i<strlen($strIn); $i++)
|
||||
|
@ -2,7 +2,7 @@
|
||||
/**
|
||||
* CLASS soundex2
|
||||
* soundex2 French version
|
||||
* based on the algorithm described here : http://sqlpro.developpez.com/cours/soundex/ by Frédéric BROUARD
|
||||
* based on the algorithm described here : http://sqlpro.developpez.com/cours/soundex/ by Frédéric BROUARD
|
||||
*
|
||||
* author Johan Barbier <barbier_johan@hotmail.com>
|
||||
*/
|
||||
|
@ -55,7 +55,7 @@ define ('BOTH', 2);
|
||||
$strIn=str_replace('y', 'i', $strIn);
|
||||
/** On supprime les accents **/
|
||||
$strIn=trimAccent($strIn);
|
||||
/** On retire les 'H' muets sauf ceux précédés par 'C' ou 'S' **/
|
||||
/** On retire les 'H' muets sauf ceux précédés par 'C' ou 'S' **/
|
||||
$strIn = preg_replace ('/(?<![CS])H/', '', $strIn);
|
||||
/** On remplace les 'PH' par des 'F' **/
|
||||
$strIn=str_replace('ph', 'f', $strIn);
|
||||
@ -77,14 +77,14 @@ define ('BOTH', 2);
|
||||
$strIn=str_replace('oua', '2', $strIn);
|
||||
$strIn=str_replace('ein', '4', $strIn);
|
||||
$strIn=str_replace('ain', '4', $strIn);
|
||||
/** Remplacement du son 'é' **/
|
||||
/** Remplacement du son 'é' **/
|
||||
$strIn=str_replace('ai', 'y', $strIn);
|
||||
$strIn=str_replace('ei', 'y', $strIn);
|
||||
$strIn=str_replace('er', 'yr', $strIn);
|
||||
$strIn=str_replace('ess', 'yss', $strIn);
|
||||
$strIn=str_replace('et', 'yt', $strIn);
|
||||
$strIn=str_replace('ez', 'yz', $strIn);
|
||||
/** Remplacement des groupes de 2 lettres sauf si voyelle ou son (1 à 4) AVANT **/
|
||||
/** Remplacement des groupes de 2 lettres sauf si voyelle ou son (1 à 4) AVANT **/
|
||||
$strIn=str_replace_except_voy('an', '1', $strIn, BEFORE);
|
||||
$strIn=str_replace_except_voy('am', '1', $strIn, BEFORE);
|
||||
$strIn=str_replace_except_voy('en', '1', $strIn, BEFORE);
|
||||
@ -92,7 +92,7 @@ define ('BOTH', 2);
|
||||
$strIn=str_replace_except_voy('in', '4', $strIn, BEFORE);
|
||||
/** Remplacement du son 'SCH' **/
|
||||
$strIn=str_replace('sch', '5', $strIn);
|
||||
/** Remplacement du 'S' sauf si voyelle ou son (1 à 4) avant ou après **/
|
||||
/** Remplacement du 'S' sauf si voyelle ou son (1 à 4) avant ou après **/
|
||||
$strIn=str_replace_except_voy('in', '4', $strIn, BOTH);
|
||||
/** Remplacement de groupe de 2 lettres diverses **/
|
||||
$strIn=str_replace('oe', 'e', $strIn);
|
||||
@ -129,7 +129,7 @@ define ('BOTH', 2);
|
||||
$strIn=str_replace('v', 'f', $strIn);
|
||||
$strIn=str_replace('m', 'n', $strIn);
|
||||
|
||||
/** Supression des lettres dupliquées **/
|
||||
/** Supression des lettres dupliquées **/
|
||||
$let=$strIn[0];
|
||||
$strIn2=$let;
|
||||
for ($i=1; $i<strlen($strIn); $i++)
|
||||
@ -147,7 +147,7 @@ define ('BOTH', 2);
|
||||
if ($strIn2=='t' || $strIn2=='k' || $strIn2=='s' || $strIn2=='z')
|
||||
$strIn=substr($strIn,0,-1);
|
||||
|
||||
/** Supression des caractères non autorisés **/
|
||||
/** Supression des caractères non autorisés **/
|
||||
$j=10;
|
||||
$sout=array();
|
||||
for ($i=0; $i<strlen($strIn); $i++)
|
||||
@ -175,7 +175,7 @@ define ('BOTH', 2);
|
||||
/**
|
||||
* CLASS soundex2
|
||||
* soundex2 French version
|
||||
* based on the algorithm described here : http://sqlpro.developpez.com/cours/soundex/ by Frédéric BROUARD
|
||||
* based on the algorithm described here : http://sqlpro.developpez.com/cours/soundex/ by Frédéric BROUARD
|
||||
*
|
||||
* author Johan Barbier <barbier_johan@hotmail.com>
|
||||
*/
|
||||
|
@ -11,7 +11,7 @@ function microtime_float($onlyMiliSec=false) {
|
||||
}
|
||||
|
||||
|
||||
/** Fait une pause entre 0 et 15 secondes par défaut
|
||||
/** Fait une pause entre 0 et 15 secondes par défaut
|
||||
**/
|
||||
function randsleep($min_sec=0, $max_sec=15) {
|
||||
sleep(rand($min_sec, $max_sec));
|
||||
@ -20,17 +20,17 @@ function randsleep($min_sec=0, $max_sec=15) {
|
||||
/**************Fonctions de dates/heures ****/
|
||||
global $tabMois;
|
||||
$tabMois=array( 1=>'Janvier',
|
||||
2=>'Février',
|
||||
2=>'Février',
|
||||
3=>'Mars',
|
||||
4=>'Avril',
|
||||
5=>'Mai',
|
||||
6=>'Juin',
|
||||
7=>'Juillet',
|
||||
8=>'Août',
|
||||
8=>'Août',
|
||||
9=>'Septembre',
|
||||
10=>'Octobre',
|
||||
11=>'Novembre',
|
||||
12=>'Décembre');
|
||||
12=>'Décembre');
|
||||
|
||||
function getLibelleMois($numMois) {
|
||||
global $tabMois;
|
||||
|
@ -1,10 +1,10 @@
|
||||
<?
|
||||
|
||||
/** Test de la validité du siren demandé */
|
||||
/** Test de la validité du siren demandé */
|
||||
function valideSiren($siren, $nic='', $erreur=false) {
|
||||
|
||||
$lenSIREN=strlen($siren);
|
||||
if (!valideData($siren, 9, 9,'N')) //Siren non précisé ou incorrect.
|
||||
if (!valideData($siren, 9, 9,'N')) //Siren non précisé ou incorrect.
|
||||
return $erreur;
|
||||
else
|
||||
{
|
||||
@ -25,7 +25,7 @@ function valideSiren($siren, $nic='', $erreur=false) {
|
||||
|
||||
if ((integer)($somme/10)!=($somme/10))
|
||||
{ // Le Siren est faux
|
||||
if (substr($siren,0,3)!='200') // Les siren débutant par 200 sont toujours valides (sirens provisoires de la BDF?!)
|
||||
if (substr($siren,0,3)!='200') // Les siren débutant par 200 sont toujours valides (sirens provisoires de la BDF?!)
|
||||
return $erreur;
|
||||
}
|
||||
} else {
|
||||
|
@ -21,20 +21,20 @@
|
||||
return $usec;
|
||||
}
|
||||
|
||||
/** Fait une pause aléatoire entre 0 et 15 secondes par défaut
|
||||
/** Fait une pause aléatoire entre 0 et 15 secondes par défaut
|
||||
**/
|
||||
function randsleep($min_sec=0, $max_sec=15) {
|
||||
sleep(rand($min_sec, $max_sec));
|
||||
}
|
||||
|
||||
|
||||
/** V�rification que la variable demand� respecte bien les r�gles pass�es en param�tres
|
||||
* @param mixed Variable � tester
|
||||
* @param int Longueur minimum en caract�re de la variable
|
||||
/** V�rification que la variable demand� respecte bien les r�gles pass�es en param�tres
|
||||
* @param mixed Variable � tester
|
||||
* @param int Longueur minimum en caract�re de la variable
|
||||
* @param int Longueur mximum
|
||||
* @param char(1) Type de variable <b>A</b>:Alphanum�rique / <b>N</b>:Num�rique
|
||||
* @param mixed Message textuel d'erreur � afficher en cas d'erreur ou false
|
||||
* @return mixed true, false ou Message d'erreur pass� en param�tre
|
||||
* @param char(1) Type de variable <b>A</b>:Alphanum�rique / <b>N</b>:Num�rique
|
||||
* @param mixed Message textuel d'erreur � afficher en cas d'erreur ou false
|
||||
* @return mixed true, false ou Message d'erreur pass� en param�tre
|
||||
*/
|
||||
function valideData($variable, $taille_min, $taille_max, $type_variable, $erreur=false){
|
||||
if ( strlen((string)$variable) < $taille_min )
|
||||
@ -80,7 +80,7 @@
|
||||
** Enregistrer une information dans la log
|
||||
**
|
||||
** @param string $debugLevel E=Error, W=Warning, N=Notice, I=Info, D=Debug
|
||||
** @param string $message Message d'erreur à inscrire dans la log
|
||||
** @param string $message Message d'erreur à inscrire dans la log
|
||||
** @param integer $line __LINE__
|
||||
** @param string $file __FILE__
|
||||
** @param string $function __FUNCTION__
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -5,22 +5,22 @@
|
||||
* by : bahjat al mostafa <bahjat983@hotmail.com>
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP Error: لم نستطع تأكيد الهوية.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP Error: لم نستطع الاتصال بمخدم SMTP.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Error: لم يتم قبول المعلومات .';
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP Error: ÙÙ
Ùستطع تأÙÙد اÙÙÙÙØ©.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP Error: ÙÙ
Ùستطع اÙاتصا٠بÙ
خدÙ
SMTP.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Error: ÙÙ
ÙتÙ
ÙبÙ٠اÙÙ
عÙÙÙ
ات .';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = 'ترميز غير معروف: ';
|
||||
$PHPMAILER_LANG['execute'] = 'لم أستطع تنفيذ : ';
|
||||
$PHPMAILER_LANG['file_access'] = 'لم نستطع الوصول للملف: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'File Error: لم نستطع فتح الملف: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'البريد التالي لم نستطع ارسال البريد له : ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'لم نستطع توفير خدمة البريد.';
|
||||
$PHPMAILER_LANG['encoding'] = 'ترÙ
Ùز غÙر Ù
عرÙÙ: ';
|
||||
$PHPMAILER_LANG['execute'] = 'ÙÙ
أستطع تÙÙÙØ° : ';
|
||||
$PHPMAILER_LANG['file_access'] = 'ÙÙ
Ùستطع اÙÙصÙÙ ÙÙÙ
ÙÙ: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'File Error: ÙÙ
Ùستطع ÙØªØ Ø§ÙÙ
ÙÙ: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'اÙبرÙد اÙتاÙÙ ÙÙ
Ùستطع ارسا٠اÙبرÙد ÙÙ : ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'ÙÙ
Ùستطع تÙÙÙر خدÙ
Ø© اÙبرÙد.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer غير مدعوم.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer غÙر Ù
دعÙÙ
.';
|
||||
//$PHPMAILER_LANG['provide_address'] = 'You must provide at least one recipient email address.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Error: الأخطاء التالية ' .
|
||||
'فشل في الارسال لكل من : ';
|
||||
$PHPMAILER_LANG['signing'] = 'خطأ في التوقيع: ';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Error: اÙأخطاء اÙتاÙÙØ© ' .
|
||||
'ÙØ´Ù Ù٠اÙارسا٠ÙÙÙ Ù
Ù : ';
|
||||
$PHPMAILER_LANG['signing'] = 'خطأ Ù٠اÙتÙÙÙع: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
//$PHPMAILER_LANG['variable_set'] = 'Cannot set or reset variable: ';
|
||||
|
@ -5,20 +5,20 @@
|
||||
* By Paulo Henrique Garcia - paulo@controllerweb.com.br
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'Erro de SMTP: Não foi possível autenticar.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'Erro de SMTP: Não foi possível conectar com o servidor SMTP.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'Erro de SMTP: Dados não aceitos.';
|
||||
$PHPMAILER_LANG['authenticate'] = 'Erro de SMTP: Não foi possÃvel autenticar.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'Erro de SMTP: Não foi possÃvel conectar com o servidor SMTP.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'Erro de SMTP: Dados não aceitos.';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = 'Codificação desconhecida: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Não foi possível executar: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Não foi possível acessar o arquivo: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Erro de Arquivo: Não foi possível abrir o arquivo: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Os endereços de rementente a seguir falharam: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Não foi possível instanciar a função mail.';
|
||||
$PHPMAILER_LANG['encoding'] = 'Codificação desconhecida: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Não foi possÃvel executar: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Não foi possÃvel acessar o arquivo: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Erro de Arquivo: Não foi possÃvel abrir o arquivo: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Os endereços de rementente a seguir falharam: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Não foi possÃvel instanciar a função mail.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer não suportado.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Você deve fornecer pelo menos um endereço de destinatário de email.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'Erro de SMTP: Os endereços de destinatário a seguir falharam: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer não suportado.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Você deve fornecer pelo menos um endereço de destinatário de email.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'Erro de SMTP: Os endereços de destinatário a seguir falharam: ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
|
@ -9,16 +9,16 @@ $PHPMAILER_LANG['authenticate'] = 'Error SMTP: No s\'hapogut autenticar.
|
||||
$PHPMAILER_LANG['connect_host'] = 'Error SMTP: No es pot connectar al servidor SMTP.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'Error SMTP: Dades no acceptades.';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = 'Codificació desconeguda: ';
|
||||
$PHPMAILER_LANG['encoding'] = 'Codificació desconeguda: ';
|
||||
$PHPMAILER_LANG['execute'] = 'No es pot executar: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'No es pot accedir a l\'arxiu: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Error d\'Arxiu: No es pot obrir l\'arxiu: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'La(s) següent(s) adreces de remitent han fallat: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'No s\'ha pogut crear una instància de la funció Mail.';
|
||||
$PHPMAILER_LANG['from_failed'] = 'La(s) següent(s) adreces de remitent han fallat: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'No s\'ha pogut crear una instà ncia de la funció Mail.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer no està suportat';
|
||||
$PHPMAILER_LANG['provide_address'] = 'S\'ha de proveir almenys una adreça d\'email com a destinatari.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'Error SMTP: Els següents destinataris han fallat: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer no està suportat';
|
||||
$PHPMAILER_LANG['provide_address'] = 'S\'ha de proveir almenys una adreça d\'email com a destinatari.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'Error SMTP: Els següents destinataris han fallat: ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
|
@ -5,20 +5,20 @@
|
||||
* By LiuXin: www.80x86.cn/blog/
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP 错误:身份验证失败。';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP 错误: 不能连接SMTP主机。';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP 错误: 数据不可接受。';
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP é误ï¼èº«ä»½éªè¯å¤±è´¥ã';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP é误: ä¸è½è¿æ¥SMTP主æºã';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP é误: æ°æ®ä¸å¯æ¥åã';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = '未知编码:';
|
||||
$PHPMAILER_LANG['execute'] = '不能执行: ';
|
||||
$PHPMAILER_LANG['file_access'] = '不能访问文件:';
|
||||
$PHPMAILER_LANG['file_open'] = '文件错误:不能打开文件:';
|
||||
$PHPMAILER_LANG['from_failed'] = '下面的发送地址邮件发送失败了: ';
|
||||
$PHPMAILER_LANG['instantiate'] = '不能实现mail方法。';
|
||||
$PHPMAILER_LANG['encoding'] = 'æªç¥ç¼ç ï¼';
|
||||
$PHPMAILER_LANG['execute'] = 'ä¸è½æ§è¡: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'ä¸è½è®¿é®æ件ï¼';
|
||||
$PHPMAILER_LANG['file_open'] = 'æ件é误ï¼ä¸è½æå¼æ件ï¼';
|
||||
$PHPMAILER_LANG['from_failed'] = 'ä¸é¢çåéå°åé®ä»¶åé失败äºï¼ ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'ä¸è½å®ç°mailæ¹æ³ã';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' 您所选择的发送邮件的方法并不支持。';
|
||||
$PHPMAILER_LANG['provide_address'] = '您必须提供至少一个 收信人的email地址。';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP 错误: 下面的 收件人失败了: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' æ¨æéæ©çåéé®ä»¶çæ¹æ³å¹¶ä¸æ¯æã';
|
||||
$PHPMAILER_LANG['provide_address'] = 'æ¨å¿
é¡»æä¾è³å°ä¸ä¸ª æ¶ä¿¡äººçemailå°åã';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP éè¯¯ï¼ ä¸é¢ç æ¶ä»¶äººå¤±è´¥äºï¼ ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
|
@ -5,19 +5,19 @@
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP Error: Chyba autentikace.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP Error: Nelze navázat spojení se SMTP serverem.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Error: Data nebyla pøijata';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP Error: Nelze navázat spojenà se SMTP serverem.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Error: Data nebyla pøijata';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = 'Neznámé kódování: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Nelze provést: ';
|
||||
$PHPMAILER_LANG['encoding'] = 'Neznámé kódovánÃ: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Nelze provést: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Soubor nenalezen: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'File Error: Nelze otevøít soubor pro ètení: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Následující adresa From je nesprávná: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Nelze vytvoøit instanci emailové funkce.';
|
||||
$PHPMAILER_LANG['file_open'] = 'File Error: Nelze otevøÃt soubor pro ètenÃ: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'NásledujÃcà adresa From je nesprávná: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Nelze vytvoøit instanci emailové funkce.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailový klient není podporován.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Musíte zadat alespoò jednu emailovou adresu pøíjemce.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Error: Adresy pøíjemcù nejsou správné ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailový klient nenà podporován.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'MusÃte zadat alespoò jednu emailovou adresu pøÃjemce.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Error: Adresy pøÃjemcù nejsou správné ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
|
@ -9,17 +9,17 @@ $PHPMAILER_LANG['connect_host'] = 'SMTP Fehler: Konnte keine Verbindung
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Fehler: Daten werden nicht akzeptiert.';
|
||||
$PHPMAILER_LANG['empty_message'] = 'E-Mail Inhalt ist leer.';
|
||||
$PHPMAILER_LANG['encoding'] = 'Unbekanntes Encoding-Format: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Konnte folgenden Befehl nicht ausführen: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Konnte folgenden Befehl nicht ausführen: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Zugriff auf folgende Datei fehlgeschlagen: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Datei Fehler: konnte folgende Datei nicht öffnen: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Datei Fehler: konnte folgende Datei nicht öffnen: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Die folgende Absenderadresse ist nicht korrekt: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Mail Funktion konnte nicht initialisiert werden.';
|
||||
$PHPMAILER_LANG['invalid_email'] = 'E-Mail wird nicht gesendet, die Adresse ist ungültig.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer wird nicht unterstützt.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Bitte geben Sie mindestens eine Empfänger E-Mailadresse an.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Fehler: Die folgenden Empfänger sind nicht korrekt: ';
|
||||
$PHPMAILER_LANG['invalid_email'] = 'E-Mail wird nicht gesendet, die Adresse ist ungültig.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer wird nicht unterstützt.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Bitte geben Sie mindestens eine Empfänger E-Mailadresse an.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Fehler: Die folgenden Empfänger sind nicht korrekt: ';
|
||||
$PHPMAILER_LANG['signing'] = 'Fehler beim Signieren: ';
|
||||
$PHPMAILER_LANG['smtp_connect_failed'] = 'Verbindung zu SMTP Server fehlgeschlagen.';
|
||||
$PHPMAILER_LANG['smtp_error'] = 'Fehler vom SMTP Server: ';
|
||||
$PHPMAILER_LANG['variable_set'] = 'Kann Variable nicht setzen oder zurücksetzen: ';
|
||||
$PHPMAILER_LANG['variable_set'] = 'Kann Variable nicht setzen oder zurücksetzen: ';
|
||||
?>
|
@ -5,20 +5,20 @@
|
||||
* Author: Mikael Stokkebro <info@stokkebro.dk>
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP fejl: Kunne ikke logge på.';
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP fejl: Kunne ikke logge på.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP fejl: Kunne ikke tilslutte SMTP serveren.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP fejl: Data kunne ikke accepteres.';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = 'Ukendt encode-format: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Kunne ikke køre: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Kunne ikke køre: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Ingen adgang til fil: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Fil fejl: Kunne ikke åbne filen: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Følgende afsenderadresse er forkert: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Fil fejl: Kunne ikke åbne filen: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Følgende afsenderadresse er forkert: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Kunne ikke initialisere email funktionen.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer understøttes ikke.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer understøttes ikke.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Du skal indtaste mindst en modtagers emailadresse.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP fejl: Følgende modtagere er forkerte: ';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP fejl: Følgende modtagere er forkerte: ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
|
@ -2,22 +2,22 @@
|
||||
/**
|
||||
* PHPMailer language file: refer to English translation for definitive list
|
||||
* Spanish version
|
||||
* Versión en español
|
||||
* Versión en español
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'Error SMTP: No se pudo autentificar.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'Error SMTP: No puedo conectar al servidor SMTP.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'Error SMTP: Datos no aceptados.';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = 'Codificación desconocida: ';
|
||||
$PHPMAILER_LANG['encoding'] = 'Codificación desconocida: ';
|
||||
$PHPMAILER_LANG['execute'] = 'No puedo ejecutar: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'No puedo acceder al archivo: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Error de Archivo: No puede abrir el archivo: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'La(s) siguiente(s) direcciones de remitente fallaron: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'No pude crear una instancia de la función Mail.';
|
||||
$PHPMAILER_LANG['instantiate'] = 'No pude crear una instancia de la función Mail.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer no está soportado.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Debe proveer al menos una dirección de email como destinatario.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer no está soportado.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Debe proveer al menos una dirección de email como destinatario.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'Error SMTP: Los siguientes destinatarios fallaron: ';
|
||||
$PHPMAILER_LANG['signing'] = 'Error al firmar: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
|
@ -2,23 +2,23 @@
|
||||
/**
|
||||
* PHPMailer language file: refer to English translation for definitive list
|
||||
* Estonian Version
|
||||
* By Indrek Päri
|
||||
* By Indrek Päri
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP Viga: Autoriseerimise viga.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP Viga: Ei õnnestunud luua ühendust SMTP serveriga.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP Viga: Ei õnnestunud luua ühendust SMTP serveriga.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Viga: Vigased andmed.';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = 'Tundmatu Unknown kodeering: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Tegevus ebaõnnestus: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Pole piisavalt õiguseid järgneva faili avamiseks: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Faili Viga: Faili avamine ebaõnnestus: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Järgnev saatja e-posti aadress on vigane: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'mail funktiooni käivitamine ebaõnnestus.';
|
||||
$PHPMAILER_LANG['execute'] = 'Tegevus ebaõnnestus: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Pole piisavalt õiguseid järgneva faili avamiseks: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Faili Viga: Faili avamine ebaõnnestus: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Järgnev saatja e-posti aadress on vigane: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'mail funktiooni käivitamine ebaõnnestus.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Te peate määrama vähemalt ühe saaja e-posti aadressi.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Te peate määrama vähemalt ühe saaja e-posti aadressi.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' maileri tugi puudub.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Viga: Järgnevate saajate e-posti aadressid on vigased: ';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Viga: Järgnevate saajate e-posti aadressid on vigased: ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
|
@ -5,19 +5,19 @@
|
||||
* By Jyry Kuukanen
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP-virhe: käyttäjätunnistus epäonnistui.';
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP-virhe: käyttäjätunnistus epäonnistui.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP-virhe: yhteys palvelimeen ei onnistu.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP-virhe: data on virheellinen.';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = 'Tuntematon koodaustyyppi: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Suoritus epäonnistui: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Suoritus epäonnistui: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Seuraavaan tiedostoon ei ole oikeuksia: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Tiedostovirhe: Ei voida avata tiedostoa: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Seuraava lähettäjän osoite on virheellinen: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'mail-funktion luonti epäonnistui.';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Seuraava lähettäjän osoite on virheellinen: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'mail-funktion luonti epäonnistui.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = 'postivälitintyyppiä ei tueta.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Aseta vähintään yksi vastaanottajan sähköpostiosoite.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = 'postivälitintyyppiä ei tueta.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Aseta vähintään yksi vastaanottajan sähköpostiosoite.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP-virhe: seuraava vastaanottaja osoite on virheellinen.';
|
||||
$PHPMAILER_LANG['encoding'] = 'Tuntematon koodaustyyppi: ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
|
@ -3,23 +3,23 @@
|
||||
* PHPMailer language file: refer to English translation for definitive list
|
||||
* Faroese Version [language of the Faroe Islands, a Danish dominion]
|
||||
* This file created: 11-06-2004
|
||||
* Supplied by Dávur Sørensen [www.profo-webdesign.dk]
|
||||
* Supplied by Dávur Sørensen [www.profo-webdesign.dk]
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP feilur: Kundi ikki góðkenna.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP feilur: Kundi ikki knýta samband við SMTP vert.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP feilur: Data ikki góðkent.';
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP feilur: Kundi ikki góðkenna.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP feilur: Kundi ikki knýta samband við SMTP vert.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP feilur: Data ikki góðkent.';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = 'Ókend encoding: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Kundi ikki útføra: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Kundi ikki tilganga fílu: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Fílu feilur: Kundi ikki opna fílu: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'fylgjandi Frá/From adressa miseydnaðist: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Kuni ikki instantiera mail funktión.';
|
||||
$PHPMAILER_LANG['encoding'] = 'Ãkend encoding: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Kundi ikki útføra: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Kundi ikki tilganga fÃlu: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'FÃlu feilur: Kundi ikki opna fÃlu: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'fylgjandi Frá/From adressa miseydnaðist: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Kuni ikki instantiera mail funktión.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' er ikki supporterað.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Tú skal uppgeva minst móttakara-emailadressu(r).';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Feilur: Fylgjandi móttakarar miseydnaðust: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' er ikki supporterað.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Tú skal uppgeva minst móttakara-emailadressu(r).';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Feilur: Fylgjandi móttakarar miseydnaðust: ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
|
@ -6,16 +6,16 @@
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'Erreur SMTP : Echec de l\'authentification.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'Erreur SMTP : Impossible de se connecter au serveur SMTP.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'Erreur SMTP : Données incorrects.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'Erreur SMTP : Données incorrects.';
|
||||
$PHPMAILER_LANG['empty_message'] = 'Corps de message vide';
|
||||
$PHPMAILER_LANG['encoding'] = 'Encodage inconnu : ';
|
||||
$PHPMAILER_LANG['execute'] = 'Impossible de lancer l\'exécution : ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Impossible d\'accéder au fichier : ';
|
||||
$PHPMAILER_LANG['execute'] = 'Impossible de lancer l\'exécution : ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Impossible d\'accéder au fichier : ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Erreur Fichier : ouverture impossible : ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'L\'adresse d\'expéditeur suivante a échouée : ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'L\'adresse d\'expéditeur suivante a échouée : ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Impossible d\'instancier la fonction mail.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' client de messagerie non supporté.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' client de messagerie non supporté.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Vous devez fournir au moins une adresse de destinataire.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'Erreur SMTP : Les destinataires suivants sont en erreur : ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
|
@ -4,20 +4,20 @@
|
||||
* Hungarian Version
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP Hiba: Sikertelen autentikáció.';
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP Hiba: Sikertelen autentikáció.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP Hiba: Nem tudtam csatlakozni az SMTP host-hoz.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Hiba: Nem elfogadható adat.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Hiba: Nem elfogadható adat.';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = 'Ismeretlen kódolás: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Nem tudtam végrehajtani: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Nem sikerült elérni a következõ fájlt: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Fájl Hiba: Nem sikerült megnyitni a következõ fájlt: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Az alábbi Feladó cím hibás: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Nem sikerült példányosítani a mail funkciót.';
|
||||
$PHPMAILER_LANG['encoding'] = 'Ismeretlen kódolás: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Nem tudtam végrehajtani: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Nem sikerült elérni a következõ fájlt: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Fájl Hiba: Nem sikerült megnyitni a következõ fájlt: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Az alábbi Feladó cÃm hibás: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Nem sikerült példányosÃtani a mail funkciót.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Meg kell adnod legalább egy címzett email címet.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' levelezõ nem támogatott.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Hiba: Az alábbi címzettek hibásak: ';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Meg kell adnod legalább egy cÃmzett email cÃmet.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' levelezõ nem támogatott.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Hiba: Az alábbi cÃmzettek hibásak: ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
|
@ -5,20 +5,20 @@
|
||||
* By Mitsuhiro Yoshida - http://mitstek.com/
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTPエラー: 認証できませんでした。';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTPエラー: SMTPホストに接続できませんでした。';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTPエラー: データが受け付けられませんでした。';
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTPã¨ã©ã¼: èªè¨¼ã§ãã¾ããã§ããã';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTPã¨ã©ã¼: SMTPãã¹ãã«æ¥ç¶ã§ãã¾ããã§ããã';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTPã¨ã©ã¼: ãã¼ã¿ãåãä»ãããã¾ããã§ããã';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = '不明なエンコーディング: ';
|
||||
$PHPMAILER_LANG['execute'] = '実行できませんでした: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'ファイルにアクセスできません: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'ファイルエラー: ファイルを開けません: ';
|
||||
$PHPMAILER_LANG['from_failed'] = '次のFromアドレスに間違いがあります: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'メール関数が正常に動作しませんでした。';
|
||||
$PHPMAILER_LANG['encoding'] = 'ä¸æãªã¨ã³ã³ã¼ãã£ã³ã°: ';
|
||||
$PHPMAILER_LANG['execute'] = 'å®è¡ã§ãã¾ããã§ãã: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'ãã¡ã¤ã«ã«ã¢ã¯ã»ã¹ã§ãã¾ãã: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'ãã¡ã¤ã«ã¨ã©ã¼: ãã¡ã¤ã«ãéãã¾ãã: ';
|
||||
$PHPMAILER_LANG['from_failed'] = '次ã®Fromã¢ãã¬ã¹ã«ééããããã¾ã: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'ã¡ã¼ã«é¢æ°ãæ£å¸¸ã«åä½ãã¾ããã§ããã';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['provide_address'] = '少なくとも1つメールアドレスを 指定する必要があります。';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' メーラーがサポートされていません。';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTPエラー: 次の受信者アドレスに 間違いがあります: ';
|
||||
$PHPMAILER_LANG['provide_address'] = 'å°ãªãã¨ã1ã¤ã¡ã¼ã«ã¢ãã¬ã¹ã æå®ããå¿
è¦ãããã¾ãã';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' ã¡ã¼ã©ã¼ããµãã¼ãããã¦ãã¾ããã';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTPã¨ã©ã¼: 次ã®åä¿¡è
ã¢ãã¬ã¹ã« ééããããã¾ã: ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
|
@ -15,7 +15,7 @@ $PHPMAILER_LANG['file_open'] = 'Bestandsfout: Kon bestand niet openen
|
||||
$PHPMAILER_LANG['from_failed'] = 'De volgende afzender adressen zijn mislukt: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Kon mail functie niet initialiseren.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Er moet tenmiste één ontvanger emailadres opgegeven worden.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Er moet tenmiste één ontvanger emailadres opgegeven worden.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer wordt niet ondersteund.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Fout: De volgende ontvangers zijn mislukt: ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
|
@ -9,15 +9,15 @@ $PHPMAILER_LANG['connect_host'] = 'SMTP Feil: Kunne ikke koble til SMTP
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Feil: Data ble ikke akseptert.';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = 'Ukjent encoding: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Kunne ikke utføre: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Kunne ikke få tilgang til filen: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Fil feil: Kunne ikke åpne filen: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Følgende Fra feilet: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Kunne ikke utføre: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Kunne ikke få tilgang til filen: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Fil feil: Kunne ikke åpne filen: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Følgende Fra feilet: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Kunne ikke instantiate mail funksjonen.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Du må ha med minst en mottager adresse.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Du må ha med minst en mottager adresse.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer er ikke supportert.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Feil: Følgende mottagere feilet: ';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Feil: Følgende mottagere feilet: ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
|
@ -4,20 +4,20 @@
|
||||
* Polish Version
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'Błąd SMTP: Nie można przeprowadzić autentykacji.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'Błąd SMTP: Nie można połączyć się z wybranym hostem.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'Błąd SMTP: Dane nie zostały przyjęte.';
|
||||
$PHPMAILER_LANG['authenticate'] = 'BÅÄ
d SMTP: Nie można przeprowadziÄ autentykacji.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'BÅÄ
d SMTP: Nie można poÅÄ
czyÄ siÄ z wybranym hostem.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'BÅÄ
d SMTP: Dane nie zostaÅy przyjÄte.';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = 'Nieznany sposób kodowania znaków: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Nie można uruchomić: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Brak dostępu do pliku: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Nie można otworzyć pliku: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Następujący adres Nadawcy jest jest nieprawidłowy: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Nie można wywołać funkcji mail(). Sprawdź konfigurację serwera.';
|
||||
$PHPMAILER_LANG['encoding'] = 'Nieznany sposób kodowania znaków: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Nie można uruchomiÄ: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Brak dostÄpu do pliku: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Nie można otworzyÄ pliku: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'NastÄpujÄ
cy adres Nadawcy jest jest nieprawidÅowy: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Nie można wywoÅaÄ funkcji mail(). Sprawdź konfiguracjÄ serwera.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Należy podać prawidłowy adres email Odbiorcy.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = 'Wybrana metoda wysyłki wiadomości nie jest obsługiwana.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'Błąd SMTP: Następujący odbiorcy są nieprawidłowi: ';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Należy podaÄ prawidÅowy adres email Odbiorcy.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = 'Wybrana metoda wysyÅki wiadomoÅci nie jest obsÅugiwana.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'BÅÄ
d SMTP: NastÄpujÄ
cy odbiorcy sÄ
nieprawidÅowi: ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
|
@ -4,20 +4,20 @@
|
||||
* Russian Version by Alexey Chumakov <alex@chumakov.ru>
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'Ошибка SMTP: ошибка авторизации.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'Ошибка SMTP: не удается подключиться к серверу SMTP.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'Ошибка SMTP: данные не приняты.';
|
||||
$PHPMAILER_LANG['authenticate'] = 'ÐÑибка SMTP: оÑибка авÑоÑизаÑии.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'ÐÑибка SMTP: не ÑдаеÑÑÑ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑÑÑÑ Ðº ÑеÑвеÑÑ SMTP.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'ÐÑибка SMTP: даннÑе не пÑинÑÑÑ.';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = 'Неизвестный вид кодировки: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Невозможно выполнить команду: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Нет доступа к файлу: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Файловая ошибка: не удается открыть файл: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Неверный адрес отправителя: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Невозможно запустить функцию mail.';
|
||||
$PHPMAILER_LANG['encoding'] = 'ÐеизвеÑÑнÑй вид кодиÑовки: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Ðевозможно вÑполниÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'ÐÐµÑ Ð´Ð¾ÑÑÑпа к ÑайлÑ: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ Ð¾Ñибка: не ÑдаеÑÑÑ Ð¾ÑкÑÑÑÑ Ñайл: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'ÐевеÑнÑй адÑÐµÑ Ð¾ÑпÑавиÑелÑ: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Ðевозможно запÑÑÑиÑÑ ÑÑнкÑÐ¸Ñ mail.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Пожалуйста, введите хотя бы один адрес e-mail получателя.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' - почтовый сервер не поддерживается.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'Ошибка SMTP: отправка по следующим адресам получателей не удалась: ';
|
||||
$PHPMAILER_LANG['provide_address'] = 'ÐожалÑйÑÑа, введиÑе Ñ
оÑÑ Ð±Ñ Ð¾Ð´Ð¸Ð½ адÑÐµÑ e-mail полÑÑаÑелÑ.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' - поÑÑовÑй ÑеÑÐ²ÐµÑ Ð½Ðµ поддеÑживаеÑÑÑ.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'ÐÑибка SMTP: оÑпÑавка по ÑледÑÑÑим адÑеÑам полÑÑаÑелей не ÑдалаÑÑ: ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
|
@ -2,23 +2,23 @@
|
||||
/**
|
||||
* PHPMailer language file: refer to English translation for definitive list
|
||||
* Swedish Version
|
||||
* Author: Johan Linnér <johan@linner.biz>
|
||||
* Author: Johan Linnér <johan@linner.biz>
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP fel: Kunde inte autentisera.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP fel: Kunde inte ansluta till SMTP-server.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP fel: Data accepterades inte.';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = 'Okänt encode-format: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Kunde inte köra: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Ingen åtkomst till fil: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Fil fel: Kunde inte öppna fil: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Följande avsändaradress är felaktig: ';
|
||||
$PHPMAILER_LANG['encoding'] = 'Okänt encode-format: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Kunde inte köra: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Ingen åtkomst till fil: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Fil fel: Kunde inte öppna fil: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Följande avsändaradress är felaktig: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Kunde inte initiera e-postfunktion.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Du måste ange minst en mottagares e-postadress.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer stöds inte.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP fel: Följande mottagare är felaktig: ';
|
||||
$PHPMAILER_LANG['provide_address'] = 'Du måste ange minst en mottagares e-postadress.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailer stöds inte.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP fel: Följande mottagare är felaktig: ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
|
@ -2,24 +2,24 @@
|
||||
/**
|
||||
* PHPMailer language file: refer to English translation for definitive list
|
||||
* Turkish version
|
||||
* Türkçe Versiyonu
|
||||
* ÝZYAZILIM - Elçin Özel - Can Yýlmaz - Mehmet Benlioðlu
|
||||
* Türkçe Versiyonu
|
||||
* ÃZYAZILIM - Elçin Ãzel - Can Yýlmaz - Mehmet Benlioðlu
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP Hatasý: Doðrulanamýyor.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP Hatasý: SMTP hosta baðlanýlamýyor.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Hatasý: Veri kabul edilmedi.';
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP Hatasý: Doðrulanamýyor.';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP Hatasý: SMTP hosta baðlanýlamýyor.';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP Hatasý: Veri kabul edilmedi.';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = 'Bilinmeyen þifreleme: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Çalýþtýrýlamýyor: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Dosyaya eriþilemiyor: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Dosya Hatasý: Dosya açýlamýyor: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Baþarýsýz olan gönderici adresi: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Örnek mail fonksiyonu yaratýlamadý.';
|
||||
$PHPMAILER_LANG['encoding'] = 'Bilinmeyen þifreleme: ';
|
||||
$PHPMAILER_LANG['execute'] = 'Ãalýþtýrýlamýyor: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'Dosyaya eriþilemiyor: ';
|
||||
$PHPMAILER_LANG['file_open'] = 'Dosya Hatasý: Dosya açýlamýyor: ';
|
||||
$PHPMAILER_LANG['from_failed'] = 'Baþarýsýz olan gönderici adresi: ';
|
||||
$PHPMAILER_LANG['instantiate'] = 'Ãrnek mail fonksiyonu yaratýlamadý.';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['provide_address'] = 'En az bir tane mail adresi belirtmek zorundasýnýz alýcýnýn email adresi.';
|
||||
$PHPMAILER_LANG['provide_address'] = 'En az bir tane mail adresi belirtmek zorundasýnýz alýcýnýn email adresi.';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = ' mailler desteklenmemektedir.';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Hatasý: alýcýlara ulaþmadý: ';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP Hatasý: alýcýlara ulaþmadý: ';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
|
@ -5,20 +5,20 @@
|
||||
* @author liqwei <liqwei@liqwei.com>
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP 錯誤:登錄失敗。';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP 錯誤:無法連接到 SMTP 主機。';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP 錯誤:數據不被接受。';
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP é¯èª¤ï¼ç»é失æã';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP é¯èª¤ï¼ç¡æ³é£æ¥å° SMTP 主æ©ã';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP é¯èª¤ï¼æ¸æä¸è¢«æ¥åã';
|
||||
//$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = '未知編碼: ';
|
||||
$PHPMAILER_LANG['file_access'] = '無法訪問文件:';
|
||||
$PHPMAILER_LANG['file_open'] = '文件錯誤:無法打開文件:';
|
||||
$PHPMAILER_LANG['from_failed'] = '發送地址錯誤:';
|
||||
$PHPMAILER_LANG['execute'] = '無法執行:';
|
||||
$PHPMAILER_LANG['instantiate'] = '未知函數調用。';
|
||||
$PHPMAILER_LANG['encoding'] = 'æªç¥ç·¨ç¢¼: ';
|
||||
$PHPMAILER_LANG['file_access'] = 'ç¡æ³è¨ªåæ件ï¼';
|
||||
$PHPMAILER_LANG['file_open'] = 'æ件é¯èª¤ï¼ç¡æ³æéæ件ï¼';
|
||||
$PHPMAILER_LANG['from_failed'] = 'ç¼éå°åé¯èª¤ï¼';
|
||||
$PHPMAILER_LANG['execute'] = 'ç¡æ³å·è¡ï¼';
|
||||
$PHPMAILER_LANG['instantiate'] = 'æªç¥å½æ¸èª¿ç¨ã';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['provide_address'] = '必須提供至少一個收件人地址。';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = '發信客戶端不被支持。';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP 錯誤:收件人地址錯誤:';
|
||||
$PHPMAILER_LANG['provide_address'] = 'å¿
é æä¾è³å°ä¸åæ¶ä»¶äººå°åã';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = 'ç¼ä¿¡å®¢æ¶ç«¯ä¸è¢«æ¯æã';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP é¯èª¤ï¼æ¶ä»¶äººå°åé¯èª¤ï¼';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
|
@ -5,20 +5,20 @@
|
||||
* @author liqwei <liqwei@liqwei.com>
|
||||
*/
|
||||
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP 错误:登录失败。';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP 错误:无法连接到 SMTP 主机。';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP 错误:数据不被接受。';
|
||||
$PHPMAILER_LANG['authenticate'] = 'SMTP é误ï¼ç»å½å¤±è´¥ã';
|
||||
$PHPMAILER_LANG['connect_host'] = 'SMTP é误ï¼æ æ³è¿æ¥å° SMTP 主æºã';
|
||||
$PHPMAILER_LANG['data_not_accepted'] = 'SMTP é误ï¼æ°æ®ä¸è¢«æ¥åã';
|
||||
//$P$PHPMAILER_LANG['empty_message'] = 'Message body empty';
|
||||
$PHPMAILER_LANG['encoding'] = '未知编码: ';
|
||||
$PHPMAILER_LANG['execute'] = '无法执行:';
|
||||
$PHPMAILER_LANG['file_access'] = '无法访问文件:';
|
||||
$PHPMAILER_LANG['file_open'] = '文件错误:无法打开文件:';
|
||||
$PHPMAILER_LANG['from_failed'] = '发送地址错误:';
|
||||
$PHPMAILER_LANG['instantiate'] = '未知函数调用。';
|
||||
$PHPMAILER_LANG['encoding'] = 'æªç¥ç¼ç : ';
|
||||
$PHPMAILER_LANG['execute'] = 'æ æ³æ§è¡ï¼';
|
||||
$PHPMAILER_LANG['file_access'] = 'æ æ³è®¿é®æ件ï¼';
|
||||
$PHPMAILER_LANG['file_open'] = 'æ件é误ï¼æ æ³æå¼æ件ï¼';
|
||||
$PHPMAILER_LANG['from_failed'] = 'åéå°åé误ï¼';
|
||||
$PHPMAILER_LANG['instantiate'] = 'æªç¥å½æ°è°ç¨ã';
|
||||
//$PHPMAILER_LANG['invalid_email'] = 'Not sending, email address is invalid: ';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = '发信客户端不被支持。';
|
||||
$PHPMAILER_LANG['provide_address'] = '必须提供至少一个收件人地址。';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP 错误:收件人地址错误:';
|
||||
$PHPMAILER_LANG['mailer_not_supported'] = 'å信客æ·ç«¯ä¸è¢«æ¯æã';
|
||||
$PHPMAILER_LANG['provide_address'] = 'å¿
é¡»æä¾è³å°ä¸ä¸ªæ¶ä»¶äººå°åã';
|
||||
$PHPMAILER_LANG['recipients_failed'] = 'SMTP é误ï¼æ¶ä»¶äººå°åé误ï¼';
|
||||
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';
|
||||
//$PHPMAILER_LANG['smtp_connect_failed'] = 'SMTP Connect() failed.';
|
||||
//$PHPMAILER_LANG['smtp_error'] = 'SMTP server error: ';
|
||||
|
@ -960,715 +960,4 @@ abstract class Doctrine_Connection extends Doctrine_Configurable implements Coun
|
||||
$parser = new Doctrine_Query($this);
|
||||
|
||||
$coll = $parser->query($query, $params);
|
||||
if ( ! $coll->contains(0)) {
|
||||
return false;
|
||||
}
|
||||
return $coll[0];
|
||||
}
|
||||
|
||||
/**
|
||||
* queries the database with limit and offset
|
||||
* added to the query and returns a Doctrine_Connection_Statement object
|
||||
*
|
||||
* @param string $query
|
||||
* @param integer $limit
|
||||
* @param integer $offset
|
||||
* @return Doctrine_Connection_Statement
|
||||
*/
|
||||
public function select($query, $limit = 0, $offset = 0)
|
||||
{
|
||||
if ($limit > 0 || $offset > 0) {
|
||||
$query = $this->modifyLimitQuery($query, $limit, $offset);
|
||||
}
|
||||
return $this->execute($query);
|
||||
}
|
||||
|
||||
/**
|
||||
* standaloneQuery
|
||||
*
|
||||
* @param string $query sql query
|
||||
* @param array $params query parameters
|
||||
*
|
||||
* @return PDOStatement|Doctrine_Adapter_Statement
|
||||
*/
|
||||
public function standaloneQuery($query, $params = array())
|
||||
{
|
||||
return $this->execute($query, $params);
|
||||
}
|
||||
|
||||
/**
|
||||
* execute
|
||||
* @param string $query sql query
|
||||
* @param array $params query parameters
|
||||
*
|
||||
* @return PDOStatement|Doctrine_Adapter_Statement
|
||||
*/
|
||||
public function execute($query, array $params = array())
|
||||
{
|
||||
$this->connect();
|
||||
|
||||
try {
|
||||
if ( ! empty($params)) {
|
||||
$stmt = $this->prepare($query);
|
||||
$stmt->execute($params);
|
||||
|
||||
return $stmt;
|
||||
} else {
|
||||
$event = new Doctrine_Event($this, Doctrine_Event::CONN_QUERY, $query, $params);
|
||||
|
||||
$this->getAttribute(Doctrine::ATTR_LISTENER)->preQuery($event);
|
||||
|
||||
if ( ! $event->skipOperation) {
|
||||
$stmt = $this->dbh->query($query);
|
||||
$this->_count++;
|
||||
}
|
||||
$this->getAttribute(Doctrine::ATTR_LISTENER)->postQuery($event);
|
||||
|
||||
return $stmt;
|
||||
}
|
||||
} catch (Doctrine_Adapter_Exception $e) {
|
||||
} catch (PDOException $e) { }
|
||||
|
||||
$this->rethrowException($e, $this);
|
||||
}
|
||||
|
||||
/**
|
||||
* exec
|
||||
* @param string $query sql query
|
||||
* @param array $params query parameters
|
||||
*
|
||||
* @return PDOStatement|Doctrine_Adapter_Statement
|
||||
*/
|
||||
public function exec($query, array $params = array())
|
||||
{
|
||||
$this->connect();
|
||||
|
||||
try {
|
||||
if ( ! empty($params)) {
|
||||
$stmt = $this->prepare($query);
|
||||
$stmt->execute($params);
|
||||
|
||||
return $stmt->rowCount();
|
||||
} else {
|
||||
$event = new Doctrine_Event($this, Doctrine_Event::CONN_EXEC, $query, $params);
|
||||
|
||||
$this->getAttribute(Doctrine::ATTR_LISTENER)->preExec($event);
|
||||
if ( ! $event->skipOperation) {
|
||||
$count = $this->dbh->exec($query);
|
||||
|
||||
$this->_count++;
|
||||
}
|
||||
$this->getAttribute(Doctrine::ATTR_LISTENER)->postExec($event);
|
||||
|
||||
return $count;
|
||||
}
|
||||
} catch (Doctrine_Adapter_Exception $e) {
|
||||
} catch (PDOException $e) { }
|
||||
|
||||
$this->rethrowException($e, $this);
|
||||
}
|
||||
|
||||
/**
|
||||
* rethrowException
|
||||
*
|
||||
* @throws Doctrine_Connection_Exception
|
||||
*/
|
||||
public function rethrowException(Exception $e, $invoker)
|
||||
{
|
||||
$event = new Doctrine_Event($this, Doctrine_Event::CONN_ERROR);
|
||||
|
||||
$this->getListener()->preError($event);
|
||||
|
||||
$name = 'Doctrine_Connection_' . $this->driverName . '_Exception';
|
||||
|
||||
$exc = new $name($e->getMessage(), (int) $e->getCode());
|
||||
if ( ! isset($e->errorInfo) || ! is_array($e->errorInfo)) {
|
||||
$e->errorInfo = array(null, null, null, null);
|
||||
}
|
||||
$exc->processErrorInfo($e->errorInfo);
|
||||
|
||||
if ($this->getAttribute(Doctrine::ATTR_THROW_EXCEPTIONS)) {
|
||||
throw $exc;
|
||||
}
|
||||
|
||||
$this->getListener()->postError($event);
|
||||
}
|
||||
|
||||
/**
|
||||
* hasTable
|
||||
* whether or not this connection has table $name initialized
|
||||
*
|
||||
* @param mixed $name
|
||||
* @return boolean
|
||||
*/
|
||||
public function hasTable($name)
|
||||
{
|
||||
return isset($this->tables[$name]);
|
||||
}
|
||||
|
||||
/**
|
||||
* returns a table object for given component name
|
||||
*
|
||||
* @param string $name component name
|
||||
* @return Doctrine_Table
|
||||
*/
|
||||
public function getTable($name)
|
||||
{
|
||||
if (isset($this->tables[$name])) {
|
||||
return $this->tables[$name];
|
||||
}
|
||||
|
||||
$class = $name . 'Table';
|
||||
|
||||
if (class_exists($class, $this->getAttribute(Doctrine::ATTR_AUTOLOAD_TABLE_CLASSES)) &&
|
||||
in_array('Doctrine_Table', class_parents($class))) {
|
||||
$table = new $class($name, $this, true);
|
||||
} else {
|
||||
$table = new Doctrine_Table($name, $this, true);
|
||||
}
|
||||
|
||||
return $table;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns an array of all initialized tables
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getTables()
|
||||
{
|
||||
return $this->tables;
|
||||
}
|
||||
|
||||
/**
|
||||
* returns an iterator that iterators through all
|
||||
* initialized table objects
|
||||
*
|
||||
* <code>
|
||||
* foreach ($conn as $index => $table) {
|
||||
* print $table; // get a string representation of each table object
|
||||
* }
|
||||
* </code>
|
||||
*
|
||||
* @return ArrayIterator SPL ArrayIterator object
|
||||
*/
|
||||
public function getIterator()
|
||||
{
|
||||
return new ArrayIterator($this->tables);
|
||||
}
|
||||
|
||||
/**
|
||||
* returns the count of initialized table objects
|
||||
*
|
||||
* @return integer
|
||||
*/
|
||||
public function count()
|
||||
{
|
||||
return $this->_count;
|
||||
}
|
||||
|
||||
/**
|
||||
* addTable
|
||||
* adds a Doctrine_Table object into connection registry
|
||||
*
|
||||
* @param $table a Doctrine_Table object to be added into registry
|
||||
* @return boolean
|
||||
*/
|
||||
public function addTable(Doctrine_Table $table)
|
||||
{
|
||||
$name = $table->getComponentName();
|
||||
|
||||
if (isset($this->tables[$name])) {
|
||||
return false;
|
||||
}
|
||||
$this->tables[$name] = $table;
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* create
|
||||
* creates a record
|
||||
*
|
||||
* create creates a record
|
||||
* @param string $name component name
|
||||
* @return Doctrine_Record Doctrine_Record object
|
||||
*/
|
||||
public function create($name)
|
||||
{
|
||||
return $this->getTable($name)->create();
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new Doctrine_Query object that operates on this connection.
|
||||
*
|
||||
* @return Doctrine_Query
|
||||
*/
|
||||
public function createQuery()
|
||||
{
|
||||
return new Doctrine_Query($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* flush
|
||||
* saves all the records from all tables
|
||||
* this operation is isolated using a transaction
|
||||
*
|
||||
* @throws PDOException if something went wrong at database level
|
||||
* @return void
|
||||
*/
|
||||
public function flush()
|
||||
{
|
||||
try {
|
||||
$this->beginInternalTransaction();
|
||||
$this->unitOfWork->saveAll();
|
||||
$this->commit();
|
||||
} catch (Exception $e) {
|
||||
$this->rollback();
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* clear
|
||||
* clears all repositories
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function clear()
|
||||
{
|
||||
foreach ($this->tables as $k => $table) {
|
||||
$table->getRepository()->evictAll();
|
||||
$table->clear();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* evictTables
|
||||
* evicts all tables
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function evictTables()
|
||||
{
|
||||
$this->tables = array();
|
||||
$this->exported = array();
|
||||
}
|
||||
|
||||
/**
|
||||
* close
|
||||
* closes the connection
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function close()
|
||||
{
|
||||
$event = new Doctrine_Event($this, Doctrine_Event::CONN_CLOSE);
|
||||
|
||||
$this->getAttribute(Doctrine::ATTR_LISTENER)->preClose($event);
|
||||
|
||||
$this->clear();
|
||||
|
||||
unset($this->dbh);
|
||||
$this->isConnected = false;
|
||||
|
||||
$this->getAttribute(Doctrine::ATTR_LISTENER)->postClose($event);
|
||||
}
|
||||
|
||||
/**
|
||||
* get the current transaction nesting level
|
||||
*
|
||||
* @return integer
|
||||
*/
|
||||
public function getTransactionLevel()
|
||||
{
|
||||
return $this->transaction->getTransactionLevel();
|
||||
}
|
||||
|
||||
/**
|
||||
* errorCode
|
||||
* Fetch the SQLSTATE associated with the last operation on the database handle
|
||||
*
|
||||
* @return integer
|
||||
*/
|
||||
public function errorCode()
|
||||
{
|
||||
$this->connect();
|
||||
|
||||
return $this->dbh->errorCode();
|
||||
}
|
||||
|
||||
/**
|
||||
* errorInfo
|
||||
* Fetch extended error information associated with the last operation on the database handle
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function errorInfo()
|
||||
{
|
||||
$this->connect();
|
||||
|
||||
return $this->dbh->errorInfo();
|
||||
}
|
||||
|
||||
/**
|
||||
* getCacheDriver
|
||||
*
|
||||
* @return Doctrine_Cache_Interface
|
||||
* @deprecated Use getResultCacheDriver()
|
||||
*/
|
||||
public function getCacheDriver()
|
||||
{
|
||||
return $this->getResultCacheDriver();
|
||||
}
|
||||
|
||||
/**
|
||||
* getResultCacheDriver
|
||||
*
|
||||
* @return Doctrine_Cache_Interface
|
||||
*/
|
||||
public function getResultCacheDriver()
|
||||
{
|
||||
if ( ! $this->getAttribute(Doctrine::ATTR_RESULT_CACHE)) {
|
||||
throw new Doctrine_Exception('Result Cache driver not initialized.');
|
||||
}
|
||||
|
||||
return $this->getAttribute(Doctrine::ATTR_RESULT_CACHE);
|
||||
}
|
||||
|
||||
/**
|
||||
* getQueryCacheDriver
|
||||
*
|
||||
* @return Doctrine_Cache_Interface
|
||||
*/
|
||||
public function getQueryCacheDriver()
|
||||
{
|
||||
if ( ! $this->getAttribute(Doctrine::ATTR_QUERY_CACHE)) {
|
||||
throw new Doctrine_Exception('Query Cache driver not initialized.');
|
||||
}
|
||||
|
||||
return $this->getAttribute(Doctrine::ATTR_QUERY_CACHE);
|
||||
}
|
||||
|
||||
/**
|
||||
* lastInsertId
|
||||
*
|
||||
* Returns the ID of the last inserted row, or the last value from a sequence object,
|
||||
* depending on the underlying driver.
|
||||
*
|
||||
* Note: This method may not return a meaningful or consistent result across different drivers,
|
||||
* because the underlying database may not even support the notion of auto-increment fields or sequences.
|
||||
*
|
||||
* @param string $table name of the table into which a new row was inserted
|
||||
* @param string $field name of the field into which a new row was inserted
|
||||
*/
|
||||
public function lastInsertId($table = null, $field = null)
|
||||
{
|
||||
return $this->sequence->lastInsertId($table, $field);
|
||||
}
|
||||
|
||||
/**
|
||||
* beginTransaction
|
||||
* Start a transaction or set a savepoint.
|
||||
*
|
||||
* if trying to set a savepoint and there is no active transaction
|
||||
* a new transaction is being started
|
||||
*
|
||||
* Listeners: onPreTransactionBegin, onTransactionBegin
|
||||
*
|
||||
* @param string $savepoint name of a savepoint to set
|
||||
* @throws Doctrine_Transaction_Exception if the transaction fails at database level
|
||||
* @return integer current transaction nesting level
|
||||
*/
|
||||
public function beginTransaction($savepoint = null)
|
||||
{
|
||||
return $this->transaction->beginTransaction($savepoint);
|
||||
}
|
||||
|
||||
public function beginInternalTransaction($savepoint = null)
|
||||
{
|
||||
return $this->transaction->beginInternalTransaction($savepoint);
|
||||
}
|
||||
|
||||
/**
|
||||
* commit
|
||||
* Commit the database changes done during a transaction that is in
|
||||
* progress or release a savepoint. This function may only be called when
|
||||
* auto-committing is disabled, otherwise it will fail.
|
||||
*
|
||||
* Listeners: onPreTransactionCommit, onTransactionCommit
|
||||
*
|
||||
* @param string $savepoint name of a savepoint to release
|
||||
* @throws Doctrine_Transaction_Exception if the transaction fails at PDO level
|
||||
* @throws Doctrine_Validator_Exception if the transaction fails due to record validations
|
||||
* @return boolean false if commit couldn't be performed, true otherwise
|
||||
*/
|
||||
public function commit($savepoint = null)
|
||||
{
|
||||
return $this->transaction->commit($savepoint);
|
||||
}
|
||||
|
||||
/**
|
||||
* rollback
|
||||
* Cancel any database changes done during a transaction or since a specific
|
||||
* savepoint that is in progress. This function may only be called when
|
||||
* auto-committing is disabled, otherwise it will fail. Therefore, a new
|
||||
* transaction is implicitly started after canceling the pending changes.
|
||||
*
|
||||
* this method can be listened with onPreTransactionRollback and onTransactionRollback
|
||||
* eventlistener methods
|
||||
*
|
||||
* @param string $savepoint name of a savepoint to rollback to
|
||||
* @throws Doctrine_Transaction_Exception if the rollback operation fails at database level
|
||||
* @return boolean false if rollback couldn't be performed, true otherwise
|
||||
*/
|
||||
public function rollback($savepoint = null)
|
||||
{
|
||||
return $this->transaction->rollback($savepoint);
|
||||
}
|
||||
|
||||
/**
|
||||
* createDatabase
|
||||
*
|
||||
* Issue create database command for this instance of Doctrine_Connection
|
||||
*
|
||||
* @return string Doctrine_Exception catched in case of failure
|
||||
*/
|
||||
public function createDatabase()
|
||||
{
|
||||
if ( ! $dsn = $this->getOption('dsn')) {
|
||||
throw new Doctrine_Connection_Exception('You must create your Doctrine_Connection by using a valid Doctrine style dsn in order to use the create/drop database functionality');
|
||||
}
|
||||
|
||||
// Parse pdo dsn so we are aware of the connection information parts
|
||||
$info = $this->getManager()->parsePdoDsn($dsn);
|
||||
|
||||
// Get the temporary connection to issue the drop database command
|
||||
$tmpConnection = $this->getTmpConnection($info);
|
||||
|
||||
try {
|
||||
// Issue create database command
|
||||
$tmpConnection->export->createDatabase($info['dbname']);
|
||||
} catch (Exception $e) {}
|
||||
|
||||
// Close the temporary connection used to issue the drop database command
|
||||
$this->getManager()->closeConnection($tmpConnection);
|
||||
|
||||
if (isset($e)) {
|
||||
return $e;
|
||||
} else {
|
||||
return 'Successfully created database for connection "' . $this->getName() . '" named "' . $info['dbname'] . '"';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* dropDatabase
|
||||
*
|
||||
* Issue drop database command for this instance of Doctrine_Connection
|
||||
*
|
||||
* @return string success string. Doctrine_Exception if operation failed
|
||||
*/
|
||||
public function dropDatabase()
|
||||
{
|
||||
if ( ! $dsn = $this->getOption('dsn')) {
|
||||
throw new Doctrine_Connection_Exception('You must create your Doctrine_Connection by using a valid Doctrine style dsn in order to use the create/drop database functionality');
|
||||
}
|
||||
|
||||
// Parse pdo dsn so we are aware of the connection information parts
|
||||
$info = $this->getManager()->parsePdoDsn($dsn);
|
||||
|
||||
// Get the temporary connection to issue the drop database command
|
||||
$tmpConnection = $this->getTmpConnection($info);
|
||||
|
||||
try {
|
||||
// Issue drop database command
|
||||
$tmpConnection->export->dropDatabase($info['dbname']);
|
||||
} catch (Exception $e) {}
|
||||
|
||||
// Close the temporary connection used to issue the drop database command
|
||||
$this->getManager()->closeConnection($tmpConnection);
|
||||
|
||||
if (isset($e)) {
|
||||
return $e;
|
||||
} else {
|
||||
return 'Successfully dropped database for connection "' . $this->getName() . '" named "' . $info['dbname'] . '"';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* getTmpConnection
|
||||
*
|
||||
* Create a temporary connection to the database with the user credentials.
|
||||
* This is so the user can make a connection to a db server. Some dbms allow
|
||||
* connections with no database, but some do not. In that case we have a table
|
||||
* which is always guaranteed to exist. Mysql: 'mysql', PostgreSQL: 'postgres', etc.
|
||||
* This value is set in the Doctrine_Export_{DRIVER} classes if required
|
||||
*
|
||||
* @param string $info
|
||||
* @return void
|
||||
*/
|
||||
public function getTmpConnection($info)
|
||||
{
|
||||
$pdoDsn = $info['scheme'] . ':';
|
||||
|
||||
if ($info['unix_socket']) {
|
||||
$pdoDsn .= 'unix_socket=' . $info['unix_socket'] . ';';
|
||||
}
|
||||
|
||||
$pdoDsn .= 'host=' . $info['host'];
|
||||
|
||||
if ($info['port']) {
|
||||
$pdoDsn .= ';port=' . $info['port'];
|
||||
}
|
||||
|
||||
if (isset($this->export->tmpConnectionDatabase) && $this->export->tmpConnectionDatabase) {
|
||||
$pdoDsn .= ';dbname=' . $this->export->tmpConnectionDatabase;
|
||||
}
|
||||
|
||||
$username = $this->getOption('username');
|
||||
$password = $this->getOption('password');
|
||||
|
||||
$conn = $this->getManager()->openConnection(array($pdoDsn, $username, $password), 'doctrine_tmp_connection', false);
|
||||
$conn->setOption('username', $username);
|
||||
$conn->setOption('password', $password);
|
||||
|
||||
return $conn;
|
||||
}
|
||||
|
||||
/**
|
||||
* modifyLimitQuery
|
||||
*
|
||||
* Some dbms require specific functionality for this. Check the other connection adapters for examples
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function modifyLimitQuery($query, $limit = false, $offset = false, $isManip = false)
|
||||
{
|
||||
return $query;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates dbms specific LIMIT/OFFSET SQL for the subqueries that are used in the
|
||||
* context of the limit-subquery algorithm.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function modifyLimitSubquery(Doctrine_Table $rootTable, $query, $limit = false,
|
||||
$offset = false, $isManip = false)
|
||||
{
|
||||
return $this->modifyLimitQuery($query, $limit, $offset, $isManip);
|
||||
}
|
||||
|
||||
/**
|
||||
* returns a string representation of this object
|
||||
* @return string
|
||||
*/
|
||||
public function __toString()
|
||||
{
|
||||
return Doctrine_Lib::getConnectionAsString($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Serialize. Remove database connection(pdo) since it cannot be serialized
|
||||
*
|
||||
* @return string $serialized
|
||||
*/
|
||||
public function serialize()
|
||||
{
|
||||
$vars = get_object_vars($this);
|
||||
$vars['dbh'] = null;
|
||||
$vars['isConnected'] = false;
|
||||
return serialize($vars);
|
||||
}
|
||||
|
||||
/**
|
||||
* Unserialize. Recreate connection from serialized content
|
||||
*
|
||||
* @param string $serialized
|
||||
* @return void
|
||||
*/
|
||||
public function unserialize($serialized)
|
||||
{
|
||||
$array = unserialize($serialized);
|
||||
|
||||
foreach ($array as $name => $values) {
|
||||
$this->$name = $values;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get/generate a unique foreign key name for a relationship
|
||||
*
|
||||
* @param Doctrine_Relation $relation Relation object to generate the foreign key name for
|
||||
* @return string $fkName
|
||||
*/
|
||||
public function generateUniqueRelationForeignKeyName(Doctrine_Relation $relation)
|
||||
{
|
||||
$parts = array(
|
||||
$relation['localTable']->getTableName(),
|
||||
$relation->getLocalColumnName(),
|
||||
$relation['table']->getTableName(),
|
||||
$relation->getForeignColumnName(),
|
||||
);
|
||||
$key = implode('_', array_merge($parts, array($relation['onDelete']), array($relation['onUpdate'])));
|
||||
$format = $this->getAttribute(Doctrine::ATTR_FKNAME_FORMAT);
|
||||
|
||||
return $this->_generateUniqueName('foreign_keys', $parts, $key, $format, $this->properties['max_identifier_length']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get/generate unique index name for a table name and set of fields
|
||||
*
|
||||
* @param string $tableName The name of the table the index exists
|
||||
* @param string $fields The fields that makes up the index
|
||||
* @return string $indexName The name of the generated index
|
||||
*/
|
||||
public function generateUniqueIndexName($tableName, $fields)
|
||||
{
|
||||
$fields = (array) $fields;
|
||||
$parts = array($tableName);
|
||||
$parts = array_merge($parts, $fields);
|
||||
$key = implode('_', $parts);
|
||||
$format = $this->getAttribute(Doctrine::ATTR_IDXNAME_FORMAT);
|
||||
|
||||
return $this->_generateUniqueName('indexes', $parts, $key, $format, $this->properties['max_identifier_length']);
|
||||
}
|
||||
|
||||
protected function _generateUniqueName($type, $parts, $key, $format = '%s', $maxLength = 64)
|
||||
{
|
||||
if (isset($this->_usedNames[$type][$key])) {
|
||||
return $this->_usedNames[$type][$key];
|
||||
}
|
||||
|
||||
$generated = implode('_', $parts);
|
||||
|
||||
// If the final length is greater than 64 we need to create an abbreviated fk name
|
||||
if (strlen(sprintf($format, $generated)) > $maxLength) {
|
||||
$generated = '';
|
||||
|
||||
foreach ($parts as $part) {
|
||||
$generated .= $part[0];
|
||||
}
|
||||
|
||||
$name = $generated;
|
||||
} else {
|
||||
$name = $generated;
|
||||
}
|
||||
|
||||
while (in_array($name, $this->_usedNames[$type])) {
|
||||
$e = explode('_', $name);
|
||||
$end = end($e);
|
||||
|
||||
if (is_numeric($end)) {
|
||||
unset($e[count($e) - 1]);
|
||||
$fkName = implode('_', $e);
|
||||
$name = $fkName . '_' . ++$end;
|
||||
} else {
|
||||
$name .= '_1';
|
||||
}
|
||||
}
|
||||
|
||||
$this->_usedNames[$type][$key] = $name;
|
||||
|
||||
return $name;
|
||||
}
|
||||
}
|
||||
|
@ -790,588 +790,4 @@ class Doctrine_Export extends Doctrine_Connection_Module
|
||||
* declaration to be used in statements like CREATE TABLE.
|
||||
*
|
||||
* @param array $field field definition array
|
||||
* @return string DBMS specific SQL code portion needed to set a default value
|
||||
*/
|
||||
public function getNotNullFieldDeclaration(array $definition)
|
||||
{
|
||||
return (isset($definition['notnull']) && $definition['notnull']) ? ' NOT NULL' : '';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Obtain DBMS specific SQL code portion needed to set a CHECK constraint
|
||||
* declaration to be used in statements like CREATE TABLE.
|
||||
*
|
||||
* @param array $definition check definition
|
||||
* @return string DBMS specific SQL code portion needed to set a CHECK constraint
|
||||
*/
|
||||
public function getCheckDeclaration(array $definition)
|
||||
{
|
||||
$constraints = array();
|
||||
foreach ($definition as $field => $def) {
|
||||
if (is_string($def)) {
|
||||
$constraints[] = 'CHECK (' . $def . ')';
|
||||
} else {
|
||||
if (isset($def['min'])) {
|
||||
$constraints[] = 'CHECK (' . $field . ' >= ' . $def['min'] . ')';
|
||||
}
|
||||
|
||||
if (isset($def['max'])) {
|
||||
$constraints[] = 'CHECK (' . $field . ' <= ' . $def['max'] . ')';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return implode(', ', $constraints);
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtain DBMS specific SQL code portion needed to set an index
|
||||
* declaration to be used in statements like CREATE TABLE.
|
||||
*
|
||||
* @param string $name name of the index
|
||||
* @param array $definition index definition
|
||||
* @return string DBMS specific SQL code portion needed to set an index
|
||||
*/
|
||||
public function getIndexDeclaration($name, array $definition)
|
||||
{
|
||||
$name = $this->conn->quoteIdentifier($name);
|
||||
$type = '';
|
||||
|
||||
if (isset($definition['type'])) {
|
||||
if (strtolower($definition['type']) == 'unique') {
|
||||
$type = strtoupper($definition['type']) . ' ';
|
||||
} else {
|
||||
throw new Doctrine_Export_Exception(
|
||||
'Unknown type ' . $definition['type'] . ' for index ' . $name
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! isset($definition['fields']) || ! is_array($definition['fields'])) {
|
||||
throw new Doctrine_Export_Exception('No columns given for index ' . $name);
|
||||
}
|
||||
|
||||
$query = $type . 'INDEX ' . $name;
|
||||
|
||||
$query .= ' (' . $this->getIndexFieldDeclarationList($definition['fields']) . ')';
|
||||
|
||||
return $query;
|
||||
}
|
||||
|
||||
/**
|
||||
* getIndexFieldDeclarationList
|
||||
* Obtain DBMS specific SQL code portion needed to set an index
|
||||
* declaration to be used in statements like CREATE TABLE.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getIndexFieldDeclarationList(array $fields)
|
||||
{
|
||||
$ret = array();
|
||||
foreach ($fields as $field => $definition) {
|
||||
if (is_array($definition)) {
|
||||
$ret[] = $this->conn->quoteIdentifier($field);
|
||||
} else {
|
||||
$ret[] = $this->conn->quoteIdentifier($definition);
|
||||
}
|
||||
}
|
||||
return implode(', ', $ret);
|
||||
}
|
||||
|
||||
/**
|
||||
* A method to return the required SQL string that fits between CREATE ... TABLE
|
||||
* to create the table as a temporary table.
|
||||
*
|
||||
* Should be overridden in driver classes to return the correct string for the
|
||||
* specific database type.
|
||||
*
|
||||
* The default is to return the string "TEMPORARY" - this will result in a
|
||||
* SQL error for any database that does not support temporary tables, or that
|
||||
* requires a different SQL command from "CREATE TEMPORARY TABLE".
|
||||
*
|
||||
* @return string The string required to be placed between "CREATE" and "TABLE"
|
||||
* to generate a temporary table, if possible.
|
||||
*/
|
||||
public function getTemporaryTableQuery()
|
||||
{
|
||||
return 'TEMPORARY';
|
||||
}
|
||||
|
||||
/**
|
||||
* getForeignKeyDeclaration
|
||||
* Obtain DBMS specific SQL code portion needed to set the FOREIGN KEY constraint
|
||||
* of a field declaration to be used in statements like CREATE TABLE.
|
||||
*
|
||||
* @param array $definition an associative array with the following structure:
|
||||
* name optional constraint name
|
||||
*
|
||||
* local the local field(s)
|
||||
*
|
||||
* foreign the foreign reference field(s)
|
||||
*
|
||||
* foreignTable the name of the foreign table
|
||||
*
|
||||
* onDelete referential delete action
|
||||
*
|
||||
* onUpdate referential update action
|
||||
*
|
||||
* deferred deferred constraint checking
|
||||
*
|
||||
* The onDelete and onUpdate keys accept the following values:
|
||||
*
|
||||
* CASCADE: Delete or update the row from the parent table and automatically delete or
|
||||
* update the matching rows in the child table. Both ON DELETE CASCADE and ON UPDATE CASCADE are supported.
|
||||
* Between two tables, you should not define several ON UPDATE CASCADE clauses that act on the same column
|
||||
* in the parent table or in the child table.
|
||||
*
|
||||
* SET NULL: Delete or update the row from the parent table and set the foreign key column or columns in the
|
||||
* child table to NULL. This is valid only if the foreign key columns do not have the NOT NULL qualifier
|
||||
* specified. Both ON DELETE SET NULL and ON UPDATE SET NULL clauses are supported.
|
||||
*
|
||||
* NO ACTION: In standard SQL, NO ACTION means no action in the sense that an attempt to delete or update a primary
|
||||
* key value is not allowed to proceed if there is a related foreign key value in the referenced table.
|
||||
*
|
||||
* RESTRICT: Rejects the delete or update operation for the parent table. NO ACTION and RESTRICT are the same as
|
||||
* omitting the ON DELETE or ON UPDATE clause.
|
||||
*
|
||||
* SET DEFAULT
|
||||
*
|
||||
* @return string DBMS specific SQL code portion needed to set the FOREIGN KEY constraint
|
||||
* of a field declaration.
|
||||
*/
|
||||
public function getForeignKeyDeclaration(array $definition)
|
||||
{
|
||||
$sql = $this->getForeignKeyBaseDeclaration($definition);
|
||||
$sql .= $this->getAdvancedForeignKeyOptions($definition);
|
||||
|
||||
return $sql;
|
||||
}
|
||||
|
||||
/**
|
||||
* getAdvancedForeignKeyOptions
|
||||
* Return the FOREIGN KEY query section dealing with non-standard options
|
||||
* as MATCH, INITIALLY DEFERRED, ON UPDATE, ...
|
||||
*
|
||||
* @param array $definition foreign key definition
|
||||
* @return string
|
||||
*/
|
||||
public function getAdvancedForeignKeyOptions(array $definition)
|
||||
{
|
||||
$query = '';
|
||||
if ( ! empty($definition['onUpdate'])) {
|
||||
$query .= ' ON UPDATE ' . $this->getForeignKeyReferentialAction($definition['onUpdate']);
|
||||
}
|
||||
if ( ! empty($definition['onDelete'])) {
|
||||
$query .= ' ON DELETE ' . $this->getForeignKeyReferentialAction($definition['onDelete']);
|
||||
}
|
||||
return $query;
|
||||
}
|
||||
|
||||
/**
|
||||
* getForeignKeyReferentialAction
|
||||
*
|
||||
* returns given referential action in uppercase if valid, otherwise throws
|
||||
* an exception
|
||||
*
|
||||
* @throws Doctrine_Exception_Exception if unknown referential action given
|
||||
* @param string $action foreign key referential action
|
||||
* @param string foreign key referential action in uppercase
|
||||
*/
|
||||
public function getForeignKeyReferentialAction($action)
|
||||
{
|
||||
$upper = strtoupper($action);
|
||||
switch ($upper) {
|
||||
case 'CASCADE':
|
||||
case 'SET NULL':
|
||||
case 'NO ACTION':
|
||||
case 'RESTRICT':
|
||||
case 'SET DEFAULT':
|
||||
return $upper;
|
||||
break;
|
||||
default:
|
||||
throw new Doctrine_Export_Exception('Unknown foreign key referential action \'' . $upper . '\' given.');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* getForeignKeyBaseDeclaration
|
||||
* Obtain DBMS specific SQL code portion needed to set the FOREIGN KEY constraint
|
||||
* of a field declaration to be used in statements like CREATE TABLE.
|
||||
*
|
||||
* @param array $definition
|
||||
* @return string
|
||||
*/
|
||||
public function getForeignKeyBaseDeclaration(array $definition)
|
||||
{
|
||||
$sql = '';
|
||||
if (isset($definition['name'])) {
|
||||
$sql .= 'CONSTRAINT ' . $this->conn->quoteIdentifier($definition['name']) . ' ';
|
||||
}
|
||||
$sql .= 'FOREIGN KEY (';
|
||||
|
||||
if ( ! isset($definition['local'])) {
|
||||
throw new Doctrine_Export_Exception('Local reference field missing from definition.');
|
||||
}
|
||||
if ( ! isset($definition['foreign'])) {
|
||||
throw new Doctrine_Export_Exception('Foreign reference field missing from definition.');
|
||||
}
|
||||
if ( ! isset($definition['foreignTable'])) {
|
||||
throw new Doctrine_Export_Exception('Foreign reference table missing from definition.');
|
||||
}
|
||||
|
||||
if ( ! is_array($definition['local'])) {
|
||||
$definition['local'] = array($definition['local']);
|
||||
}
|
||||
if ( ! is_array($definition['foreign'])) {
|
||||
$definition['foreign'] = array($definition['foreign']);
|
||||
}
|
||||
|
||||
$sql .= implode(', ', array_map(array($this->conn, 'quoteIdentifier'), $definition['local']))
|
||||
. ') REFERENCES '
|
||||
. $this->conn->quoteIdentifier($definition['foreignTable']) . '('
|
||||
. implode(', ', array_map(array($this->conn, 'quoteIdentifier'), $definition['foreign'])) . ')';
|
||||
|
||||
return $sql;
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtain DBMS specific SQL code portion needed to set the UNIQUE constraint
|
||||
* of a field declaration to be used in statements like CREATE TABLE.
|
||||
*
|
||||
* @return string DBMS specific SQL code portion needed to set the UNIQUE constraint
|
||||
* of a field declaration.
|
||||
*/
|
||||
public function getUniqueFieldDeclaration()
|
||||
{
|
||||
return 'UNIQUE';
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtain DBMS specific SQL code portion needed to set the CHARACTER SET
|
||||
* of a field declaration to be used in statements like CREATE TABLE.
|
||||
*
|
||||
* @param string $charset name of the charset
|
||||
* @return string DBMS specific SQL code portion needed to set the CHARACTER SET
|
||||
* of a field declaration.
|
||||
*/
|
||||
public function getCharsetFieldDeclaration($charset)
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtain DBMS specific SQL code portion needed to set the COLLATION
|
||||
* of a field declaration to be used in statements like CREATE TABLE.
|
||||
*
|
||||
* @param string $collation name of the collation
|
||||
* @return string DBMS specific SQL code portion needed to set the COLLATION
|
||||
* of a field declaration.
|
||||
*/
|
||||
public function getCollationFieldDeclaration($collation)
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* exportSchema
|
||||
* method for exporting Doctrine_Record classes to a schema
|
||||
*
|
||||
* if the directory parameter is given this method first iterates
|
||||
* recursively trhough the given directory in order to find any model classes
|
||||
*
|
||||
* Then it iterates through all declared classes and creates tables for the ones
|
||||
* that extend Doctrine_Record and are not abstract classes
|
||||
*
|
||||
* @throws Doctrine_Connection_Exception if some error other than Doctrine::ERR_ALREADY_EXISTS
|
||||
* occurred during the create table operation
|
||||
* @param string $directory optional directory parameter
|
||||
* @return void
|
||||
*/
|
||||
public function exportSchema($directory = null)
|
||||
{
|
||||
if ($directory !== null) {
|
||||
$models = Doctrine::filterInvalidModels(Doctrine::loadModels($directory));
|
||||
} else {
|
||||
$models = Doctrine::getLoadedModels();
|
||||
}
|
||||
|
||||
$this->exportClasses($models);
|
||||
}
|
||||
|
||||
public function exportSortedClassesSql($classes, $groupByConnection = true)
|
||||
{
|
||||
$connections = array();
|
||||
foreach ($classes as $class) {
|
||||
$connection = Doctrine_Manager::getInstance()->getConnectionForComponent($class);
|
||||
$connectionName = $connection->getName();
|
||||
|
||||
if ( ! isset($connections[$connectionName])) {
|
||||
$connections[$connectionName] = array(
|
||||
'create_tables' => array(),
|
||||
'create_sequences' => array(),
|
||||
'create_indexes' => array(),
|
||||
'alters' => array(),
|
||||
'create_triggers' => array(),
|
||||
);
|
||||
}
|
||||
|
||||
$sql = $connection->export->exportClassesSql(array($class));
|
||||
|
||||
// Build array of all the creates
|
||||
// We need these to happen first
|
||||
foreach ($sql as $key => $query) {
|
||||
// If create table statement
|
||||
if (substr($query, 0, strlen('CREATE TABLE')) == 'CREATE TABLE') {
|
||||
$connections[$connectionName]['create_tables'][] = $query;
|
||||
|
||||
unset($sql[$key]);
|
||||
continue;
|
||||
}
|
||||
|
||||
// If create sequence statement
|
||||
if (substr($query, 0, strlen('CREATE SEQUENCE')) == 'CREATE SEQUENCE') {
|
||||
$connections[$connectionName]['create_sequences'][] = $query;
|
||||
|
||||
unset($sql[$key]);
|
||||
continue;
|
||||
}
|
||||
|
||||
// If create index statement
|
||||
if (preg_grep("/CREATE ([^ ]* )?INDEX/", array($query))) {
|
||||
$connections[$connectionName]['create_indexes'][] = $query;
|
||||
|
||||
unset($sql[$key]);
|
||||
continue;
|
||||
}
|
||||
|
||||
// If alter table statement or oracle anonymous block enclosing alter
|
||||
if (substr($query, 0, strlen('ALTER TABLE')) == 'ALTER TABLE'
|
||||
|| substr($query, 0, strlen('DECLARE')) == 'DECLARE') {
|
||||
$connections[$connectionName]['alters'][] = $query;
|
||||
|
||||
unset($sql[$key]);
|
||||
continue;
|
||||
}
|
||||
|
||||
// If create trgger statement
|
||||
if (substr($query, 0, strlen('CREATE TRIGGER')) == 'CREATE TRIGGER') {
|
||||
$connections[$connectionName]['create_triggers'][] = $query;
|
||||
|
||||
unset($sql[$key]);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Loop over all the sql again to merge everything together so it is in the correct order
|
||||
$build = array();
|
||||
foreach ($connections as $connectionName => $sql) {
|
||||
$build[$connectionName] = array_unique(array_merge($sql['create_tables'], $sql['create_sequences'], $sql['create_indexes'], $sql['alters'], $sql['create_triggers']));
|
||||
}
|
||||
|
||||
if ( ! $groupByConnection) {
|
||||
$new = array();
|
||||
foreach($build as $connectionname => $sql) {
|
||||
$new = array_unique(array_merge($new, $sql));
|
||||
}
|
||||
$build = $new;
|
||||
}
|
||||
return $build;
|
||||
}
|
||||
|
||||
/**
|
||||
* exportClasses
|
||||
* method for exporting Doctrine_Record classes to a schema
|
||||
*
|
||||
* FIXME: This function has ugly hacks in it to make sure sql is inserted in the correct order.
|
||||
*
|
||||
* @throws Doctrine_Connection_Exception if some error other than Doctrine::ERR_ALREADY_EXISTS
|
||||
* occurred during the create table operation
|
||||
* @param array $classes
|
||||
* @return void
|
||||
*/
|
||||
public function exportClasses(array $classes)
|
||||
{
|
||||
$queries = $this->exportSortedClassesSql($classes);
|
||||
|
||||
foreach ($queries as $connectionName => $sql) {
|
||||
$connection = Doctrine_Manager::getInstance()->getConnection($connectionName);
|
||||
|
||||
$connection->beginTransaction();
|
||||
|
||||
foreach ($sql as $query) {
|
||||
try {
|
||||
$connection->exec($query);
|
||||
} catch (Doctrine_Connection_Exception $e) {
|
||||
// we only want to silence table already exists errors
|
||||
if ($e->getPortableCode() !== Doctrine::ERR_ALREADY_EXISTS) {
|
||||
$connection->rollback();
|
||||
throw new Doctrine_Export_Exception($e->getMessage() . '. Failing Query: ' . $query);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$connection->commit();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* exportClassesSql
|
||||
* method for exporting Doctrine_Record classes to a schema
|
||||
*
|
||||
* @throws Doctrine_Connection_Exception if some error other than Doctrine::ERR_ALREADY_EXISTS
|
||||
* occurred during the create table operation
|
||||
* @param array $classes
|
||||
* @return void
|
||||
*/
|
||||
public function exportClassesSql(array $classes)
|
||||
{
|
||||
$models = Doctrine::filterInvalidModels($classes);
|
||||
|
||||
$sql = array();
|
||||
|
||||
foreach ($models as $name) {
|
||||
try {
|
||||
$record = new $name();
|
||||
$table = $record->getTable();
|
||||
|
||||
$parents = $table->getOption('joinedParents');
|
||||
|
||||
foreach ($parents as $parent) {
|
||||
$data = $table->getConnection()->getTable($parent)->getExportableFormat();
|
||||
|
||||
$query = $this->conn->export->createTableSql($data['tableName'], $data['columns'], $data['options']);
|
||||
|
||||
$sql = array_merge($sql, (array) $query);
|
||||
}
|
||||
|
||||
$data = $table->getExportableFormat();
|
||||
|
||||
$query = $this->conn->export->createTableSql($data['tableName'], $data['columns'], $data['options']);
|
||||
|
||||
if (is_array($query)) {
|
||||
$sql = array_merge($sql, $query);
|
||||
} else {
|
||||
$sql[] = $query;
|
||||
}
|
||||
|
||||
if ($table->getAttribute(Doctrine::ATTR_EXPORT) & Doctrine::EXPORT_PLUGINS) {
|
||||
$sql = array_merge($sql, $this->exportGeneratorsSql($table));
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
throw new Doctrine_Export_Exception("While exporting model class '$name' to SQL: " . $e->getMessage());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$sql = array_unique($sql);
|
||||
|
||||
rsort($sql);
|
||||
|
||||
return $sql;
|
||||
}
|
||||
|
||||
/**
|
||||
* fetches all generators recursively for given table
|
||||
*
|
||||
* @param Doctrine_Table $table table object to retrieve the generators from
|
||||
* @return array an array of Doctrine_Record_Generator objects
|
||||
*/
|
||||
public function getAllGenerators(Doctrine_Table $table)
|
||||
{
|
||||
$generators = array();
|
||||
|
||||
foreach ($table->getGenerators() as $name => $generator) {
|
||||
if ($generator === null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$generators[] = $generator;
|
||||
|
||||
$generatorTable = $generator->getTable();
|
||||
|
||||
if ($generatorTable instanceof Doctrine_Table) {
|
||||
$generators = array_merge($generators, $this->getAllGenerators($generatorTable));
|
||||
}
|
||||
}
|
||||
|
||||
return $generators;
|
||||
}
|
||||
|
||||
/**
|
||||
* exportGeneratorsSql
|
||||
* exports plugin tables for given table
|
||||
*
|
||||
* @param Doctrine_Table $table the table in which the generators belong to
|
||||
* @return array an array of sql strings
|
||||
*/
|
||||
public function exportGeneratorsSql(Doctrine_Table $table)
|
||||
{
|
||||
$sql = array();
|
||||
|
||||
foreach ($this->getAllGenerators($table) as $name => $generator) {
|
||||
$table = $generator->getTable();
|
||||
|
||||
// Make sure plugin has a valid table
|
||||
if ($table instanceof Doctrine_Table) {
|
||||
$data = $table->getExportableFormat();
|
||||
|
||||
$query = $this->conn->export->createTableSql($data['tableName'], $data['columns'], $data['options']);
|
||||
|
||||
$sql = array_merge($sql, (array) $query);
|
||||
}
|
||||
}
|
||||
|
||||
return $sql;
|
||||
}
|
||||
|
||||
/**
|
||||
* exportSql
|
||||
* returns the sql for exporting Doctrine_Record classes to a schema
|
||||
*
|
||||
* if the directory parameter is given this method first iterates
|
||||
* recursively trhough the given directory in order to find any model classes
|
||||
*
|
||||
* Then it iterates through all declared classes and creates tables for the ones
|
||||
* that extend Doctrine_Record and are not abstract classes
|
||||
*
|
||||
* @throws Doctrine_Connection_Exception if some error other than Doctrine::ERR_ALREADY_EXISTS
|
||||
* occurred during the create table operation
|
||||
* @param string $directory optional directory parameter
|
||||
* @return void
|
||||
*/
|
||||
public function exportSql($directory = null)
|
||||
{
|
||||
if ($directory !== null) {
|
||||
$models = Doctrine::filterInvalidModels(Doctrine::loadModels($directory));
|
||||
} else {
|
||||
$models = Doctrine::getLoadedModels();
|
||||
}
|
||||
|
||||
return $this->exportSortedClassesSql($models, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* exportTable
|
||||
* exports given table into database based on column and option definitions
|
||||
*
|
||||
* @throws Doctrine_Connection_Exception if some error other than Doctrine::ERR_ALREADY_EXISTS
|
||||
* occurred during the create table operation
|
||||
* @return boolean whether or not the export operation was successful
|
||||
* false if table already existed in the database
|
||||
*/
|
||||
public function exportTable(Doctrine_Table $table)
|
||||
{
|
||||
try {
|
||||
$data = $table->getExportableFormat();
|
||||
|
||||
$this->conn->export->createTable($data['tableName'], $data['columns'], $data['options']);
|
||||
} catch(Doctrine_Connection_Exception $e) {
|
||||
// we only want to silence table already exists errors
|
||||
if ($e->getPortableCode() !== Doctrine::ERR_ALREADY_EXISTS) {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
* @return strin
|
@ -553,7 +553,7 @@ END;';
|
||||
$type = strtoupper($definition['type']);
|
||||
} else {
|
||||
throw new Doctrine_Export_Exception(
|
||||
'Unknown type '.$definition['type'] .' for index '.$name
|
||||
'Unknown type '.$definition['type'] .'Â for index '.$name
|
||||
);
|
||||
}
|
||||
} else {
|
||||
|
@ -29,7 +29,7 @@
|
||||
* @link www.phpdoctrine.org
|
||||
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
|
||||
* @version $Revision: 1838 $
|
||||
* @author Nicolas Bérard-Nault <nicobn@gmail.com>
|
||||
* @author Nicolas Bérard-Nault <nicobn@gmail.com>
|
||||
* @author Jonathan H. Wage <jwage@mac.com>
|
||||
*/
|
||||
class Doctrine_Export_Schema
|
||||
|
@ -33,7 +33,7 @@
|
||||
* @version $Revision: 6401 $
|
||||
* @author Konsta Vesterinen <kvesteri@cc.hut.fi>
|
||||
* @author Jukka Hassinen <Jukka.Hassinen@BrainAlliance.com>
|
||||
* @author Nicolas Bérard-Nault <nicobn@php.net>
|
||||
* @author Nicolas Bérard-Nault <nicobn@php.net>
|
||||
* @author Jonathan H. Wage <jwage@mac.com>
|
||||
*/
|
||||
class Doctrine_Import_Builder extends Doctrine_Builder
|
||||
@ -1034,167 +1034,4 @@ class Doctrine_Import_Builder extends Doctrine_Builder
|
||||
$topLevel['tableClassName'] = $topLevel['topLevelClassName'] . 'Table';
|
||||
$topLevel['inheritance']['tableExtends'] = $packageLevel['className'] . 'Table';
|
||||
} else {
|
||||
$topLevel['tableClassName'] = $topLevel['className'] . 'Table';
|
||||
$topLevel['inheritance']['tableExtends'] = isset($definition['inheritance']['extends']) ? $definition['inheritance']['extends'] . 'Table':'Doctrine_Table';
|
||||
}
|
||||
|
||||
$baseClass = $definition;
|
||||
$baseClass['className'] = $this->_baseClassPrefix . $baseClass['className'];
|
||||
$baseClass['abstract'] = true;
|
||||
$baseClass['override_parent'] = false;
|
||||
$baseClass['is_base_class'] = true;
|
||||
|
||||
$this->writeDefinition($baseClass);
|
||||
|
||||
if ( ! empty($packageLevel)) {
|
||||
$this->writeDefinition($packageLevel);
|
||||
}
|
||||
|
||||
$this->writeDefinition($topLevel);
|
||||
} else {
|
||||
$this->writeDefinition($definition);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* writeTableDefinition
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function writeTableDefinition($className, $path, $options = array())
|
||||
{
|
||||
$content = '<?php' . PHP_EOL;
|
||||
$content .= sprintf(self::$_tpl, null, false,
|
||||
$className,
|
||||
isset($options['extends']) ? $options['extends']:'Doctrine_Table',
|
||||
null,
|
||||
null,
|
||||
null
|
||||
);
|
||||
|
||||
Doctrine_Lib::makeDirectories($path);
|
||||
|
||||
$writePath = $path . DIRECTORY_SEPARATOR . $className . $this->_suffix;
|
||||
|
||||
Doctrine::loadModel($className, $writePath);
|
||||
|
||||
if ( ! file_exists($writePath)) {
|
||||
file_put_contents($writePath, $content);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* writeDefinition
|
||||
*
|
||||
* @param array $options
|
||||
* @param array $columns
|
||||
* @param array $relations
|
||||
* @param array $indexes
|
||||
* @param array $attributes
|
||||
* @param array $templates
|
||||
* @param array $actAs
|
||||
* @return void
|
||||
*/
|
||||
public function writeDefinition(array $definition)
|
||||
{
|
||||
$originalClassName = $definition['className'];
|
||||
if ($prefix = $this->_classPrefix) {
|
||||
if (isset($definition['tableClassName'])) {
|
||||
$definition['tableClassName'] = $prefix . $definition['tableClassName'];
|
||||
}
|
||||
$definition['className'] = $prefix . $definition['className'];
|
||||
if (isset($definition['connectionClassName'])) {
|
||||
$definition['connectionClassName'] = $prefix . $definition['connectionClassName'];
|
||||
}
|
||||
$definition['topLevelClassName'] = $prefix . $definition['topLevelClassName'];
|
||||
if (isset($definition['inheritance']['extends'])) {
|
||||
$definition['inheritance']['extends'] = $prefix . $definition['inheritance']['extends'];
|
||||
}
|
||||
}
|
||||
|
||||
$definitionCode = $this->buildDefinition($definition);
|
||||
|
||||
if ($prefix) {
|
||||
$definitionCode = str_replace("this->hasOne('", "this->hasOne('$prefix", $definitionCode);
|
||||
$definitionCode = str_replace("this->hasMany('", "this->hasMany('$prefix", $definitionCode);
|
||||
$definitionCode = str_replace("'refClass' => '", "'refClass' => '$prefix", $definitionCode);
|
||||
}
|
||||
|
||||
$fileName = $definition['className'] . $this->_suffix;
|
||||
|
||||
$packagesPath = $this->_packagesPath ? $this->_packagesPath:$this->_path;
|
||||
|
||||
// If this is a main class that either extends from Base or Package class
|
||||
if (isset($definition['is_main_class']) && $definition['is_main_class']) {
|
||||
// If is package then we need to put it in a package subfolder
|
||||
if (isset($definition['is_package']) && $definition['is_package']) {
|
||||
$writePath = $this->_path . DIRECTORY_SEPARATOR . $definition['package_name'];
|
||||
// Otherwise lets just put it in the root of the path
|
||||
} else {
|
||||
$writePath = $this->_path;
|
||||
}
|
||||
|
||||
if ($this->generateTableClasses()) {
|
||||
$this->writeTableDefinition($definition['tableClassName'], $writePath, array('extends' => $definition['inheritance']['tableExtends']));
|
||||
}
|
||||
}
|
||||
// If is the package class then we need to make the path to the complete package
|
||||
else if (isset($definition['is_package_class']) && $definition['is_package_class']) {
|
||||
if (isset($definition['package_custom_path'])) {
|
||||
$writePath = $definition['package_custom_path'];
|
||||
} else {
|
||||
$writePath = $packagesPath . DIRECTORY_SEPARATOR . $definition['package_path'];
|
||||
}
|
||||
|
||||
if ($this->generateTableClasses()) {
|
||||
$this->writeTableDefinition($definition['tableClassName'], $writePath, array('extends' => $definition['inheritance']['tableExtends']));
|
||||
}
|
||||
}
|
||||
// If it is the base class of the doctrine record definition
|
||||
else if (isset($definition['is_base_class']) && $definition['is_base_class']) {
|
||||
// If it is a part of a package then we need to put it in a package subfolder
|
||||
if (isset($definition['is_package']) && $definition['is_package']) {
|
||||
$basePath = $this->_path . DIRECTORY_SEPARATOR . $definition['package_name'];
|
||||
$writePath = $basePath . DIRECTORY_SEPARATOR . $this->_baseClassesDirectory;
|
||||
// Otherwise lets just put it in the root generated folder
|
||||
} else {
|
||||
$writePath = $this->_path . DIRECTORY_SEPARATOR . $this->_baseClassesDirectory;
|
||||
}
|
||||
}
|
||||
|
||||
// If we have a writePath from the if else conditionals above then use it
|
||||
if (isset($writePath)) {
|
||||
Doctrine_Lib::makeDirectories($writePath);
|
||||
|
||||
$writePath .= DIRECTORY_SEPARATOR . $fileName;
|
||||
// Otherwise none of the conditions were met and we aren't generating base classes
|
||||
} else {
|
||||
Doctrine_Lib::makeDirectories($this->_path);
|
||||
|
||||
$writePath = $this->_path . DIRECTORY_SEPARATOR . $fileName;
|
||||
}
|
||||
|
||||
$code = "<?php" . PHP_EOL;
|
||||
|
||||
if (isset($definition['connection']) && $definition['connection']) {
|
||||
$code .= "// Connection Component Binding" . PHP_EOL;
|
||||
$code .= "Doctrine_Manager::getInstance()->bindComponent('" . $definition['connectionClassName'] . "', '" . $definition['connection'] . "');" . PHP_EOL;
|
||||
}
|
||||
|
||||
$code .= PHP_EOL . $definitionCode;
|
||||
|
||||
if (isset($definition['generate_once']) && $definition['generate_once'] === true) {
|
||||
if ( ! file_exists($writePath)) {
|
||||
$bytes = file_put_contents($writePath, $code);
|
||||
}
|
||||
} else {
|
||||
$bytes = file_put_contents($writePath, $code);
|
||||
}
|
||||
|
||||
if (isset($bytes) && $bytes === false) {
|
||||
throw new Doctrine_Import_Builder_Exception("Couldn't write file " . $writePath);
|
||||
}
|
||||
|
||||
Doctrine::loadModel($definition['className'], $writePath);
|
||||
}
|
||||
}
|
||||
|
@ -29,7 +29,7 @@
|
||||
* @link www.phpdoctrine.org
|
||||
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
|
||||
* @version $Revision: 1838 $
|
||||
* @author Nicolas Bérard-Nault <nicobn@gmail.com>
|
||||
* @author Nicolas Bérard-Nault <nicobn@gmail.com>
|
||||
* @author Jonathan H. Wage <jonwage@gmail.com>
|
||||
*/
|
||||
class Doctrine_Import_Schema
|
||||
@ -713,32 +713,4 @@ class Doctrine_Import_Schema
|
||||
}
|
||||
|
||||
/**
|
||||
* _validateSchemaElement
|
||||
*
|
||||
* @param string $name
|
||||
* @param string $value
|
||||
* @return void
|
||||
*/
|
||||
protected function _validateSchemaElement($name, $element, $path)
|
||||
{
|
||||
$element = (array) $element;
|
||||
|
||||
$validation = $this->_validation[$name];
|
||||
|
||||
// Validators are a part of the column validation
|
||||
// This should be fixed, made cleaner
|
||||
if ($name == 'column') {
|
||||
$validators = Doctrine_Manager::getInstance()->getValidators();
|
||||
$validation = array_merge($validation, $validators);
|
||||
}
|
||||
|
||||
$validation = array_flip($validation);
|
||||
foreach ($element as $key => $value) {
|
||||
if ( ! isset($validation[$value])) {
|
||||
throw new Doctrine_Import_Exception(
|
||||
sprintf('Invalid schema element named "' . $value . '" at path "' . $path . '"')
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
* _validateSchem
|
@ -209,8 +209,8 @@ class Doctrine_Inflector
|
||||
chr(226).chr(130).chr(172) => 'E',
|
||||
// GBP (Pound) Sign
|
||||
chr(194).chr(163) => '',
|
||||
'Ä' => 'Ae', 'ä' => 'ae', 'Ü' => 'Ue', 'ü' => 'ue',
|
||||
'Ö' => 'Oe', 'ö' => 'oe', 'ß' => 'ss');
|
||||
'Ã' => 'Ae', 'ä' => 'ae', 'Ã' => 'Ue', 'ü' => 'ue',
|
||||
'Ã' => 'Oe', 'ö' => 'oe', 'Ã' => 'ss');
|
||||
|
||||
$string = strtr($string, $chars);
|
||||
} else {
|
||||
|
@ -997,201 +997,4 @@ class Doctrine_Node_NestedSet extends Doctrine_Node implements Doctrine_Node_Int
|
||||
$componentName = $this->_tree->getBaseComponent();
|
||||
$left = $this->getLeftValue();
|
||||
$right = $this->getRightValue();
|
||||
$rootId = $this->getRootValue();
|
||||
|
||||
$treeSize = $right - $left + 1;
|
||||
|
||||
$conn = $this->record->getTable()->getConnection();
|
||||
try {
|
||||
$conn->beginInternalTransaction();
|
||||
|
||||
// Make room in the new branch
|
||||
$this->shiftRLValues($destLeft, $treeSize, $rootId);
|
||||
|
||||
if ($left >= $destLeft) { // src was shifted too?
|
||||
$left += $treeSize;
|
||||
$right += $treeSize;
|
||||
}
|
||||
|
||||
// update level for descendants
|
||||
$q = new Doctrine_Query();
|
||||
$q = $q->update($componentName)
|
||||
->set($componentName . '.level', $componentName.'.level + ?', array($levelDiff))
|
||||
->where($componentName . '.lft > ? AND ' . $componentName . '.rgt < ?',
|
||||
array($left, $right));
|
||||
$q = $this->_tree->returnQueryWithRootId($q, $rootId);
|
||||
$q->execute();
|
||||
|
||||
// now there's enough room next to target to move the subtree
|
||||
$this->shiftRLRange($left, $right, $destLeft - $left, $rootId);
|
||||
|
||||
// correct values after source (close gap in old tree)
|
||||
$this->shiftRLValues($right + 1, -$treeSize, $rootId);
|
||||
|
||||
$this->record->save();
|
||||
$this->record->refresh();
|
||||
|
||||
$conn->commit();
|
||||
} catch (Exception $e) {
|
||||
$conn->rollback();
|
||||
throw $e;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* adds '$delta' to all Left and Right values that are >= '$first'. '$delta' can also be negative.
|
||||
*
|
||||
* Note: This method does wrap its database queries in a transaction. This should be done
|
||||
* by the invoking code.
|
||||
*
|
||||
* @param int $first First node to be shifted
|
||||
* @param int $delta Value to be shifted by, can be negative
|
||||
*/
|
||||
private function shiftRlValues($first, $delta, $rootId = 1)
|
||||
{
|
||||
$qLeft = new Doctrine_Query();
|
||||
$qRight = new Doctrine_Query();
|
||||
|
||||
// shift left columns
|
||||
$componentName = $this->_tree->getBaseComponent();
|
||||
$qLeft = $qLeft->update($componentName)
|
||||
->set($componentName . '.lft', $componentName.'.lft + ?', $delta)
|
||||
->where($componentName . '.lft >= ?', $first);
|
||||
$qLeft = $this->_tree->returnQueryWithRootId($qLeft, $rootId);
|
||||
|
||||
$resultLeft = $qLeft->execute();
|
||||
|
||||
// shift right columns
|
||||
$qRight = $qRight->update($componentName)
|
||||
->set($componentName . '.rgt', $componentName.'.rgt + ?', $delta)
|
||||
->where($componentName . '.rgt >= ?', $first);
|
||||
|
||||
$qRight = $this->_tree->returnQueryWithRootId($qRight, $rootId);
|
||||
|
||||
$resultRight = $qRight->execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* adds '$delta' to all Left and Right values that are >= '$first' and <= '$last'.
|
||||
* '$delta' can also be negative.
|
||||
*
|
||||
* Note: This method does wrap its database queries in a transaction. This should be done
|
||||
* by the invoking code.
|
||||
*
|
||||
* @param int $first First node to be shifted (L value)
|
||||
* @param int $last Last node to be shifted (L value)
|
||||
* @param int $delta Value to be shifted by, can be negative
|
||||
*/
|
||||
private function shiftRlRange($first, $last, $delta, $rootId = 1)
|
||||
{
|
||||
$qLeft = new Doctrine_Query();
|
||||
$qRight = new Doctrine_Query();
|
||||
|
||||
// shift left column values
|
||||
$componentName = $this->_tree->getBaseComponent();
|
||||
$qLeft = $qLeft->update($componentName)
|
||||
->set($componentName . '.lft', $componentName.'.lft + ?', $delta)
|
||||
->where($componentName . '.lft >= ? AND ' . $componentName . '.lft <= ?', array($first, $last));
|
||||
|
||||
$qLeft = $this->_tree->returnQueryWithRootId($qLeft, $rootId);
|
||||
|
||||
$resultLeft = $qLeft->execute();
|
||||
|
||||
// shift right column values
|
||||
$qRight = $qRight->update($componentName)
|
||||
->set($componentName . '.rgt', $componentName.'.rgt + ?', $delta)
|
||||
->where($componentName . '.rgt >= ? AND ' . $componentName . '.rgt <= ?', array($first, $last));
|
||||
|
||||
$qRight = $this->_tree->returnQueryWithRootId($qRight, $rootId);
|
||||
|
||||
$resultRight = $qRight->execute();
|
||||
}
|
||||
|
||||
/**
|
||||
* gets record's left value
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getLeftValue()
|
||||
{
|
||||
return $this->record->get('lft');
|
||||
}
|
||||
|
||||
/**
|
||||
* sets record's left value
|
||||
*
|
||||
* @param int
|
||||
*/
|
||||
public function setLeftValue($lft)
|
||||
{
|
||||
$this->record->set('lft', $lft);
|
||||
}
|
||||
|
||||
/**
|
||||
* gets record's right value
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getRightValue()
|
||||
{
|
||||
return $this->record->get('rgt');
|
||||
}
|
||||
|
||||
/**
|
||||
* sets record's right value
|
||||
*
|
||||
* @param int
|
||||
*/
|
||||
public function setRightValue($rgt)
|
||||
{
|
||||
$this->record->set('rgt', $rgt);
|
||||
}
|
||||
|
||||
/**
|
||||
* gets level (depth) of node in the tree
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function getLevel()
|
||||
{
|
||||
if ( ! isset($this->record['level'])) {
|
||||
$baseAlias = $this->_tree->getBaseAlias();
|
||||
$componentName = $this->_tree->getBaseComponent();
|
||||
$q = $this->_tree->getBaseQuery();
|
||||
$q = $q->addWhere("$baseAlias.lft < ? AND $baseAlias.rgt > ?", array($this->getLeftValue(), $this->getRightValue()));
|
||||
|
||||
$q = $this->_tree->returnQueryWithRootId($q, $this->getRootValue());
|
||||
|
||||
$coll = $q->execute();
|
||||
|
||||
$this->record['level'] = count($coll) ? count($coll) : 0;
|
||||
}
|
||||
return $this->record['level'];
|
||||
}
|
||||
|
||||
/**
|
||||
* get records root id value
|
||||
*
|
||||
*/
|
||||
public function getRootValue()
|
||||
{
|
||||
if ($this->_tree->getAttribute('hasManyRoots')) {
|
||||
return $this->record->get($this->_tree->getAttribute('rootColumnName'));
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* sets records root id value
|
||||
*
|
||||
* @param int
|
||||
*/
|
||||
public function setRootValue($value)
|
||||
{
|
||||
if ($this->_tree->getAttribute('hasManyRoots')) {
|
||||
$this->record->set($this->_tree->getAttribute('rootColumnName'), $value);
|
||||
}
|
||||
}
|
||||
}
|
||||
$rootId = $this->getRootValue()
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -263,7 +263,7 @@ class Doctrine_Search_Analyzer_Standard extends Doctrine_Search_Analyzer impleme
|
||||
|
||||
public function analyze($text, $encoding = null)
|
||||
{
|
||||
$text = preg_replace('/[\'`´"]/', '', $text);
|
||||
$text = preg_replace('/[\'`´"]/', '', $text);
|
||||
$text = Doctrine_Inflector::unaccent($text);
|
||||
$text = preg_replace('/[^A-Za-z0-9]/', ' ', $text);
|
||||
$text = str_replace(' ', ' ', $text);
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/**
|
||||
* Cache - Gère le cache de la page et des différents fichiers
|
||||
* Cache - Gère le cache de la page et des différents fichiers
|
||||
* @package Cache
|
||||
* @author Michael RICOIS
|
||||
* @copyright Scores&Decisions
|
||||
@ -16,7 +16,7 @@ class Cache {
|
||||
public $disable = FALSE;
|
||||
|
||||
private $maxTime = 2; //heures max en cache
|
||||
private $CacheRefreshHours = 14; //Raffraichir les pages après xx heures
|
||||
private $CacheRefreshHours = 14; //Raffraichir les pages après xx heures
|
||||
|
||||
function __construct(){
|
||||
$this->path = realpath(dirname(__FILE__).'/../cache/');
|
||||
@ -51,7 +51,7 @@ class Cache {
|
||||
$this->create();
|
||||
}
|
||||
}else{
|
||||
//On supprime les fichiers précédement crée pour qu'il soit généré la prochaine fois
|
||||
//On supprime les fichiers précédement crée pour qu'il soit généré la prochaine fois
|
||||
$this->delete();
|
||||
}
|
||||
}
|
||||
|
40
includes/cache/cache.php
vendored
40
includes/cache/cache.php
vendored
@ -1,18 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* Cache - Gère le cache des variables
|
||||
* Cache - Gère le cache des variables
|
||||
* @package Cache
|
||||
* @author Michael RICOIS
|
||||
* @copyright Scores&Decisions
|
||||
*/
|
||||
|
||||
/*
|
||||
Dans une page, on définit des blocs
|
||||
Pour chaque bloc enregistrement d'un fichier (nom de la page avec paramètres)
|
||||
Nom du bloc = tableau sérialisé des variables
|
||||
Dans une page, on définit des blocs
|
||||
Pour chaque bloc enregistrement d'un fichier (nom de la page avec paramètres)
|
||||
Nom du bloc = tableau sérialisé des variables
|
||||
...
|
||||
|
||||
Dans le tableau sérialisé
|
||||
Dans le tableau sérialisé
|
||||
Nom de la valeur utile => valeur
|
||||
...
|
||||
|
||||
@ -26,8 +26,8 @@ define('CACHE_EXT','.tpl');
|
||||
|
||||
/**
|
||||
* Retourne le chemin du fichier avec son extension
|
||||
* Si en argument une chaine de caractère est envoyé alors on définit que c'est le nom du fichier
|
||||
* Sinon le nom du fichier est enregistré en mémoire pour chaque appel
|
||||
* Si en argument une chaine de caractère est envoyé alors on définit que c'est le nom du fichier
|
||||
* Sinon le nom du fichier est enregistré en mémoire pour chaque appel
|
||||
* @return string
|
||||
*/
|
||||
function cache_filename()
|
||||
@ -44,17 +44,17 @@ function cache_filename()
|
||||
}
|
||||
|
||||
/**
|
||||
* Enregistre les données d'un bloc dans le cache
|
||||
* Enregistre les données d'un bloc dans le cache
|
||||
* @param string $block
|
||||
* Le nom du bloc
|
||||
* @param array $array
|
||||
* Le tableau de données (clé => valeur) à stocker sous forme sérialisé
|
||||
* Le tableau de données (clé => valeur) à stocker sous forme sérialisé
|
||||
* @return boolean
|
||||
*/
|
||||
function cache_add($block, $array){
|
||||
//Traitement
|
||||
$array = cache_htmlencode($array);
|
||||
//Ajout des blocs sérialisés
|
||||
//Ajout des blocs sérialisés
|
||||
$file = cache_filename();
|
||||
if($file != ''){
|
||||
$data = $block.' = '.serialize($array);
|
||||
@ -64,7 +64,7 @@ function cache_add($block, $array){
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupére les variables en cache depuis le fichier.
|
||||
* Récupére les variables en cache depuis le fichier.
|
||||
* @return array ou FALSE
|
||||
*/
|
||||
function cache_get($block){
|
||||
@ -90,9 +90,9 @@ function cache_delete(){
|
||||
}
|
||||
|
||||
/**
|
||||
* Vérifie que le fichier est disponible dans le cache
|
||||
* Vérifie que le fichier est disponible dans le cache
|
||||
* @param $file
|
||||
* Chemin vers le fichier que l'on veut vérifier
|
||||
* Chemin vers le fichier que l'on veut vérifier
|
||||
* @return boolean
|
||||
* Retourne TRUE ou FALSE
|
||||
*/
|
||||
@ -102,9 +102,9 @@ function cache_exist(){
|
||||
else return FALSE;
|
||||
}
|
||||
/**
|
||||
* Vérifie si la date de création du fichier de cache est toujours valide
|
||||
* Vérifie si la date de création du fichier de cache est toujours valide
|
||||
* @param $file
|
||||
* Chemin vers le fichier que l'on veut vérifier
|
||||
* Chemin vers le fichier que l'on veut vérifier
|
||||
* @return boolean
|
||||
* Retourne TRUE or FALSE
|
||||
*/
|
||||
@ -120,10 +120,10 @@ function cache_timeover($file){
|
||||
/**
|
||||
* Ecrit une ligne dans un fichier
|
||||
* @param $file
|
||||
* Le chemin du ficher à écrire
|
||||
* Le chemin du ficher à écrire
|
||||
* @param $line
|
||||
* Une chaîne de caractère
|
||||
* @return boolean ou le nombre d'octet écrit
|
||||
* Une chaîne de caractère
|
||||
* @return boolean ou le nombre d'octet écrit
|
||||
*/
|
||||
function cache_writefile($file, $line){
|
||||
$fp = fopen($file,'a');
|
||||
@ -135,9 +135,9 @@ function cache_writefile($file, $line){
|
||||
/**
|
||||
* Lit le fichier de cache ligne par ligne
|
||||
* @param $file
|
||||
* Chemin du fichier à lire
|
||||
* Chemin du fichier à lire
|
||||
* @return array
|
||||
* Retourne un tableau de valeur ou FALSE si le fichier n'a pu être trouvé
|
||||
* Retourne un tableau de valeur ou FALSE si le fichier n'a pu être trouvé
|
||||
*/
|
||||
function cache_readfile($file){
|
||||
global $firephp;
|
||||
|
@ -1,50 +1,50 @@
|
||||
<?php
|
||||
$tabFoncDir=array( 'ADM'=>'Administrateur',
|
||||
'ANC'=>'Ancien dirigeant',
|
||||
'ASS'=>'Associé',
|
||||
'COA'=>'Co-associé',
|
||||
'ASS'=>'Associé',
|
||||
'COA'=>'Co-associé',
|
||||
'COC'=>'Co-commissaire aux comptes',
|
||||
'COG'=>'Co-gérant',
|
||||
'COG'=>'Co-gérant',
|
||||
'COM'=>'Commissaire au comptes',
|
||||
'CON'=>'Controleur de gestion',
|
||||
'COS'=>'Commissaire aux comptes suppléants',
|
||||
'DID'=>'Directeur Général Délégué',
|
||||
'COS'=>'Commissaire aux comptes suppléants',
|
||||
'DID'=>'Directeur Général Délégué',
|
||||
'DIR'=>'Directeur',
|
||||
'FON'=>'Fondé de pouvoir',
|
||||
'GER'=>'Gérant',
|
||||
'GRT'=>'Gérant',
|
||||
'GTE'=>'Gérante',
|
||||
'FON'=>'Fondé de pouvoir',
|
||||
'GER'=>'Gérant',
|
||||
'GRT'=>'Gérant',
|
||||
'GTE'=>'Gérante',
|
||||
'MEM'=>'Membre du conseil d\'administration ou de surveillance',
|
||||
'PCS'=>'Président du conseil de surveillance',
|
||||
'PDG'=>'Président directeur général',
|
||||
'PRD'=>'Président du directoire',
|
||||
'PRE'=>'Président du conseil d\'administration',
|
||||
'REP'=>'Représentant au conseil d\'administration',
|
||||
'PCS'=>'Président du conseil de surveillance',
|
||||
'PDG'=>'Président directeur général',
|
||||
'PRD'=>'Président du directoire',
|
||||
'PRE'=>'Président du conseil d\'administration',
|
||||
'REP'=>'Représentant au conseil d\'administration',
|
||||
'RES'=>'Responsable en FRANCE',
|
||||
'VIC'=>'Vice-président conseil d\'administration ou desurveillance',
|
||||
'VIC'=>'Vice-président conseil d\'administration ou desurveillance',
|
||||
'PP'=>'Personne Physique',
|
||||
'PPE'=>'Personne ayant pouvoir d\'engager la société',
|
||||
'PPE'=>'Personne ayant pouvoir d\'engager la société',
|
||||
);
|
||||
|
||||
$tabSiege = array(0=>'établissement secondaire',
|
||||
1=>'établissement siège',
|
||||
$tabSiege = array(0=>'établissement secondaire',
|
||||
1=>'établissement siège',
|
||||
);
|
||||
|
||||
$tabSaisonalite=array( 0=>'Activité permanente',
|
||||
1=>'Activité saisonnière',);
|
||||
$tabSaisonalite=array( 0=>'Activité permanente',
|
||||
1=>'Activité saisonnière',);
|
||||
|
||||
$tabAuxiliarite=array(0=>'productif',
|
||||
1=>'auxiliaire (exerce une activité de service pour le compte de l\'entreprise)',
|
||||
9=>'non siège inscrit au répertoire des métiers');
|
||||
1=>'auxiliaire (exerce une activité de service pour le compte de l\'entreprise)',
|
||||
9=>'non siège inscrit au répertoire des métiers');
|
||||
|
||||
$tabMODE=array(0=>'Activité simple',
|
||||
1=>'montage et installation d\'équipements industriels',
|
||||
2=>'maintenance et réparation d\'équipements industriels',
|
||||
3=>'conception et commercialisation d\équipements fabriqués par des sous-traitants');
|
||||
$tabMODE=array(0=>'Activité simple',
|
||||
1=>'montage et installation d\'équipements industriels',
|
||||
2=>'maintenance et réparation d\'équipements industriels',
|
||||
3=>'conception et commercialisation d\équipements fabriqués par des sous-traitants');
|
||||
|
||||
$tabTypeVoie = array (
|
||||
'AL'=>'Allée',
|
||||
'ALL'=>'Allée',
|
||||
'AL'=>'Allée',
|
||||
'ALL'=>'Allée',
|
||||
'AV'=>'Avenue',
|
||||
'AVE'=>'Avenue',
|
||||
'AVN'=>'Avenue',
|
||||
@ -52,15 +52,15 @@ $tabTypeVoie = array (
|
||||
'BLD'=>'Boulevard',
|
||||
'CAR'=>'Carrefour',
|
||||
'CC'=>'Chemin communal',
|
||||
'CD'=>'Chemin départemental',
|
||||
'CD'=>'Chemin départemental',
|
||||
'C'=>'Cours',
|
||||
'CRS'=>'Cours',
|
||||
'CH'=>'Chemin',
|
||||
'CHE'=>'Chemin',
|
||||
'CHS'=>'Chaussée',
|
||||
'CHA'=>'Chaussée',
|
||||
'CI'=>'Cité',
|
||||
'CIT'=>'Cité',
|
||||
'CHS'=>'Chaussée',
|
||||
'CHA'=>'Chaussée',
|
||||
'CI'=>'Cité',
|
||||
'CIT'=>'Cité',
|
||||
'COR'=>'Corniche',
|
||||
'CR'=>'Chemin rural',
|
||||
'DSC'=>'Descente',
|
||||
@ -77,9 +77,9 @@ $tabTypeVoie = array (
|
||||
'L D'=>'Lieu dit',
|
||||
'LDT'=>'Lieu dit',
|
||||
'LOT'=>'Lotissement',
|
||||
'MAR'=>'Marché',
|
||||
'MTE'=>'Montée',
|
||||
'MON'=>'Montée',
|
||||
'MAR'=>'Marché',
|
||||
'MTE'=>'Montée',
|
||||
'MON'=>'Montée',
|
||||
'N'=>'Route Nationale',
|
||||
'PRV'=>'Parvis',
|
||||
'PAS'=>'Passage',
|
||||
@ -96,7 +96,7 @@ $tabTypeVoie = array (
|
||||
'QU'=>'Quai',
|
||||
'R'=>'Rue',
|
||||
'RUE'=>'Rue',
|
||||
'RES'=>'Résidence',
|
||||
'RES'=>'Résidence',
|
||||
'ROC'=>'Rocade',
|
||||
'RP'=>'Rond Point',
|
||||
'RPT'=>'Rond Point',
|
||||
@ -109,26 +109,26 @@ $tabTypeVoie = array (
|
||||
'TP'=>'Terre-plein',
|
||||
'VLA'=>'Villa',
|
||||
'VC'=>'Voie communale',
|
||||
'ZA'=>'Zone d\'activités', // Rajouté car trouvé
|
||||
'ZAC'=>'Zone d\'activités et de commerce', // Rajouté car trouvé
|
||||
'ZAE'=>'Zone d\'activités', // Rajouté car trouvé
|
||||
'ZI'=>'Zone industrielle'); // Rajouté car trouvé
|
||||
'ZA'=>'Zone d\'activités', // Rajouté car trouvé
|
||||
'ZAC'=>'Zone d\'activités et de commerce', // Rajouté car trouvé
|
||||
'ZAE'=>'Zone d\'activités', // Rajouté car trouvé
|
||||
'ZI'=>'Zone industrielle'); // Rajouté car trouvé
|
||||
|
||||
/**Nature d'établissements*/
|
||||
$tabNature = array( '20'=>'Petit magasin (moins de 300m²)',
|
||||
'21'=>'Magasin (de 300m² à 400m²)',
|
||||
'22'=>'Grande surface (de 400 à 2500m²)',
|
||||
'23'=>'Très grande surface (plus de 2500m²)',
|
||||
'91'=>'Base d\'activité sur chantiers',
|
||||
'92'=>'Base d\'activité sur marchés',
|
||||
'93'=>'Base d\'activité en clientèle',
|
||||
/**Nature d'établissements*/
|
||||
$tabNature = array( '20'=>'Petit magasin (moins de 300m²)',
|
||||
'21'=>'Magasin (de 300m² à 400m²)',
|
||||
'22'=>'Grande surface (de 400 à 2500m²)',
|
||||
'23'=>'Très grande surface (plus de 2500m²)',
|
||||
'91'=>'Base d\'activité sur chantiers',
|
||||
'92'=>'Base d\'activité sur marchés',
|
||||
'93'=>'Base d\'activité en clientèle',
|
||||
'99'=>'Autre');
|
||||
|
||||
/**Régions du code officiel géographique*/
|
||||
/**Régions du code officiel géographique*/
|
||||
$tabRegion = array( '1'=>'Guadeloupe',
|
||||
'2'=>'Martinique',
|
||||
'3'=>'Guyane',
|
||||
'4'=>'Réunion',
|
||||
'4'=>'Réunion',
|
||||
'11'=>'Ile-de-France',
|
||||
'21'=>'Champagne-Ardenne',
|
||||
'22'=>'Picardie',
|
||||
@ -139,25 +139,25 @@ $tabRegion = array( '1'=>'Guadeloupe',
|
||||
'31'=>'Nord-Pas-de-Calais',
|
||||
'41'=>'Lorraine',
|
||||
'42'=>'Alsace',
|
||||
'43'=>'Franche-Comté',
|
||||
'43'=>'Franche-Comté',
|
||||
'52'=>'Pays de la Loire',
|
||||
'53'=>'Bretagne',
|
||||
'54'=>'Poitou-Charentes',
|
||||
'72'=>'Aquitaine',
|
||||
'73'=>'Midi-Pyrénées',
|
||||
'73'=>'Midi-Pyrénées',
|
||||
'74'=>'Limousin',
|
||||
'82'=>'Rhône-Alpes',
|
||||
'82'=>'Rhône-Alpes',
|
||||
'83'=>'Auvergne',
|
||||
'91'=>'Languedoc-Roussillon',
|
||||
'93'=>'Provence Alpes Côte d Azur',
|
||||
'93'=>'Provence Alpes Côte d Azur',
|
||||
'94'=>'Corse',
|
||||
'98'=>'Territoire d outre-mer (TOM)',
|
||||
'99'=>'Etranger');
|
||||
|
||||
/**Tranches de Chiffre d'Affaires INSEE*/
|
||||
$tabTCA = array('0'=>'inconnu',
|
||||
'1'=>'moins de 150.000 €',
|
||||
'2'=>'entre 150.000 et 750.000 €',
|
||||
'1'=>'moins de 150.000 ',
|
||||
'2'=>'entre 150.000 et 750.000 ',
|
||||
'3'=>'entre 750.000 et 1,5 millions d\'Euro',
|
||||
'4'=>'entre 1,5 et 7,5 millions d\'Euro',
|
||||
'5'=>'entre 7,5 et 15 millions d\'Euro',
|
||||
@ -171,96 +171,96 @@ $tabTCAX = array('0'=>'rien',
|
||||
'3'=>'entre 25 et 50%',
|
||||
'4'=>'plus de 50%');
|
||||
|
||||
/**Tranche d'habitants de commune détaillée*/
|
||||
/**Tranche d'habitants de commune détaillée*/
|
||||
$tabTCD=array( '1'=>'moins de 50 habitants',
|
||||
'2'=>'de 50 à 99 habitants',
|
||||
'3'=>'de 100 à 149 habitants',
|
||||
'4'=>'de 150 à 199 habitants',
|
||||
'5'=>'de 200 à 249 habitants',
|
||||
'6'=>'de 250 à 299 habitants',
|
||||
'7'=>'de 300 à 399 habitants',
|
||||
'8'=>'de 400 à 499 habitants',
|
||||
'11'=>'de 500 à 699 habitants',
|
||||
'12'=>'de 700 à 999 habitants',
|
||||
'13'=>'de 1000 à 1499 habitants',
|
||||
'14'=>'de 1500 à 1999 habitants',
|
||||
'15'=>'de 2000 à 2499 habitants',
|
||||
'16'=>'de 2500 à 2999 habitants',
|
||||
'17'=>'de 3000 à 3999 habitants',
|
||||
'18'=>'de 4000 à 4999 habitants',
|
||||
'21'=>'de 5 000 à 6 999 habitants',
|
||||
'22'=>'de 7 000 à 9 999 habitants',
|
||||
'31'=>'de 10 000 à 14 999 habitants',
|
||||
'32'=>'de 15 000 à 19 999 habitants',
|
||||
'41'=>'de 20 000 à 24 999 habitants',
|
||||
'42'=>'de 25 000 à 29 999 habitants',
|
||||
'43'=>'de 30 000 à 39 999 habitants',
|
||||
'44'=>'de 40 000 à 49 999 habitants',
|
||||
'51'=>'de 50 000 à 69 999 habitants',
|
||||
'52'=>'de 70 000 à 99 999 habitants',
|
||||
'61'=>'de 100 000 à 149 999 habitants',
|
||||
'62'=>'de 150 000 à 199 999 habitants',
|
||||
'71'=>'de 200 000 à 299 999 habitants',
|
||||
'72'=>'de 300 000 à 499 999 habitants',
|
||||
'73'=>'de 500 000 à 1 499 999 habitants',
|
||||
'2'=>'de 50 à 99 habitants',
|
||||
'3'=>'de 100 à 149 habitants',
|
||||
'4'=>'de 150 à 199 habitants',
|
||||
'5'=>'de 200 à 249 habitants',
|
||||
'6'=>'de 250 à 299 habitants',
|
||||
'7'=>'de 300 à 399 habitants',
|
||||
'8'=>'de 400 à 499 habitants',
|
||||
'11'=>'de 500 à 699 habitants',
|
||||
'12'=>'de 700 à 999 habitants',
|
||||
'13'=>'de 1000 à 1499 habitants',
|
||||
'14'=>'de 1500 à 1999 habitants',
|
||||
'15'=>'de 2000 à 2499 habitants',
|
||||
'16'=>'de 2500 à 2999 habitants',
|
||||
'17'=>'de 3000 à 3999 habitants',
|
||||
'18'=>'de 4000 à 4999 habitants',
|
||||
'21'=>'de 5 000 à 6 999 habitants',
|
||||
'22'=>'de 7 000 à 9 999 habitants',
|
||||
'31'=>'de 10 000 à 14 999 habitants',
|
||||
'32'=>'de 15 000 à 19 999 habitants',
|
||||
'41'=>'de 20 000 à 24 999 habitants',
|
||||
'42'=>'de 25 000 à 29 999 habitants',
|
||||
'43'=>'de 30 000 à 39 999 habitants',
|
||||
'44'=>'de 40 000 à 49 999 habitants',
|
||||
'51'=>'de 50 000 à 69 999 habitants',
|
||||
'52'=>'de 70 000 à 99 999 habitants',
|
||||
'61'=>'de 100 000 à 149 999 habitants',
|
||||
'62'=>'de 150 000 à 199 999 habitants',
|
||||
'71'=>'de 200 000 à 299 999 habitants',
|
||||
'72'=>'de 300 000 à 499 999 habitants',
|
||||
'73'=>'de 500 000 à 1 499 999 habitants',
|
||||
'80'=>'plus de 1 500 000 habitants');
|
||||
|
||||
/**Taille des unités urbaines*/
|
||||
/**Taille des unités urbaines*/
|
||||
$tabTU=array( '0'=>'commune rurale',
|
||||
'1'=>'unité urbaine de moins de 5 000 habitants',
|
||||
'2'=>'unité urbaine de 5 000 à 9 999 habitants',
|
||||
'3'=>'unité urbaine de 10 000 à 19 999 habitants',
|
||||
'4'=>'unité urbaine de 20 000 à 49 999 habitants',
|
||||
'5'=>'unité urbaine de 50 000 à 99 999 habitants',
|
||||
'6'=>'unité urbaine de 100 000 à 199 999 habitants',
|
||||
'7'=>'unité urbaine de 200 000 à 1 999 999 habitants',
|
||||
'8'=>'agglomération de Paris',
|
||||
'1'=>'unité urbaine de moins de 5 000 habitants',
|
||||
'2'=>'unité urbaine de 5 000 à 9 999 habitants',
|
||||
'3'=>'unité urbaine de 10 000 à 19 999 habitants',
|
||||
'4'=>'unité urbaine de 20 000 à 49 999 habitants',
|
||||
'5'=>'unité urbaine de 50 000 à 99 999 habitants',
|
||||
'6'=>'unité urbaine de 100 000 à 199 999 habitants',
|
||||
'7'=>'unité urbaine de 200 000 à 1 999 999 habitants',
|
||||
'8'=>'agglomération de Paris',
|
||||
);
|
||||
/**Tranches d'effectifs INSEE*/
|
||||
$tabEffectif=array('0'=>'0 salarié',
|
||||
'1'=>'de 1 à 2 salarié(s)',
|
||||
'2'=>'de 3 à 5 salariés',
|
||||
'3'=>'de 6 à 9 salariés',
|
||||
'11'=>'de 10 à 19 salariés',
|
||||
'12'=>'de 20 à 49 salariés',
|
||||
'21'=>'de 50 à 99 salariés',
|
||||
'22'=>'de 100 à 199 salariés',
|
||||
'31'=>'de 200 à 249 salariés',
|
||||
'32'=>'de 250 à 499 salariés',
|
||||
'41'=>'de 500 à 999 salariés',
|
||||
'42'=>'de 1000 à 1999 salariés',
|
||||
'51'=>'de 2000 à 4999 salariés',
|
||||
'52'=>'plus de 5000 salariés');
|
||||
$tabEffectif=array('0'=>'0 salarié',
|
||||
'1'=>'de 1 à 2 salarié(s)',
|
||||
'2'=>'de 3 à 5 salariés',
|
||||
'3'=>'de 6 à 9 salariés',
|
||||
'11'=>'de 10 à 19 salariés',
|
||||
'12'=>'de 20 à 49 salariés',
|
||||
'21'=>'de 50 à 99 salariés',
|
||||
'22'=>'de 100 à 199 salariés',
|
||||
'31'=>'de 200 à 249 salariés',
|
||||
'32'=>'de 250 à 499 salariés',
|
||||
'41'=>'de 500 à 999 salariés',
|
||||
'42'=>'de 1000 à 1999 salariés',
|
||||
'51'=>'de 2000 à 4999 salariés',
|
||||
'52'=>'plus de 5000 salariés');
|
||||
|
||||
/**Libellé des singularités INSEE*/
|
||||
$tabSingularite=array('1'=>'Propriétaire Exploitant direct',
|
||||
'2'=>'Locataire Gérant',
|
||||
/**Libellé des singularités INSEE*/
|
||||
$tabSingularite=array('1'=>'Propriétaire Exploitant direct',
|
||||
'2'=>'Locataire Gérant',
|
||||
'10'=>'Loueur de fonds',
|
||||
'30'=>'Unité singulière de première espèce: avocats assocés, stations services sous mandat..',
|
||||
'31'=>'Associé d\'exploitation en commun; ce groupe comprend notamment: associé de société de fait, associé d\'indivision',
|
||||
'33'=>'Employeur non exploitant: prestataire de personnel, gérant mandataire',
|
||||
'34'=>'Membre d\'une société civile professionnelle',
|
||||
'40'=>'Siège d\'une unité SIREN de droit privé sans activité',
|
||||
'41'=>'Siège d\'un organisme public sans activité',
|
||||
'42'=>'Siège d\'un établissement public local non doté de l\'autonomie comptable: une partie des centres communaux d\'action sociale, une partie des caisses des écoles',
|
||||
'43'=>'Sièges de domiciliation',
|
||||
'30'=>'Unité singulière de première espèce: avocats assocés, stations services sous mandat..',
|
||||
'31'=>'Associé d\'exploitation en commun; ce groupe comprend notamment: associé de société de fait, associé d\'indivision',
|
||||
'33'=>'Employeur non exploitant: prestataire de personnel, gérant mandataire',
|
||||
'34'=>'Membre d\'une société civile professionnelle',
|
||||
'40'=>'Siège d\'une unité SIREN de droit privé sans activité',
|
||||
'41'=>'Siège d\'un organisme public sans activité',
|
||||
'42'=>'Siège d\'un établissement public local non doté de l\'autonomie comptable: une partie des centres communaux d\'action sociale, une partie des caisses des écoles',
|
||||
'43'=>'Sièges de domiciliation',
|
||||
'52'=>'Sans domicile fixe',
|
||||
'60'=>'Activité occasionnelle ou accessoire: Expert auprès des tribunaux, médecin, infirmier, pharmacien remplçant, avocat stagiaire, sportif amateur',
|
||||
'70'=>'Activité en location (autre que le fond de commerce): Exploitant de terrain de camping, location de garage ou parking, locations de meublés, location de terres agricoles',
|
||||
'80'=>'Gestion immobilière de biens propres: syndicats de copropriétaires',
|
||||
'90'=>'Unité singulière de seconde espèce: établissement d\'une entreprise installée à Monaco, siège à l\'etranger de sociétés, associé gérant de sociétés');
|
||||
'60'=>'Activité occasionnelle ou accessoire: Expert auprès des tribunaux, médecin, infirmier, pharmacien remplçant, avocat stagiaire, sportif amateur',
|
||||
'70'=>'Activité en location (autre que le fond de commerce): Exploitant de terrain de camping, location de garage ou parking, locations de meublés, location de terres agricoles',
|
||||
'80'=>'Gestion immobilière de biens propres: syndicats de copropriétaires',
|
||||
'90'=>'Unité singulière de seconde espèce: établissement d\'une entreprise installée à Monaco, siège à l\'etranger de sociétés, associé gérant de sociétés');
|
||||
|
||||
/**Libellé des origines de création INSEE*/
|
||||
$tabOrigine=array( '0'=>'non renseigné',
|
||||
' '=>'non renseigné',
|
||||
''=>'non renseigné',
|
||||
'1'=>'Création pure',
|
||||
'2'=>'Réinstallation après transfert',
|
||||
/**Libellé des origines de création INSEE*/
|
||||
$tabOrigine=array( '0'=>'non renseigné',
|
||||
' '=>'non renseigné',
|
||||
''=>'non renseigné',
|
||||
'1'=>'Création pure',
|
||||
'2'=>'Réinstallation après transfert',
|
||||
'3'=>'Achat',
|
||||
'4'=>'Donation',
|
||||
'5'=>'Reprise au conjoint ou apport reçu',
|
||||
'6'=>'Reprise à un locataire gérant',
|
||||
'7'=>'Prise en location-gérance',
|
||||
'8'=>'Autre modalité d\'acquisition auprés d\'une autre unité SIREN');
|
||||
'5'=>'Reprise au conjoint ou apport reçu',
|
||||
'6'=>'Reprise à un locataire gérant',
|
||||
'7'=>'Prise en location-gérance',
|
||||
'8'=>'Autre modalité d\'acquisition auprés d\'une autre unité SIREN');
|
||||
|
||||
?>
|
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/**
|
||||
* Fonction globale récupérant le microtime de la machine en format float.
|
||||
* @return float Valeur courante du microtime() de la machine en format décimal
|
||||
* Fonction globale récupérant le microtime de la machine en format float.
|
||||
* @return float Valeur courante du microtime() de la machine en format décimal
|
||||
*/
|
||||
function getmicrotime(){
|
||||
list($usec, $sec) = explode (' ', microtime());
|
||||
|
@ -2,7 +2,7 @@
|
||||
// Include XML_Serializer
|
||||
require_once('XML/Serializer.php');
|
||||
/**
|
||||
* Export - Gère les différents format d'exportation
|
||||
* Export - Gère les différents format d'exportation
|
||||
* @package export
|
||||
* @author Michael RICOIS
|
||||
* @copyright Scores&Decisions
|
||||
@ -69,7 +69,7 @@ class ExportCSV {
|
||||
}
|
||||
|
||||
/**
|
||||
* Ecrit un fichier csv à partir d'un tableau.
|
||||
* Ecrit un fichier csv à partir d'un tableau.
|
||||
* @param string $fileName
|
||||
* @param array $records
|
||||
* @param string $delimiter
|
||||
@ -161,7 +161,7 @@ class tabExport {
|
||||
if(array_key_exists($key, $this->type)){
|
||||
switch($this->type[$key]){
|
||||
case 'date':
|
||||
//Test des différents formats de value
|
||||
//Test des différents formats de value
|
||||
|
||||
break;
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ define('GRAYDON_WSDL', realpath(dirname(__FILE__)).'/GraydonCompanyData.wsdl');
|
||||
define('USER_PROFILE','SESS38R7');
|
||||
define('PASSWORD','E88MSU4');
|
||||
|
||||
//Delai de mise à jour des informations
|
||||
//Delai de mise à jour des informations
|
||||
define('UPDATE_MATCHIDENTIFIERS' , 0);
|
||||
define('UPDATE_PRODUCTS' , 0);
|
||||
define('UPDATE_COUNTRYAVAILABILITY' , 0);
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/**
|
||||
* Graydon Error - Gère les erreurs renvoyé par le webservice graydon
|
||||
* Graydon Error - Gère les erreurs renvoyé par le webservice graydon
|
||||
* @package GraydonError
|
||||
* @author Michael RICOIS
|
||||
* @copyright Scores&Decisions
|
||||
@ -9,7 +9,7 @@
|
||||
require_once 'phpmailer/class.phpmailer.php';
|
||||
|
||||
/**
|
||||
* Recupère les erreurs SOAP et les traite.
|
||||
* Recupère les erreurs SOAP et les traite.
|
||||
* @param string $lastRequest
|
||||
* @param string $lastResponse
|
||||
* @param array $fault
|
||||
@ -48,7 +48,7 @@ function graydon_processSoapFault($clientSoap, $fault, $tabInfo, $debug = FALSE)
|
||||
* @return string
|
||||
*/
|
||||
function graydon_messageSoapFault(){
|
||||
(defined('ERROR_SOAP')) ? ($message = ERROR_SOAP) : ($message = "Une erreur est survenue lors de votre requête") ;
|
||||
(defined('ERROR_SOAP')) ? ($message = ERROR_SOAP) : ($message = "Une erreur est survenue lors de votre requête") ;
|
||||
return $message;
|
||||
}
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
//Contient les Numéros d'identifiant
|
||||
//Contient les Numéros d'identifiant
|
||||
function dIdentifiant($tab){
|
||||
$tab = $tab['Company']['Subject'][0]['CompanyId'];
|
||||
print '<table>';
|
||||
@ -10,26 +10,26 @@ function dIdentifiant($tab){
|
||||
print '</table>';
|
||||
}
|
||||
|
||||
//Contient l'identité de l'entreprise
|
||||
//Contient l'identité de l'entreprise
|
||||
function dIdentite($tab){
|
||||
print '<table>';
|
||||
//Affichage raison sociale
|
||||
if($tab['Company']['Subject'][0]['Name']){ printRow('Raison Sociale', $tab['Company']['Subject'][0]['Name']); }
|
||||
//Affichage autres noms
|
||||
if($tab['Name']['Trade']){ printRow('Enseigne', $tab['Name']['Trade']); }
|
||||
//Affichage Forme légale
|
||||
//Affichage Forme légale
|
||||
foreach($tab['LegalForm'] as $name => $forme){
|
||||
switch($name){
|
||||
case "Current" :
|
||||
printRow('Forme légale', $forme);
|
||||
printRow('Forme légale', $forme);
|
||||
break;
|
||||
case "Previous" :
|
||||
printRow('Forme légale précédente', $forme);
|
||||
printRow('Forme légale précédente', $forme);
|
||||
break;
|
||||
}
|
||||
}
|
||||
//Afficage date
|
||||
if($tab['Company']['Subject'][0]['Date']['Age_of_Company']){ printRow('Date de Création', $tab['Company']['Subject'][0]['Date']['Age_of_Company']); }
|
||||
if($tab['Company']['Subject'][0]['Date']['Age_of_Company']){ printRow('Date de Création', $tab['Company']['Subject'][0]['Date']['Age_of_Company']); }
|
||||
|
||||
//Affichage adresses
|
||||
$typeAddress = array('Registered', 'Trading', 'Previous Trading');
|
||||
@ -45,7 +45,7 @@ function dIdentite($tab){
|
||||
printRow('Adresse commerciale', $currentAddress);
|
||||
break;
|
||||
case "Previous Trading" :
|
||||
printRow('Adresse commerciale précédente', $currentAddress);
|
||||
printRow('Adresse commerciale précédente', $currentAddress);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -56,7 +56,7 @@ function dIdentite($tab){
|
||||
foreach($tab['Communication'] as $name => $value){
|
||||
switch($name){
|
||||
case "Telephone" :
|
||||
printRow('Téléphone', $value);
|
||||
printRow('Téléphone', $value);
|
||||
break;
|
||||
case "Fax" :
|
||||
printRow('Fax', $value);
|
||||
@ -67,7 +67,7 @@ function dIdentite($tab){
|
||||
print '</table>';
|
||||
}
|
||||
|
||||
//Contient l'activité
|
||||
//Contient l'activité
|
||||
function dActivite($tab){
|
||||
print '<table>';
|
||||
//Code NACE
|
||||
@ -78,14 +78,14 @@ function dActivite($tab){
|
||||
$activite.= $item['Code'].' - '.$item['Value'].'<br/>';
|
||||
}
|
||||
}
|
||||
if($activite) printRow('Activité', $activite);
|
||||
if($activite) printRow('Activité', $activite);
|
||||
}
|
||||
if($tab['Text']['Activities']){
|
||||
$text = '';
|
||||
foreach($tab['Text']['Activities'] as $item){
|
||||
$text.= $item.'<br/>';
|
||||
}
|
||||
printRow('', '<b><u>Informations complémentaires:</u></b><br/>'.$text);
|
||||
printRow('', '<b><u>Informations complémentaires:</u></b><br/>'.$text);
|
||||
}
|
||||
//Effectif
|
||||
if($tab['Employees']['Staff_Employed']){
|
||||
@ -122,7 +122,7 @@ function dCredit($tab){
|
||||
printRow('Score actuel', $tab['CreditRating']['Credit_Score']['Value']);
|
||||
}
|
||||
if($tab['CreditRating']['Previous_Credit_Score']){
|
||||
printRow('Score précédent', $tab['CreditRating']['Previous_Credit_Score']['Value']);
|
||||
printRow('Score précédent', $tab['CreditRating']['Previous_Credit_Score']['Value']);
|
||||
}
|
||||
if($tab['CreditRating']['Credit_Score']['Text']['Credit_Score_Description']){
|
||||
printRow('', '<b><u>Description :</u></b><br/>'.$tab['CreditRating']['Credit_Score']['Text']['Credit_Score_Description']);
|
||||
@ -194,7 +194,7 @@ function dBilans($tab){
|
||||
foreach($tab['AccountItem'] as $kAccount => $account){
|
||||
print '<div class="bilans">'.$kAccount.'</div>';
|
||||
print '<span class="bilans"> The following figures are shown in units of '.$account['Units'].'</span>';
|
||||
//Entête du tableau
|
||||
//Entête du tableau
|
||||
print '<table class="bilans">';
|
||||
print '<thead><tr>';
|
||||
print '<th> </th>';
|
||||
|
@ -25,7 +25,7 @@ function parseReportXML($xml)
|
||||
$query = '/GraydonUKCompanySchema/CompanyReportPage/CompanyReport';
|
||||
$report = $xpath->query($query);
|
||||
|
||||
//Liste des elements à parser
|
||||
//Liste des elements à parser
|
||||
$elements = array( 'Company', 'Name', 'Address', 'Communication', 'Country', 'Credit_Rating',
|
||||
'Date', 'DirectorsDetail', 'Employees', 'Financial_Summary', 'Legal_Form',
|
||||
'Share_CapitalSummary', 'Taxonomy', 'FreeText', 'AccountItem'
|
||||
|
@ -5,14 +5,14 @@ require_once 'log.php';
|
||||
define('GRAYDON_LOGFILE',PATH_LOGS.'graydon-requetes.log');
|
||||
|
||||
/**
|
||||
* Enregistre chaque appel de méthode graydon dans un fichier
|
||||
* Enregistre chaque appel de méthode graydon dans un fichier
|
||||
*
|
||||
* @param string $login
|
||||
* Login de l'utilisateur
|
||||
* @param string $page
|
||||
* Nom de la page
|
||||
* @param string $requete
|
||||
* Requête Graydon effectué
|
||||
* Requête Graydon effectué
|
||||
* @param string $transactionIdentifier
|
||||
* Identifiant de transaction Graydon
|
||||
* @param string $sessionIdentifier
|
||||
|
@ -10,7 +10,7 @@ function getCompanyMatchIdentifiers($pays)
|
||||
{
|
||||
global $page, $mode, $firephp, $graydon, $authentication;
|
||||
|
||||
$firephp->info('Méthode getCompanyMatchIdentifiers');
|
||||
$firephp->info('Méthode getCompanyMatchIdentifiers');
|
||||
|
||||
setDbConn('graydon');
|
||||
$q = Doctrine_Query::create()
|
||||
@ -23,7 +23,7 @@ function getCompanyMatchIdentifiers($pays)
|
||||
/** Recup des types d'identifiants pour le pays **/
|
||||
if($matchidentifiers == FALSE)
|
||||
{
|
||||
//Récupération des intitulés identifiant
|
||||
//Récupération des intitulés identifiant
|
||||
$request = new StdClass();
|
||||
$request->Authentication_Parameters = $authentication;
|
||||
$request->Country = $pays;
|
||||
@ -48,7 +48,7 @@ function getCompanyMatchIdentifiers($pays)
|
||||
|
||||
$tabIdentifiers = $result->CompanyMatchIdentifiers->CompanyMatchIdentifier[0]->CompanyIdentifier;
|
||||
|
||||
//Stockage du résultat de la méthode en cache
|
||||
//Stockage du résultat de la méthode en cache
|
||||
$matchidentifiers = new Matchidentifiers();
|
||||
$matchidentifiers->country = $pays;
|
||||
$matchidentifiers->identifiers = serialize($tabIdentifiers);
|
||||
@ -61,7 +61,7 @@ function getCompanyMatchIdentifiers($pays)
|
||||
require_once 'graydon/graydon_error.php';
|
||||
if(graydon_error($code, $text)!=FALSE){
|
||||
if($code=='CWS0112'){
|
||||
//Stockage du résultat de la méthode en cache
|
||||
//Stockage du résultat de la méthode en cache
|
||||
$matchidentifiers = new Matchidentifiers();
|
||||
$matchidentifiers->country = $pays;
|
||||
$matchidentifiers->identifiers = serialize('noidentifiers');
|
||||
@ -319,7 +319,7 @@ function getCountryAvailability($pays)
|
||||
|
||||
$availability = $result->CountryAvailablity->CountryAndProduct[0]->Products->Product;
|
||||
|
||||
//Stockage du résultat de la méthode en cache
|
||||
//Stockage du résultat de la méthode en cache
|
||||
$countryavailability = new Countryavailability();
|
||||
$countryavailability->country = $pays;
|
||||
$countryavailability->availability = serialize($availability);
|
||||
@ -381,7 +381,7 @@ function getCompanyMatchMethods($pays)
|
||||
|
||||
$methods = $result->CompanyMatchMethods->CompanyMatchMethod[0]->MatchMethods->MatchMethod;
|
||||
|
||||
//Stockage du résultat de la méthode en cache
|
||||
//Stockage du résultat de la méthode en cache
|
||||
$matchmethods = new Matchmethods();
|
||||
$matchmethods->country = $pays;
|
||||
$matchmethods->methods = serialize($methods);
|
||||
@ -394,7 +394,7 @@ function getCompanyMatchMethods($pays)
|
||||
require_once 'graydon/graydon_error.php';
|
||||
if(graydon_error($code, $text)!=FALSE){
|
||||
if($code=='CWS0112'){
|
||||
//Stockage du résultat de la méthode en cache
|
||||
//Stockage du résultat de la méthode en cache
|
||||
$matchmethods = new Matchmethods();
|
||||
$matchmethods->country = $pays;
|
||||
$matchmethods->methods = serialize('nomethods');
|
||||
@ -477,7 +477,7 @@ function getIdentite($identifier, $CompanyProductIdentifier, $file, $format = 'x
|
||||
$firephp->log($mailcommandes,'dataCommandes');
|
||||
$commandes_id = $commandes->id;
|
||||
|
||||
//Pas d'enregistrement des détails de la commande car elle est immédiate
|
||||
//Pas d'enregistrement des détails de la commande car elle est immédiate
|
||||
|
||||
//Envoi d'un mail pour le passage de la commande
|
||||
require_once 'phpmailer/class.phpmailer.php';
|
||||
@ -487,7 +487,7 @@ function getIdentite($identifier, $CompanyProductIdentifier, $file, $format = 'x
|
||||
$mail->Host = "mail.scores-decisions.com";
|
||||
$mail->Mailer = "smtp";
|
||||
$mail->Subject = "[International] - (Date :".date("d")."/".date("m")."/".date("Y").") - Commandes";
|
||||
$body = "Commande effectué par ".$_SESSION['tabInfo']['login']."\n";
|
||||
$body = "Commande effectué par ".$_SESSION['tabInfo']['login']."\n";
|
||||
$body .= $mailcommandes;
|
||||
$mail->MsgHTML($body);
|
||||
$mail->AddAddress(EMAIL_SUPPORTDEV, "Support");
|
||||
@ -507,12 +507,12 @@ function getIdentite($identifier, $CompanyProductIdentifier, $file, $format = 'x
|
||||
}
|
||||
}
|
||||
|
||||
//On vérifie l'état de le demande
|
||||
//On vérifie l'état de le demande
|
||||
if (isset($placeOrderResult) && $placeOrderResult->OrderStatus->OrderState == 'Completed')
|
||||
{
|
||||
$request = new StdClass();
|
||||
$request->Authentication_Parameters = $authentication;
|
||||
$request->LanguageCode = 'E'; //Spécifier la langue du rapport
|
||||
$request->LanguageCode = 'E'; //Spécifier la langue du rapport
|
||||
$request->OrderReference = $placeOrderResult->OrderStatus->OrderReference;
|
||||
$request->MimeType = $format;
|
||||
try
|
||||
@ -602,7 +602,7 @@ function setEnquete($pays){
|
||||
$firephp->log($commandes->toArray(),'dataCommandes');
|
||||
$commandes_id = $commandes->id;
|
||||
|
||||
//Enregistrement des détails de la commande
|
||||
//Enregistrement des détails de la commande
|
||||
$commandesDetail = new CommandesDetail();
|
||||
$commandesDetail->dIdentite = $_REQUEST['InfoUser']['Identite'];
|
||||
$commandesDetail->dTelephone = $_REQUEST['InfoUser']['Tel'];
|
||||
@ -697,8 +697,8 @@ function setEnquete($pays){
|
||||
$firephp->log($commandes->toArray(),'dataCommandes');
|
||||
$commandes_id = $commandes->id;
|
||||
|
||||
//Enregistrement des détails de la commande
|
||||
//Déjà fait avant le passage de la commande chez graydon
|
||||
//Enregistrement des détails de la commande
|
||||
//Déjà fait avant le passage de la commande chez graydon
|
||||
|
||||
//Envoi d'un mail pour le passage de la commande
|
||||
require_once 'phpmailer/class.phpmailer.php';
|
||||
@ -708,7 +708,7 @@ function setEnquete($pays){
|
||||
$mail->Host = "mail.scores-decisions.com";
|
||||
$mail->Mailer = "smtp";
|
||||
$mail->Subject = "[International] - Commande - (Date :".date("d")."/".date("m")."/".date("Y").")";
|
||||
$body = "Commande effectué par ".$_SESSION['tabInfo']['login'].", ref : ".$commandes->reference;
|
||||
$body = "Commande effectué par ".$_SESSION['tabInfo']['login'].", ref : ".$commandes->reference;
|
||||
$body .= " ";
|
||||
$mail->MsgHTML($body);
|
||||
$mail->AddAddress(EMAIL_SUPPORTDEV, "Support");
|
||||
@ -732,7 +732,7 @@ function setEnquete($pays){
|
||||
$mail->Host = "mail.scores-decisions.com";
|
||||
$mail->Mailer = "smtp";
|
||||
$mail->Subject = "[International] - Commande Erreur - (Date :".date("d")."/".date("m")."/".date("Y").")";
|
||||
$body = "Commande effectué par ".$_SESSION['tabInfo']['login'].", identifiant : ".$commandes_id;
|
||||
$body = "Commande effectué par ".$_SESSION['tabInfo']['login'].", identifiant : ".$commandes_id;
|
||||
$body .= " ";
|
||||
$mail->MsgHTML($body);
|
||||
$mail->AddAddress(EMAIL_SUPPORTDEV, "Support");
|
||||
|
@ -132,7 +132,7 @@ function pxmlAddress($query){
|
||||
foreach ($items as $item){
|
||||
$type = $item->getAttribute('Type');
|
||||
if($type !='' ){ $index = $type; }else{$index = $countAddress;}
|
||||
//Liste des elements à parser
|
||||
//Liste des elements à parser
|
||||
$elements = array('EntireAddress', 'Building', 'Street', 'Town', 'City', 'County', 'PostCode', 'Country');
|
||||
foreach($elements as $elementName){
|
||||
if($emelmentName == 'Country'){
|
||||
@ -251,7 +251,7 @@ function pxmlDirectorsDetail($query){
|
||||
if($title !='' ){ $tab[$count]['Title'] = $title; }
|
||||
$nationality = $item->getAttribute('Nationality');
|
||||
if($nationality !='' ){ $tab[$count]['Nationality'] = $nationality; }
|
||||
//Traitement des éléments
|
||||
//Traitement des éléments
|
||||
$name = pxmlName($query.'['.($count+1).']/Name');
|
||||
if ($name) $tab[$count]['Name'] = $name;
|
||||
$address = pxmlAddress($query.'['.($count+1).']/Address');
|
||||
@ -448,7 +448,7 @@ function pxmlAccountingPeriod($query){
|
||||
$count = 0;
|
||||
foreach ($items as $AccountingPeriod){
|
||||
$item = $AccountingPeriod->getAttribute('Item');
|
||||
//@todo : Intégrer avec la fonction de parsing de la date
|
||||
//@todo : Intégrer avec la fonction de parsing de la date
|
||||
$date = $AccountingPeriod->getElementsByTagName('Date')->item(0)->nodeValue;
|
||||
$currency = $AccountingPeriod->getElementsByTagName('Currency')->item(0)->nodeValue;
|
||||
$tab[$item]['Date'] = $date;
|
||||
|
@ -1268,467 +1268,4 @@ function _parsepng($file)
|
||||
if($type=='PLTE')
|
||||
{
|
||||
//Read palette
|
||||
$pal=$this->_readstream($f,$n);
|
||||
$this->_readstream($f,4);
|
||||
}
|
||||
elseif($type=='tRNS')
|
||||
{
|
||||
//Read transparency info
|
||||
$t=$this->_readstream($f,$n);
|
||||
if($ct==0)
|
||||
$trns=array(ord(substr($t,1,1)));
|
||||
elseif($ct==2)
|
||||
$trns=array(ord(substr($t,1,1)), ord(substr($t,3,1)), ord(substr($t,5,1)));
|
||||
else
|
||||
{
|
||||
$pos=strpos($t,chr(0));
|
||||
if($pos!==false)
|
||||
$trns=array($pos);
|
||||
}
|
||||
$this->_readstream($f,4);
|
||||
}
|
||||
elseif($type=='IDAT')
|
||||
{
|
||||
//Read image data block
|
||||
$data.=$this->_readstream($f,$n);
|
||||
$this->_readstream($f,4);
|
||||
}
|
||||
elseif($type=='IEND')
|
||||
break;
|
||||
else
|
||||
$this->_readstream($f,$n+4);
|
||||
}
|
||||
while($n);
|
||||
if($colspace=='Indexed' && empty($pal))
|
||||
$this->Error('Missing palette in '.$file);
|
||||
fclose($f);
|
||||
return array('w'=>$w, 'h'=>$h, 'cs'=>$colspace, 'bpc'=>$bpc, 'f'=>'FlateDecode', 'parms'=>$parms, 'pal'=>$pal, 'trns'=>$trns, 'data'=>$data);
|
||||
}
|
||||
|
||||
function _readstream($f, $n)
|
||||
{
|
||||
//Read n bytes from stream
|
||||
$res='';
|
||||
while($n>0 && !feof($f))
|
||||
{
|
||||
$s=fread($f,$n);
|
||||
if($s===false)
|
||||
$this->Error('Error while reading stream');
|
||||
$n-=strlen($s);
|
||||
$res.=$s;
|
||||
}
|
||||
if($n>0)
|
||||
$this->Error('Unexpected end of stream');
|
||||
return $res;
|
||||
}
|
||||
|
||||
function _readint($f)
|
||||
{
|
||||
//Read a 4-byte integer from stream
|
||||
$a=unpack('Ni',$this->_readstream($f,4));
|
||||
return $a['i'];
|
||||
}
|
||||
|
||||
function _parsegif($file)
|
||||
{
|
||||
//Extract info from a GIF file (via PNG conversion)
|
||||
if(!function_exists('imagepng'))
|
||||
$this->Error('GD extension is required for GIF support');
|
||||
if(!function_exists('imagecreatefromgif'))
|
||||
$this->Error('GD has no GIF read support');
|
||||
$im=imagecreatefromgif($file);
|
||||
if(!$im)
|
||||
$this->Error('Missing or incorrect image file: '.$file);
|
||||
imageinterlace($im,0);
|
||||
$tmp=tempnam('.','gif');
|
||||
if(!$tmp)
|
||||
$this->Error('Unable to create a temporary file');
|
||||
if(!imagepng($im,$tmp))
|
||||
$this->Error('Error while saving to temporary file');
|
||||
imagedestroy($im);
|
||||
$info=$this->_parsepng($tmp);
|
||||
unlink($tmp);
|
||||
return $info;
|
||||
}
|
||||
|
||||
function _newobj()
|
||||
{
|
||||
//Begin a new object
|
||||
$this->n++;
|
||||
$this->offsets[$this->n]=strlen($this->buffer);
|
||||
$this->_out($this->n.' 0 obj');
|
||||
}
|
||||
|
||||
function _putstream($s)
|
||||
{
|
||||
$this->_out('stream');
|
||||
$this->_out($s);
|
||||
$this->_out('endstream');
|
||||
}
|
||||
|
||||
function _out($s)
|
||||
{
|
||||
//Add a line to the document
|
||||
if($this->state==2)
|
||||
$this->pages[$this->page].=$s."\n";
|
||||
else
|
||||
$this->buffer.=$s."\n";
|
||||
}
|
||||
|
||||
function _putpages()
|
||||
{
|
||||
$nb=$this->page;
|
||||
if(!empty($this->AliasNbPages))
|
||||
{
|
||||
//Replace number of pages
|
||||
for($n=1;$n<=$nb;$n++)
|
||||
$this->pages[$n]=str_replace($this->AliasNbPages,$nb,$this->pages[$n]);
|
||||
}
|
||||
if($this->DefOrientation=='P')
|
||||
{
|
||||
$wPt=$this->DefPageFormat[0]*$this->k;
|
||||
$hPt=$this->DefPageFormat[1]*$this->k;
|
||||
}
|
||||
else
|
||||
{
|
||||
$wPt=$this->DefPageFormat[1]*$this->k;
|
||||
$hPt=$this->DefPageFormat[0]*$this->k;
|
||||
}
|
||||
$filter=($this->compress) ? '/Filter /FlateDecode ' : '';
|
||||
for($n=1;$n<=$nb;$n++)
|
||||
{
|
||||
//Page
|
||||
$this->_newobj();
|
||||
$this->_out('<</Type /Page');
|
||||
$this->_out('/Parent 1 0 R');
|
||||
if(isset($this->PageSizes[$n]))
|
||||
$this->_out(sprintf('/MediaBox [0 0 %.2F %.2F]',$this->PageSizes[$n][0],$this->PageSizes[$n][1]));
|
||||
$this->_out('/Resources 2 0 R');
|
||||
if(isset($this->PageLinks[$n]))
|
||||
{
|
||||
//Links
|
||||
$annots='/Annots [';
|
||||
foreach($this->PageLinks[$n] as $pl)
|
||||
{
|
||||
$rect=sprintf('%.2F %.2F %.2F %.2F',$pl[0],$pl[1],$pl[0]+$pl[2],$pl[1]-$pl[3]);
|
||||
$annots.='<</Type /Annot /Subtype /Link /Rect ['.$rect.'] /Border [0 0 0] ';
|
||||
if(is_string($pl[4]))
|
||||
$annots.='/A <</S /URI /URI '.$this->_textstring($pl[4]).'>>>>';
|
||||
else
|
||||
{
|
||||
$l=$this->links[$pl[4]];
|
||||
$h=isset($this->PageSizes[$l[0]]) ? $this->PageSizes[$l[0]][1] : $hPt;
|
||||
$annots.=sprintf('/Dest [%d 0 R /XYZ 0 %.2F null]>>',1+2*$l[0],$h-$l[1]*$this->k);
|
||||
}
|
||||
}
|
||||
$this->_out($annots.']');
|
||||
}
|
||||
$this->_out('/Contents '.($this->n+1).' 0 R>>');
|
||||
$this->_out('endobj');
|
||||
//Page content
|
||||
$p=($this->compress) ? gzcompress($this->pages[$n]) : $this->pages[$n];
|
||||
$this->_newobj();
|
||||
$this->_out('<<'.$filter.'/Length '.strlen($p).'>>');
|
||||
$this->_putstream($p);
|
||||
$this->_out('endobj');
|
||||
}
|
||||
//Pages root
|
||||
$this->offsets[1]=strlen($this->buffer);
|
||||
$this->_out('1 0 obj');
|
||||
$this->_out('<</Type /Pages');
|
||||
$kids='/Kids [';
|
||||
for($i=0;$i<$nb;$i++)
|
||||
$kids.=(3+2*$i).' 0 R ';
|
||||
$this->_out($kids.']');
|
||||
$this->_out('/Count '.$nb);
|
||||
$this->_out(sprintf('/MediaBox [0 0 %.2F %.2F]',$wPt,$hPt));
|
||||
$this->_out('>>');
|
||||
$this->_out('endobj');
|
||||
}
|
||||
|
||||
function _putfonts()
|
||||
{
|
||||
$nf=$this->n;
|
||||
foreach($this->diffs as $diff)
|
||||
{
|
||||
//Encodings
|
||||
$this->_newobj();
|
||||
$this->_out('<</Type /Encoding /BaseEncoding /WinAnsiEncoding /Differences ['.$diff.']>>');
|
||||
$this->_out('endobj');
|
||||
}
|
||||
foreach($this->FontFiles as $file=>$info)
|
||||
{
|
||||
//Font file embedding
|
||||
$this->_newobj();
|
||||
$this->FontFiles[$file]['n']=$this->n;
|
||||
$font='';
|
||||
$f=fopen($this->_getfontpath().$file,'rb',1);
|
||||
if(!$f)
|
||||
$this->Error('Font file not found');
|
||||
while(!feof($f))
|
||||
$font.=fread($f,8192);
|
||||
fclose($f);
|
||||
$compressed=(substr($file,-2)=='.z');
|
||||
if(!$compressed && isset($info['length2']))
|
||||
{
|
||||
$header=(ord($font[0])==128);
|
||||
if($header)
|
||||
{
|
||||
//Strip first binary header
|
||||
$font=substr($font,6);
|
||||
}
|
||||
if($header && ord($font[$info['length1']])==128)
|
||||
{
|
||||
//Strip second binary header
|
||||
$font=substr($font,0,$info['length1']).substr($font,$info['length1']+6);
|
||||
}
|
||||
}
|
||||
$this->_out('<</Length '.strlen($font));
|
||||
if($compressed)
|
||||
$this->_out('/Filter /FlateDecode');
|
||||
$this->_out('/Length1 '.$info['length1']);
|
||||
if(isset($info['length2']))
|
||||
$this->_out('/Length2 '.$info['length2'].' /Length3 0');
|
||||
$this->_out('>>');
|
||||
$this->_putstream($font);
|
||||
$this->_out('endobj');
|
||||
}
|
||||
foreach($this->fonts as $k=>$font)
|
||||
{
|
||||
//Font objects
|
||||
$this->fonts[$k]['n']=$this->n+1;
|
||||
$type=$font['type'];
|
||||
$name=$font['name'];
|
||||
if($type=='core')
|
||||
{
|
||||
//Standard font
|
||||
$this->_newobj();
|
||||
$this->_out('<</Type /Font');
|
||||
$this->_out('/BaseFont /'.$name);
|
||||
$this->_out('/Subtype /Type1');
|
||||
if($name!='Symbol' && $name!='ZapfDingbats')
|
||||
$this->_out('/Encoding /WinAnsiEncoding');
|
||||
$this->_out('>>');
|
||||
$this->_out('endobj');
|
||||
}
|
||||
elseif($type=='Type1' || $type=='TrueType')
|
||||
{
|
||||
//Additional Type1 or TrueType font
|
||||
$this->_newobj();
|
||||
$this->_out('<</Type /Font');
|
||||
$this->_out('/BaseFont /'.$name);
|
||||
$this->_out('/Subtype /'.$type);
|
||||
$this->_out('/FirstChar 32 /LastChar 255');
|
||||
$this->_out('/Widths '.($this->n+1).' 0 R');
|
||||
$this->_out('/FontDescriptor '.($this->n+2).' 0 R');
|
||||
if($font['enc'])
|
||||
{
|
||||
if(isset($font['diff']))
|
||||
$this->_out('/Encoding '.($nf+$font['diff']).' 0 R');
|
||||
else
|
||||
$this->_out('/Encoding /WinAnsiEncoding');
|
||||
}
|
||||
$this->_out('>>');
|
||||
$this->_out('endobj');
|
||||
//Widths
|
||||
$this->_newobj();
|
||||
$cw=&$font['cw'];
|
||||
$s='[';
|
||||
for($i=32;$i<=255;$i++)
|
||||
$s.=$cw[chr($i)].' ';
|
||||
$this->_out($s.']');
|
||||
$this->_out('endobj');
|
||||
//Descriptor
|
||||
$this->_newobj();
|
||||
$s='<</Type /FontDescriptor /FontName /'.$name;
|
||||
foreach($font['desc'] as $k=>$v)
|
||||
$s.=' /'.$k.' '.$v;
|
||||
$file=$font['file'];
|
||||
if($file)
|
||||
$s.=' /FontFile'.($type=='Type1' ? '' : '2').' '.$this->FontFiles[$file]['n'].' 0 R';
|
||||
$this->_out($s.'>>');
|
||||
$this->_out('endobj');
|
||||
}
|
||||
else
|
||||
{
|
||||
//Allow for additional types
|
||||
$mtd='_put'.strtolower($type);
|
||||
if(!method_exists($this,$mtd))
|
||||
$this->Error('Unsupported font type: '.$type);
|
||||
$this->$mtd($font);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function _putimages()
|
||||
{
|
||||
$filter=($this->compress) ? '/Filter /FlateDecode ' : '';
|
||||
reset($this->images);
|
||||
while(list($file,$info)=each($this->images))
|
||||
{
|
||||
$this->_newobj();
|
||||
$this->images[$file]['n']=$this->n;
|
||||
$this->_out('<</Type /XObject');
|
||||
$this->_out('/Subtype /Image');
|
||||
$this->_out('/Width '.$info['w']);
|
||||
$this->_out('/Height '.$info['h']);
|
||||
if($info['cs']=='Indexed')
|
||||
$this->_out('/ColorSpace [/Indexed /DeviceRGB '.(strlen($info['pal'])/3-1).' '.($this->n+1).' 0 R]');
|
||||
else
|
||||
{
|
||||
$this->_out('/ColorSpace /'.$info['cs']);
|
||||
if($info['cs']=='DeviceCMYK')
|
||||
$this->_out('/Decode [1 0 1 0 1 0 1 0]');
|
||||
}
|
||||
$this->_out('/BitsPerComponent '.$info['bpc']);
|
||||
if(isset($info['f']))
|
||||
$this->_out('/Filter /'.$info['f']);
|
||||
if(isset($info['parms']))
|
||||
$this->_out($info['parms']);
|
||||
if(isset($info['trns']) && is_array($info['trns']))
|
||||
{
|
||||
$trns='';
|
||||
for($i=0;$i<count($info['trns']);$i++)
|
||||
$trns.=$info['trns'][$i].' '.$info['trns'][$i].' ';
|
||||
$this->_out('/Mask ['.$trns.']');
|
||||
}
|
||||
$this->_out('/Length '.strlen($info['data']).'>>');
|
||||
$this->_putstream($info['data']);
|
||||
unset($this->images[$file]['data']);
|
||||
$this->_out('endobj');
|
||||
//Palette
|
||||
if($info['cs']=='Indexed')
|
||||
{
|
||||
$this->_newobj();
|
||||
$pal=($this->compress) ? gzcompress($info['pal']) : $info['pal'];
|
||||
$this->_out('<<'.$filter.'/Length '.strlen($pal).'>>');
|
||||
$this->_putstream($pal);
|
||||
$this->_out('endobj');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function _putxobjectdict()
|
||||
{
|
||||
foreach($this->images as $image)
|
||||
$this->_out('/I'.$image['i'].' '.$image['n'].' 0 R');
|
||||
}
|
||||
|
||||
function _putresourcedict()
|
||||
{
|
||||
$this->_out('/ProcSet [/PDF /Text /ImageB /ImageC /ImageI]');
|
||||
$this->_out('/Font <<');
|
||||
foreach($this->fonts as $font)
|
||||
$this->_out('/F'.$font['i'].' '.$font['n'].' 0 R');
|
||||
$this->_out('>>');
|
||||
$this->_out('/XObject <<');
|
||||
$this->_putxobjectdict();
|
||||
$this->_out('>>');
|
||||
}
|
||||
|
||||
function _putresources()
|
||||
{
|
||||
$this->_putfonts();
|
||||
$this->_putimages();
|
||||
//Resource dictionary
|
||||
$this->offsets[2]=strlen($this->buffer);
|
||||
$this->_out('2 0 obj');
|
||||
$this->_out('<<');
|
||||
$this->_putresourcedict();
|
||||
$this->_out('>>');
|
||||
$this->_out('endobj');
|
||||
}
|
||||
|
||||
function _putinfo()
|
||||
{
|
||||
$this->_out('/Producer '.$this->_textstring('FPDF '.FPDF_VERSION));
|
||||
if(!empty($this->title))
|
||||
$this->_out('/Title '.$this->_textstring($this->title));
|
||||
if(!empty($this->subject))
|
||||
$this->_out('/Subject '.$this->_textstring($this->subject));
|
||||
if(!empty($this->author))
|
||||
$this->_out('/Author '.$this->_textstring($this->author));
|
||||
if(!empty($this->keywords))
|
||||
$this->_out('/Keywords '.$this->_textstring($this->keywords));
|
||||
if(!empty($this->creator))
|
||||
$this->_out('/Creator '.$this->_textstring($this->creator));
|
||||
$this->_out('/CreationDate '.$this->_textstring('D:'.@date('YmdHis')));
|
||||
}
|
||||
|
||||
function _putcatalog()
|
||||
{
|
||||
$this->_out('/Type /Catalog');
|
||||
$this->_out('/Pages 1 0 R');
|
||||
if($this->ZoomMode=='fullpage')
|
||||
$this->_out('/OpenAction [3 0 R /Fit]');
|
||||
elseif($this->ZoomMode=='fullwidth')
|
||||
$this->_out('/OpenAction [3 0 R /FitH null]');
|
||||
elseif($this->ZoomMode=='real')
|
||||
$this->_out('/OpenAction [3 0 R /XYZ null null 1]');
|
||||
elseif(!is_string($this->ZoomMode))
|
||||
$this->_out('/OpenAction [3 0 R /XYZ null null '.($this->ZoomMode/100).']');
|
||||
if($this->LayoutMode=='single')
|
||||
$this->_out('/PageLayout /SinglePage');
|
||||
elseif($this->LayoutMode=='continuous')
|
||||
$this->_out('/PageLayout /OneColumn');
|
||||
elseif($this->LayoutMode=='two')
|
||||
$this->_out('/PageLayout /TwoColumnLeft');
|
||||
}
|
||||
|
||||
function _putheader()
|
||||
{
|
||||
$this->_out('%PDF-'.$this->PDFVersion);
|
||||
}
|
||||
|
||||
function _puttrailer()
|
||||
{
|
||||
$this->_out('/Size '.($this->n+1));
|
||||
$this->_out('/Root '.$this->n.' 0 R');
|
||||
$this->_out('/Info '.($this->n-1).' 0 R');
|
||||
}
|
||||
|
||||
function _enddoc()
|
||||
{
|
||||
$this->_putheader();
|
||||
$this->_putpages();
|
||||
$this->_putresources();
|
||||
//Info
|
||||
$this->_newobj();
|
||||
$this->_out('<<');
|
||||
$this->_putinfo();
|
||||
$this->_out('>>');
|
||||
$this->_out('endobj');
|
||||
//Catalog
|
||||
$this->_newobj();
|
||||
$this->_out('<<');
|
||||
$this->_putcatalog();
|
||||
$this->_out('>>');
|
||||
$this->_out('endobj');
|
||||
//Cross-ref
|
||||
$o=strlen($this->buffer);
|
||||
$this->_out('xref');
|
||||
$this->_out('0 '.($this->n+1));
|
||||
$this->_out('0000000000 65535 f ');
|
||||
for($i=1;$i<=$this->n;$i++)
|
||||
$this->_out(sprintf('%010d 00000 n ',$this->offsets[$i]));
|
||||
//Trailer
|
||||
$this->_out('trailer');
|
||||
$this->_out('<<');
|
||||
$this->_puttrailer();
|
||||
$this->_out('>>');
|
||||
$this->_out('startxref');
|
||||
$this->_out($o);
|
||||
$this->_out('%%EOF');
|
||||
$this->state=3;
|
||||
}
|
||||
//End of class
|
||||
}
|
||||
|
||||
//Handle special IE contype request
|
||||
if(isset($_SERVER['HTTP_USER_AGENT']) && $_SERVER['HTTP_USER_AGENT']=='contype')
|
||||
{
|
||||
header('Content-Type: application/pdf');
|
||||
exit;
|
||||
}
|
||||
|
||||
?>
|
||||
$pal=$this->_readstrea
|
@ -3,7 +3,7 @@
|
||||
* Logiciel : HTML2PDF - classe FPDF_Formulaire
|
||||
*
|
||||
* permet la gestion de champs de formulaire dans un PDF
|
||||
* Inspiré des sources de http://fpdf.org/fr/script/script36.php et http://fpdf.org/fr/script/script40.php
|
||||
* Inspiré des sources de http://fpdf.org/fr/script/script36.php et http://fpdf.org/fr/script/script40.php
|
||||
*
|
||||
* @author Laurent MINGUET <webmaster@spipu.net>
|
||||
*/
|
||||
@ -17,8 +17,8 @@ if (!defined('__CLASS_FPDF_FORMULAIRE__'))
|
||||
class FPDF_Formulaire extends FPDF_BookMark
|
||||
{
|
||||
var $javascript = ''; //javascript code
|
||||
var $n_js; //numéro de l'objet javascript
|
||||
var $n_cata; //numéro de l'objet catalogue
|
||||
var $n_js; //numéro de l'objet javascript
|
||||
var $n_cata; //numéro de l'objet catalogue
|
||||
var $ur; //
|
||||
|
||||
function FPDF_Formulaire($orientation='P',$unit='mm',$format='A4')
|
||||
@ -71,7 +71,7 @@ if (!defined('__CLASS_FPDF_FORMULAIRE__'))
|
||||
/*
|
||||
* Create a javascript PDF string.
|
||||
* @access protected
|
||||
* @author Johannes Güntert, Nicola Asuni
|
||||
* @author Johannes Güntert, Nicola Asuni
|
||||
*/
|
||||
function _putjavascript()
|
||||
{
|
||||
|
@ -4,28 +4,28 @@
|
||||
*
|
||||
* @author Klemen Vodopivec
|
||||
*
|
||||
* Ce script permet de protéger le PDF, c'est-à-dire empêcher l'utilisateur de copier son contenu, de l'imprimer ou de le modifier.
|
||||
* Ce script permet de protéger le PDF, c'est-à-dire empêcher l'utilisateur de copier son contenu, de l'imprimer ou de le modifier.
|
||||
*
|
||||
* SetProtection([array permissions [, string user_pass [, string owner_pass]]])
|
||||
*
|
||||
* permissions : l'ensemble des permissions. Vide par défaut (seule la lecture est autorisée).
|
||||
* user_pass : mot de passe utilisateur. Vide par défaut.
|
||||
* owner_pass : mot de passe propriétaire. Par défaut, une valeur aléatoire est choisie.
|
||||
* permissions : l'ensemble des permissions. Vide par défaut (seule la lecture est autorisée).
|
||||
* user_pass : mot de passe utilisateur. Vide par défaut.
|
||||
* owner_pass : mot de passe propriétaire. Par défaut, une valeur aléatoire est choisie.
|
||||
*
|
||||
* Le tableau des permissions est composé de valeurs prises parmi les suivantes :
|
||||
* Le tableau des permissions est composé de valeurs prises parmi les suivantes :
|
||||
* * copy : copie du texte et des images dans le presse-papier
|
||||
* * print : impression du document
|
||||
* * modify : modification (autre ques les annotations et les formulaires)
|
||||
* * annot-forms : ajout d'annotations ou de formulaires
|
||||
*
|
||||
* Remarque : la protection contre la modification concerne les personnes possédant la version complète d'Acrobat.
|
||||
* Remarque : la protection contre la modification concerne les personnes possédant la version complète d'Acrobat.
|
||||
*
|
||||
* Si vous ne spécifiez pas de mot de passe, le document s'ouvrira normalement. Si vous indiquez un mot de passe utilisateur,
|
||||
* le lecteur de PDF le demandera avant d'afficher le document. Le mot de passe propriétaire, s'il est différent de celui utilisateur,
|
||||
* permet d'obtenir l'accès complet.
|
||||
* Si vous ne spécifiez pas de mot de passe, le document s'ouvrira normalement. Si vous indiquez un mot de passe utilisateur,
|
||||
* le lecteur de PDF le demandera avant d'afficher le document. Le mot de passe propriétaire, s'il est différent de celui utilisateur,
|
||||
* permet d'obtenir l'accès complet.
|
||||
*
|
||||
* Note : protéger un document nécessite de le crypter, ce qui augmente le temps de traitement de manière importante.
|
||||
* Cela peut dans certains cas entraîner un time-out au niveau de PHP, en particulier si le document contient des
|
||||
* Note : protéger un document nécessite de le crypter, ce qui augmente le temps de traitement de manière importante.
|
||||
* Cela peut dans certains cas entraîner un time-out au niveau de PHP, en particulier si le document contient des
|
||||
* images ou des polices.
|
||||
************************************************************************/
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
* Logiciel : HTML2PDF - classe MyPDF
|
||||
*
|
||||
* Convertisseur HTML => PDF, utilise fpdf de Olivier PLATHEY
|
||||
* Distribué sous la licence LGPL.
|
||||
* Distribué sous la licence LGPL.
|
||||
*
|
||||
* @author Laurent MINGUET <webmaster@spipu.net>
|
||||
* @version 3.22a - 15/06/2009
|
||||
@ -72,7 +72,7 @@ if (!defined('__CLASS_MYPDF__'))
|
||||
}
|
||||
}
|
||||
|
||||
// redéfinition de la fonction Image de FPDF afin de rajouter la gestion des fichiers PHP
|
||||
// redéfinition de la fonction Image de FPDF afin de rajouter la gestion des fichiers PHP
|
||||
function Image($file, $x=null, $y=null, $w=0, $h=0, $type='', $link='')
|
||||
{
|
||||
//Put an image on the page
|
||||
@ -182,7 +182,7 @@ if (!defined('__CLASS_MYPDF__'))
|
||||
$this->linethrough = $value;
|
||||
}
|
||||
|
||||
// redéfinition de la methode Text de FPDF afin de rajouter la gestion des overline et linethrough
|
||||
// redéfinition de la methode Text de FPDF afin de rajouter la gestion des overline et linethrough
|
||||
function Text($x, $y, $txt)
|
||||
{
|
||||
//Output a string
|
||||
@ -202,7 +202,7 @@ if (!defined('__CLASS_MYPDF__'))
|
||||
$this->_out($s);
|
||||
}
|
||||
|
||||
// redéfinition de la methode Cell de FPDF afin de rajouter la gestion des overline et linethrough
|
||||
// redéfinition de la methode Cell de FPDF afin de rajouter la gestion des overline et linethrough
|
||||
function Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=false, $link='')
|
||||
{
|
||||
//Output a cell
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -3,7 +3,7 @@
|
||||
* Logiciel : HTML2PDF - classe ParsingHTML
|
||||
*
|
||||
* Convertisseur HTML => PDF, utilise fpdf de Olivier PLATHEY
|
||||
* Distribué sous la licence LGPL.
|
||||
* Distribué sous la licence LGPL.
|
||||
*
|
||||
* @author Laurent MINGUET <webmaster@spipu.net>
|
||||
* @version 3.22a - 15/06/2009
|
||||
@ -15,9 +15,9 @@ if (!defined('__CLASS_PARSINGHTML__'))
|
||||
|
||||
class parsingHTML
|
||||
{
|
||||
var $html = ''; // code HTML à parser
|
||||
var $code = array(); // code HTML parsé
|
||||
var $num = 0; // numéro de table
|
||||
var $html = ''; // code HTML à parser
|
||||
var $code = array(); // code HTML parsé
|
||||
var $num = 0; // numéro de table
|
||||
var $level = 0; // niveaux de table
|
||||
|
||||
/**
|
||||
@ -34,7 +34,7 @@ if (!defined('__CLASS_PARSINGHTML__'))
|
||||
}
|
||||
|
||||
/**
|
||||
* Définir le code HTML à parser
|
||||
* Définir le code HTML à parser
|
||||
*
|
||||
* @param string code html
|
||||
* @return null
|
||||
@ -53,14 +53,14 @@ if (!defined('__CLASS_PARSINGHTML__'))
|
||||
function parse()
|
||||
{
|
||||
$parents = array();
|
||||
// récupérer le code à parser
|
||||
// récupérer le code à parser
|
||||
$content = $this->html;
|
||||
|
||||
// chercher les balises HTML du code
|
||||
$tmp = array();
|
||||
$this->searchCode($content, $tmp);
|
||||
|
||||
// identifier les balises une à une
|
||||
// identifier les balises une à une
|
||||
$pre_in = false;
|
||||
$pre_br = array(
|
||||
'name' => 'br',
|
||||
@ -142,7 +142,7 @@ if (!defined('__CLASS_PARSINGHTML__'))
|
||||
}
|
||||
}
|
||||
|
||||
// pour chaque action identifiée, il faut nettoyer le début et la fin des textes
|
||||
// pour chaque action identifiée, il faut nettoyer le début et la fin des textes
|
||||
// en fonction des balises qui l'entourent.
|
||||
$nb = count($todos);
|
||||
for($k=0; $k<$nb; $k++)
|
||||
@ -150,43 +150,43 @@ if (!defined('__CLASS_PARSINGHTML__'))
|
||||
//si c'est un texte
|
||||
if ($todos[$k]['name']=='write')
|
||||
{
|
||||
// et qu'une balise spécifique le précède => on nettoye les espaces du début du texte
|
||||
// et qu'une balise spécifique le précède => on nettoye les espaces du début du texte
|
||||
if ($k>0 && in_array($todos[$k-1]['name'], array('table', 'tr', 'td', 'th', 'br', 'div', 'hr', 'p', 'ul', 'ol', 'li')))
|
||||
$todos[$k]['param']['txt'] = preg_replace('/^([\s]*)([^\s])/isU', '$2', $todos[$k]['param']['txt']);
|
||||
|
||||
// et qu'une balise spécifique le suit => on nettoye les espaces de la fin du texte
|
||||
// et qu'une balise spécifique le suit => on nettoye les espaces de la fin du texte
|
||||
if ($k<count($todos)-1 && in_array($todos[$k+1]['name'], array('table', 'tr', 'td', 'th', 'br', 'div', 'hr', 'p', 'ol', 'ul', 'li')))
|
||||
$todos[$k]['param']['txt'] = preg_replace('/([^\s])([\s]*)$/isU', '$1', $todos[$k]['param']['txt']);
|
||||
}
|
||||
}
|
||||
if (count($parents)) HTML2PDF::makeError(5, __FILE__, __LINE__, $parents);
|
||||
|
||||
// liste des actions sauvée
|
||||
// liste des actions sauvée
|
||||
$this->code = $todos;
|
||||
}
|
||||
|
||||
/**
|
||||
* parser le code HTML
|
||||
*
|
||||
* @param string contenu à parser.
|
||||
* @param &array tableau de retour des données
|
||||
* @param string contenu à parser.
|
||||
* @param &array tableau de retour des données
|
||||
* @return null
|
||||
*/
|
||||
function searchCode($content, &$tmp)
|
||||
{
|
||||
// séparer les balises du texte
|
||||
// séparer les balises du texte
|
||||
$tmp = array();
|
||||
$reg = '/(<[^>]+>)|([^<]+)+/isU';
|
||||
|
||||
// pour chaque élément trouvé :
|
||||
// pour chaque élément trouvé :
|
||||
$str = '';
|
||||
$offset = 0;
|
||||
while(preg_match($reg, $content, $parse, PREG_OFFSET_CAPTURE, $offset))
|
||||
{
|
||||
// si une balise a été détectée
|
||||
// si une balise a été détectée
|
||||
if ($parse[1][0])
|
||||
{
|
||||
// sauvegarde du texte précédent si il existe
|
||||
// sauvegarde du texte précédent si il existe
|
||||
if ($str!=='') $tmp[] = array('txt',$str);
|
||||
|
||||
// sauvegarde de la balise
|
||||
@ -197,14 +197,14 @@ if (!defined('__CLASS_PARSINGHTML__'))
|
||||
}
|
||||
else
|
||||
{
|
||||
// ajout du texte à la fin de celui qui est déjà détecté
|
||||
// ajout du texte à la fin de celui qui est déjà détecté
|
||||
$str.= $parse[2][0];
|
||||
}
|
||||
// Update offset to the end of the match
|
||||
$offset = $parse[0][1] + strlen($parse[0][0]);
|
||||
unset($parse);
|
||||
}
|
||||
// si un texte est présent à la fin, on l'enregistre
|
||||
// si un texte est présent à la fin, on l'enregistre
|
||||
if ($str!='') $tmp[] = array('txt',$str);
|
||||
unset($str);
|
||||
}
|
||||
@ -212,7 +212,7 @@ if (!defined('__CLASS_PARSINGHTML__'))
|
||||
/**
|
||||
* analyse une balise HTML
|
||||
*
|
||||
* @param string code HTML à identifier
|
||||
* @param string code HTML à identifier
|
||||
* @return array action correspondante
|
||||
*/
|
||||
function analiseCode($code)
|
||||
@ -223,31 +223,31 @@ if (!defined('__CLASS_PARSINGHTML__'))
|
||||
$close = ($match[1]=='/' ? true : false);
|
||||
$name = strtolower($match[2]);
|
||||
|
||||
// paramètres obligatoires en fonction du nom de la balise
|
||||
// paramètres obligatoires en fonction du nom de la balise
|
||||
$param = array();
|
||||
$param['style'] = '';
|
||||
if ($name=='img') { $param['alt'] = ''; $param['src'] = ''; }
|
||||
if ($name=='a') { $param['href'] = ''; }
|
||||
|
||||
// lecture des paramétres du type nom=valeur
|
||||
// lecture des paramétres du type nom=valeur
|
||||
$prop = '([a-zA-Z0-9_]+)=([^"\'\s>]+)';
|
||||
preg_match_all('/'.$prop.'/is', $code, $match);
|
||||
for($k=0; $k<count($match[0]); $k++)
|
||||
$param[trim(strtolower($match[1][$k]))] = trim($match[2][$k]);
|
||||
|
||||
// lecture des paramétres du type nom="valeur"
|
||||
// lecture des paramétres du type nom="valeur"
|
||||
$prop = '([a-zA-Z0-9_]+)=["]([^"]*)["]';
|
||||
preg_match_all('/'.$prop.'/is', $code, $match);
|
||||
for($k=0; $k<count($match[0]); $k++)
|
||||
$param[trim(strtolower($match[1][$k]))] = trim($match[2][$k]);
|
||||
|
||||
// lecture des paramétres du type nom='valeur'
|
||||
// lecture des paramétres du type nom='valeur'
|
||||
$prop = "([a-zA-Z0-9_]+)=[']([^']*)[']";
|
||||
preg_match_all('/'.$prop.'/is', $code, $match);
|
||||
for($k=0; $k<count($match[0]); $k++)
|
||||
$param[trim(strtolower($match[1][$k]))] = trim($match[2][$k]);
|
||||
|
||||
// mise en conformité en style de chaque paramètre
|
||||
// mise en conformité en style de chaque paramètre
|
||||
$color = "#000000";
|
||||
$border = null;
|
||||
foreach($param as $key => $val)
|
||||
@ -313,7 +313,7 @@ if (!defined('__CLASS_PARSINGHTML__'))
|
||||
else $param['style'] = 'border: none';
|
||||
}
|
||||
|
||||
// lecture des styles - décomposition
|
||||
// lecture des styles - décomposition
|
||||
$styles = explode(';', $param['style']);
|
||||
$param['style'] = array();
|
||||
foreach($styles as $style)
|
||||
@ -326,14 +326,14 @@ if (!defined('__CLASS_PARSINGHTML__'))
|
||||
}
|
||||
}
|
||||
|
||||
// détermination du niveau de table pour les ouverture, avec ajout d'un level
|
||||
// détermination du niveau de table pour les ouverture, avec ajout d'un level
|
||||
if (in_array($name, array('ul', 'ol', 'table')) && !$close)
|
||||
{
|
||||
$this->num++;
|
||||
$this->level[count($this->level)] = $this->num;
|
||||
}
|
||||
|
||||
// attribution du niveau de table où se trouve l'élément
|
||||
// attribution du niveau de table où se trouve l'élément
|
||||
if (!isset($param['num'])) $param['num'] = $this->level[count($this->level)-1];
|
||||
|
||||
// pour les fins de table : suppression d'un level
|
||||
@ -342,17 +342,17 @@ if (!defined('__CLASS_PARSINGHTML__'))
|
||||
unset($this->level[count($this->level)-1]);
|
||||
}
|
||||
|
||||
// retour de l'action identifiée
|
||||
// retour de l'action identifiée
|
||||
return array('name' => $name, 'close' => $close ? 1 : 0, 'param' => $param);
|
||||
}
|
||||
|
||||
// récupérer un niveau complet d'HTML entre une ouverture de balise et la fermeture correspondante
|
||||
// récupérer un niveau complet d'HTML entre une ouverture de balise et la fermeture correspondante
|
||||
function getLevel($k)
|
||||
{
|
||||
// si le code n'existe pas : fin
|
||||
if (!isset($this->code[$k])) return '';
|
||||
|
||||
// quelle balise faudra-t-il détecter
|
||||
// quelle balise faudra-t-il détecter
|
||||
$detect = $this->code[$k]['name'];
|
||||
|
||||
$level = 0; // niveau de profondeur
|
||||
@ -378,7 +378,7 @@ if (!defined('__CLASS_PARSINGHTML__'))
|
||||
// si c'est la balise que l'on cherche
|
||||
if ($row['name']==$detect)
|
||||
{
|
||||
if ($level==0) { $not = true; } // si on est à la premiere balise : on l'ignore
|
||||
if ($level==0) { $not = true; } // si on est à la premiere balise : on l'ignore
|
||||
$level+= ($row['close'] ? -1 : 1); // modification du niveau en cours en fonction de l'ouvertre / fermeture
|
||||
if ($level==0) { $not = true; $end = true; } // si on est au niveau 0 : on a fini
|
||||
}
|
||||
@ -406,7 +406,7 @@ if (!defined('__CLASS_PARSINGHTML__'))
|
||||
}
|
||||
}
|
||||
|
||||
// on continue tant qu'il y a du code à analyser...
|
||||
// on continue tant qu'il y a du code à analyser...
|
||||
if (isset($this->code[$k+1]))
|
||||
$k++;
|
||||
else
|
||||
|
@ -3,7 +3,7 @@
|
||||
* Logiciel : HTML2PDF - classe styleHTML
|
||||
*
|
||||
* Convertisseur HTML => PDF, utilise fpdf de Olivier PLATHEY
|
||||
* Distribué sous la licence LGPL.
|
||||
* Distribué sous la licence LGPL.
|
||||
*
|
||||
* @author Laurent MINGUET <webmaster@spipu.net>
|
||||
* @version 3.22a - 15/06/2009
|
||||
@ -19,14 +19,14 @@ if (!defined('__CLASS_STYLEHTML__'))
|
||||
var $css_keys = array(); // tableau des clefs CSS, pour l'ordre d'execution
|
||||
var $value = array(); // valeurs actuelles
|
||||
var $table = array(); // tableau d'empilement pour historisation des niveaux
|
||||
var $pdf = null; // référence au PDF parent
|
||||
var $pdf = null; // référence au PDF parent
|
||||
var $htmlColor = array(); // liste des couleurs HTML
|
||||
var $onlyLeft = false; // indique si on est dans un sous HTML et qu'on bloque à gauche
|
||||
var $onlyLeft = false; // indique si on est dans un sous HTML et qu'on bloque à gauche
|
||||
|
||||
/**
|
||||
* Constructeur
|
||||
*
|
||||
* @param &pdf référence à l'objet HTML2PDF parent
|
||||
* @param &pdf référence à l'objet HTML2PDF parent
|
||||
* @return null
|
||||
*/
|
||||
function styleHTML(&$pdf)
|
||||
@ -200,7 +200,7 @@ if (!defined('__CLASS_STYLEHTML__'))
|
||||
$this->value = array();
|
||||
$this->initStyle();
|
||||
|
||||
// initialisation des styles sans héritages
|
||||
// initialisation des styles sans héritages
|
||||
$this->resetStyle();
|
||||
}
|
||||
|
||||
@ -211,8 +211,8 @@ if (!defined('__CLASS_STYLEHTML__'))
|
||||
$this->value['id_id'] = null; // id
|
||||
$this->value['id_class'] = null; // class
|
||||
$this->value['id_lst'] = array('*'); // lst de dependance
|
||||
$this->value['mini-size'] = 1.; // rapport de taille spécifique aux sup, sub
|
||||
$this->value['mini-decal'] = 0; // rapport de position spécifique aux sup, sub
|
||||
$this->value['mini-size'] = 1.; // rapport de taille spécifique aux sup, sub
|
||||
$this->value['mini-decal'] = 0; // rapport de position spécifique aux sup, sub
|
||||
$this->value['font-family'] = 'Arial';
|
||||
$this->value['font-bold'] = false;
|
||||
$this->value['font-italic'] = false;
|
||||
@ -252,7 +252,7 @@ if (!defined('__CLASS_STYLEHTML__'))
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialisation des styles sans héritages
|
||||
* Initialisation des styles sans héritages
|
||||
*
|
||||
* @param string balise HTML
|
||||
* @return null
|
||||
@ -347,7 +347,7 @@ if (!defined('__CLASS_STYLEHTML__'))
|
||||
$i = ($this->value['font-italic'] ? 'I' : '');
|
||||
$u = ($this->value['font-underline'] ? 'U' : '');
|
||||
|
||||
// taille en mm, à ramener en pt
|
||||
// taille en mm, à ramener en pt
|
||||
$size = $this->value['font-size'];
|
||||
$size = 72 * $size / 25.4;
|
||||
|
||||
@ -463,7 +463,7 @@ if (!defined('__CLASS_STYLEHTML__'))
|
||||
if ($v) $class[] = $v;
|
||||
}
|
||||
|
||||
// identification de la balise et des styles direct qui pourraient lui être appliqués
|
||||
// identification de la balise et des styles direct qui pourraient lui être appliqués
|
||||
$this->value['id_balise'] = $balise;
|
||||
$this->value['id_name'] = $name;
|
||||
$this->value['id_id'] = $id;
|
||||
@ -490,11 +490,11 @@ if (!defined('__CLASS_STYLEHTML__'))
|
||||
// style CSS
|
||||
$styles = $this->getFromCSS();
|
||||
|
||||
// on ajoute le style propre à la balise
|
||||
// on ajoute le style propre à la balise
|
||||
$styles = array_merge($styles, $param['style']);
|
||||
if (isset($param['allwidth']) && !isset($styles['width'])) $styles['width'] = '100%';
|
||||
|
||||
// mise à zero des styles non hérités
|
||||
// mise à zero des styles non hérités
|
||||
$this->resetStyle($balise);
|
||||
|
||||
// interpreration des nouvelles valeurs
|
||||
@ -879,7 +879,7 @@ if (!defined('__CLASS_STYLEHTML__'))
|
||||
|
||||
if ($this->onlyLeft) $this->value['text-align'] = 'left';
|
||||
|
||||
// correction de la largeur pour correspondre au modèle de boite quick
|
||||
// correction de la largeur pour correspondre au modèle de boite quick
|
||||
if ($correct_width)
|
||||
{
|
||||
if (!in_array($balise, array('table', 'div', 'hr')))
|
||||
@ -921,7 +921,7 @@ if (!defined('__CLASS_STYLEHTML__'))
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupération de la hauteur de ligne courante
|
||||
* Récupération de la hauteur de ligne courante
|
||||
*
|
||||
* @return float hauteur en mm
|
||||
*/
|
||||
@ -933,7 +933,7 @@ if (!defined('__CLASS_STYLEHTML__'))
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupération de la largeur de l'objet parent
|
||||
* Récupération de la largeur de l'objet parent
|
||||
*
|
||||
* @return float largeur
|
||||
*/
|
||||
@ -956,7 +956,7 @@ if (!defined('__CLASS_STYLEHTML__'))
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupération de la hauteur de l'objet parent
|
||||
* Récupération de la hauteur de l'objet parent
|
||||
*
|
||||
* @return float hauteur
|
||||
*/
|
||||
@ -1004,437 +1004,4 @@ if (!defined('__CLASS_STYLEHTML__'))
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupération des propriétés CSS de la balise en cours
|
||||
*
|
||||
* @return array() tableau des propriétés CSS
|
||||
*/
|
||||
function getFromCSS()
|
||||
{
|
||||
$styles = array(); // style à appliquer
|
||||
$getit = array(); // styles à récuperer
|
||||
|
||||
// identification des styles direct, et ceux des parents
|
||||
$lst = array();
|
||||
$lst[] = $this->value['id_lst'];
|
||||
for($i=count($this->table)-1; $i>=0; $i--) $lst[] = $this->table[$i]['id_lst'];
|
||||
|
||||
// identification des styles à récuperer
|
||||
foreach($this->css_keys as $key => $num)
|
||||
if ($this->getReccursiveStyle($key, $lst))
|
||||
$getit[$key] = $num;
|
||||
|
||||
// si des styles sont à recuperer
|
||||
if (count($getit))
|
||||
{
|
||||
// on les récupère, mais dans l'odre de définition, afin de garder les priorités
|
||||
asort($getit);
|
||||
foreach($getit as $key => $val) $styles = array_merge($styles, $this->css[$key]);
|
||||
}
|
||||
|
||||
return $styles;
|
||||
}
|
||||
|
||||
/**
|
||||
* Identification des styles à récuperer, en fonction de la balise et de ses parents
|
||||
*
|
||||
* @param string clef CSS à analyser
|
||||
* @param array() tableau des styles direct, et ceux des parents
|
||||
* @param string prochaine etape
|
||||
* @return boolean clef autorisée ou non
|
||||
*/
|
||||
function getReccursiveStyle($key, $lst, $next = null)
|
||||
{
|
||||
// si propchaine etape, on construit les valeurs
|
||||
if ($next!==null)
|
||||
{
|
||||
if ($next) $key = trim(substr($key, 0, -strlen($next))); // on elève cette etape
|
||||
unset($lst[0]);
|
||||
if (!count($lst)) return false; // pas d'etape possible
|
||||
$lst = array_values($lst);
|
||||
}
|
||||
|
||||
// pour chaque style direct possible de l'etape en cours
|
||||
foreach($lst[0] as $nom)
|
||||
{
|
||||
if ($key==$nom) return true; // si la clef conrrespond => ok
|
||||
if (substr($key, -strlen(' '.$nom))==' '.$nom && $this->getReccursiveStyle($key, $lst, $nom)) return true; // si la clef est la fin, on analyse ce qui précède
|
||||
}
|
||||
|
||||
// si on est pas à la premiere etape, on doit analyse toutes les sous etapes
|
||||
if ($next!==null && $this->getReccursiveStyle($key, $lst, '')) return true;
|
||||
|
||||
// aucun style trouvé
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Analyse d'une propriété Border
|
||||
*
|
||||
* @param string propriété border
|
||||
* @return array() propriété décodée
|
||||
*/
|
||||
function readBorder($val)
|
||||
{
|
||||
$none = array('type' => 'none', 'width' => 0, 'color' => array(0, 0, 0));
|
||||
|
||||
// valeurs par défault
|
||||
$type = 'solid';
|
||||
$width = $this->ConvertToMM('1pt');
|
||||
$color = array(0, 0, 0);
|
||||
|
||||
// nettoyage des valeurs
|
||||
$val = explode(' ', $val);
|
||||
foreach($val as $k => $v)
|
||||
{
|
||||
$v = trim($v);
|
||||
if ($v) $val[$k] = $v;
|
||||
else unset($val[$k]);
|
||||
}
|
||||
$val = array_values($val);
|
||||
// identification des valeurs
|
||||
$res = null;
|
||||
foreach($val as $key)
|
||||
{
|
||||
if ($key=='none' || $key=='hidden') return $none;
|
||||
|
||||
if ($this->ConvertToMM($key)!==null) $width = $this->ConvertToMM($key);
|
||||
else if (in_array($key, array('solid', 'dotted', 'dashed'))) $type = $key;
|
||||
else
|
||||
{
|
||||
$tmp = $this->ConvertToRVB($key, $res);
|
||||
if ($res) $color = $tmp;
|
||||
}
|
||||
}
|
||||
if (!$width) return $none;
|
||||
return array('type' => $type, 'width' => $width, 'color' => $color);
|
||||
}
|
||||
|
||||
function duplicateBorder(&$val)
|
||||
{
|
||||
if (count($val)==1)
|
||||
{
|
||||
$val[1] = $val[0];
|
||||
$val[2] = $val[0];
|
||||
$val[3] = $val[0];
|
||||
}
|
||||
else if (count($val)==2)
|
||||
{
|
||||
$val[2] = $val[0];
|
||||
$val[3] = $val[1];
|
||||
}
|
||||
else if (count($val)==3)
|
||||
{
|
||||
$val[3] = $val[1];
|
||||
}
|
||||
}
|
||||
|
||||
function ConvertBackground($stl, &$res)
|
||||
{
|
||||
// Image
|
||||
$text = '/url\(([^)]*)\)/isU';
|
||||
if (preg_match($text, $stl, $match))
|
||||
{
|
||||
$res['image'] = $this->ConvertBackgroundImage($match[0]);
|
||||
$stl = preg_replace($text, '', $stl);
|
||||
$stl = preg_replace('/[\s]+/', ' ', $stl);
|
||||
}
|
||||
|
||||
// protection des espaces
|
||||
$stl = preg_replace('/,[\s]+/', ',', $stl);
|
||||
$lst = explode(' ', $stl);
|
||||
|
||||
$pos = '';
|
||||
foreach($lst as $val)
|
||||
{
|
||||
$ok = false;
|
||||
$color = $this->ConvertToRVB($val, $ok);
|
||||
|
||||
if ($ok)
|
||||
{
|
||||
$res['color'] = $color;
|
||||
}
|
||||
else if ($val=='transparent')
|
||||
{
|
||||
$res['color'] = null;
|
||||
}
|
||||
else
|
||||
{
|
||||
$repeat = $this->ConvertBackgroundRepeat($val);
|
||||
if ($repeat)
|
||||
{
|
||||
$res['repeat'] = $repeat;
|
||||
}
|
||||
else
|
||||
{
|
||||
$pos.= ($pos ? ' ' : '').$val;
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($pos)
|
||||
{
|
||||
$pos = $this->ConvertBackgroundPosition($pos, $ok);
|
||||
if ($ok) $res['position'] = $pos;
|
||||
}
|
||||
}
|
||||
|
||||
function ConvertBackgroundColor($val)
|
||||
{
|
||||
$res = null;
|
||||
if ($val=='transparent') return null;
|
||||
else return $this->ConvertToRVB($val, $res);
|
||||
}
|
||||
|
||||
function ConvertBackgroundImage($val)
|
||||
{
|
||||
if ($val=='none')
|
||||
return null;
|
||||
else if (preg_match('/^url\(([^)]*)\)$/isU', $val, $match))
|
||||
return $match[1];
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
function ConvertBackgroundPosition($val, &$res)
|
||||
{
|
||||
$val = explode(' ', $val);
|
||||
if (count($val)<2)
|
||||
{
|
||||
if (!$val[0]) return null;
|
||||
$val[1] = 'center';
|
||||
}
|
||||
if (count($val)>2) return null;
|
||||
|
||||
$x = 0;
|
||||
$y = 0;
|
||||
$res = true;
|
||||
|
||||
if ($val[0]=='left') $x = '0%';
|
||||
else if ($val[0]=='center') $x = '50%';
|
||||
else if ($val[0]=='right') $x = '100%';
|
||||
else if ($val[0]=='top') $y = '0%';
|
||||
else if ($val[0]=='bottom') $y = '100%';
|
||||
else if (preg_match('/^[-]?[0-9\.]+%$/isU', $val[0])) $x = $val[0];
|
||||
else if ($this->ConvertToMM($val[0])) $x = $this->ConvertToMM($val[0]);
|
||||
else $res = false;
|
||||
|
||||
if ($val[1]=='left') $x = '0%';
|
||||
else if ($val[1]=='right') $x = '100%';
|
||||
else if ($val[1]=='top') $y = '0%';
|
||||
else if ($val[1]=='center') $y = '50%';
|
||||
else if ($val[1]=='bottom') $y = '100%';
|
||||
else if (preg_match('/^[-]?[0-9\.]+%$/isU', $val[1])) $y = $val[1];
|
||||
else if ($this->ConvertToMM($val[1])) $y = $this->ConvertToMM($val[1]);
|
||||
else $res = false;
|
||||
|
||||
$val[0] = $x;
|
||||
$val[1] = $y;
|
||||
|
||||
return $val;
|
||||
}
|
||||
|
||||
function ConvertBackgroundRepeat($val)
|
||||
{
|
||||
switch($val)
|
||||
{
|
||||
case 'repeat':
|
||||
return array(true, true);
|
||||
case 'repeat-x':
|
||||
return array(true, false);
|
||||
case 'repeat-y':
|
||||
return array(false, true);
|
||||
case 'no-repeat':
|
||||
return array(false, false);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
/**
|
||||
* Convertir une longueur en mm
|
||||
*
|
||||
* @param string longueur, avec unité, à convertir
|
||||
* @param float longueur du parent
|
||||
* @return float longueur exprimée en mm
|
||||
*/
|
||||
function ConvertToMM($val, $old=0.)
|
||||
{
|
||||
$val = trim($val);
|
||||
if (preg_match('/^[0-9\.\-]+$/isU', $val)) $val.= 'px';
|
||||
if (preg_match('/^[0-9\.\-]+px$/isU', $val)) $val = 25.4/96. * str_replace('px', '', $val);
|
||||
else if (preg_match('/^[0-9\.\-]+pt$/isU', $val)) $val = 25.4/72. * str_replace('pt', '', $val);
|
||||
else if (preg_match('/^[0-9\.\-]+in$/isU', $val)) $val = 25.4 * str_replace('in', '', $val);
|
||||
else if (preg_match('/^[0-9\.\-]+mm$/isU', $val)) $val = 1.*str_replace('mm', '', $val);
|
||||
else if (preg_match('/^[0-9\.\-]+%$/isU', $val)) $val = 1.*$old*str_replace('%', '', $val)/100.;
|
||||
else $val = null;
|
||||
|
||||
return $val;
|
||||
}
|
||||
|
||||
/**
|
||||
* Décomposition d'un code couleur HTML
|
||||
*
|
||||
* @param string couleur au format CSS
|
||||
* @return array(r, v, b) couleur exprimé par ses comporantes R, V, B, de 0 à 255.
|
||||
*/
|
||||
function ConvertToRVB($val, &$res)
|
||||
{
|
||||
$val = trim($val);
|
||||
$res = true;
|
||||
|
||||
if (strtolower($val)=='transparent') return array(null, null, null);
|
||||
if (isset($this->htmlColor[strtolower($val)])) $val = $this->htmlColor[strtolower($val)];
|
||||
|
||||
if (preg_match('/rgb\([\s]*([0-9%]+)[\s]*,[\s]*([0-9%]+)[\s]*,[\s]*([0-9%]+)[\s]*\)/isU', $val, $match))
|
||||
{
|
||||
$r =$match[1]; if (substr($r, -1)=='%') $r = floor(255*substr($r, 0, -1)/100);
|
||||
$v =$match[2]; if (substr($v, -1)=='%') $v = floor(255*substr($v, 0, -1)/100);
|
||||
$b =$match[3]; if (substr($b, -1)=='%') $b = floor(255*substr($b, 0, -1)/100);
|
||||
}
|
||||
else if (strlen($val)==7 && substr($val, 0, 1)=='#')
|
||||
{
|
||||
$r = hexdec(substr($val, 1, 2));
|
||||
$v = hexdec(substr($val, 3, 2));
|
||||
$b = hexdec(substr($val, 5, 2));
|
||||
}
|
||||
else if (strlen($val)==4 && substr($val, 0, 1)=='#')
|
||||
{
|
||||
$r = hexdec(substr($val, 1, 1).substr($val, 1, 1));
|
||||
$v = hexdec(substr($val, 2, 1).substr($val, 2, 1));
|
||||
$b = hexdec(substr($val, 3, 1).substr($val, 3, 1));
|
||||
}
|
||||
else
|
||||
{
|
||||
$r=0;
|
||||
$v=0;
|
||||
$b=0;
|
||||
$res = false;
|
||||
}
|
||||
return array(floor($r), floor($v), floor($b));
|
||||
}
|
||||
|
||||
/**
|
||||
* Analyser une feuille de style
|
||||
*
|
||||
* @param string code CSS
|
||||
* @return null
|
||||
*/
|
||||
function analyseStyle(&$code)
|
||||
{
|
||||
// on remplace tous les espaces, tab, \r, \n, par des espaces uniques
|
||||
$code = preg_replace('/[\s]+/', ' ', $code);
|
||||
|
||||
// on enlève les commentaires
|
||||
$code = preg_replace('/\/\*.*?\*\//s', '', $code);
|
||||
|
||||
// on analyse chaque style
|
||||
preg_match_all('/([^{}]+){([^}]*)}/isU', $code, $match);
|
||||
for($k=0; $k<count($match[0]); $k++)
|
||||
{
|
||||
// noms
|
||||
$noms = strtolower(trim($match[1][$k]));
|
||||
|
||||
// style, séparé par des; => on remplie le tableau correspondant
|
||||
$styles = trim($match[2][$k]);
|
||||
$styles = explode(';', $styles);
|
||||
$stl = array();
|
||||
foreach($styles as $style)
|
||||
{
|
||||
$tmp = explode(':', $style);
|
||||
if (count($tmp)>1)
|
||||
{
|
||||
$cod = $tmp[0]; unset($tmp[0]); $tmp = implode(':', $tmp);
|
||||
$stl[trim(strtolower($cod))] = trim($tmp);
|
||||
}
|
||||
}
|
||||
|
||||
// décomposition des noms par les ,
|
||||
$noms = explode(',', $noms);
|
||||
foreach($noms as $nom)
|
||||
{
|
||||
$nom = trim($nom);
|
||||
// Si il a une fonction spécifique, comme :hover => on zap
|
||||
if (strpos($nom, ':')!==false) continue;
|
||||
if (!isset($this->css[$nom]))
|
||||
$this->css[$nom] = $stl;
|
||||
else
|
||||
$this->css[$nom] = array_merge($this->css[$nom], $stl);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
$this->css_keys = array_flip(array_keys($this->css));
|
||||
}
|
||||
|
||||
/**
|
||||
* Extraction des feuille de style du code HTML
|
||||
*
|
||||
* @param string code HTML
|
||||
* @return null
|
||||
*/
|
||||
function readStyle(&$html)
|
||||
{
|
||||
$style = ' ';
|
||||
|
||||
// extraction des balises link, et suppression de celles-ci dans le code HTML
|
||||
preg_match_all('/<link([^>]*)>/isU', $html, $match);
|
||||
$html = preg_replace('/<link[^>]*>/isU', '', $html);
|
||||
$html = preg_replace('/<\/link[^>]*>/isU', '', $html);
|
||||
|
||||
// analyse de chaque balise
|
||||
foreach($match[1] as $code)
|
||||
{
|
||||
$tmp = array();
|
||||
// lecture des paramétres du type nom=valeur
|
||||
$prop = '([a-zA-Z0-9_]+)=([^"\'\s>]+)';
|
||||
preg_match_all('/'.$prop.'/is', $code, $match);
|
||||
for($k=0; $k<count($match[0]); $k++)
|
||||
$tmp[trim(strtolower($match[1][$k]))] = trim($match[2][$k]);
|
||||
|
||||
// lecture des paramétres du type nom="valeur"
|
||||
$prop = '([a-zA-Z0-9_]+)=["]([^"]*)["]';
|
||||
preg_match_all('/'.$prop.'/is', $code, $match);
|
||||
for($k=0; $k<count($match[0]); $k++)
|
||||
$tmp[trim(strtolower($match[1][$k]))] = trim($match[2][$k]);
|
||||
|
||||
// lecture des paramétres du type nom='valeur'
|
||||
$prop = "([a-zA-Z0-9_]+)=[']([^']*)[']";
|
||||
preg_match_all('/'.$prop.'/is', $code, $match);
|
||||
for($k=0; $k<count($match[0]); $k++)
|
||||
$tmp[trim(strtolower($match[1][$k]))] = trim($match[2][$k]);
|
||||
|
||||
// si de type text/css => on garde
|
||||
if (isset($tmp['type']) && strtolower($tmp['type'])=='text/css' && isset($tmp['href']))
|
||||
{
|
||||
$content = @file_get_contents($tmp['href']);
|
||||
$url = $tmp['href'];
|
||||
if (strpos($url, 'http://')!==false)
|
||||
{
|
||||
$url = str_replace('http://', '', $url);
|
||||
$url = explode('/', $url);
|
||||
$url_main = 'http://'.$url[0].'/';
|
||||
$url_self = $url; unset($url_self[count($url_self)-1]); $url_self = 'http://'.implode('/', $url_self).'/';
|
||||
|
||||
$content = preg_replace('/url\(([^\\\\][^)]*)\)/isU', 'url('.$url_self.'$1)', $content);
|
||||
$content = preg_replace('/url\((\\\\[^)]*)\)/isU', 'url('.$url_main.'$1)', $content);
|
||||
}
|
||||
|
||||
$style.= $content."\n";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// extraction des balises style, et suppression de celles-ci dans le code HTML
|
||||
preg_match_all('/<style[^>]*>(.*)<\/style[^>]*>/isU', $html, $match);
|
||||
$html = preg_replace('/<style[^>]*>(.*)<\/style[^>]*>/isU', '', $html);
|
||||
|
||||
// analyse de chaque balise
|
||||
foreach($match[1] as $code)
|
||||
{
|
||||
$code = str_replace('<!--', '', $code);
|
||||
$code = str_replace('-->', '', $code);
|
||||
$style.= $code."\n";
|
||||
}
|
||||
|
||||
$this->analyseStyle($style);
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
* Récupération
|
@ -10,15 +10,15 @@ require_once 'logos/logos.php';
|
||||
require_once 'scoresws/scoresws.php';
|
||||
require_once 'scoresws/identite.php';
|
||||
|
||||
//Traitement des paramètres
|
||||
//Traitement des paramètres
|
||||
$siret=trim(preg_replace('/[^0-9]/', '', $_REQUEST['siret']));
|
||||
if (strlen($siret)<>0 && strlen($siret)<>9 && strlen($siret)<>14) die('Paramètres incorrects !');
|
||||
if (strlen($siret)<>0 && strlen($siret)<>9 && strlen($siret)<>14) die('Paramètres incorrects !');
|
||||
|
||||
$idEntreprise=trim(preg_replace('/[^0-9]/', '', $_REQUEST['idEntreprise']))*1; // Si id=0 alors non communiqué
|
||||
if (($siret*1)==0 && $idEntreprise==0) die('Paramètres incorrects !');
|
||||
$idEntreprise=trim(preg_replace('/[^0-9]/', '', $_REQUEST['idEntreprise']))*1; // Si id=0 alors non communiqué
|
||||
if (($siret*1)==0 && $idEntreprise==0) die('Paramètres incorrects !');
|
||||
$siren=substr($siret,0,9);
|
||||
|
||||
//Récupération des infos du webservice
|
||||
//Récupération des infos du webservice
|
||||
$etab = scoresws_identite($siret, $siren, $idEntreprise);
|
||||
$firephp->log($etab, 'etab');
|
||||
|
||||
@ -33,7 +33,7 @@ $tabEntrep['AutreId'] = $etab['AutreId'];
|
||||
$tabEntrep['active'] = $etab['Statut'];
|
||||
$tabEntrep['Source'] = $etab['Source'];
|
||||
$tabEntrep['SourceId'] = $etab['SourceId'];
|
||||
$tabEntrep['codeCommune'] = $etab['Dept'].$etab['codeCommune']; //Utilise pour les compétences territoriales
|
||||
$tabEntrep['codeCommune'] = $etab['Dept'].$etab['codeCommune']; //Utilise pour les compétences territoriales
|
||||
$tabEntrep['nafEn'] = $etab['NafEnt'];
|
||||
$tabEntrep['nafEnLib'] = $etab['NafEntLib'];
|
||||
$tabEntrep['nafEt'] = $etab['NafEtab'];
|
||||
|
@ -20,14 +20,14 @@ $tabErrInfoGref = array(
|
||||
17=>"LA PRISE EN CHARGE DE VOTRE COMMANDE EST EFFECTIVE", // LA PRISE EN CHARGE DE VOTRE COURRIER EST EFFECTIVE
|
||||
18=>"DERNIER STATUT A JOUR INDISPONIBLE",
|
||||
19=>"BILAN COMPLET INDISPONIBLE",
|
||||
20=>"PAS DE COMPTES ANNUELS POUR LES CRITERES DONNES : SOIT LE MILLESIME DEMANDE N'A PAS ETE DEPOSE, SOIT L'ENTREPRISE N'EST PAS TENUE DE DEPOSER SES COMPTES",
|
||||
20=>"PAS DE COMPTES ANNUELS POUR LES CRITERES DONNES : SOIT LE MILLESIME DEMANDE N'A PAS ETE DEPOSE, SOIT L'ENTREPRISE N'EST PAS TENUE DE DEPOSER SES COMPTES",
|
||||
21=>"PAS DE DERNIER STATUT A JOUR",
|
||||
22=>"LES MODES DE DIFFUSIONS DEMANDES SONT FERMES",
|
||||
23=>"SOCIETE NON TENUE DE DEPOSE SES COMPTES",
|
||||
24=>"SIREN INVALIDE",
|
||||
25=>"SIREN NON TROUVE DANS LA BASE DES PIECES OFFICIELLES",
|
||||
26=>"COMPTE NON DEPOSES",
|
||||
27=>"COMPTES DEPOSES MAIS BILAN SAISI INDISPONIBLE : COMMANDE BILAN COMPLET POSSIBLE",
|
||||
27=>"COMPTES DEPOSES MAIS BILAN SAISI INDISPONIBLE : COMMANDE BILAN COMPLET POSSIBLE",
|
||||
28=>"REQUETE SUR LES SURVEILLANCES REALISEES",
|
||||
29=>"ACCUSES DE RECEPTIONS DISPONIBLES",
|
||||
30=>"REVELATIONS DISPONIBLES",
|
||||
|
@ -6,14 +6,14 @@ function theme_greffeactes($items, $headers)
|
||||
$data = false;
|
||||
if(isset($items) && is_array($items) && !empty($items))
|
||||
{
|
||||
//Définition entetes
|
||||
//Définition entetes
|
||||
$cells = array();
|
||||
foreach($headers as $header)
|
||||
{
|
||||
$cells[] = array( 'data' => $header );
|
||||
}
|
||||
$head = $cells;
|
||||
//Fin Définition entetes
|
||||
//Fin Définition entetes
|
||||
$rows = array();
|
||||
foreach($items as $key => $depot)
|
||||
{
|
||||
@ -32,7 +32,7 @@ function theme_greffeactes($items, $headers)
|
||||
'type' => $acte['type'],
|
||||
'decision' => $acte['decision']
|
||||
);
|
||||
//Génération du lien de commande suivant le mode de diffusion
|
||||
//Génération du lien de commande suivant le mode de diffusion
|
||||
$params = 'vue=actes&siret='.$siren.'&ref='.$acte['ref'].'&info='.urlencode(serialize($infos));
|
||||
if($acte['num_depot']==-1){ $params = 'vue=statuts&siren='.$siren; }
|
||||
$firephp->log($acte['mode'], 'mode');
|
||||
@ -48,7 +48,7 @@ function theme_greffeactes($items, $headers)
|
||||
else
|
||||
{
|
||||
$href = '#';
|
||||
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
||||
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
||||
$tags = array('', '');
|
||||
}
|
||||
$data.= $tags[0].'. <a href="'.$href.'" title="'.$title.'"> <img alt="PDF" src="./img/icone_pdf.gif"/></a>'.$tags[1];
|
||||
@ -63,7 +63,7 @@ function theme_greffeactes($items, $headers)
|
||||
else
|
||||
{
|
||||
$href = '#';
|
||||
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
||||
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
||||
$tags = array('', '');
|
||||
}
|
||||
$data.= $tags[0].'<a href="'.$href.'" title="'.$title.'"> <img alt="PDF" src="./img/icone_pdf.gif"/></a>'.$tags[1];
|
||||
@ -82,7 +82,7 @@ function theme_greffeactes($items, $headers)
|
||||
else
|
||||
{
|
||||
$href = '#';
|
||||
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
||||
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
||||
$class = '';
|
||||
}
|
||||
$data.= '<a href="'.$href.'"'.$class.' title="'.$title.'"> <img alt="courrier" src="./img/icone_courrier.png"/></a>';
|
||||
@ -95,7 +95,7 @@ function theme_greffeactes($items, $headers)
|
||||
if($depot['num_depot']>=0)
|
||||
{
|
||||
if(!empty($acte['decision'])) $data = $acte['decision'].'<br/>';
|
||||
$data .= 'Dépot n°'.$depot['num_depot'].' du '.$depot['date_depot'];
|
||||
$data .= 'Dépot n°'.$depot['num_depot'].' du '.$depot['date_depot'];
|
||||
}
|
||||
$cells[] = array( 'data'=> $data, 'attrs'=>array('class'=>'decision') );
|
||||
$rows[] = array( 'data' => $cells );
|
||||
@ -112,26 +112,26 @@ function theme_greffebilans($items, $headers)
|
||||
$data = false;
|
||||
if(isset($items) && is_array($items) && !empty($items))
|
||||
{
|
||||
//Définition entetes
|
||||
//Définition entetes
|
||||
$cells = array();
|
||||
foreach($headers as $header)
|
||||
{
|
||||
$cells[] = array( 'data' => $header );
|
||||
}
|
||||
$head = $cells;
|
||||
//Fin Définition entetes
|
||||
//Fin Définition entetes
|
||||
|
||||
foreach($items as $key => $item)
|
||||
{
|
||||
$cells = array();
|
||||
$cells[] = array( 'data'=> $item['date_cloture'] , 'attrs'=>array('class'=>'date') );
|
||||
$data = 'Comptes millésime '.$item['millesime'];
|
||||
$data = 'Comptes millésime '.$item['millesime'];
|
||||
$infos = array(
|
||||
'date_cloture' => $item['date_cloture'],
|
||||
'type' => $item['millesime'],
|
||||
'decision' => $item['num_depot']
|
||||
);
|
||||
//Génération du lien de commande suivant le mode de diffusion
|
||||
//Génération du lien de commande suivant le mode de diffusion
|
||||
$params = 'vue=bilans&siret='.$siren.'&ref='.$item['ref'].'&info='.urlencode(serialize($infos));
|
||||
switch($item['mode'])
|
||||
{
|
||||
@ -145,10 +145,10 @@ function theme_greffebilans($items, $headers)
|
||||
else
|
||||
{
|
||||
$href = '#';
|
||||
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
||||
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
||||
$tags = array('', '');
|
||||
}
|
||||
$data.= $tags[0].' . <a href="'.$href.'" title="'.$title.'"> <img alt="Téléchargement" src="./img/icone_pdf.gif"/></a>'.$tags[1];
|
||||
$data.= $tags[0].' . <a href="'.$href.'" title="'.$title.'"> <img alt="Téléchargement" src="./img/icone_pdf.gif"/></a>'.$tags[1];
|
||||
break;
|
||||
case 'T':
|
||||
if(hasPerm('actes', $_SESSION['tabInfo']))
|
||||
@ -160,10 +160,10 @@ function theme_greffebilans($items, $headers)
|
||||
else
|
||||
{
|
||||
$href = '#';
|
||||
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
||||
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
||||
$tags = array('', '');
|
||||
}
|
||||
$data.= $tags[0].'<span class="fichier"><a href="'.$href.'" title="'.$title.'"> <img alt="Téléchargement" src="./img/icone_pdf.gif"/></a>'.$tags[1];
|
||||
$data.= $tags[0].'<span class="fichier"><a href="'.$href.'" title="'.$title.'"> <img alt="Téléchargement" src="./img/icone_pdf.gif"/></a>'.$tags[1];
|
||||
|
||||
break;
|
||||
case 'C':
|
||||
@ -176,14 +176,14 @@ function theme_greffebilans($items, $headers)
|
||||
else
|
||||
{
|
||||
$href = '#';
|
||||
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
||||
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
||||
$class = '';
|
||||
}
|
||||
$data.= '<a href="'.$href.'"'.$class.' title="'.$title.'"> <img alt="courrier" src="./img/icone_courrier.png"/></a>';
|
||||
break;
|
||||
}
|
||||
$cells[] = array( 'data'=> $data , 'attrs'=>array('class'=>'type') );
|
||||
$data = '<br/>Dépot n°'.$item['num_depot'];
|
||||
$data = '<br/>Dépot n°'.$item['num_depot'];
|
||||
$cells[] = array( 'data'=> $data , 'attrs'=>array('class'=>'decision') );
|
||||
$rows[] = array( 'data' => $cells );
|
||||
}
|
||||
@ -199,7 +199,7 @@ function lien_factice($siret, $ref, $lib)
|
||||
$output = '';
|
||||
if(hasModeEdition())
|
||||
{
|
||||
$output = '<br/><a href="./pages/greffescmdfactice.php?siret='.$siret.'&option='.$ref.'&lib='.urlencode($lib).'" target="_blank">Créer une commande factice.</a>';
|
||||
$output = '<br/><a href="./pages/greffescmdfactice.php?siret='.$siret.'&option='.$ref.'&lib='.urlencode($lib).'" target="_blank">Créer une commande factice.</a>';
|
||||
}
|
||||
return $output;
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
require_once realpath(dirname(__FILE__)).'/constantes.php';
|
||||
|
||||
/**
|
||||
* Retourne le résultat du webservice infogreffe.
|
||||
* Retourne le résultat du webservice infogreffe.
|
||||
* @param string $req
|
||||
* La demande à infogreffe en xml
|
||||
* La demande à infogreffe en xml
|
||||
* @return string
|
||||
* Retourne le xml renvoyé par le webservice.
|
||||
* Retourne le xml renvoyé par le webservice.
|
||||
*/
|
||||
function getInfogreffeXML($req){
|
||||
global $firephp, $fichier;
|
||||
@ -64,13 +64,13 @@ function getInfogreffeXML($req){
|
||||
}
|
||||
|
||||
/**
|
||||
* Générer le xml pour la requete infogreffe.
|
||||
* Générer le xml pour la requete infogreffe.
|
||||
* @param string $siren
|
||||
* Le SIREN à
|
||||
* Le SIREN à
|
||||
* @param string $idCommande
|
||||
* L'identifiant pour la commande
|
||||
* @param string $type
|
||||
* Le type de document demandé
|
||||
* Le type de document demandé
|
||||
* @param string $vecteur
|
||||
* Le vecteur de diffusion
|
||||
* @param string $option
|
||||
@ -95,7 +95,7 @@ function requeteInfogreffe($siren, $idCommande, $type, $vecteur, $option){
|
||||
'<type_profil>A</type_profil>'.
|
||||
'<origine_emetteur>IC</origine_emetteur>'.
|
||||
'<nature_requete>C</nature_requete>'.
|
||||
'<type_document>'.$type.'</type_document>'.// KB=Kbis, HQ=Histo, ST=Statut, AC=Acte, LE=Liste étab
|
||||
'<type_document>'.$type.'</type_document>'.// KB=Kbis, HQ=Histo, ST=Statut, AC=Acte, LE=Liste étab
|
||||
'<type_requete>S</type_requete>'.
|
||||
'<media>WS</media>'.
|
||||
'<mode_diffusion>';
|
||||
@ -137,18 +137,18 @@ function requeteInfogreffe($siren, $idCommande, $type, $vecteur, $option){
|
||||
}
|
||||
|
||||
/**
|
||||
* Parcours le document xml renvoyé par infogreffe .
|
||||
* Parcours le document xml renvoyé par infogreffe .
|
||||
* @param string $file
|
||||
* Le chemin complet vers le fichier à analyser.
|
||||
* Le chemin complet vers le fichier à analyser.
|
||||
* @return array
|
||||
* Retourne un tableau structuré des actes, etc,...
|
||||
* Retourne un tableau structuré des actes, etc,...
|
||||
*/
|
||||
function xmlArrayActes($file)
|
||||
{
|
||||
global $firephp;
|
||||
$vecteurTinit = false;
|
||||
$dom_object = new DomDocument2();
|
||||
//TODO : Vérfier que le fichier existe
|
||||
//TODO : Vérfier que le fichier existe
|
||||
$dom_object->load($file);
|
||||
$tabActes=array();
|
||||
|
||||
@ -157,7 +157,7 @@ function xmlArrayActes($file)
|
||||
$result = $xpath->query("//liste_depot_acte/depot_acte/.");
|
||||
|
||||
foreach ($result as $annonce) {
|
||||
// N° Gestion
|
||||
// N° Gestion
|
||||
$title = $xpath->query ("num_gest/greffe", $annonce);
|
||||
$num_gest_greffe=$title->item(0)->nodeValue;
|
||||
$title = $xpath->query ("num_gest/dossier_millesime", $annonce);
|
||||
@ -169,10 +169,10 @@ function xmlArrayActes($file)
|
||||
// Siren
|
||||
$title = $xpath->query ("num_siren", $annonce);
|
||||
$num_siren = $title->item(0)->nodeValue;
|
||||
// N° Dépôt
|
||||
// N° Dépôt
|
||||
$title = $xpath->query ("num_depot", $annonce);
|
||||
$num_depot = $title->item(0)->nodeValue;
|
||||
// Date Dépôt
|
||||
// Date Dépôt
|
||||
$title = $xpath->query ("date_depot", $annonce);
|
||||
$date_depot = $title->item(0)->nodeValue;
|
||||
|
||||
@ -185,7 +185,7 @@ function xmlArrayActes($file)
|
||||
// Date
|
||||
$title = $xpath->query ("date_acte", $acte);
|
||||
$date_acte=$title->item(0)->nodeValue;
|
||||
// N°
|
||||
// N°
|
||||
$title = $xpath->query ("num_acte", $acte);
|
||||
$num_acte=$title->item(0)->nodeValue;
|
||||
// Type
|
||||
@ -244,13 +244,13 @@ function xmlArrayActes($file)
|
||||
}
|
||||
|
||||
/**
|
||||
* Parcours le document xml renvoyé par infogreffe .
|
||||
* Parcours le document xml renvoyé par infogreffe .
|
||||
* @param string $file
|
||||
* Le chemin complet vers le fichier à analyser.
|
||||
* Le chemin complet vers le fichier à analyser.
|
||||
* @param string $query
|
||||
* La requete xpath de départ pour analyser le document
|
||||
* La requete xpath de départ pour analyser le document
|
||||
* @return array
|
||||
* Retourne un tableau structuré des bilans, etc,...
|
||||
* Retourne un tableau structuré des bilans, etc,...
|
||||
*/
|
||||
function xmlArrayBilans($file, $query)
|
||||
{
|
||||
@ -262,7 +262,7 @@ function xmlArrayBilans($file, $query)
|
||||
$result = $xpath->query($query);
|
||||
|
||||
foreach ($result as $annonce) {
|
||||
// N° Gestion
|
||||
// N° Gestion
|
||||
$title = $xpath->query ("num_gest/greffe", $annonce);
|
||||
$num_gest_greffe=$title->item(0)->nodeValue;
|
||||
$title = $xpath->query ("num_gest/dossier_millesime", $annonce);
|
||||
@ -274,10 +274,10 @@ function xmlArrayBilans($file, $query)
|
||||
// Siren
|
||||
$title = $xpath->query ("num_siren", $annonce);
|
||||
$num_siren=$title->item(0)->nodeValue;
|
||||
// N° Dépôt
|
||||
// N° Dépôt
|
||||
$title = $xpath->query ("num_depot", $annonce);
|
||||
$num_depot=$title->item(0)->nodeValue;
|
||||
// Date clôture
|
||||
// Date clôture
|
||||
$title = $xpath->query ('date_cloture', $annonce); // 2005-12-31
|
||||
$date_cloture=$title->item(0)->nodeValue;
|
||||
// liasse
|
||||
@ -325,26 +325,26 @@ function xmlArrayBilans($file, $query)
|
||||
}
|
||||
|
||||
/**
|
||||
* Envoi un mail informant de la commande de pièce.
|
||||
* Envoi un mail informant de la commande de pièce.
|
||||
* @param string $email
|
||||
* L'adresse email qui doit recevoir la pièce.
|
||||
* L'adresse email qui doit recevoir la pièce.
|
||||
* @param string $siren
|
||||
* Le siren de l'entité
|
||||
* Le siren de l'entité
|
||||
* @param string $type
|
||||
* Le type de demande (asso, greffe)
|
||||
* @return array
|
||||
* Retourne un tableau structuré des bilans, etc,...
|
||||
* Retourne un tableau structuré des bilans, etc,...
|
||||
*/
|
||||
function mailCommande($email, $siren, $type){
|
||||
//On vérifie l'email
|
||||
//On vérifie l'email
|
||||
if (preg_match('#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#',$email)) {
|
||||
//Suivant le type de commande
|
||||
switch($type){
|
||||
case 'asso':
|
||||
$subject = "Commande de statuts associations pour $siren à ".$email;
|
||||
$subject = "Commande de statuts associations pour $siren à ".$email;
|
||||
break;
|
||||
case 'greffe':
|
||||
$subject = "Commande de pièces pour $siren à ".$email;
|
||||
$subject = "Commande de pièces pour $siren à ".$email;
|
||||
break;
|
||||
}
|
||||
$emailTo = 'contact@scores-decisions.com';
|
||||
|
@ -15,7 +15,7 @@ define('INFOGREFFE_PATH', PATH_DATA.'/infogreffe/xml/');
|
||||
|
||||
|
||||
/**
|
||||
* Génére une chaîne xml pour la requête soap défini suivant les paramètres d'infogreffe
|
||||
* Génére une chaîne xml pour la requête soap défini suivant les paramètres d'infogreffe
|
||||
* @param string $siren
|
||||
* @param int $idCommande
|
||||
* @param string $type
|
||||
@ -33,17 +33,17 @@ function infogreffe_requetexml($siren, $idCommande, $type, $vecteur, $option)
|
||||
$emetteur = $xml->addChild('emetteur');
|
||||
$emetteur->addChild('code_abonne', INFOGREFFE_WS_USER);
|
||||
$emetteur->addChild('mot_passe', INFOGREFFE_WS_PASS);
|
||||
$emetteur->addChild('reference_client', 'G'.$idCommande); //Générer l'identifiant de commande
|
||||
$emetteur->addChild('reference_client', 'G'.$idCommande); //Générer l'identifiant de commande
|
||||
|
||||
$code_requete = $emetteur->addChild('code_requete');
|
||||
$code_requete->addChild('type_profil', 'A');
|
||||
$code_requete->addChild('origine_emetteur', 'IC');
|
||||
$code_requete->addChild('nature_requete', 'C'); // C = Commande de documents
|
||||
$code_requete->addChild('type_document', $type); // KB = Kbis, PN = privilèges et nantissements, BI = Bilan complet, BS = bilan saisi, ST = Dernier Statut à jour, AC = Acte, SD = Surveillance Demande et Accusé, SR = Surveillance Révélation, SP = Surveillance Portefeuille, FA = Recherche PCL, FI = Inventaire, FJ = Jugement, FO = Ordonnance, FD = Dépôt divers, LE = Liste Etablissements
|
||||
$code_requete->addChild('type_document', $type); // KB = Kbis, PN = privilèges et nantissements, BI = Bilan complet, BS = bilan saisi, ST = Dernier Statut à jour, AC = Acte, SD = Surveillance Demande et Accusé, SR = Surveillance Révélation, SP = Surveillance Portefeuille, FA = Recherche PCL, FI = Inventaire, FJ = Jugement, FO = Ordonnance, FD = Dépôt divers, LE = Liste Etablissements
|
||||
$code_requete->addChild('type_requete', 'S'); // S = Simple
|
||||
|
||||
$mode_diffusion = $code_requete->addChild('mode_diffusion');
|
||||
// Mode de diffusion : C = Courrier, T = Téléchargement, M = Mail, XL = XML
|
||||
// Mode de diffusion : C = Courrier, T = Téléchargement, M = Mail, XL = XML
|
||||
if ($vecteur=='XL' && $option=='')
|
||||
{
|
||||
//On ajoute tout les types de diffusions pour $vecteur = XL
|
||||
@ -89,7 +89,7 @@ function infogreffe_requetexml($siren, $idCommande, $type, $vecteur, $option)
|
||||
|
||||
/*
|
||||
0 => type_acte
|
||||
1 => date de référence
|
||||
1 => date de référence
|
||||
2 => greffe
|
||||
3 => dossier_millesime
|
||||
4 => dossier_statut
|
||||
@ -125,12 +125,12 @@ function infogreffe_requetexml($siren, $idCommande, $type, $vecteur, $option)
|
||||
$xmlStr = str_replace('<?xml version="1.0"?>', '', $xml->asXML());
|
||||
empty($option) ? $fichier = $type.'-'.$siren.'.xml' : $fichier = $type.'-'.$siren.'-'.$fichierOption.'.xml';
|
||||
file_put_contents(INFOGREFFE_PATH.$fichier.'.query', $xmlStr);
|
||||
//Retourne le xml sous forme de chaîne de caractères
|
||||
//Retourne le xml sous forme de chaîne de caractères
|
||||
return $xmlStr;
|
||||
}
|
||||
|
||||
/**
|
||||
* Requête le webservice infogreffe
|
||||
* Requête le webservice infogreffe
|
||||
* @param unknown_type $xml
|
||||
* @return unknown_type
|
||||
*/
|
||||
@ -208,14 +208,14 @@ function infogreffe_parsexml_actes($xml)
|
||||
$acte['depot'][] = $actenum;
|
||||
}//Fin listes des infos acte
|
||||
|
||||
//Génération de l'index pour le tri
|
||||
//Génération de l'index pour le tri
|
||||
if(!empty($acte['date_depot'])){ $date = $acte['date_depot']; }
|
||||
else { $date = ''; }
|
||||
|
||||
if(!empty($date))
|
||||
{
|
||||
$datef = substr($date,0,4).substr($date,5,2).substr($date,8,2);
|
||||
//Affectation liste générale avec un index permettant le tri
|
||||
//Affectation liste générale avec un index permettant le tri
|
||||
$actes[$datef] = $acte;
|
||||
}
|
||||
//Prise en compte de l'acte -1
|
||||
@ -233,7 +233,7 @@ function infogreffe_parsexml_actes($xml)
|
||||
}
|
||||
|
||||
/**
|
||||
* Formate la chaine xml de commande d'un acte en mode téléchargement
|
||||
* Formate la chaine xml de commande d'un acte en mode téléchargement
|
||||
* @param string $xml
|
||||
* @return array
|
||||
*/
|
||||
@ -320,12 +320,12 @@ function infogreffe_parsexml_bilans($xml)
|
||||
$bilan['mode_diffusion'][] = $mode->getAttribute('type');
|
||||
}
|
||||
|
||||
//Génération de l'index pour le tri
|
||||
//Génération de l'index pour le tri
|
||||
$date = $bilan['date_cloture_iso'];
|
||||
if(!empty($date))
|
||||
{
|
||||
$datef = substr($date,0,4).substr($date,5,2).substr($date,8,2);
|
||||
//Affectation liste générale avec un index permettant le tri
|
||||
//Affectation liste générale avec un index permettant le tri
|
||||
$bilans[$datef] = $bilan;
|
||||
}
|
||||
}
|
||||
@ -359,7 +359,7 @@ function infogreffe_parsexml_bilans_t($xml)
|
||||
function infogreffe_parsexml_bilans_c(){}
|
||||
|
||||
/**
|
||||
* Formatte le tableau complet des actes pour envoyer seulement les informations nécessaires
|
||||
* Formatte le tableau complet des actes pour envoyer seulement les informations nécessaires
|
||||
* @param $actes
|
||||
* @return unknown_type
|
||||
*/
|
||||
@ -401,7 +401,7 @@ function infogreffe_format_actes($actes)
|
||||
}
|
||||
}
|
||||
|
||||
//Génération date (date_acte peut être vide)
|
||||
//Génération date (date_acte peut être vide)
|
||||
if(!empty($acte['date_acte'])){ $date = WDate::dateT('Y-m-d', 'Ymd', $acte['date_acte']); }
|
||||
else { $date = WDate::dateT('Y-m-d', 'Ymd', $depot['date_depot']); }
|
||||
|
||||
@ -430,7 +430,7 @@ function infogreffe_format_actes_t($actes)
|
||||
$tabActe = array();
|
||||
foreach($actes['actes'] as $acte)
|
||||
{
|
||||
//Génération date (date_acte peut être vide)
|
||||
//Génération date (date_acte peut être vide)
|
||||
if(!empty($acte['date_acte'])){ $date = WDate::dateT('Y-m-d', 'Ymd', $acte['date_acte']); }
|
||||
else { $date = WDate::dateT('Y-m-d', 'Ymd', $actes['date_depot']); }
|
||||
|
||||
@ -533,7 +533,7 @@ function getGreffeActes($siren, $typeCommande = '', $ref = '')
|
||||
$result = infogreffe_format_actes($actes);
|
||||
}
|
||||
}
|
||||
//Commande d'un acte en mode téléchargement
|
||||
//Commande d'un acte en mode téléchargement
|
||||
elseif($typeCommande=='T')
|
||||
{
|
||||
$firephp->info('Mode telechargement');
|
||||
@ -545,7 +545,7 @@ function getGreffeActes($siren, $typeCommande = '', $ref = '')
|
||||
{
|
||||
$items = infogreffe_parsexml_actes_t($xmlReponse);
|
||||
$items = infogreffe_format_actes_t($items);
|
||||
//Pour chaque acte téléchagement des documents
|
||||
//Pour chaque acte téléchagement des documents
|
||||
$result = array();
|
||||
$actes = $items['actes'];
|
||||
unset($items['actes']);
|
||||
@ -578,14 +578,14 @@ function getGreffeActes($siren, $typeCommande = '', $ref = '')
|
||||
//Commande d'un acte en mode courrier
|
||||
elseif($typeCommande=='C')
|
||||
{
|
||||
//On génére un idCommande suivant la valeur en bdd
|
||||
//On génére un idCommande suivant la valeur en bdd
|
||||
$xmlRequete = infogreffe_requetexml($siren, $idCommande, $type, $typeCommande, $ref);
|
||||
$xmlReponse = infogreffe_getproduitsxml($xmlRequete);
|
||||
}
|
||||
//Default mode erreur
|
||||
else
|
||||
{
|
||||
//Paramètres incorrect
|
||||
//Paramètres incorrect
|
||||
}
|
||||
//Gestion du retour infogreffe
|
||||
if(infogreffe_erreur($xmlReponse))
|
||||
@ -596,7 +596,7 @@ function getGreffeActes($siren, $typeCommande = '', $ref = '')
|
||||
}
|
||||
|
||||
/**
|
||||
* Retourne si le fichier est périmé ou non
|
||||
* Retourne si le fichier est périmé ou non
|
||||
* @param string $fichier
|
||||
* @return boolean
|
||||
*/
|
||||
@ -611,7 +611,7 @@ function infogreffe_filetimeover($fichier)
|
||||
}
|
||||
|
||||
/**
|
||||
* Détermine si la chaine xml de retour est un message d'information ou d'erreur
|
||||
* Détermine si la chaine xml de retour est un message d'information ou d'erreur
|
||||
* @param $xml
|
||||
* @return unknown_type
|
||||
*/
|
||||
@ -638,8 +638,8 @@ function infogreffe_erreur_msg($xml)
|
||||
}
|
||||
|
||||
/**
|
||||
* Demande le dernier statut à jour auprès d'infogreffe seulement si disponible pour le siren
|
||||
* Acte possédant un num_depot = 9999999999
|
||||
* Demande le dernier statut à jour auprès d'infogreffe seulement si disponible pour le siren
|
||||
* Acte possédant un num_depot = 9999999999
|
||||
* @param $siren
|
||||
* @param $typeCommande
|
||||
* @return unknown_type
|
||||
@ -693,7 +693,7 @@ function getGreffeBilans($siren, $typeCommande = '', $ref = '')
|
||||
$result = infogreffe_format_bilans($bilans);
|
||||
}
|
||||
}
|
||||
//Commande d'un acte en mode téléchargement
|
||||
//Commande d'un acte en mode téléchargement
|
||||
elseif($typeCommande=='T')
|
||||
{
|
||||
$firephp->info('Mode telechargement');
|
||||
@ -714,14 +714,14 @@ function getGreffeBilans($siren, $typeCommande = '', $ref = '')
|
||||
//Commande d'un acte en mode courrier
|
||||
elseif($typeCommande=='C')
|
||||
{
|
||||
//On génére un idCommande suivant la valeur en bdd
|
||||
//On génére un idCommande suivant la valeur en bdd
|
||||
$xmlRequete = infogreffe_requetexml($siren, $idCommande, $type, $typeCommande, $ref);
|
||||
$xmlReponse = infogreffe_getproduitsxml($xmlRequete);
|
||||
}
|
||||
//Default mode erreur
|
||||
else
|
||||
{
|
||||
//Paramètres incorrect
|
||||
//Paramètres incorrect
|
||||
}
|
||||
//Gestion du retour infogreffe
|
||||
if(infogreffe_erreur($xmlReponse))
|
||||
@ -734,7 +734,7 @@ function getGreffeBilans($siren, $typeCommande = '', $ref = '')
|
||||
|
||||
function infogreffe_acte_ref($acte, $depot, $multi = false)
|
||||
{
|
||||
//Numéro de gestion
|
||||
//Numéro de gestion
|
||||
$num_gest =
|
||||
$depot['num_gest']['greffe'].'-'.
|
||||
$depot['num_gest']['dossier_millesime'].'-'.
|
||||
@ -744,7 +744,7 @@ function infogreffe_acte_ref($acte, $depot, $multi = false)
|
||||
|
||||
if($multi===true)
|
||||
{
|
||||
//Générer la ref multiactes pour le mode téléchargement
|
||||
//Générer la ref multiactes pour le mode téléchargement
|
||||
$tabActeNum = array();
|
||||
foreach($depot['depot'] as $acte)
|
||||
{
|
||||
@ -760,7 +760,7 @@ function infogreffe_acte_ref($acte, $depot, $multi = false)
|
||||
$num_acte = $acte['num_acte'];
|
||||
}
|
||||
|
||||
//Génération date (date_acte peut être vide)
|
||||
//Génération date (date_acte peut être vide)
|
||||
if(!empty($acte['date_acte'])){ $date = WDate::dateT('Y-m-d', 'Ymd', $acte['date_acte']); }
|
||||
else { $date = WDate::dateT('Y-m-d', 'Ymd', $depot['date_depot']); }
|
||||
|
||||
@ -793,7 +793,7 @@ function infogreffe_bilan_filename($siren, $ref)
|
||||
}
|
||||
|
||||
/**
|
||||
* Télécharge les fichiers d'infogreffe, et renvoi le nom du fichier ou false
|
||||
* Télécharge les fichiers d'infogreffe, et renvoi le nom du fichier ou false
|
||||
* @param string $fichier
|
||||
* @param string $url
|
||||
* @return string or false
|
||||
|
@ -12,7 +12,7 @@ function infogreffeProduits($siren, $type)
|
||||
'<type_profil>A</type_profil>'.
|
||||
'<origine_emetteur>IC</origine_emetteur>'.
|
||||
'<nature_requete>C</nature_requete>'.
|
||||
'<type_document>'.$type.'</type_document>'.// KB=Kbis, HQ=Histo, ST=Statut, AC=Acte, LE=Liste étab
|
||||
'<type_document>'.$type.'</type_document>'.// KB=Kbis, HQ=Histo, ST=Statut, AC=Acte, LE=Liste étab
|
||||
'<type_requete>S</type_requete>'.
|
||||
'<media>WS</media>'.
|
||||
'<mode_diffusion>'.
|
||||
|
@ -1,39 +1,39 @@
|
||||
<?php
|
||||
$tabErreurInpi=array(
|
||||
0=>"Aucune erreur",
|
||||
10=>"Erreur de protocole avec système distant",
|
||||
11=>"Système distant inaccessible",
|
||||
101=>"Type de requête invalide",
|
||||
10=>"Erreur de protocole avec système distant",
|
||||
11=>"Système distant inaccessible",
|
||||
101=>"Type de requête invalide",
|
||||
102=>"Code d'erreur appelant invalide",
|
||||
103=>"Identification non reconnue",
|
||||
107=>"Date invalide",
|
||||
108=>"Heure invalide",
|
||||
110=>"Code produit inconnu",
|
||||
115=>"Numéro de champ invalide",
|
||||
115=>"Numéro de champ invalide",
|
||||
116=>"Longueur de champ invalide",
|
||||
121=>"Code de protocole invalide",
|
||||
122=>"Code base de données invalide",
|
||||
122=>"Code base de données invalide",
|
||||
900=>"Erreur applicative",
|
||||
990100=>"+ de 50 entreprises trouvées",
|
||||
990100=>"+ de 50 entreprises trouvées",
|
||||
990101=>"Recherche complexe",
|
||||
990102=>"Critères saisis insuffisants",
|
||||
990103=>"Requête trop imprécise",
|
||||
990104=>"Dénomination non significative",
|
||||
990105=>"Critère commune non générall",
|
||||
990106=>"Critère voie trop général",
|
||||
990102=>"Critères saisis insuffisants",
|
||||
990103=>"Requête trop imprécise",
|
||||
990104=>"Dénomination non significative",
|
||||
990105=>"Critère commune non générall",
|
||||
990106=>"Critère voie trop général",
|
||||
990107=>"Commune obligatoire avec rue",
|
||||
990108=>"Commune non identifiée",
|
||||
990109=>"Entreprise non identifiée",
|
||||
990110=>"Erreur système",
|
||||
990108=>"Commune non identifiée",
|
||||
990109=>"Entreprise non identifiée",
|
||||
990110=>"Erreur système",
|
||||
990111=>"Devise incorrecte",
|
||||
990112=>"Autre erreur",
|
||||
990113=>"Donnée incorrecte",
|
||||
990114=>"Valeur incohérente",
|
||||
990113=>"Donnée incorrecte",
|
||||
990114=>"Valeur incohérente",
|
||||
990115=>"Surveillance impossible",
|
||||
990116=>"Entreprise non surveillée",
|
||||
990117=>"Entreprise déjà surveillée",
|
||||
990116=>"Entreprise non surveillée",
|
||||
990117=>"Entreprise déjà surveillée",
|
||||
990118=>"Produit indisponible",
|
||||
990119=>"Erreur base de données",
|
||||
990119=>"Erreur base de données",
|
||||
990120=>"Erreur facturation",
|
||||
);
|
||||
?>
|
@ -11,10 +11,10 @@ function requeteInpi($prod, $ref){
|
||||
' <ort:_9 type="010">1</ort:_9>'. "\n". // Version du dictionnaire
|
||||
' <ort:_10 type="010">1</ort:_10>'. "\n". // Code protocole/version application
|
||||
' <ort:_11 type="010">PROTORNCS</ort:_11>'. "\n".
|
||||
' <ort:_12 type="010">'.$prod['Type'].'</ort:_12>'. "\n". // Prestation souhaitée QVIT / QDOC
|
||||
' <ort:_12 type="010">'.$prod['Type'].'</ort:_12>'. "\n". // Prestation souhaitée QVIT / QDOC
|
||||
' <ort:_13 type="010">0</ort:_13>'. "\n". // Code retour/erreur
|
||||
' <ort:_14 type="010">'.RNCS_WS_USER.RNCS_WS_PASS.'</ort:_14>'."\n". // User Password concaténés
|
||||
' <ort:_15 type="010">'.$ref.'</ort:_15>'. "\n". // Réf.
|
||||
' <ort:_14 type="010">'.RNCS_WS_USER.RNCS_WS_PASS.'</ort:_14>'."\n". // User Password concaténés
|
||||
' <ort:_15 type="010">'.$ref.'</ort:_15>'. "\n". // Réf.
|
||||
' <ort:_16 type="010">'.date('Ymd').'</ort:_16>'. "\n". // Date SSAAMMJJ
|
||||
' <ort:_17 type="010">'.date('His').'</ort:_17>'. "\n". // Heure HHMMSS
|
||||
' <ort:_19 type="010">ORT</ort:_19>'. "\n".
|
||||
@ -22,7 +22,7 @@ function requeteInpi($prod, $ref){
|
||||
' <ort:_2 type="110">'. "\n".
|
||||
' <ort:_1 type="110">'. "\n".
|
||||
' <ort:_26 type="010"></ort:_26>'. "\n". // Type de produit (vide pour QVIT)
|
||||
' <ort:_27 type="010">'.$prod['Num'].'</ort:_27>'. "\n". // Numéro de produit souhaité 1 2
|
||||
' <ort:_27 type="010">'.$prod['Num'].'</ort:_27>'. "\n". // Numéro de produit souhaité 1 2
|
||||
' <ort:_28 type="010">'.$prod['Ver'].'</ort:_28>'. "\n". // Version du produit 3 2
|
||||
' <ort:_31 type="010"></ort:_31>'. "\n". // Code prestation (vide pour QVIT)
|
||||
' </ort:_1>'. "\n";
|
||||
|
@ -7,7 +7,7 @@
|
||||
<table class="bilan_assurance">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="right" colspan="2">Montants exprimés en :</td>
|
||||
<td align="right" colspan="2">Montants exprimés en :</td>
|
||||
<td align="right"><?=$tabBilan['MONNAIE']?></td>
|
||||
<td align="right"><?=$tabBilan['MONNAIE']?></td>
|
||||
</tr>
|
||||
@ -17,7 +17,7 @@
|
||||
<td align="right"><?=Wdate::dateT('Ymd', 'd/m/Y',$tabBilan['DATE_CLOTURE_PRE'])?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="2">Durée des exercices :</td>
|
||||
<td align="right" colspan="2">Durée des exercices :</td>
|
||||
<td align="right"><?=$tabBilan['DUREE_MOIS']?> mois</td>
|
||||
<td align="right"><?=$tabBilan['DUREE_MOIS_PRE']?> mois</td>
|
||||
</tr>
|
||||
@ -67,13 +67,13 @@
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['NR2'])?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Résultat technique</td>
|
||||
<td>Résultat technique</td>
|
||||
<td align="center">AR3</td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['AR3'])?></td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['NR3'])?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Résultat de l'exercice</td>
|
||||
<td>Résultat de l'exercice</td>
|
||||
<td align="center">AR4</td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['AR4'])?></td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['NR4'])?></td>
|
||||
|
@ -7,7 +7,7 @@
|
||||
<table class="bilan_banque">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="right" colspan="2">Montants exprimés en :</td>
|
||||
<td align="right" colspan="2">Montants exprimés en :</td>
|
||||
<td align="right"><?=$tabBilan['MONNAIE']?></td>
|
||||
<td align="right"><?=$tabBilan['MONNAIE']?></td>
|
||||
</tr>
|
||||
@ -17,20 +17,20 @@
|
||||
<td align="right"><?=Wdate::dateT('Ymd', 'd/m/Y',$tabBilan['DATE_CLOTURE_PRE'])?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="right" colspan="2">Durée des exercices :</td>
|
||||
<td align="right" colspan="2">Durée des exercices :</td>
|
||||
<td align="right"><?=$tabBilan['DUREE_MOIS'];?> mois</td>
|
||||
<td align="right"><?=$tabBilan['DUREE_MOIS_PRE'];?> mois</td>
|
||||
</tr>
|
||||
|
||||
<tr><td colspan="4" class="bold">ACTIF</td></tr>
|
||||
<tr>
|
||||
<td>Créances sur les établissements de crédit</td>
|
||||
<td>Créances sur les établissements de crédit</td>
|
||||
<td align="center">BA1</td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['BA1'])?></td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['NA1'])?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Créances sur la clientèle</td>
|
||||
<td>Créances sur la clientèle</td>
|
||||
<td align="center">BA2</td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['BA2'])?></td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['NA2'])?></td>
|
||||
@ -43,13 +43,13 @@
|
||||
</tr>
|
||||
<tr><td colspan="4" class="bold">PASSIF</td></tr>
|
||||
<tr>
|
||||
<td>Dettes envers les établissements de crédit</td>
|
||||
<td>Dettes envers les établissements de crédit</td>
|
||||
<td align="center">BP1</td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['BP1'])?></td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['NP1'])?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Comptes créditeurs à la clientèle</td>
|
||||
<td>Comptes créditeurs à la clientèle</td>
|
||||
<td align="center">BP2</td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['BP2'])?></td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['NP2'])?></td>
|
||||
@ -61,31 +61,31 @@
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['NP3'])?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Primes d'émissions</td>
|
||||
<td>Primes d'émissions</td>
|
||||
<td align="center">BP4</td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['BP4'])?></td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['NP4'])?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Réserves</td>
|
||||
<td>Réserves</td>
|
||||
<td align="center">BP5</td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['BP5'])?></td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['NP5'])?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Ecarts de réevaluation</td>
|
||||
<td>Ecarts de réevaluation</td>
|
||||
<td align="center">BP6</td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['BP6'])?></td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['NP6'])?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Report à nouveau</td>
|
||||
<td>Report à nouveau</td>
|
||||
<td align="center">BP7</td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['BP7'])?></td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['NP7'])?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Résultat de l'exercice</td>
|
||||
<td>Résultat de l'exercice</td>
|
||||
<td align="center">BP8</td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['BP8'])?></td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['NP8'])?></td>
|
||||
@ -98,19 +98,19 @@
|
||||
</tr>
|
||||
<tr><td colspan="4" class="bold">COMPTE DE RESULTAT</td></tr>
|
||||
<tr>
|
||||
<td>Intérêts et produits assimilés</td>
|
||||
<td>Intérêts et produits assimilés</td>
|
||||
<td align="center">BR1</td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['BR1'])?></td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['NR1'])?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Intérêts et charges assimilées</td>
|
||||
<td>Intérêts et charges assimilées</td>
|
||||
<td align="center">BR2</td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['BR2'])?></td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['NR2'])?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Résultat de l'exercice</td>
|
||||
<td>Résultat de l'exercice</td>
|
||||
<td align="center">BR3</td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['BR3'])?></td>
|
||||
<td align="right"><?=bilanMonnaie($tabBilan['NR3'])?></td>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -44,7 +44,7 @@
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2">Immobilisations financières</td>
|
||||
<td colspan="2">Immobilisations financières</td>
|
||||
<td>040</td>
|
||||
<td></td>
|
||||
<td>042</td>
|
||||
@ -66,7 +66,7 @@
|
||||
<tr>
|
||||
<td rowspan="8">ACTIF CIRCULANT</td>
|
||||
<td rowspan="2">STOCKS</td>
|
||||
<td>Matières premières, approvisionnements, en cours de production</td>
|
||||
<td>Matières premières, approvisionnements, en cours de production</td>
|
||||
<td>050</td>
|
||||
<td></td>
|
||||
<td>052</td>
|
||||
@ -86,7 +86,7 @@
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2">Avances et acomptes versés sur commandes</td>
|
||||
<td colspan="2">Avances et acomptes versés sur commandes</td>
|
||||
<td>064</td>
|
||||
<td></td>
|
||||
<td>066</td>
|
||||
@ -97,7 +97,7 @@
|
||||
|
||||
<tr>
|
||||
<td rowspan="2">CRÉANCES</td>
|
||||
<td>Clients et comptes rattachés</td>
|
||||
<td>Clients et comptes rattachés</td>
|
||||
<td>068</td>
|
||||
<td></td>
|
||||
<td>070</td>
|
||||
@ -117,7 +117,7 @@
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2">Valeurs mobilières de placement</td>
|
||||
<td colspan="2">Valeurs mobilières de placement</td>
|
||||
<td>080</td>
|
||||
<td></td>
|
||||
<td>082</td>
|
||||
@ -127,7 +127,7 @@
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2">Disponibilités</td>
|
||||
<td colspan="2">Disponibilités</td>
|
||||
<td>084</td>
|
||||
<td></td>
|
||||
<td>086</td>
|
||||
@ -148,7 +148,7 @@
|
||||
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td colspan="2">Charges constatées d'avance</td>
|
||||
<td colspan="2">Charges constatées d'avance</td>
|
||||
<td>092</td>
|
||||
<td></td>
|
||||
<td>094</td>
|
||||
@ -170,7 +170,7 @@
|
||||
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td colspan="2">Total général (I + II)</td>
|
||||
<td colspan="2">Total général (I + II)</td>
|
||||
<td>110</td>
|
||||
<td></td>
|
||||
<td>112</td>
|
||||
@ -198,21 +198,21 @@
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="3">Ecart de réévaluation</td>
|
||||
<td colspan="3">Ecart de réévaluation</td>
|
||||
<td>124</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="3">Réserve légale</td>
|
||||
<td colspan="3">Réserve légale</td>
|
||||
<td>126</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Réserve réglementées</td>
|
||||
<td>Réserve réglementées</td>
|
||||
<td>129</td>
|
||||
<td></td>
|
||||
<td>130</td>
|
||||
@ -221,7 +221,7 @@
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Autres réserves</td>
|
||||
<td>Autres réserves</td>
|
||||
<td>131</td>
|
||||
<td></td>
|
||||
<td>132</td>
|
||||
@ -230,21 +230,21 @@
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="3">Report à nouveau</td>
|
||||
<td colspan="3">Report à nouveau</td>
|
||||
<td>134</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="3">Résultat de l'exercice</td>
|
||||
<td colspan="3">Résultat de l'exercice</td>
|
||||
<td>136</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="3">Provisions réglementées</td>
|
||||
<td colspan="3">Provisions réglementées</td>
|
||||
<td>140</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
@ -267,28 +267,28 @@
|
||||
|
||||
<tr>
|
||||
<td rowspan="4">DETTES</td>
|
||||
<td colspan="3">Emprunts et dettes assimilées</td>
|
||||
<td colspan="3">Emprunts et dettes assimilées</td>
|
||||
<td>156</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="3">Avances et acomptes reçus sur commandes en cours</td>
|
||||
<td colspan="3">Avances et acomptes reçus sur commandes en cours</td>
|
||||
<td>164</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="3">Fournisseurs et comptes rattachés</td>
|
||||
<td colspan="3">Fournisseurs et comptes rattachés</td>
|
||||
<td>166</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>Autres dettes (dont comptes courants d'associés)</td>
|
||||
<td>Autres dettes (dont comptes courants d'associés)</td>
|
||||
<td>169</td>
|
||||
<td></td>
|
||||
<td>172</td>
|
||||
@ -297,7 +297,7 @@
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="3">Produits constatés d'avance</td>
|
||||
<td colspan="3">Produits constatés d'avance</td>
|
||||
<td>174</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
@ -311,7 +311,7 @@
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="3">Total général ( I + II + III)</td>
|
||||
<td colspan="3">Total général ( I + II + III)</td>
|
||||
<td>180</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
@ -323,22 +323,22 @@
|
||||
<tr>
|
||||
<td rowspan="3">RENVOIS</td>
|
||||
<td>(1)</td>
|
||||
<td>Dont immobilisations financière à moins d'un an</td>
|
||||
<td>Dont immobilisations financière à moins d'un an</td>
|
||||
<td>193</td>
|
||||
<td></td>
|
||||
<td>(4)</td>
|
||||
<td>Dont dettes à plus d'un an</td>
|
||||
<td>Dont dettes à plus d'un an</td>
|
||||
<td>195</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>(2)</td>
|
||||
<td>Dont créances à plus d'un an</td>
|
||||
<td>Dont créances à plus d'un an</td>
|
||||
<td>197</td>
|
||||
<td></td>
|
||||
<td>(5)</td>
|
||||
<td>Coût de revient des immobilisations acquises ou créees au cours de l'exercice</td>
|
||||
<td>Coût de revient des immobilisations acquises ou créees au cours de l'exercice</td>
|
||||
<td>182</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
@ -1,13 +1,13 @@
|
||||
<?php
|
||||
/**
|
||||
* Ecrit les informations à logguer sous forme de ligne dans un fichier.
|
||||
* Ecrit les informations à logguer sous forme de ligne dans un fichier.
|
||||
*
|
||||
* @param string $file
|
||||
* Chemin de fichier
|
||||
* @param string $separator
|
||||
* Séparateur utilisé pour chaque information.
|
||||
* Séparateur utilisé pour chaque information.
|
||||
* @param array $info
|
||||
* Informations à logguer (Type d'information => Valeur)
|
||||
* Informations à logguer (Type d'information => Valeur)
|
||||
* @return void
|
||||
*/
|
||||
function writeLog($file, $data, $separator){
|
||||
@ -18,18 +18,18 @@ function writeLog($file, $data, $separator){
|
||||
}
|
||||
|
||||
/**
|
||||
* Ecrit les informations à logguer sous forme de ligne dans un fichier.
|
||||
* Ecrit les informations à logguer sous forme de ligne dans un fichier.
|
||||
*
|
||||
* @param string $file
|
||||
* Chemin de fichier
|
||||
* @param string $separator
|
||||
* Séparateur utilisé pour chaque information.
|
||||
* Séparateur utilisé pour chaque information.
|
||||
* @param array $info
|
||||
* Tableau (index numérique) des informations à logguer
|
||||
* Tableau (index numérique) des informations à logguer
|
||||
* @return void
|
||||
*/
|
||||
function logLine($file, $info, $separator = ';') {
|
||||
/* ligne à écrire */
|
||||
/* ligne à écrire */
|
||||
$ligne = '';
|
||||
if(count($info)>0){
|
||||
$count = 0;
|
||||
@ -40,9 +40,9 @@ function logLine($file, $info, $separator = ';') {
|
||||
}
|
||||
}
|
||||
$ligne.= "\n";
|
||||
/* ouverture du fichier de log, le mode "a+" permet d'écrire à la fin */
|
||||
/* ouverture du fichier de log, le mode "a+" permet d'écrire à la fin */
|
||||
if($fp = fopen($file, "a+")) {
|
||||
/* écriture de la ligne */
|
||||
/* écriture de la ligne */
|
||||
fwrite($fp, $ligne);
|
||||
/* fermeture du fichier */
|
||||
fclose($fp);
|
||||
|
@ -16,14 +16,14 @@ $children[] = array('data' => 'Rechercher une annonce',
|
||||
'href' => 'menu_href_annonce');
|
||||
$children[] = array('data' => 'Dernière recherche',
|
||||
'href' => 'menu_href_list_pre');
|
||||
$children[] = array('data' => 'Liste des dernières recherches',
|
||||
$children[] = array('data' => 'Liste des dernières recherches',
|
||||
'href' => 'menu_href_list_derniere_recherche');
|
||||
$children[] = array('data' => 'Centrale IparI ©',
|
||||
'href' => 'menu_href_ipari',
|
||||
'perm' => array( 'name'=>'IPARI', 'hidden'=>true ) );
|
||||
$menu[] = array( 'data'=> 'RECHERCHES', 'children'=>$children );
|
||||
|
||||
// Identité
|
||||
// Identité
|
||||
$children = array();
|
||||
$children[] = array('data' => 'Fiche d\'identité',
|
||||
'href' => 'menu_href_identite');
|
||||
@ -82,7 +82,7 @@ $children[] = array('data' => 'IndiScore ©',
|
||||
'perm' => array( 'name'=>'INDISCORE', 'hidden'=>false ) );
|
||||
$children[] = array('data' => 'IndiScore + ©',
|
||||
'href' => 'menu_href_indiscoreplus');
|
||||
$children[] = array('data' => 'Rapport synthétique',
|
||||
$children[] = array('data' => 'Rapport synthétique',
|
||||
'href' => 'menu_href_rsynthesemin',
|
||||
'perm' => array( 'name'=>'INDISCORE2', 'hidden'=>true ) );
|
||||
$children[] = array('data' => 'Rapport complet',
|
||||
|
@ -4,7 +4,7 @@
|
||||
// Liste des modules
|
||||
function module_list()
|
||||
{
|
||||
//Définir le répertoire de stockage des modules
|
||||
//Définir le répertoire de stockage des modules
|
||||
|
||||
}
|
||||
|
||||
@ -84,14 +84,14 @@ function module_implements($hook, $sort = FALSE, $refresh = FALSE) {
|
||||
}
|
||||
|
||||
/**
|
||||
* Invoque un point d'entrée.
|
||||
* Invoque un point d'entrée.
|
||||
*
|
||||
* @param $module
|
||||
* Le nom du module.
|
||||
* @param $hook
|
||||
* Le nom de la fonction.
|
||||
* @param ...
|
||||
* Les arguments nécessaire à la fonction.
|
||||
* Les arguments nécessaire à la fonction.
|
||||
* @return
|
||||
* Valeur de retour.
|
||||
*/
|
||||
@ -107,7 +107,7 @@ function module_invoke() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Invoke un point d'entrée dans tous les modules qui l'implémente.
|
||||
* Invoke un point d'entrée dans tous les modules qui l'implémente.
|
||||
*
|
||||
* @param $hook
|
||||
* The name of the hook to invoke.
|
||||
@ -137,12 +137,12 @@ function module_invoke_all() {
|
||||
}
|
||||
|
||||
|
||||
// Point d'entrée principal
|
||||
// Point d'entrée principal
|
||||
|
||||
// Point d'entrée menu
|
||||
// Point d'entrée menu
|
||||
|
||||
// Point d'entrée permissions
|
||||
// Point d'entrée permissions
|
||||
|
||||
// Point d'entrée préférences
|
||||
// Point d'entrée préférences
|
||||
|
||||
|
||||
|
@ -1064,362 +1064,4 @@ class GoogleMapAPI {
|
||||
str_replace('"','\"',$_marker['title']),
|
||||
str_replace('/','\/',$iw_html),
|
||||
$i,
|
||||
str_replace('"','\"',$_marker['tooltip'])) . "\n";
|
||||
//TODO: in above createMarker call, pass the index of the tab in which to put directions, if applicable
|
||||
$_output .= 'map.addOverlay(marker);' . "\n";
|
||||
$i++;
|
||||
}
|
||||
return $_output;
|
||||
}
|
||||
|
||||
/**
|
||||
* overridable function to generate polyline js
|
||||
*/
|
||||
function getPolylineJS() {
|
||||
$_output = '';
|
||||
foreach($this->_polylines as $_polyline) {
|
||||
$_output .= sprintf('var polyline = new GPolyline([new GLatLng(%s,%s),new GLatLng(%s,%s)],"%s",%s,%s);',
|
||||
$_polyline['lat1'],$_polyline['lon1'],$_polyline['lat2'],$_polyline['lon2'],$_polyline['color'],$_polyline['weight'],$_polyline['opacity'] / 100.0) . "\n";
|
||||
$_output .= 'map.addOverlay(polyline);' . "\n";
|
||||
}
|
||||
return $_output;
|
||||
}
|
||||
|
||||
/**
|
||||
* overridable function to generate the js for the js function for creating a marker.
|
||||
*/
|
||||
function getCreateMarkerJS() {
|
||||
$_output = 'function createMarker(point, title, html, n, tooltip) {' . "\n";
|
||||
$_output .= 'if(n >= '. sizeof($this->_icons) .') { n = '. (sizeof($this->_icons) - 1) ."; }\n";
|
||||
if(!empty($this->_icons)) {
|
||||
$_output .= 'var marker = new GMarker(point,{\'icon\': icon[n], \'title\': tooltip});' . "\n";
|
||||
} else {
|
||||
$_output .= 'var marker = new GMarker(point,{\'title\': tooltip});' . "\n";
|
||||
}
|
||||
// TODO: make it so you can specify which tab you want the directions in.
|
||||
if($this->directions) {
|
||||
// WARNING: If you are using a tabbed info window AND directions: this uses an UNDOCUMENTED field
|
||||
// of the GInfoWindowTab object, contentElem. Google may CHANGE this name or other aspects of their
|
||||
// GInfoWindowTab implementation without warning and BREAK this code.
|
||||
// NOTE: If you are NOT using a tabbed info window, you'll be fine.
|
||||
$_output .= 'var tabFlag = isArray(html);' . "\n";
|
||||
$_output .= 'if(!tabFlag) { html = [{"contentElem": html}]; }' . "\n";
|
||||
$_output .= sprintf(
|
||||
"to_htmls[counter] = html[0].contentElem + '<form class=\"gmapDir\" id=\"gmapDirTo\" style=\"white-space: nowrap;\" action=\"http://maps.google.com/maps\" method=\"get\" target=\"_blank\">' +
|
||||
'<span class=\"gmapDirHead\" id=\"gmapDirHeadTo\">%s<strong>%s</strong> - <a href=\"javascript:fromhere(' + counter + ')\">%s</a></span>' +
|
||||
'<p class=\"gmapDirItem\" id=\"gmapDirItemTo\"><label for=\"gmapDirSaddr\" class=\"gmapDirLabel\" id=\"gmapDirLabelTo\">%s<br /></label>' +
|
||||
'<input type=\"text\" size=\"40\" maxlength=\"40\" name=\"saddr\" class=\"gmapTextBox\" id=\"gmapDirSaddr\" value=\"\" onfocus=\"this.style.backgroundColor = \'#e0e0e0\';\" onblur=\"this.style.backgroundColor = \'#ffffff\';\" />' +
|
||||
'<span class=\"gmapDirBtns\" id=\"gmapDirBtnsTo\"><input value=\"%s\" type=\"%s\" class=\"gmapDirButton\" id=\"gmapDirButtonTo\" /></span></p>' +
|
||||
'<input type=\"hidden\" name=\"daddr\" value=\"' +
|
||||
point.y + ',' + point.x + \"(\" + title.replace(new RegExp(/\"/g),'"') + \")\" + '\" /></form>';
|
||||
from_htmls[counter] = html[0].contentElem + '<p /><form class=\"gmapDir\" id=\"gmapDirFrom\" style=\"white-space: nowrap;\" action=\"http://maps.google.com/maps\" method=\"get\" target=\"_blank\">' +
|
||||
'<span class=\"gmapDirHead\" id=\"gmapDirHeadFrom\">%s<a href=\"javascript:tohere(' + counter + ')\">%s</a> - <strong>%s</strong></span>' +
|
||||
'<p class=\"gmapDirItem\" id=\"gmapDirItemFrom\"><label for=\"gmapDirSaddr\" class=\"gmapDirLabel\" id=\"gmapDirLabelFrom\">%s<br /></label>' +
|
||||
'<input type=\"text\" size=\"40\" maxlength=\"40\" name=\"daddr\" class=\"gmapTextBox\" id=\"gmapDirSaddr\" value=\"\" onfocus=\"this.style.backgroundColor = \'#e0e0e0\';\" onblur=\"this.style.backgroundColor = \'#ffffff\';\" />' +
|
||||
'<span class=\"gmapDirBtns\" id=\"gmapDirBtnsFrom\"><input value=\"%s\" type=\"%s\" class=\"gmapDirButton\" id=\"gmapDirButtonFrom\" /></span></p>' +
|
||||
'<input type=\"hidden\" name=\"saddr\" value=\"' +
|
||||
point.y + ',' + point.x + encodeURIComponent(\"(\" + title.replace(new RegExp(/\"/g),'"') + \")\") + '\" /></form>';
|
||||
html[0].contentElem = html[0].contentElem + '<p /><div id=\"gmapDirHead\" class=\"gmapDir\" style=\"white-space: nowrap;\">%s<a href=\"javascript:tohere(' + counter + ')\">%s</a> - <a href=\"javascript:fromhere(' + counter + ')\">%s</a></div>';\n",
|
||||
$this->driving_dir_text['dir_text'],
|
||||
$this->driving_dir_text['dir_tohere'],
|
||||
$this->driving_dir_text['dir_fromhere'],
|
||||
$this->driving_dir_text['dir_to'],
|
||||
$this->driving_dir_text['to_button_value'],
|
||||
$this->driving_dir_text['to_button_type'],
|
||||
$this->driving_dir_text['dir_text'],
|
||||
$this->driving_dir_text['dir_tohere'],
|
||||
$this->driving_dir_text['dir_fromhere'],
|
||||
$this->driving_dir_text['dir_from'],
|
||||
$this->driving_dir_text['from_button_value'],
|
||||
$this->driving_dir_text['from_button_type'],
|
||||
$this->driving_dir_text['dir_text'],
|
||||
$this->driving_dir_text['dir_tohere'],
|
||||
$this->driving_dir_text['dir_fromhere']
|
||||
);
|
||||
$_output .= 'if(!tabFlag) { html = html[0].contentElem; }';
|
||||
}
|
||||
|
||||
if($this->info_window) {
|
||||
$_output .= sprintf('if(isArray(html)) { GEvent.addListener(marker, "%s", function() { marker.openInfoWindowTabsHtml(html); }); }',$this->window_trigger) . "\n";
|
||||
$_output .= sprintf('else { GEvent.addListener(marker, "%s", function() { marker.openInfoWindowHtml(html); }); }',$this->window_trigger) . "\n";
|
||||
}
|
||||
$_output .= 'points[counter] = point;' . "\n";
|
||||
$_output .= 'markers[counter] = marker;' . "\n";
|
||||
if($this->sidebar) {
|
||||
$_output .= 'marker_html[counter] = html;' . "\n";
|
||||
$_output .= "sidebar_html += '<li class=\"gmapSidebarItem\" id=\"gmapSidebarItem_'+ counter +'\"><a href=\"javascript:click_sidebar(' + counter + ')\">' + title + '<\/a><\/li>';" . "\n";
|
||||
}
|
||||
$_output .= 'counter++;' . "\n";
|
||||
$_output .= 'return marker;' . "\n";
|
||||
$_output .= '}' . "\n";
|
||||
return $_output;
|
||||
}
|
||||
|
||||
/**
|
||||
* print map (put at location map will appear)
|
||||
*
|
||||
*/
|
||||
function printMap() {
|
||||
echo $this->getMap();
|
||||
}
|
||||
|
||||
/**
|
||||
* return map
|
||||
*
|
||||
*/
|
||||
function getMap() {
|
||||
$_output = '<script type="text/javascript" charset="utf-8">' . "\n" . '//<![CDATA[' . "\n";
|
||||
$_output .= 'if (GBrowserIsCompatible()) {' . "\n";
|
||||
if(strlen($this->width) > 0 && strlen($this->height) > 0) {
|
||||
$_output .= sprintf('document.write(\'<div id="%s" style="width: %s; height: %s"><\/div>\');',$this->map_id,$this->width,$this->height) . "\n";
|
||||
} else {
|
||||
$_output .= sprintf('document.write(\'<div id="%s"><\/div>\');',$this->map_id) . "\n";
|
||||
}
|
||||
$_output .= '}';
|
||||
|
||||
if(!empty($this->js_alert)) {
|
||||
$_output .= ' else {' . "\n";
|
||||
$_output .= sprintf('document.write(\'%s\');', str_replace('/','\/',$this->js_alert)) . "\n";
|
||||
$_output .= '}' . "\n";
|
||||
}
|
||||
|
||||
$_output .= '//]]>' . "\n" . '</script>' . "\n";
|
||||
|
||||
if(!empty($this->js_alert)) {
|
||||
$_output .= '<noscript>' . $this->js_alert . '</noscript>' . "\n";
|
||||
}
|
||||
|
||||
return $_output;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* print sidebar (put at location sidebar will appear)
|
||||
*
|
||||
*/
|
||||
function printSidebar() {
|
||||
echo $this->getSidebar();
|
||||
}
|
||||
|
||||
/**
|
||||
* return sidebar html
|
||||
*
|
||||
*/
|
||||
function getSidebar() {
|
||||
return sprintf('<div id="%s"></div>',$this->sidebar_id) . "\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* get the geocode lat/lon points from given address
|
||||
* look in cache first, otherwise get from Yahoo
|
||||
*
|
||||
* @param string $address
|
||||
*/
|
||||
function getGeocode($address) {
|
||||
|
||||
if(empty($address))
|
||||
return false;
|
||||
|
||||
$address=strtr($address, array('''=>"'"));
|
||||
|
||||
$_geocode = false;
|
||||
|
||||
if(($_geocode = $this->getCache($address)) === false) {
|
||||
if(($_geocode = $this->geoGetCoords($address)) !== false) {
|
||||
$this->putCache($address, $_geocode['lon'], $_geocode['lat'], $_geocode['precis'], $_geocode['num'], $_geocode['indRep'], $_geocode['typeVoie'], $_geocode['libVoie'], $_geocode['adrComp0'], $_geocode['adrComp1'], $_geocode['adrComp2'], $_geocode['adrComp3'],$_geocode['cp'], $_geocode['ville']);
|
||||
}
|
||||
}
|
||||
|
||||
return $_geocode;
|
||||
}
|
||||
|
||||
/**
|
||||
* get the geocode lat/lon points from cache for given address
|
||||
*
|
||||
* @param string $address
|
||||
*/
|
||||
function getCache($address) {
|
||||
/*
|
||||
$fp=fopen(PATH_LOGS.'log/geoGoogle.csv', 'a');
|
||||
fwrite($fp, $_result."\n".print_r($tabAdr,1)."----------------------------------------\n");
|
||||
fclose($fp);
|
||||
|
||||
*/
|
||||
$_ret = array();
|
||||
$this->conid = mysql_pconnect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
|
||||
mysql_select_db(MYSQL_DB, $this->conid);
|
||||
$res=mysql_select($this->_db_cache_table, 'lon,lat,precis,adr_num,adr_indRep,adr_typeVoie,adr_libVoie,adr_adrComp0,adr_adrComp1,adr_adrComp2,adr_adrComp3,adr_cp,adr_ville', "address='".addslashes($address)."'");
|
||||
foreach ($res as $_row) {
|
||||
$_ret['lon'] = $_row[0];
|
||||
$_ret['lat'] = $_row[1];
|
||||
$_ret['precis'] = $_row[2];
|
||||
$_ret['num'] = $_row[3];
|
||||
$_ret['indRep'] = $_row[4];
|
||||
$_ret['typeVoie'] = $_row[5];
|
||||
$_ret['libVoie'] = $_row[6];
|
||||
$_ret['adrComp0'] = $_row[7];
|
||||
$_ret['adrComp1'] = $_row[8];
|
||||
$_ret['adrComp2'] = $_row[9];
|
||||
$_ret['adrComp3'] = $_row[10];
|
||||
$_ret['cp'] = $_row[11];
|
||||
$_ret['ville'] = $_row[12];
|
||||
}
|
||||
|
||||
return !empty($_ret) ? $_ret : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* put the geocode lat/lon points into cache for given address
|
||||
*
|
||||
* @param string $address
|
||||
* @param string $lon the map latitude (horizontal)
|
||||
* @param string $lat the map latitude (vertical)
|
||||
*/
|
||||
function putCache($address, $lon, $lat, $precis, $adr_num, $adr_indRep, $adr_typeVoie, $adr_libVoie, $adr_adrComp0, $adr_adrComp1, $adr_adrComp2, $adr_adrComp3, $adr_cp, $adr_ville) {
|
||||
if(strlen($address) == 0 || strlen($lon) == 0 || strlen($lat) == 0 || strlen($precis)==0 )
|
||||
return false;
|
||||
|
||||
$this->conid = mysql_pconnect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
|
||||
mysql_select_db(MYSQL_DB, $this->conid);
|
||||
$tabInsert=array( 'address'=>$address,
|
||||
'lon'=>$lon,
|
||||
'lat'=>$lat,
|
||||
'precis'=>$precis,
|
||||
'adr_num'=>$adr_num,
|
||||
'adr_indRep'=>$adr_indRep,
|
||||
'adr_typeVoie'=>$adr_typeVoie,
|
||||
'adr_libVoie'=>$adr_libVoie,
|
||||
'adr_adrComp0'=>$adr_adrComp0,
|
||||
'adr_adrComp1'=>$adr_adrComp1,
|
||||
'adr_adrComp2'=>$adr_adrComp2,
|
||||
'adr_adrComp3'=>$adr_adrComp3,
|
||||
'adr_cp'=> $adr_cp,
|
||||
'adr_ville'=>$adr_ville
|
||||
);
|
||||
mysql_insert($this->_db_cache_table, $tabInsert);
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* get geocode lat/lon points for given address from Yahoo
|
||||
*
|
||||
* @param string $address
|
||||
*/
|
||||
function geoGetCoords($address,$depth=0) {
|
||||
|
||||
switch($this->lookup_service) {
|
||||
|
||||
case 'GOOGLE':
|
||||
usleep(100);
|
||||
$_url = sprintf('http://%s/maps/geo?&q=%s&output=csv&key=%s',$this->lookup_server['GOOGLE'],rawurlencode($address),$this->api_key);
|
||||
|
||||
$_result = false;
|
||||
|
||||
if($_result = $this->fetchURL($_url)) {
|
||||
|
||||
$_result_parts = explode(',',$_result);
|
||||
if($_result_parts[0] != 200)
|
||||
return false;
|
||||
$_coords=$this->insee->structureVoie($address);
|
||||
$_coords['precis']= $_result_parts[1];
|
||||
$_coords['lat'] = $_result_parts[2];
|
||||
$_coords['lon'] = $_result_parts[3];
|
||||
}
|
||||
break;
|
||||
|
||||
case 'YAHOO':
|
||||
default:
|
||||
|
||||
$_url = 'http://%s/MapsService/V1/geocode';
|
||||
$_url .= sprintf('?appid=%s&location=%s',$this->lookup_server['YAHOO'],$this->app_id,rawurlencode($address));
|
||||
|
||||
$_result = false;
|
||||
|
||||
if($_result = $this->fetchURL($_url)) {
|
||||
|
||||
preg_match('!<Latitude>(.*)</Latitude><Longitude>(.*)</Longitude>!U', $_result, $_match);
|
||||
$_coord=$this->insee->structureVoie($address);
|
||||
|
||||
$_coords['lon'] = $_match[2];
|
||||
$_coords['lat'] = $_match[1];
|
||||
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
return $_coords;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* fetch a URL. Override this method to change the way URLs are fetched.
|
||||
*
|
||||
* @param string $url
|
||||
*/
|
||||
function fetchURL($url) {
|
||||
|
||||
while(1) {
|
||||
$page=getUrl($url,'','','',false, '','',0);
|
||||
switch ($page['code']) {
|
||||
case 403:
|
||||
usleep(100);
|
||||
continue(2);
|
||||
break;
|
||||
case 200:
|
||||
break(2);
|
||||
default:
|
||||
die($page['code']);
|
||||
break;
|
||||
}
|
||||
//elseif ()
|
||||
}
|
||||
//if ($page['code']==403) die('Erreur 403');
|
||||
return $page['body'];
|
||||
}
|
||||
|
||||
/**
|
||||
* get distance between to geocoords using great circle distance formula
|
||||
*
|
||||
* @param float $lat1
|
||||
* @param float $lat2
|
||||
* @param float $lon1
|
||||
* @param float $lon2
|
||||
* @param float $unit M=miles, K=kilometers, N=nautical miles, I=inches, F=feet
|
||||
*/
|
||||
function geoGetDistance($lat1,$lon1,$lat2,$lon2,$unit='M') {
|
||||
|
||||
// calculate miles
|
||||
$M = 69.09 * rad2deg(acos(sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($lon1 - $lon2))));
|
||||
|
||||
switch(strtoupper($unit))
|
||||
{
|
||||
case 'K':
|
||||
// kilometers
|
||||
return $M * 1.609344;
|
||||
break;
|
||||
case 'N':
|
||||
// nautical miles
|
||||
return $M * 0.868976242;
|
||||
break;
|
||||
case 'F':
|
||||
// feet
|
||||
return $M * 5280;
|
||||
break;
|
||||
case 'I':
|
||||
// inches
|
||||
return $M * 63360;
|
||||
break;
|
||||
case 'M':
|
||||
default:
|
||||
// miles
|
||||
return $M;
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
str_rep
|
@ -100,7 +100,7 @@ class MBilans {
|
||||
$tabBilan['DUREE_MOIS'] = $bilan['dureeExercice'];
|
||||
$tabBilan['DUREE_MOIS_PRE'] = $bilan['dureeExercicePre'];
|
||||
$tabBilan['MONNAIE'] = $bilan['monnaie'];
|
||||
$tabBilan['CONSOLIDE'] = $bilan['typeBilan']; // C = Bilan consolidé
|
||||
$tabBilan['CONSOLIDE'] = $bilan['typeBilan']; // C = Bilan consolidé
|
||||
$tabBilan['MONNAIE_ORI'] = $bilan['monnaieOrigine'];
|
||||
$tabBilan['MONNAIE_LIV_UNITE'] = $bilan['unite'];
|
||||
if ($bilan['monnaie']=='EUR') $monnaie='€'; else $monnaie=$bilan['monnaie'];
|
||||
@ -151,7 +151,7 @@ class MBilans {
|
||||
$this->cookie=$this->header['Set-Cookie'];
|
||||
$postData=array('rq'=>'hbilabon', 'QPABO'=>'101001002', 'QPPAS'=>'otY66');
|
||||
$urlConn=$this->url.'/cgi-bin/h2r';
|
||||
//echo "Connexion à $urlConn<br/>";
|
||||
//echo "Connexion à $urlConn<br/>";
|
||||
$page=getUrl($urlConn, $this->cookie, $postData, $this->url, false, $this->domaine);
|
||||
$this->body=$page['body'];
|
||||
$this->codeRetour=$page['code'];
|
||||
@ -173,11 +173,11 @@ class MBilans {
|
||||
//echo "Recherche du siren $this->siren<br/>\n";
|
||||
$this->partConnection();
|
||||
|
||||
/** Liste des établissements **/
|
||||
/** Liste des établissements **/
|
||||
$urlEntrep=$this->url .'/cgi-bin/h2r?rq=hbilentl&QEREC=B&QESIR='.$this->siren
|
||||
.'&QENOM=&QEPRN=&QENAIA=&QENAIM=&QECP=&QESIEG=A&QEVIL=&QENRU=&QERUE=&QEAPE=&QETEL=&QENAOB&wi=1';
|
||||
/* QESIEG :
|
||||
"" = Tous les étab
|
||||
"" = Tous les étab
|
||||
"A" = Dernier Siège Actif connu
|
||||
"S" = Historique des Sièges
|
||||
"E" = Historique des établissements secondaires
|
||||
@ -187,7 +187,7 @@ class MBilans {
|
||||
$bil=$page['body'];
|
||||
preg_match_all('/"\/cgi-bin\/h2r\?rq=hbiliden&QINUME=(\d*)&QISIR=(\d*)&(.*)"/', $bil, $matches);
|
||||
//print_r($matches);
|
||||
/** Fiche d'identité du siège **/
|
||||
/** Fiche d'identité du siège **/
|
||||
$urlEntrep=$url. str_replace('"', '', $matches[0][0]);
|
||||
sleep(1);
|
||||
$page=getUrl($urlEntrep, $this->cookie, '', $this->url, false, $this->domaine);
|
||||
@ -236,7 +236,7 @@ class MBilans {
|
||||
$tabBilan['DATE_CLOTURE_PRE'] =trim(substr($fcontents[1], 109, 8)); // SSAAMMJJ
|
||||
$tabBilan['DUREE_MOIS'] =trim(substr($fcontents[1], 117, 2));
|
||||
$tabBilan['DUREE_MOIS_PRE'] =trim(substr($fcontents[1], 119, 2));
|
||||
$type =trim(substr($fcontents[1], 123, 1)); // C = Bilan consolidé
|
||||
$type =trim(substr($fcontents[1], 123, 1)); // C = Bilan consolidé
|
||||
if ($type=='') $tabBilan['CONSOLIDE']='N';
|
||||
elseif ($type=='C') $tabBilan['CONSOLIDE']='C';
|
||||
else { $tabBilan['CONSOLIDE']=$type;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user