Update libs

This commit is contained in:
Michael RICOIS 2015-09-04 15:44:31 +00:00
parent e0d107183c
commit 5fe985b081
3 changed files with 134 additions and 137 deletions

View File

@ -2690,10 +2690,16 @@ class MInsee
if (intval($siren) > 100 && $tabInsee['ACTIF']*1 == 1 && $tabInsee['actifEco']*1 == 0) {
// L'établissement est actif juridiquement à l'INSEE mais sans activité économique
$tabTmp=$this->iDb->select('insee.insee_even', 'insEVE, IF(insDATEVE=0, idFlux*1, insDATEVE) AS insDATEVE',
"insSIREN=$siren AND insNIC=$nic AND insEVE IN ('MPF','MNP','650') ORDER BY insDATEVE DESC", false, MYSQL_ASSOC);
"insSIREN=$siren AND insNIC=$nic AND insEVE IN ('OD','TD','MPF','MNP','420','425','620','621','650') ORDER BY insDATEVE DESC", false, MYSQL_ASSOC);
if (count($tabTmp)>0) {
$tabModif=$tabTmp[0];
switch(''.$tabModif['insEVE']) {
switch(''.$tabModif['insEVE']) {
case 'OD':
case 'TD':
case '420': // Absence d'activité de l'entreprise (cessation économique de l.entreprise)
case '425': // Absence d'activité d'une entreprise suite à une mise à jour au répertoire //
case '620':
case '621':
case '650': // Fermé économiquement
$tabInsee['actifEcoType']='ECOF';
$tabInsee['actifEcoDate']=$tabModif['insDATEVE'];
@ -2705,32 +2711,19 @@ class MInsee
case 'MNP': // Présumé Fermé par la trimestrille NPAI
$tabInsee['actifEcoType']='NPAI';
$tabInsee['actifEcoDate']=$tabModif['insDATEVE'];
break;
}
}
// Evènement Relatif à une cessation ECO entreprise
$tabTmp=$this->iDb->select('insee.insee_even', 'insEVE, IF(insDATEVE=0, idFlux*1, insDATEVE) AS insDATEVE',
"insSIREN=$siren AND insEVE IN ('OD','TD','420','425','620','621') ORDER BY insDATEVE DESC", false, MYSQL_ASSOC);
if (count($tabTmp)>0) {
$tabModif=$tabTmp[0];
switch(''.$tabModif['insEVE']) {
case 'OD':
case 'TD':
case '420': // Absence d'activité de l'entreprise (cessation économique de l.entreprise)
case '425': // Absence d'activité d'une entreprise suite à une mise à jour au répertoire //
case '620':
case '621':
$tabInsee['actifEcoType']='ECOF';
$tabInsee['actifEcoDate']=$tabModif['insDATEVE'];
break;
default:
$tabInsee['actifEco']=1;
$tabInsee['actifEcoDate']='';
$tabInsee['actifEcoType']='';
break;
}
}
}
if ($tabInsee['CIVILITE']==1) $dir1Genre='M';
elseif ($tabInsee['CIVILITE']==2) $dir1Genre='F';
elseif ($tabRet['dir1Genre']<>'M' && $tabRet['dir1Genre']<>'F') $dir1Genre='';
$dir1Genre='';
if ($tabInsee['CIVILITE']==1) $dir1Genre='M';
elseif ($tabInsee['CIVILITE']==2) $dir1Genre='F';
$tabRet = array(
'id' => $etab['id'],
@ -2992,7 +2985,7 @@ class MInsee
$tabProcol = $this->getAnnoncesLegales($siren, 0, 'P', false);
if ( count($tabProcol) > 0 ) {
$tabDates = array();
foreach ($tabProcol as $iProcol=>$procol) {
foreach ($tabProcol as $iProcol => $procol) {
$tabDates[] = $procol['dateJugement'];
}
rsort($tabDates);
@ -3061,7 +3054,7 @@ class MInsee
if ($tabInsee['CIVILITE']==1) { $tabRet['dir1NomPrenom']='M. '; $tabRet['dir1Genre']='M'; }
elseif ($tabInsee['CIVILITE']==2) { $tabRet['dir1NomPrenom']='Mme '; $tabRet['dir1Genre']='F'; }
elseif ($tabRet['dir1Genre']<>'M' && $tabRet['dir1Genre']<>'F') $tabRet['dir1Genre']='';
$tabRet['dir1NomPrenom'].=$tabInsee['NOM'];
$tabRet['dir1NomPrenom'].=$tabInsee['NOM'];
}
if (intval($siren) > 0) {
@ -3409,6 +3402,7 @@ class MInsee
$tabRet['FJ2_Lib'] = $tabRet['FJ_lib'];
}
if ($fjInpi>=1000 && $fjInpi<2000) {
$tabRet['dir1Titre']='Personne physique';
$tabRet['dir1Code']='1050';
$tabRet['dir1NomPrenom']=strtoupper($entrep['nom']).' '.ucwords(strtolower($entrep['prenom']));
$tabRet['dir1Nom']=strtoupper($entrep['nom']);
@ -5262,7 +5256,7 @@ class MInsee
}
}
if ($ann['Rubrique']=='procol') $procol=true;
if ($ann['Rubrique']=='procol') $procol = true;
$dateCes=str_replace('-','', $ann['dateCessationActivite'])*1;
$dateDeb=str_replace('-','', $ann['dateDebutActivite'])*1;
@ -5627,123 +5621,115 @@ class MInsee
// --- Vérification
if ($visualisation === false) {
/**
* On vérifie si la société n'est pas in bonis pour les raisons suivantes :
* 1502 : Clôture de la procédure pour extinction du passif
*/
if ($rubrique=='P') {
$tabJugements=array();
foreach ($tabRet as $i=>$ann) {
$tabJugements[$ann['dateJugement']]=$ann['evenements'][0]['CodeEven'];
// --- Si il y a des annonces
if (count($tabRet) > 0) {
$tabJugements = array();
// --- Liste des jugements principaux - élimination des secondaires
foreach ($tabRet as $i => $ann) {
$tabJugements[$ann['dateJugement']] = $ann['evenements'][0]['CodeEven'];
}
// Si plan recherche des annonces suivantes
if ($this->dureePlan>0) {
ksort($tabJugements);
// Tableau chronologique des dates de jugement ==> code jugement
reset($tabJugements);
foreach ($tabJugements as $dateJuge=>$codeJuge) {
if ($dateJuge>$this->debutPlan & (
($codeJuge>=1100 && $codeJuge<=1101)|| // Sauvegarde
($codeJuge>=1200 && $codeJuge<=1202)||$codeJuge==1211|| // RJ
($codeJuge>=1300 && $codeJuge<=1313)|| // LJ
($codeJuge>=1500 && $codeJuge<=1504) ) ) // Cloture
// --- Gestions des conditions pour l'affichage de l'indicateur procédure collectives
if ($rubrique=='P') {
// Si plan recherche des annonces suivantes
if ($this->dureePlan > 0) {
ksort($tabJugements);
// Tableau chronologique des dates de jugement => code jugement
foreach ($tabJugements as $dateJuge => $codeJuge) {
// Si plan suivi de SV, RJ, LJ ou clôture alors pas de plan
$this->dureePlan=0;
}
}
// Tableau ante-chronologique des dates de jugement ==> code jugement
krsort($tabJugements);
reset($tabJugements);
$tabNoProcol=array();
$tmp=$this->iDb->select('jo.tabEvenements', 'codEven,affProcol', 'affProcol>0', false, MYSQL_ASSOC);
foreach ($tmp as $tmp2)
$tabNoProcol[$tmp2['codEven']]=$tmp2['affProcol'];
if (@array_key_exists(current($tabJugements), $tabNoProcol)) {
// Ce code jugement Procol n'appel pas forcément l'indicateur : SituationJuridique=P
switch($tabNoProcol[current($tabJugements)]) {
case 1: // PAS DE MENTION DE LA PROCOL
$tabRet=array();
break;
case 2: // Ne pas mentionner la procol si CJ=1xxx
//$tabId=$this->getIdentiteLight($siren);
if (substr($tabId['FJ'],0,1)*1==1) {
$tabRet=array();
} elseif ($tabId['Actif']*1>0 && substr($tabId['FJ'],0,1)*1<>9 ) {
$derProcol =str_replace('-','',key($tabJugements))*1;
$maxLatence=date('Ymd',mktime(0,0,0,(substr($derProcol,4,2)*1)+1,substr($derProcol,6,2),substr($derProcol,0,4)));
if (date('Ymd')>$maxLatence) {
$tabRet=array();
if ($dateJuge>$this->debutPlan & (
($codeJuge>=1100 && $codeJuge<=1101)|| // Sauvegarde
($codeJuge>=1200 && $codeJuge<=1202)|| $codeJuge==1211|| // RJ
($codeJuge>=1300 && $codeJuge<=1313)|| // LJ
($codeJuge>=1500 && $codeJuge<=1504) ) ) { // Cloture
$this->dureePlan = 0;
}
}
break;
case 3: // Pas Procol si actif RCS
//$tabId=$this->getIdentiteLight($siren);
if ($tabId['Actif']*1>0) {
$tabRet=array();
}
break;
case 4: // Le dernier jugement est un appel => Procol Suspendu
$this->appelJugement=true;
break;
}
}
if (count($tabRet)>0) {
$derProcol=str_replace('-','',key($tabJugements))*1;
$dateTropAncienne=(date('Ymd')*1)-120000;
if ($derProcol<$dateTropAncienne) {
//$tabId=$this->getIdentiteLight($siren);
if ($tabId['Actif']*1>0) {
/** Procédure trop ancienne **/
$derPr=$classWDate->dateT('Ymd','d/m/Y',$derProcol);
$tabRet=array();
}
} elseif ((current($tabJugements)>=1300 && current($tabJugements)<=1313 && current($tabJugements)!=1310) ||
(current($tabJugements)>=1500 && current($tabJugements)<=1504)) {
/** En Procol mais présence d'une annonce de cloture ou LJ
avec Bilan publié ultérieurement
**/
$mBil=new MBilans($siren, $this->iDb);
$tabBilans=$mBil->listeBilans($accesDist);
$derExercice=0;
}
foreach ($tabBilans as $idx=>$bilan)
if ($bilan['dateExercice']>$derExercice) $derExercice=$bilan['dateExercice'];
// Tableau ante-chronologique des dates de jugement ==> code jugement
krsort($tabJugements);
$evenFirst = current($tabJugements);
$derProcol = str_replace('-','', key($tabJugements))*1;
//@todo : Mettre en cache
$tabNoProcol = array();
$tmp = $this->iDb->select('jo.tabEvenements', 'codEven, affProcol', 'affProcol>0', false, MYSQL_ASSOC);
foreach ($tmp as $tmp2) {
$tabNoProcol[$tmp2['codEven']] = $tmp2['affProcol'];
}
// --- Evenements effaçant l'indicateur P dans Situation Juridique
if (array_key_exists($evenFirst, $tabNoProcol)) {
switch ($tabNoProcol[$evenFirst]) {
// PAS DE MENTION DE LA PROCOL
case 1:
$tabRet = array();
break;
// Ne pas mentionner la procol si CJ=1xxx
case 2:
if (substr($tabId['FJ'],0,1)*1==1) {
$tabRet = array();
} elseif ($tabId['Actif']*1 > 0 && substr($tabId['FJ'],0,1)*1 != 9) {
$maxLatence = date('Ymd',mktime(0,0,0,(substr($derProcol,4,2)*1)+1,substr($derProcol,6,2),substr($derProcol,0,4)));
if (date('Ymd') > $maxLatence) {
$tabRet = array();
}
}
break;
// Pas Procol si actif RCS
case 3:
if ($tabId['Actif']*1>0) {
$tabRet = array();
}
break;
// Le dernier jugement est un appel => Procol Suspendu
case 4:
$this->appelJugement = true;
break;
}
}
// --- Procédure trop ancienne plus de 12 ans et actif
$dateTropAncienne = (date('Ymd')*1)-120000;
if ($derProcol < $dateTropAncienne && $tabId['Actif']*1 > 0) {
$derPr = $classWDate->dateT('Ymd','d/m/Y', $derProcol);
$tabRet = array();
}
// --- En Procol mais présence d'une annonce de cloture ou LJ avec Bilan publié ultérieurement
elseif ( ($evenFirst>=1300 && $evenFirst<=1313 && $evenFirst!=1310) || ($evenFirst>=1500 && $evenFirst<=1504)) {
$mBil = new MBilans($siren, $this->iDb);
$tabBilans = $mBil->listeBilans($accesDist);
$derExercice = 0;
foreach ($tabBilans as $idx => $bilan) {
if ($bilan['dateExercice'] > $derExercice) {
$derExercice = $bilan['dateExercice'];
}
}
if ($derExercice>$derProcol) {
$derEx=$classWDate->dateT('Ymd','d/m/Y',$derExercice);
$derPr=$classWDate->dateT('Ymd','d/m/Y',$derProcol);
$tabRet=array();
$derEx = $classWDate->dateT('Ymd', 'd/m/Y', $derExercice);
$derPr = $classWDate->dateT('Ymd', 'd/m/Y', $derProcol);
$tabRet = array();
}
}
}
}
elseif ($rubrique=='D' && count($tabRet)>0) {
$tabJugements=array();
foreach ($tabRet as $i=>$ann) {
$tabJugements[$ann['DateParution']]=$ann['evenements'][0]['CodeEven'];
}
// Tableau ante-chronologique des dates de jugement ==> code jugement
krsort($tabJugements);
reset($tabJugements);
$mBil = new MBilans($siren, $this->iDb);
$tabBilans = $mBil->listeBilans($accesDist);
$derExercice = 0;
$derProcol = str_replace('-','',key($tabJugements))*1;
foreach ($tabBilans as $idx=>$bilan){
if ($bilan['dateExercice']>$derExercice) {
$derExercice = $bilan['dateExercice'];
// --- Dissolution mais bilan après événements
elseif ($rubrique == 'D') {
// Tableau ante-chronologique des dates de jugement ==> code jugement
krsort($tabJugements);
$mBil = new MBilans($siren, $this->iDb);
$tabBilans = $mBil->listeBilans(false, 3);
$derExercice = 0;
$derProcol = str_replace('-','',key($tabJugements))*1;
foreach ($tabBilans as $idx => $bilan){
if ($bilan['dateExercice'] > $derExercice) {
$derExercice = $bilan['dateExercice'];
}
}
if ($derExercice > $derProcol) {
$derEx = $classWDate->dateT('Ymd','d/m/Y',$derExercice);
$derPr = $classWDate->dateT('Ymd','d/m/Y',$derProcol);
$tabRet = array();
}
}
if ($derExercice > $derProcol) {
$derEx=$classWDate->dateT('Ymd','d/m/Y',$derExercice);
$derPr=$classWDate->dateT('Ymd','d/m/Y',$derProcol);
$tabRet = array();
}
}
}

View File

@ -339,6 +339,7 @@ class Scores_Ws_Server
* @var unknown_type
*/
public $listError = array(
'0000' => "Erreur indeterminé",
'0900' => "Identifiant ou mot de passe incorrect",
'0901' => "Accès WS non authorisé pour cet utilisateur",
'0902' => "Méthode non authorisée dans votre profil",
@ -684,8 +685,14 @@ class Scores_Ws_Server
else {
$sql->where('u.login=?', $login);
}
$resultId = $userM->fetchAll($sql);
try {
$resultId = $userM->fetchAll($sql);
} catch (Zend_Db_Exception $e) {
$c = Zend_Registry::get('config');
file_put_contents($c->profil->path->data.'/log/application.log',
date('Y-m-d H:i:s').'- AUTH : '.$e->getMessage()."\n", FILE_APPEND);
return '0000';
}
/**
* No user, deleted or disable
*/
@ -1122,6 +1129,7 @@ class Scores_Ws_Server
'login' => $login,
'authenticate' => $authenticate,
'ip' => $ip,
'dateInsert' => date('YmdHis'),
);
try {
$authLogM = new Application_Model_Sdv1UtilisateursAuthLog();

View File

@ -24,12 +24,15 @@ function initstr($chaine, $taille, $caractere_pour_combler=' ', $align=ALIGN_LEF
return substr($chaine, 0, $taille);
}
$encoding = mb_internal_encoding();
$diff = strlen($chaine) - mb_strlen($chaine, $encoding);
if ($align == ALIGN_RIGHT) {
return str_pad($chaine ,$taille, $caractere_pour_combler, STR_PAD_LEFT);
}
return str_pad($chaine, $taille + $diff, $caractere_pour_combler, STR_PAD_LEFT);
}
if ($align == ALIGN_LEFT) {
return str_pad($chaine, $taille, $caractere_pour_combler, STR_PAD_RIGHT);
return str_pad($chaine, $taille + $diff, $caractere_pour_combler, STR_PAD_RIGHT);
}
return $str;