Test encodage UTF-8

This commit is contained in:
Michael RICOIS 2010-01-18 17:12:02 +00:00
parent 5be21d5cc3
commit 9736b4e17d
261 changed files with 3016 additions and 27235 deletions

View File

@ -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

View File

@ -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')

View File

@ -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), '`,`');

View File

@ -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();
}
}

View File

@ -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();
?>

View File

@ -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(

View File

@ -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',

View File

@ -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>
*/
}

View File

@ -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)

View File

@ -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;
}
}

View File

@ -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).')';
}

View File

@ -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>
*/

View File

@ -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";
}
?>

View File

@ -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>
*/
}

View File

@ -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 (

View File

@ -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) {

View File

@ -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";
}*/

View File

@ -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&nbsp;d\'activité notée&nbsp;le&nbsp;:&nbsp;');
$pos=strpos($responseSiege, '<font face="Arial" size="2">Absence&nbsp;d\'activité notée&nbsp;le&nbsp;:&nbsp;');
if ($pos>0) $tabRet['dateAbsActivite']=substr($responseSiege, $pos+78, 10);
else {
$pos=strpos($responseSiege, '<font face="Arial" size="2">Absence&nbsp;d\'activité');
$pos=strpos($responseSiege, '<font face="Arial" size="2">Absence&nbsp;d\'activité');
if ($pos>0) $tabRet['dateAbsActivite']='';
}
}
$pos=strpos($responseSiege, ' size="-1"> <B>n°&nbsp;SIRET&nbsp;:</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°&nbsp;SIRET&nbsp;:</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&nbsp;de&nbsp;création&nbsp;:</B></FONT></td><td valign="top"><font face="Arial" size="-1">');
$pos=strpos($responseSiege, 'size="-1"> <B>Date&nbsp;de&nbsp;création&nbsp;:</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é&nbsp;principale&nbsp;:</B></FONT></td><td valign="top" colspan="3"><font face="Arial" size="-1">');
$pos=strpos($responseSiege, ' size="-1"> <B>Activité&nbsp;principale&nbsp;:</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&nbsp;est&nbsp;connue&nbsp;au&nbsp;répertoire&nbsp;comme&nbsp;');
$pos=strpos($responseSiege, '<font face="Arial" size="-1"><b>L\'entreprise&nbsp;est&nbsp;connue&nbsp;au&nbsp;répertoire&nbsp;comme&nbsp;');
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&nbsp;est&nbsp;cessée&nbsp;le&nbsp;:&nbsp;');
$pos=strpos($responseSiege, '<font face="Arial" size="-1"><b>L\'entreprise&nbsp;est&nbsp;cessée&nbsp;le&nbsp;:&nbsp;');
$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&nbsp;de&nbsp;création&nbsp;:</B></FONT></td><td valign="top"><font face="Arial" size="-1">');
$pos=strpos($responseEntreprise, 'size="-1"> <B>Date&nbsp;de&nbsp;création&nbsp;:</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é&nbsp;principale&nbsp;:</B></FONT></td><td valign="top" colspan="3"><font face="Arial" size="-1">');
// Activité prinicpale Entrep
$pos=strpos($responseEntreprise, ' size="-1"> <B>Activité&nbsp;principale&nbsp;:</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&nbsp;établissements&nbsp;actifs&nbsp;:</B></FONT></td><td valign="top"><font face="Arial" size="-1">');
$pos=strpos($responseEntreprise, ' size="-1"> <B>Nb&nbsp;établissements&nbsp;actifs&nbsp;:</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 &nbsp (', '(', '</tr><tr>');
$tabTmp=explode('</td>', $strCapital);
$tabRet['capital_source']=str_replace(')', '', $tabTmp[0]);
$tabTmp=explode('&nbsp', $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>&nbsp;</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>&nbsp;</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">&nbsp;Qui sommes nous&nbsp;</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&nbsp;</a>-<a href="http://www.coface.fr" target="_blank">&nbsp;Qui sommes nous&nbsp;</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('&nbsp;', ' ', @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('&nbsp;', ' ', @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>
*/
}
?>

View File

@ -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>

View File

@ -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);

View File

@ -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), '`,`');

View File

