543 lines
16 KiB
PHP
543 lines
16 KiB
PHP
<?php
|
|
class PiecesController extends Zend_Controller_Action
|
|
{
|
|
protected $association_cj = array(
|
|
'9150', // Association syndicale libre
|
|
'9220', // Association déclarée
|
|
'9221', // Association déclarée "entreprises d'insertion par l'économique"
|
|
'9222', // Association intermédiaire
|
|
'9223', // Groupement d'employeurs
|
|
'9230', // Association déclarée reconnue d'utilité publique
|
|
'9240', // Congrégation
|
|
'9260', // Association de droit local
|
|
'9300', // Fondation
|
|
);
|
|
|
|
protected $siret;
|
|
protected $id;
|
|
protected $entrep;
|
|
|
|
public function init()
|
|
{
|
|
require_once 'Scores/WsScores.php';
|
|
require_once 'Scores/Utilisateur.php';
|
|
require_once 'Scores/SessionEntreprise.php';
|
|
require_once 'common/dates.php';
|
|
require_once 'Infogreffe/Infogreffe.php';
|
|
|
|
$request = $this->getRequest();
|
|
$this->siret = $request->getParam('siret');
|
|
$this->id = $request->getParam('id', 0);
|
|
$this->entrep = new SessionEntreprise($this->siret, $this->id);
|
|
}
|
|
|
|
public function indexAction(){}
|
|
|
|
public function commandeassociationAction()
|
|
{
|
|
|
|
}
|
|
|
|
public function assocationAction()
|
|
{
|
|
|
|
}
|
|
|
|
public function actesAction()
|
|
{
|
|
$this->view->headLink()->appendStylesheet('/themes/default/styles/pieces.css', 'all');
|
|
$this->view->headScript()->appendFile('/themes/default/scripts/pieces.js', 'text/javascript');
|
|
|
|
//Catégorie Juridique
|
|
$cj = $this->entrep->getFormeJuridique();
|
|
if( in_array($cj, $this->association_cj) ) {
|
|
$this->_forward($action);
|
|
}
|
|
|
|
$user = new Utilisateur();
|
|
|
|
$request = $this->getRequest();
|
|
|
|
$siren = substr($this->siret,0,9);
|
|
$vecteur = 'XL';
|
|
$ref = '';
|
|
|
|
//Affichage des actes disponible
|
|
$infogreffe = new Infogreffe();
|
|
$reponse = $infogreffe->getGreffeActes($siren, $vecteur, $ref);
|
|
//Gestion des erreurs dans la réponse
|
|
|
|
/*
|
|
* Construire la réponse pour affichage
|
|
* Date, Type, Décisions,
|
|
*/
|
|
$infosActes = array();
|
|
|
|
if (count($reponse['result'])>0) {
|
|
|
|
$items = $reponse['result'];
|
|
//Traitement dernier statut à jour
|
|
if(array_key_exists(0, $items))
|
|
{
|
|
$acteS = $items[0];
|
|
$lienCommande = cmdDernierStatut($siren, $acteS);
|
|
$data = '';
|
|
$data.= $acteS['actes'][0]['type_lib'].' ';
|
|
//Génération du lien de commande suivant le mode de diffusion
|
|
$params = 'vue=statuts&siret='.$siren.'&ref='.$acteS['actes'][0]['ref'];
|
|
switch($acteS['actes'][0]['mode'])
|
|
{
|
|
case 'C':
|
|
if(hasPerm('actes', $_SESSION['tabInfo']))
|
|
{
|
|
$href = './?page=greffes&q=c&'.$params;
|
|
$title = 'Commander le document correspondant';
|
|
}
|
|
else
|
|
{
|
|
$href = '#';
|
|
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
|
}
|
|
$data.= '<a href="'.$href.'"'.$class.' title="'.$title.'"> <img alt="courrier" src="./img/icone_courrier.png"/></a>';
|
|
break;
|
|
}
|
|
$cells[] = array( 'data'=> $data.$lienCommande , 'attrs'=>array('class'=>'type') );
|
|
//=> Cellule 3
|
|
$data = 'Le dernier statut à jour';
|
|
$cells[] = array( 'data'=> $data, 'attrs'=>array('class'=>'decision') );
|
|
$rows[] = array( 'data' => $cells );
|
|
//Suppression du dernier statut à jour
|
|
unset($items[0]);
|
|
}
|
|
//Fin traitement dernier statut à jour
|
|
|
|
//Traitement des actes normaux
|
|
foreach($items as $key => $depot)
|
|
{
|
|
$infosActe = array();
|
|
//Parcours standard des actes pour affichage
|
|
foreach($depot['actes'] as $num => $acte)
|
|
{
|
|
$infosActe['date'] = $acte['date_acte'];
|
|
$infosActe['mode'] = $acte['mode'];
|
|
$infosActe['lib'] = $acte['type_lib'];
|
|
$infosActe['ref'] = $acte['ref'];
|
|
|
|
$infos = array(
|
|
'num_acte' => $acte['num_acte'],
|
|
'date_acte' => $acte['date_acte'],
|
|
'type' => $acte['type'],
|
|
'type_lib' => $acte['type_lib'],
|
|
'decision' => $acte['decision']
|
|
);
|
|
|
|
switch($acte['mode'])
|
|
{
|
|
case 'fichier':
|
|
if ( $user->checkPerm('actes') ) {
|
|
$href = $this->view->url(array(
|
|
'controller' => 'pieces',
|
|
'action' => 'acte',
|
|
'mode' => 'fichier',
|
|
'siret' => $siren,
|
|
'ref' => $acte['ref'],
|
|
));
|
|
$title = 'Télécharger le document correspondant';
|
|
} else {
|
|
$href = '#';
|
|
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
|
}
|
|
break;
|
|
case 'T':
|
|
if ( $user->checkPerm('actes') ) {
|
|
$href = $this->view->url(array(
|
|
'controller' => 'pieces',
|
|
'action' => 'acte',
|
|
'mode' => 'T',
|
|
'siret' => $siren,
|
|
'ref' => $acte['ref'],
|
|
));
|
|
$title = 'Télécharger le document correspondant';
|
|
} else {
|
|
$href = '#';
|
|
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
|
}
|
|
break;
|
|
case 'C':
|
|
if ( $user->checkPerm('actes') ) {
|
|
$href = $this->view->url(array(
|
|
'controller' => 'pieces',
|
|
'action' => 'acte',
|
|
'mode' => 'C',
|
|
'siret' => $siren,
|
|
'ref' => $acte['ref'],
|
|
'infos' => serialize($infos)
|
|
));
|
|
$title = 'Recevoir le document directement par mail (sous 3/5 jours ouvrés)';
|
|
} else {
|
|
$href = '#';
|
|
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
|
}
|
|
break;
|
|
case 'courrier':
|
|
if ( $user->checkPerm('actes') ) {
|
|
$href = $this->view->url(array(
|
|
'controller' => 'pieces',
|
|
'action' => 'acte',
|
|
'mode' => 'courrier',
|
|
'siret' => $siren,
|
|
'ref' => $acte['ref'],
|
|
'infos' => serialize($infos)
|
|
));
|
|
$title = 'Recevoir le document directement par mail (sous 15 jours ouvrés)';
|
|
} else {
|
|
$href = '#';
|
|
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
|
}
|
|
break;
|
|
}
|
|
|
|
$infosActe['href'] = $href;
|
|
$infosActe['title'] = $title;
|
|
|
|
$infosActe['decision'] = '';
|
|
if($depot['num_depot']>=0)
|
|
{
|
|
$data = '';
|
|
if(!empty($acte['decision']))
|
|
{
|
|
$data.= $acte['decision'].'<br/>';
|
|
}
|
|
$data.= 'Dépot n°'.$depot['num_depot'].' du '.$depot['date_depot'];
|
|
if($acte['nbpages_acte']>1) {
|
|
$data.= ', '.$acte['nbpages_acte'].' pages';
|
|
} elseif($acte['nbpages_acte']==1) {
|
|
$data.= ', '.$acte['nbpages_acte'].' page';
|
|
}
|
|
$infosActe['decision'] = $data;
|
|
}
|
|
|
|
$infosActes[] = $infosActe;
|
|
} // Fin acte
|
|
} // Fin depot
|
|
|
|
}
|
|
|
|
$this->view->assign('InfosActes', $infosActes);
|
|
$this->view->assign('siren', $siren);
|
|
$this->view->assign('siret', $this->siret);
|
|
$this->view->assign('raisonSociale', $this->entrep->getRaisonSociale());
|
|
}
|
|
|
|
public function bilansAction()
|
|
{
|
|
$this->view->headLink()->appendStylesheet('/themes/default/styles/pieces.css', 'all');
|
|
$this->view->headScript()->appendFile('/themes/default/scripts/pieces.js', 'text/javascript');
|
|
|
|
//Catégorie Juridique
|
|
$cj = $this->entrep->getFormeJuridique();
|
|
if( in_array($cj, $this->association_cj) ) {
|
|
$this->_forward($action);
|
|
}
|
|
|
|
$user = new Utilisateur();
|
|
|
|
$request = $this->getRequest();
|
|
|
|
$siren = substr($this->siret,0,9);
|
|
$vecteur = 'XL';
|
|
$ref = '';
|
|
|
|
//Affichage des bilans disponible
|
|
$infogreffe = new Infogreffe();
|
|
$reponse = $infogreffe->getGreffeBilans($siren, $vecteur, $ref);
|
|
//Gestion des erreurs dans la réponse
|
|
|
|
/*
|
|
echo '<pre>';
|
|
print_r($reponse);
|
|
echo '</pre>';
|
|
exit;
|
|
*/
|
|
|
|
$infosBilans = array();
|
|
|
|
if (count($reponse['result'])>0) {
|
|
|
|
$items = $reponse['result'];
|
|
foreach($items as $key => $item)
|
|
{
|
|
$infosBilan = array();
|
|
$infosBilan['date'] = $item['date_cloture'];
|
|
$infosBilan['type'] = 'Comptes millésime '.$item['millesime'];
|
|
$infosBilan['mode'] = $item['mode'];
|
|
$infos = array(
|
|
'date_cloture' => $item['date_cloture'],
|
|
'type' => $item['millesime'],
|
|
'decision' => $item['num_depot']
|
|
);
|
|
switch($item['mode'])
|
|
{
|
|
case 'fichier';
|
|
if ( $user->checkPerm('actes') ) {
|
|
$href = $this->view->url(array(
|
|
'controller' => 'pieces',
|
|
'action' => 'bilan',
|
|
'siret' => $siren,
|
|
'ref' => $item['ref'],
|
|
'mode' => 'fichier',
|
|
'info' => serialize($info),
|
|
));
|
|
$title = 'Télécharger le document correspondant';
|
|
} else {
|
|
$href = '#';
|
|
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
|
}
|
|
break;
|
|
case 'T':
|
|
if ( $user->checkPerm('actes') ) {
|
|
$href = $this->view->url(array(
|
|
'controller' => 'pieces',
|
|
'action' => 'bilan',
|
|
'siret' => $siren,
|
|
'ref' => $item['ref'],
|
|
'mode' => 'T',
|
|
));
|
|
$title = 'Télécharger le document correspondant';
|
|
} else {
|
|
$href = '#';
|
|
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
|
}
|
|
break;
|
|
case 'C':
|
|
if ( $user->checkPerm('actes') ) {
|
|
$href = $this->view->url(array(
|
|
'controller' => 'pieces',
|
|
'action' => 'bilan',
|
|
'siret' => $siren,
|
|
'ref' => $item['ref'],
|
|
'mode' => 'C',
|
|
'infos' => serialize($infos),
|
|
));
|
|
$title = 'Recevoir le document directement par mail (sous 3/5 jours ouvrés)';
|
|
} else {
|
|
$href = '#';
|
|
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
|
}
|
|
break;
|
|
case 'courrier':
|
|
if ( $user->checkPerm('actes') ) {
|
|
$href = $this->view->url(array(
|
|
'controller' => 'pieces',
|
|
'action' => 'bilan',
|
|
'siret' => $siren,
|
|
'ref' => $item['ref'],
|
|
'mode' => 'courrier',
|
|
'infos' => serialize($infos),
|
|
));
|
|
$title = 'Recevoir le document directement par mail (sous 15 jours ouvrés)';
|
|
} else {
|
|
$href = '#';
|
|
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
|
}
|
|
break;
|
|
}
|
|
$infosBilan['href'] = $href;
|
|
$infosBilan['title'] = $title;
|
|
|
|
$infosBilan['decision'] = 'Dépot n°'.$item['num_depot'];
|
|
|
|
$infosBilans[] = $infosBilan;
|
|
}
|
|
}
|
|
|
|
$this->view->assign('InfosBilans', $infosBilans);
|
|
$this->view->assign('siren', $siren);
|
|
$this->view->assign('siret', $this->siret);
|
|
$this->view->assign('raisonSociale', $this->entrep->getRaisonSociale());
|
|
}
|
|
|
|
public function statutsAction(){}
|
|
|
|
public function bilanAction()
|
|
{
|
|
//Désactiver Affichage
|
|
|
|
$request = $this->getRequest();
|
|
$vecteur = $request->getParam('mode');
|
|
$info = $request->getParam('info');
|
|
$ref = $request->getParam('ref');
|
|
$siren = substr($this->siret,0,9);
|
|
|
|
switch($vecteur) {
|
|
|
|
case 'fichier':
|
|
//$client->setLog('greffe_bilans', $siren, 0, $ref);
|
|
$info = unserialize($info);
|
|
if(file_exists(PATH_DATA.'/pdf/bilan-'.$siren.'-'.$ref.'.pdf')){
|
|
$suffixe = 'bilan';
|
|
}elseif(file_exists(PATH_DATA.'/pdf/acte-'.$siren.'-'.$ref.'.pdf')){
|
|
$suffixe = 'acte';
|
|
}
|
|
$href = '/fichier/pdf/'.$suffixe.'-'.$siren.'-'.$ref.'.pdf';
|
|
echo '<br/><a href="'.$href.'" target="_blank">Ouvrir le bilan millésime '.$info['type'].'</a>';
|
|
break;
|
|
break;
|
|
|
|
case 'T':
|
|
$infogreffe = new Infogreffe();
|
|
$reponse = $infogreffe->getGreffeBilans($siren, $vecteur, $ref);
|
|
|
|
if(empty($reponse['error'])) {
|
|
$items = $reponse['result']['bilan'];
|
|
}
|
|
else {
|
|
$error = $reponse['error']['errNum'].' - '.$reponse['error']['errMsg'];
|
|
}
|
|
|
|
if ($error!='') {
|
|
//$client->setLog('greffe_bilans', $siren, 0, 'Erreur '.$reponse['error']['errNum']);
|
|
echo '<br/>Erreur : '.$error;
|
|
exit;
|
|
}
|
|
|
|
$info = unserialize(urldecode($info));
|
|
foreach($items as $item) {
|
|
if($item['url_acces']!==false) {
|
|
//$client->setLog('greffe_bilan', $siren, 0, $ref);
|
|
$href = '/fichier/pdf/'.$item['url_acces'];
|
|
echo '<br/><a href="'.$href.'" target="_blank">Ouvrir le bilan millésime '.$item['millesime'].'</a>';
|
|
}
|
|
else
|
|
{
|
|
//$client->setLog('greffe_bilans', $siren, 0, 'Erreur telechargement '.$ref);
|
|
echo '<br/>Impossible de télécharger le fichier auprès de notre partenaire.';
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
exit;
|
|
}
|
|
|
|
public function acteAction()
|
|
{
|
|
//Désactiver Affichage
|
|
|
|
$request = $this->getRequest();
|
|
$vecteur = $request->getParam('mode');
|
|
$info = $request->getParam('info');
|
|
$ref = $request->getParam('ref');
|
|
$siren = substr($this->siret,0,9);
|
|
|
|
switch($vecteur) {
|
|
|
|
case 'fichier':
|
|
//$client->setLog('greffe_actes', $siren, 0, $ref);
|
|
$info = unserialize(urldecode($info));
|
|
$href = '/fichier/pdf/acte-'.$siren.'-'.$ref.'.pdf';
|
|
echo '<br/><a href="'.$href.'" target="_blank">Ouvrir le fichier '.$info['type_lib'].' </a>';
|
|
exit;
|
|
break;
|
|
|
|
case 'T':
|
|
|
|
$infogreffe = new Infogreffe();
|
|
$reponse = $infogreffe->getGreffeActes($siren, $vecteur, $ref);
|
|
|
|
if (empty($reponse['error'])) {
|
|
$items = $reponse['result']['actes'];
|
|
} else {
|
|
$error = $reponse['error']['errNum'].' - '.$reponse['error']['errMsg'];
|
|
}
|
|
|
|
if ($error!='') {
|
|
//$client->setLog('greffe_acte', $siren, 0, 'Erreur '.$reponse['error']['errNum']);
|
|
echo '<br/>Erreur : '.$error;
|
|
exit;
|
|
}
|
|
|
|
foreach($items as $item) {
|
|
if($item['num_acte']==$info['num_acte']) {
|
|
if($item['url_acces']!==false) {
|
|
//$client->setLog('greffe_actes', $siren, 0, $ref);
|
|
$href = '/fichier/pdf/'.$item['url_acces'];
|
|
echo '<br/><a href="'.$href.'" target="_blank">Ouvrir le fichier '.$item['type_acte_libelle'].' </a>';
|
|
exit;
|
|
} else {
|
|
//$client->setLog('greffe_actes', $siren, 0, 'Erreur telechargement '.$ref);
|
|
echo '<br/>Impossible de télécharger le fichier '.$item['type_acte_libelle'].' auprès de notre partenaire.';
|
|
exit;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
exit;
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* Commande de pièces, kbis, privileges, nantissements
|
|
*/
|
|
public function commandeAction()
|
|
{
|
|
$this->view->headLink()->appendStylesheet('/themes/default/styles/pieces.css', 'all');
|
|
$this->view->headScript()->appendFile('/themes/default/scripts/pieces.js', 'text/javascript');
|
|
|
|
$siren = substr($this->siret, 0, 9);
|
|
|
|
$session = new SessionEntreprise($this->siret, $this->id);
|
|
|
|
$user = new Utilisateur();
|
|
$permKbis = false;
|
|
if ($user->checkPerm('kbis')){
|
|
$permKbis = true;
|
|
}
|
|
$permPriv = false;
|
|
if ($user->checkPerm('privileges')){
|
|
$permPriv = true;
|
|
}
|
|
$permSurvPriv = false;
|
|
if ($user->checkPerm('survpriv')){
|
|
$permSurvPriv = true;
|
|
}
|
|
|
|
$this->view->assign('permKbis', $permKbis);
|
|
$this->view->assign('permPriv', $permPriv);
|
|
$this->view->assign('permSurvPriv', $permSurvPriv);
|
|
|
|
$this->view->assign('siren', $siren);
|
|
$this->view->assign('siret', $this->siret);
|
|
$this->view->assign('raisonSociale', $session->getRaisonSociale());
|
|
|
|
}
|
|
|
|
/**
|
|
* Affiche les privilèges en surveillance
|
|
*/
|
|
public function privilegesAction()
|
|
{
|
|
$request = $this->getRequest();
|
|
$type = $request->getParam('type', null);
|
|
$siren = substr($this->siret, 0, 9);
|
|
$detail = false;
|
|
if (!empty($type)){
|
|
$detail = true;
|
|
}
|
|
$session = new SessionEntreprise($this->siret, $this->id);
|
|
$ws = new WsScores();
|
|
if ($detail){
|
|
$infos = $ws->getPrivilegesDetail($siren, array($type));
|
|
} else {
|
|
$infos = $ws->getPrivilegesCumul($siren);
|
|
}
|
|
$privileges = $infos->result->item;
|
|
$this->view->assign('privileges', $privileges);
|
|
$this->view->assign('siren', $siren);
|
|
$this->view->assign('siret', $this->siret);
|
|
$this->view->assign('raisonSociale', $session->getRaisonSociale());
|
|
}
|
|
|
|
|
|
} |