@ -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&nbsp;:&nbsp;'."\r\n\t\t\t".'<font face="Arial" size="2"><b>');
$pos=strpos($responseListe, 'Nombre total de réponses&nbsp;:&nbsp;'."\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'] .';'.

View File

@ -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++)

View File

@ -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>
*/

View File

@ -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>
*/

View File

@ -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;

View File

@ -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 {

View File

@ -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

View File

@ -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: ';

View File

@ -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: ';

View File

@ -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: ';

View File

@ -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: ';

View File

@ -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í­ 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: ';

View File

@ -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: ';
?>

View File

@ -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: ';

View File

@ -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.';

View File

@ -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: ';

View File

@ -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&ouml;postiosoite.';
$PHPMAILER_LANG['mailer_not_supported'] = 'postivälitintyyppiä ei tueta.';
$PHPMAILER_LANG['provide_address'] = 'Aseta vähintään yksi vastaanottajan sähk&ouml;postiosoite.';
$PHPMAILER_LANG['recipients_failed'] = 'SMTP-virhe: seuraava vastaanottaja osoite on virheellinen.';
$PHPMAILER_LANG['encoding'] = 'Tuntematon koodaustyyppi: ';
//$PHPMAILER_LANG['signing'] = 'Signing Error: ';

View File

@ -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 rensen [www.profo-webdesign.dk]
* Supplied by Dávur ¸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: ';

View File

@ -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: ';

View File

@ -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: ';

View File

@ -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'] = '少なくとも¤ãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’ 指定する必要があります。';
$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: ';

View File

@ -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: ';

View File

@ -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: ';

View File

@ -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ł‡ 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: ';

View File

@ -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: ';

View File

@ -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: ';

View File

@ -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: ';

View File

@ -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: ';

View File

@ -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: ';

View File

@ -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;
}
}

View File

@ -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

View File

@ -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 {

View File

@ -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

View File

@ -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);
}
}

View File

@ -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

View File

@ -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 {

View File

@ -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

View File

@ -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

View File

@ -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();
}
}

View File

@ -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;

View File

@ -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');
?>

View File

@ -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());

View File

@ -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;
}

View File

@ -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);

View File

@ -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;
}

View File

@ -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>&nbsp;</th>';

View File

@ -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'

View File

@ -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

View File

@ -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");

View File

@ -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;

View File

@ -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

View File

@ -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()
{

View File

@ -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.
************************************************************************/

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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'];

View File

@ -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",

View File

@ -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.'">&nbsp;<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.'">&nbsp;<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.'">&nbsp;<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.'">&nbsp;<img alt="Téléchargement" src="./img/icone_pdf.gif"/></a>'.$tags[1];
$data.= $tags[0].' . <a href="'.$href.'" title="'.$title.'">&nbsp;<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.'">&nbsp;<img alt="Téléchargement" src="./img/icone_pdf.gif"/></a>'.$tags[1];
$data.= $tags[0].'<span class="fichier"><a href="'.$href.'" title="'.$title.'">&nbsp;<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.'">&nbsp;<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;
}

View File

@ -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';

View File

@ -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

View File

@ -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>'.

View File

@ -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",
);
?>

View File

@ -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";

View File

@ -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>

View File

@ -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

View File

@ -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&Eacute;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>&nbsp;</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>&nbsp;</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>

View File

@ -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);

View File

@ -16,14 +16,14 @@ $children[] = array('data' => 'Rechercher une annonce',
'href' => 'menu_href_annonce');
$children[] = array('data' => 'Derni&egrave;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 &copy;',
'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&eacute;',
'href' => 'menu_href_identite');
@ -82,7 +82,7 @@ $children[] = array('data' => 'IndiScore &copy;',
'perm' => array( 'name'=>'INDISCORE', 'hidden'=>false ) );
$children[] = array('data' => 'IndiScore + &copy;',
'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',

View File

@ -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

View File

@ -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),'&quot;') + \")\" + '\" /></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),'&quot;') + \")\") + '\" /></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('&#039;'=>"'"));
$_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

View File

@ -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='&euro;'; 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&egrave;ge Actif connu
"S" = Historique des Si&egrave;ges
"E" = Historique des &eacute;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