1679 lines
54 KiB
PHP
1679 lines
54 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/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(){}
|
|
|
|
/**
|
|
* Commande de status association
|
|
*/
|
|
public function cmdassociationAction()
|
|
{
|
|
$user = new Scores_Utilisateur();
|
|
|
|
$request = $this->getRequest();
|
|
$email = $request->getParam('email', '');
|
|
|
|
if(!empty($email)) {
|
|
|
|
$erreur = false;
|
|
$c = Zend_Registry::get('config');
|
|
$fp=fopen(realpath($c->profil->path->data).'/log/commande_asso.csv', 'a');
|
|
fwrite($fp, date('Y/m/d H:i:s').";$siren;".$email.';'.$login.';'.$user->getEmail().';'.$user->getIpAddress()."\n");
|
|
fclose($fp);
|
|
|
|
$siren = substr($this->siret, 0, 9);
|
|
|
|
$infoAsso = new stdClass();
|
|
$infoAsso->siren = $siren;
|
|
$infoAsso->waldec = '';
|
|
$infoAsso->idEntreprise = $this->id;
|
|
$infoAsso->raisonSociale = $this->entrep->getRaisonSociale();
|
|
|
|
$infoDemande = new stdClass();
|
|
$infoDemande->reference = $request->getParam('reference');
|
|
$infoDemande->email = $email;
|
|
$infoDemande->tel = $request->getParam('tel');
|
|
$infoDemande->fax = '';
|
|
$infoDemande->nom = '';
|
|
$infoDemande->service = '';
|
|
$infoDemande->societe = '';
|
|
$infoDemande->adresse = '';
|
|
$infoDemande->cp = '';
|
|
$infoDemande->ville = '';
|
|
|
|
$ws = new WsScores();
|
|
$reponse = $ws->setCmdAsso($infoAsso, $infoDemande); //@todo : vérfier les logs de facturation
|
|
Zend_Registry::get('firebug')->info($reponse);
|
|
$annee = substr($reponse->commande->dateCommande,0,4);
|
|
$mois = substr($reponse->commande->dateCommande,4,2);
|
|
$jour = substr($reponse->commande->dateCommande,6,2);
|
|
$heure = substr($reponse->commande->dateCommande,8,2);
|
|
$minutes = substr($reponse->commande->dateCommande,10,2);
|
|
$ref = $reponse->commande->refCmd;
|
|
if( isset($ref) && !empty($ref) )
|
|
{
|
|
$message = 'Votre demande à été prise en compte le '.$jour.'/'.$mois.'/'.$annee.' à '.$heure.' h '.$minutes.' sous la référence <b>'.$ref.'</b>.';
|
|
} else {
|
|
$message = 'Une erreur s\'est produite lors du passage de votre commande.';
|
|
}
|
|
} else {
|
|
$message="ERREUR : Veuillez saisir une adresse email valide pour la commande de pièces.";
|
|
}
|
|
$this->view->assign('message', $message);
|
|
$this->view->assign('siren', substr($this->siret, 0,9));
|
|
$this->view->assign('siret', $this->siret);
|
|
$this->view->assign('id', $this->id);
|
|
$this->view->assign('raisonSociale', $this->entrep->getRaisonSociale());
|
|
}
|
|
|
|
/**
|
|
* Affichage liste d'actes infogreffe
|
|
*/
|
|
public function actesAction()
|
|
{
|
|
$this->view->headScript()->appendFile('/themes/default/scripts/pieces.js', 'text/javascript');
|
|
|
|
$user = new Scores_Utilisateur();
|
|
|
|
//Catégorie Juridique
|
|
$cj = $this->entrep->getFormeJuridique();
|
|
if( in_array($cj, $this->association_cj) ) {
|
|
$this->_forward('associationactes');
|
|
}
|
|
|
|
$request = $this->getRequest();
|
|
|
|
$siren = substr($this->siret,0,9);
|
|
$vecteur = 'XL';
|
|
$ref = '';
|
|
|
|
//Récupération de la liste des infos du RNCS
|
|
$ws = new WsScores();
|
|
$rncsDepots = $ws->getListeDepots($siren);
|
|
|
|
//Affichage des actes disponible
|
|
$infogreffe = new Infogreffe();
|
|
$reponse = $infogreffe->getGreffeActes($siren, $vecteur, $ref);
|
|
|
|
/*
|
|
* Construire la réponse pour affichage
|
|
* Date, Type, Décisions,
|
|
*/
|
|
$infosActes = array();
|
|
|
|
if (is_array($reponse['result']) && count($reponse['result'])>0) {
|
|
|
|
$items = $reponse['result'];
|
|
//Traitement dernier statut à jour
|
|
if(array_key_exists(0, $items)) {
|
|
|
|
$acteS = $items[0]['actes'][0];
|
|
|
|
//Commande enregistré dans la bdd et fichier existe
|
|
$lienCommande = '';
|
|
$checkFile = false;
|
|
if( $user->checkModeEdition() ) {
|
|
$lib = 'Voir le dernier ficher dans le système.';
|
|
$commandes = new Application_Model_Commandes();
|
|
$rowset = $commandes->select('*')
|
|
->where('siren = ?', $siren)
|
|
->order('dateCommande DESC');
|
|
$rows = $commandes->fetchAll($rowset);
|
|
} else {
|
|
$lib = 'Télécharger votre dernière commande.';
|
|
$commandes = new Application_Model_Commandes();
|
|
$rowset = $commandes->select('*')
|
|
->where('siren = ?', $siren)
|
|
->where('login = ?', $user->getLogin())
|
|
->order('dateCommande DESC');
|
|
$rows = $commandes->fetchAll($rowset);
|
|
}
|
|
|
|
$rows = $commandes->fetchAll($rowset);
|
|
$nbCommandes = count($rows);
|
|
if ($nbCommandes>0) {
|
|
foreach($rows as $commande) {
|
|
if(substr($commande->refDocument, 0, 3) == 'ST-') {
|
|
$ref = trim($commande->refDocument);
|
|
$c = Zend_Registry::get('config');
|
|
$refFile = realpath($c->profil->path->data).'/pdf'.
|
|
'/acte-'.$siren.'-'.trim($commande->refDocument).'.pdf';
|
|
$checkFile = true;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if( $checkFile && file_exists($refFile) ) {
|
|
$lienCommande = '<br/>'.
|
|
'<a href="./fichier/pdf/acte-'.$siren.'-'.$ref.'.pdf'.
|
|
'" target="_blank">'.$lib.'</a>';
|
|
}
|
|
//Génération du lien de commande suivant le mode de diffusion
|
|
switch($acteS['mode']) {
|
|
case 'C':
|
|
if( $user->checkPerm('actes') ) {
|
|
$title = 'Commander le document correspondant';
|
|
$href = $this->view->url(array(
|
|
'controller' => 'pieces',
|
|
'action' => 'statuts',
|
|
'mode' => 'C',
|
|
'siret' => $siren,
|
|
'ref' => $acteS['ref'],
|
|
));
|
|
} else {
|
|
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
|
$href = '#';
|
|
}
|
|
break;
|
|
}
|
|
|
|
$infosStatut['mode'] = $acteS['mode'];
|
|
$infosStatut['lib'] = $acteS['type_lib'];
|
|
$infosStatut['ref'] = $acteS['ref'];
|
|
$infosStatut['href'] = $href;
|
|
$infosStatut['title'] = $title;
|
|
$infosStatut['decision'] = 'Le dernier statut à jour';
|
|
|
|
$infosActes[] = $infosStatut;
|
|
//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'],
|
|
'info' => urlencode(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'],
|
|
'info' => urlencode(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 = '';
|
|
$data.= '<b>Dépot n°'.$depot['num_depot'].' du '.$depot['date_depot'].'</b>';
|
|
if($acte['nbpages_acte']>1) {
|
|
$data.= ', '.$acte['nbpages_acte'].' pages';
|
|
} elseif($acte['nbpages_acte']==1) {
|
|
$data.= ', '.$acte['nbpages_acte'].' page';
|
|
}
|
|
$data.= '<br/>';
|
|
if(!empty($acte['decision']))
|
|
{
|
|
$data.= $acte['decision'];
|
|
}
|
|
if ($rncsDepots!==false) {
|
|
if (count($rncsDepots->item)>0) {
|
|
foreach($rncsDepots->item as $d) {
|
|
$date = WDate::dateT('Y-m-d', 'd/m/Y', $d->DateDepot);
|
|
if ($date==$depot['date_depot']){
|
|
$data.= '<br/> - '.$d->LibDepot;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
$infosActe['decision'] = $data;
|
|
}
|
|
|
|
$infosActes[] = $infosActe;
|
|
} // Fin acte
|
|
} // Fin depot
|
|
|
|
} else {
|
|
$this->view->assign('ErreurMessage', $reponse['error']['errNum'].' - '.$reponse['error']['errMsg']);
|
|
}
|
|
|
|
$this->view->assign('ModeEdition', $user->checkModeEdition());
|
|
$this->view->assign('InfosActes', $infosActes);
|
|
$this->view->assign('siren', $siren);
|
|
$this->view->assign('siret', $this->siret);
|
|
$this->view->assign('raisonSociale', $this->entrep->getRaisonSociale());
|
|
|
|
$this->view->assign('surveillance', $user->checkPerm('survbilan'));
|
|
}
|
|
|
|
/**
|
|
* Affichage liste de bilans infogreffe
|
|
*/
|
|
public function bilansAction()
|
|
{
|
|
$user = new Scores_Utilisateur();
|
|
|
|
$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('associationbilans');
|
|
} else {
|
|
$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);
|
|
|
|
$infosBilans = array();
|
|
|
|
if (is_array($reponse['result']) && 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' => urlencode(serialize($infos)),
|
|
));
|
|
$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',
|
|
'info' => urlencode(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',
|
|
'info' => urlencode(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;
|
|
}
|
|
} else {
|
|
$this->view->assign('ErreurMessage', $reponse['error']['errNum'].' - '.$reponse['error']['errMsg']);
|
|
}
|
|
|
|
$this->view->assign('ModeEdition', $user->checkModeEdition());
|
|
$this->view->assign('InfosBilans', $infosBilans);
|
|
$this->view->assign('siren', $siren);
|
|
$this->view->assign('siret', $this->siret);
|
|
$this->view->assign('raisonSociale', $this->entrep->getRaisonSociale());
|
|
|
|
$this->view->assign('surveillance', $user->checkPerm('survactes'));
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Affichage formulaire de commande courrier S&D
|
|
*/
|
|
public function cmdcourrierAction()
|
|
{
|
|
//Désactivation affichage
|
|
$this->_helper->layout()->disableLayout();
|
|
$this->_helper->viewRenderer->setNoRender(true);
|
|
|
|
$request = $this->getRequest();
|
|
$dejaCommande = $request->getParam('dejaCommande', false);
|
|
$noemail = $request->getParam('noemail', false);
|
|
$sameLogin = $request->getParam('sameLogin', false);
|
|
$typeCommande = $request->getParam('typeCommande', '');
|
|
$idCommande = $request->getParam('idCommande', '');
|
|
|
|
Zend_Registry::get('firebug')->info('cmdcourrier');
|
|
|
|
if(!$dejaCommande || ($dejaCommande && $noemail) )
|
|
{
|
|
$user = new Scores_Utilisateur();
|
|
|
|
$siren = $request->getParam('siret', 0);
|
|
$info = $request->getParam('info', 0);
|
|
|
|
$ref = $request->getParam('ref', '');
|
|
$vue = $request->getParam('vue', '');
|
|
|
|
$this->view->assign('siren', $siren);
|
|
$this->view->assign('info', $info);
|
|
$this->view->assign('typeCommande', $typeCommande);
|
|
$this->view->assign('idCommande', $idCommande);
|
|
$this->view->assign('ref', $ref);
|
|
$this->view->assign('vue', $vue);
|
|
$this->view->assign('email', $user->getEmail());
|
|
$this->renderScript('pieces/cmdcourrier.phtml');
|
|
}
|
|
elseif(!$noemail && $dejaCommande && $sameLogin)
|
|
{
|
|
$this->view->assign('typeCommande', $typeCommande);
|
|
$this->view->assign('idCommande', $idCommande);
|
|
$this->renderScript('pieces/cmdcourrier-cmd1.phtml');
|
|
}
|
|
elseif(!$noemail && $dejaCommande && !$sameLogin)
|
|
{
|
|
$this->renderScript('pieces/cmdcourrier-cmd2.phtml');
|
|
}
|
|
}
|
|
|
|
public function cmdfacticeAction()
|
|
{
|
|
$this->_helper->layout()->disableLayout();
|
|
$this->_helper->viewRenderer->setNoRender(true);
|
|
|
|
$request = $this->getRequest();
|
|
$ref = $request->getParam('ref', '');
|
|
$siren = substr($this->siret,0,9);
|
|
|
|
$user = new Scores_Utilisateur();
|
|
|
|
$tabCommande = array(
|
|
'idUser' => $user->getId(),
|
|
'emailCommande' => '',
|
|
'login' => $user->getLogin(),
|
|
'siren' => $siren,
|
|
'refDocument' => $ref,
|
|
'libDocument' => '',
|
|
'typeCommande' => 'G',
|
|
'dateCommande' => date('YmdHis'),
|
|
'statutCommande' => 0,
|
|
);
|
|
//Enregistrement dans la bdd des informations de la commande
|
|
$commande = new Application_Model_Commandes();
|
|
$idCommande = $commande->insert($tabCommande);
|
|
|
|
echo "Commande factice sous le numéro : G".$idCommande;
|
|
}
|
|
|
|
/**
|
|
* Enregistrement d'une commande de pièces par courrier
|
|
*/
|
|
public function sauvcmdAction()
|
|
{
|
|
$this->_helper->layout()->disableLayout();
|
|
$this->_helper->viewRenderer->setNoRender(true);
|
|
|
|
$request = $this->getRequest();
|
|
$info = $request->getParam('info', '');
|
|
$email = $request->getParam('emailCommande', '');
|
|
$idCommande = $request->getParam('idCommande', '');
|
|
$type = $request->getParam('type', '');
|
|
$vue = $request->getParam('vue', '');
|
|
$ref = $request->getParam('ref', '');
|
|
$siren = substr($this->siret,0,9);
|
|
$ws = new WsScores();
|
|
|
|
$info = !empty($info) ? unserialize(urldecode($_REQUEST['info'])) : $info = false;
|
|
$lib = empty($info['decision']) ? '' : $info['decision'];
|
|
|
|
if (!empty($email)) {
|
|
$user = new Scores_Utilisateur();
|
|
$login = $user->getLogin();
|
|
$ip = $user->getIpAddress();
|
|
|
|
$c = Zend_Registry::get('config');
|
|
$fp = fopen($c->profil->path->data.'/log/commande_greffe.csv', 'a');
|
|
fwrite($fp,date('Y/m/d H:i:s').";$siren;".$ref.';'.$login.';'.$email.';'.$ip."\n");
|
|
fclose($fp);
|
|
|
|
$tabCommande = array(
|
|
'idUser' => $user->getId(),
|
|
'emailCommande' => $email,
|
|
'login' => $login,
|
|
'siren' => $siren,
|
|
'refDocument' => $ref,
|
|
'libDocument' => $lib,
|
|
'typeCommande' => $type,
|
|
'dateCommande' => date('YmdHis')
|
|
);
|
|
|
|
if (APPLICATION_ENV != 'development') {
|
|
|
|
//Enregistrement dans la bdd des informations de la commande
|
|
$commande = new Application_Model_Commandes();
|
|
$idCommande = $commande->insert($tabCommande);
|
|
|
|
//Suppression fichier de vérouillage
|
|
$c = Zend_Registry::get('config');
|
|
$lockFile = $c->profil->path->cache.'/'.$siren.'-'.$ref.'.txt';
|
|
if (file_exists($lockFile)) {
|
|
unlink($lockFile);
|
|
}
|
|
|
|
if($type=='G') {
|
|
$infogreffe = new Infogreffe();
|
|
//Commande
|
|
switch($vue) {
|
|
case 'actes':
|
|
$reponse = $infogreffe->getGreffeActes($siren, 'C', $ref, $idCommande);
|
|
break;
|
|
case 'bilans':
|
|
$reponse = $infogreffe->getGreffeBilans($siren, 'C', $ref, $idCommande);
|
|
break;
|
|
case 'statuts':
|
|
$reponse = $infogreffe->getGreffeStatut($siren, 'C', $ref, $idCommande);
|
|
break;
|
|
}
|
|
}
|
|
|
|
if( isset($reponse) && !empty($reponse['error']) && $reponse['error']['errNum']!=17 )
|
|
{
|
|
$message = $reponse['error']['errNum'].' - '.$reponse['error']['errMsg'];
|
|
$ws->setLog('greffe_'.$vue, $siren, 0, 'Erreur '.$reponse['error']['errNum']);
|
|
}
|
|
else
|
|
{
|
|
$ws->setLog('greffe_'.$vue, $siren, 0, $ref.'/'.$type.$idCommande);
|
|
|
|
$commande->update(array('statutCommande'=>0), "idCommande=$idCommande");
|
|
|
|
$message = 'Votre commande a été enregistré le '.
|
|
date('d').'/'.date('m').'/'.date('Y').
|
|
' à '.date('G').' h '.date('i').
|
|
' sous la référence '.$type.$idCommande;
|
|
|
|
//Envoi mail de commande courrier
|
|
if($type=='C') {
|
|
require_once 'Scores/Mail.php';
|
|
$mail = new Mail();
|
|
$mail->setFrom('contact');
|
|
$mail->addToKey('production');
|
|
$mail->setSubject('[COMMANDE PIECES] - '.'COMMANDE DE '.strtoupper($vue));
|
|
$mail->setBodyTexte(
|
|
'COMMANDE DE '.strtoupper($vue).
|
|
' en courrier manuel <br/>'.EOL.
|
|
'Ref Scores et Décision : '.$ref.EOL.
|
|
'pour login '.$login.EOL
|
|
);
|
|
$mail->send();
|
|
}
|
|
}
|
|
} else {
|
|
print_r($tabCommande);
|
|
}
|
|
} else {
|
|
$message = 'Votre commande n\'a pas été prise en compte.'.
|
|
'Vous n\'avez pas saisie d\'adresse email';
|
|
}
|
|
$this->view->assign('message', $message);
|
|
$this->view->assign('siret', $this->siret);
|
|
$this->view->assign('siren', $this->siren);
|
|
|
|
$session = new SessionEntreprise($this->siret, $this->id);
|
|
$this->view->assign('raisonSociale', $session->getRaisonSociale());
|
|
|
|
$user = new Scores_Utilisateur();
|
|
$this->view->assign('surveillance', $user->checkPerm('survactes'));
|
|
}
|
|
|
|
public function statutsAction()
|
|
{
|
|
$this->_helper->layout()->disableLayout();
|
|
|
|
$request = $this->getRequest();
|
|
$dejaCommande = $request->getParam('dejaCommande', false);
|
|
$noemail = $request->getParam('noemail', false);
|
|
$sameLogin = $request->getParam('sameLogin', false);
|
|
$typeCommande = $request->getParam('typeCommande', '');
|
|
$idCommande = $request->getParam('idCommande', '');
|
|
|
|
$user = new Scores_Utilisateur();
|
|
|
|
$siren = $request->getParam('siret', 0);
|
|
$info = $request->getParam('info', 0);
|
|
|
|
$ref = $request->getParam('ref', '');
|
|
|
|
$this->view->assign('siren', $siren);
|
|
$this->view->assign('info', $info);
|
|
$this->view->assign('typeCommande', $typeCommande);
|
|
$this->view->assign('idCommande', $idCommande);
|
|
$this->view->assign('ref', $ref);
|
|
$this->view->assign('vue', 'statuts');
|
|
$this->view->assign('email', $user->getEmail());
|
|
|
|
}
|
|
|
|
/**
|
|
* Commande de bilan
|
|
*/
|
|
public function bilanAction()
|
|
{
|
|
$user = new Scores_Utilisateur();
|
|
if (!$user->checkPerm('ACTES')){
|
|
$this->_forward('perms', 'error');
|
|
}
|
|
|
|
//Désactivation affichage
|
|
$this->_helper->layout()->disableLayout();
|
|
$this->_helper->viewRenderer->setNoRender(true);
|
|
|
|
$request = $this->getRequest();
|
|
$vecteur = $request->getParam('mode');
|
|
$info = $request->getParam('info');
|
|
$ref = $request->getParam('ref');
|
|
$siren = substr($this->siret,0,9);
|
|
$ws = new WsScores();
|
|
|
|
switch($vecteur) {
|
|
|
|
//Traitement courrier manuel par S&D
|
|
case 'courrier':
|
|
|
|
$dejaCommande = false;
|
|
$noemail = false;
|
|
$sameLogin = false;
|
|
$idCommande = 0;
|
|
//Vérification des commandes
|
|
if (preg_match('/^([0-9]{4})[_sociaux-|_-]/', $ref, $matches))
|
|
{
|
|
$searchRef = '^'.$matches[1].'[_-|_sociaux-]';
|
|
}
|
|
elseif (preg_match('/^([0-9]{4})_consolide-/', $ref, $matches))
|
|
{
|
|
$searchRef = '^'.$matches[1].'_consolide-';
|
|
}
|
|
else
|
|
{
|
|
$searchRef = $ref;
|
|
}
|
|
|
|
$commandes = new Application_Model_Commandes();
|
|
$rowset = $commandes->select('idCommande, login, emailCommande, dateCommande')
|
|
->where("siren=$siren AND refDocument='$searchRef'");
|
|
$rows = $commandes->fetchAll($rowset);
|
|
|
|
if (count($rows)!=0) {
|
|
|
|
$dejaCommande = true;
|
|
if ($rows[0]->login==$user->getLogin())
|
|
{
|
|
$dateCommande = WDate::dateT('Y-m-d','d/m/Y',$rows[0]->dateCommande);
|
|
$idCommande = $rows[0]['idCommande'];
|
|
if(empty($rows[0]->emailCommande)) $noemail = true;
|
|
$sameLogin = true;
|
|
}
|
|
}
|
|
|
|
$params = array(
|
|
'idCommande' => $idCommande,
|
|
'dejaCommande' => $dejaCommande,
|
|
'noemail' => $noemail,
|
|
'sameLogin' => $sameLogin,
|
|
'siren' => $siren,
|
|
'info' => $info,
|
|
'vue' => 'bilans',
|
|
);
|
|
|
|
$this->_forward('cmdcourrier', 'pieces', null, $params);
|
|
|
|
break;
|
|
|
|
//Téléchargement du fichier déjà sur le serveur
|
|
case 'fichier':
|
|
$ws->setLog('greffe_bilans', $siren, 0, $ref);
|
|
$info = unserialize($info);
|
|
|
|
require_once 'Infogreffe/Infogreffe.php';
|
|
$infogreffe = new Infogreffe();
|
|
$path = $infogreffe->bilanPath($ref);
|
|
$file = $infogreffe->bilanFilename($siren, $ref);
|
|
|
|
$href = '/fichier/pdf/'.$file;
|
|
echo '<br/><a href="'.$href.'" target="_blank">Ouvrir le bilan millésime '.$info['type'].'</a>';
|
|
|
|
break;
|
|
|
|
//Commande en courrier chez infogreffe
|
|
case 'C':
|
|
|
|
$dejaCommande = false;
|
|
$noemail = false;
|
|
$sameLogin = false;
|
|
$idCommande = 0;
|
|
$commandes = new Application_Model_Commandes();
|
|
$rowset = $commandes->select('idCommande, login, emailCommande, dateCommande')
|
|
->where("siren=$siren AND refDocument='$ref' AND statutCommande!=9");
|
|
$rows = $commandes->fetchAll($rowset);
|
|
|
|
if (count($rows)!=0) {
|
|
|
|
$dejaCommande = true;
|
|
if ($rows[0]->login==$user->getLogin())
|
|
{
|
|
$dateCommande = WDate::dateT('Y-m-d','d/m/Y',$rows[0]->dateCommande);
|
|
$idCommande = $rows[0]->idCommande;
|
|
if(empty($rows[0]->emailCommande)) $noemail = true;
|
|
$sameLogin = true;
|
|
}
|
|
}
|
|
$params = array(
|
|
'idCommande' => $idCommande,
|
|
'dejaCommande' => $dejaCommande,
|
|
'noemail' => $noemail,
|
|
'sameLogin' => $sameLogin,
|
|
'siren' => $siren,
|
|
'info' => $info,
|
|
'vue' => 'bilans',
|
|
);
|
|
|
|
$this->_forward('cmdcourrier', 'pieces', null, $params);
|
|
|
|
break;
|
|
|
|
//Commande en téléchargement chez infogreffe
|
|
case 'T':
|
|
|
|
//Vérification que le fichier ne soit pas en erreur
|
|
$erreur = new Application_Model_CommandesErreur();
|
|
$sql = $erreur->select()
|
|
->from($erreur, array('url', 'dateCommande'))
|
|
->where("siren='$siren' AND type='bilan' AND ref='$ref' AND erreur!=''");
|
|
$repErreur = $erreur->fetchAll($sql)->toArray();
|
|
if (count($repErreur)>0){
|
|
//Téléchagement
|
|
require_once 'Infogreffe/Infogreffe.php';
|
|
$infogreffe = new Infogreffe();
|
|
$path = $infogreffe->bilanPath($ref);
|
|
$fichier = $infogreffe->bilanFilename($siren, $ref);
|
|
|
|
if ($infogreffe->dl($path.$fichier, $repErreur[0]['url'], false)) {
|
|
$erreur->update(array('erreur'=>''), "siren='$siren' AND type='bilan' AND ref='$ref'");
|
|
$ws->setLog('greffe_bilans', $siren, 0, $ref);
|
|
echo '<br/><a href="/fichier/pdf/'.$fichier.'" target="_blank">Ouvrir le fichier '.$info['type_lib'].' </a>';
|
|
} else {
|
|
echo '<br/>Impossible de télécharger le fichier auprès de notre partenaire.';
|
|
}
|
|
|
|
} else {
|
|
|
|
require_once 'Infogreffe/Infogreffe.php';
|
|
$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!='') {
|
|
$ws->setLog('greffe_bilans', $siren, 0, 'Erreur '.$reponse['error']['errNum']);
|
|
echo '<br/>Erreur : '.$error;
|
|
} else {
|
|
|
|
foreach($items as $item) {
|
|
if($item['url_acces']!==false) {
|
|
$ws->setLog('greffe_bilans', $siren, 0, $ref);
|
|
$path = $infogreffe->bilanPath($ref);
|
|
$href = '/fichier/pdf/'.$item['url_acces'];
|
|
echo '<br/><a href="'.$href.'" target="_blank">Ouvrir le bilan millésime '.$item['millesime'].'</a>';
|
|
} else {
|
|
$ws->setLog('greffe_bilans', $siren, 0, 'Erreur telechargement '.$ref);
|
|
$message = '<br/>Impossible de télécharger le fichier auprès de notre partenaire.';
|
|
|
|
//Envoi Mail avec reférence erreur
|
|
require_once 'Scores/Mail.php';
|
|
$mail = new Mail();
|
|
$mail->setFrom('supportdev');
|
|
$mail->addToKey('supportdev');
|
|
$sujet = "[ERREUR TELECHARGEMENT INFOGREFFE] - ".date('d')."/".date('m')."/".date('Y');
|
|
$mail->setSubject($sujet);
|
|
$emailTxt = $sujet.$message;
|
|
$emailTxt.= '<br/>'.print_r($reponse, 1);
|
|
$mail->setBodyHtml($emailTxt);
|
|
$mail->send();
|
|
|
|
echo $message;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Commande d'acte
|
|
*/
|
|
public function acteAction()
|
|
{
|
|
$user = new Scores_Utilisateur();
|
|
if (!$user->checkPerm('ACTES')){
|
|
$this->_forward('perms', 'error');
|
|
}
|
|
|
|
//Désactivation affichage
|
|
$this->_helper->layout()->disableLayout();
|
|
$this->_helper->viewRenderer->setNoRender(true);
|
|
|
|
$request = $this->getRequest();
|
|
$vecteur = $request->getParam('mode');
|
|
$info = $request->getParam('info');
|
|
$ref = $request->getParam('ref');
|
|
$siren = substr($this->siret,0,9);
|
|
$ws = new WsScores();
|
|
|
|
switch($vecteur) {
|
|
|
|
//Commande courrier manuel S&D
|
|
case 'courrier':
|
|
|
|
$dejaCommande = false;
|
|
$noemail = false;
|
|
$sameLogin = false;
|
|
$idCommande = 0;
|
|
//Vérification des commandes
|
|
if (preg_match('/^([0-9]{4})[_sociaux-|_-]/', $ref, $matches))
|
|
{
|
|
$searchRef = '^'.$matches[1].'[_-|_sociaux-]';
|
|
}
|
|
elseif (preg_match('/^([0-9]{4})_consolide-/', $ref, $matches))
|
|
{
|
|
$searchRef = '^'.$matches[1].'_consolide-';
|
|
}
|
|
else
|
|
{
|
|
$searchRef = $ref;
|
|
}
|
|
|
|
$commandes = new Application_Model_Commandes();
|
|
$rowset = $commandes->select('idCommande, login, emailCommande, dateCommande')
|
|
->where("siren=$siren AND refDocument='$searchRef'");
|
|
$rows = $commandes->fetchAll($rowset);
|
|
|
|
if (count($rows)!=0) {
|
|
|
|
$dejaCommande = true;
|
|
if ($rows[0]['login']==$user->getLogin())
|
|
{
|
|
$dateCommande = WDate::dateT('Y-m-d','d/m/Y',$rows[0]['dateCommande']);
|
|
$idCommande = $rows[0]->idCommande;
|
|
if(empty($rows[0]->emailCommande)) $noemail = true;
|
|
$sameLogin = true;
|
|
}
|
|
}
|
|
|
|
$params = array(
|
|
'idCommande' => $idCommande,
|
|
'dejaCommande' => $dejaCommande,
|
|
'noemail' => $noemail,
|
|
'sameLogin' => $sameLogin,
|
|
'siren' => $siren,
|
|
'info' => $info,
|
|
'vue' => 'actes',
|
|
);
|
|
|
|
$this->_forward('cmdcourrier', 'pieces', null, $params);
|
|
|
|
break;
|
|
|
|
// Téléchargement du fichier sur le serveur
|
|
case 'fichier':
|
|
$ws->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;
|
|
|
|
//Commande courrier infogreffe
|
|
case 'C':
|
|
|
|
$dejaCommande = false;
|
|
$noemail = false;
|
|
$sameLogin = false;
|
|
$idCommande = 0;
|
|
$commandes = new Application_Model_Commandes();
|
|
$rowset = $commandes->select('idCommande, login, emailCommande, dateCommande')
|
|
->where("siren=$siren AND refDocument='$ref' AND statutCommande!=9");
|
|
$rows = $commandes->fetchAll($rowset);
|
|
|
|
if (count($rows)!=0) {
|
|
$dejaCommande = true;
|
|
if ($rows[0]->login==$user->getLogin())
|
|
{
|
|
$dateCommande = WDate::dateT('Y-m-d','d/m/Y',$rows[0]->dateCommande);
|
|
$idCommande = $rows[0]->idCommande;
|
|
if(empty($rows[0]->emailCommande)) $noemail = true;
|
|
$sameLogin = true;
|
|
}
|
|
}
|
|
|
|
$params = array(
|
|
'idCommande' => $idCommande,
|
|
'dejaCommande' => $dejaCommande,
|
|
'noemail' => $noemail,
|
|
'sameLogin' => $sameLogin,
|
|
'siren' => $siren,
|
|
'info' => $info,
|
|
'vue' => 'actes',
|
|
);
|
|
|
|
$this->_forward('cmdcourrier', 'pieces', null, $params);
|
|
|
|
break;
|
|
|
|
//Commande fichier infogreffe
|
|
case 'T':
|
|
|
|
//Vérification que le fichier ne soit pas en erreur
|
|
$erreur = new Application_Model_CommandesErreur();
|
|
$sql = $erreur->select()
|
|
->from($erreur, array('url', 'dateCommande'))
|
|
->where("siren='$siren' AND type='acte' AND ref='$ref' AND erreur!=''");
|
|
$repErreur = $erreur->fetchAll($sql)->toArray();
|
|
|
|
if (count($repErreur)>0){
|
|
//Téléchagement
|
|
$fichier = 'acte-'.$siren.'-'.$ref.'.pdf';
|
|
$infogreffe = new Infogreffe();
|
|
require_once 'Infogreffe/Infogreffe.php';
|
|
$infogreffe = new Infogreffe();
|
|
$path = $infogreffe->actePath($ref);
|
|
$fichier = $infogreffe->acteFilename($siren, $ref);
|
|
if ($infogreffe->dl($fichier, $repErreur[0]['url'], false)) {
|
|
$erreur->update(array('erreur'=>''), "siren='$siren' AND type='acte' AND ref='$ref'");
|
|
$ws->setLog('greffe_actes', $siren, 0, $ref);
|
|
echo '<br/><a href="/fichier/pdf/'.$fichier.'" target="_blank">Ouvrir le fichier '.$info['type_lib'].' </a>';
|
|
} else {
|
|
echo '<br/>Impossible de télécharger le fichier auprès de notre partenaire.';
|
|
}
|
|
|
|
} else {
|
|
|
|
$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!='') {
|
|
$ws->setLog('greffe_actes', $siren, 0, 'Erreur '.$reponse['error']['errNum']);
|
|
echo '<br/>Erreur : '.$error;
|
|
} else {
|
|
foreach($items as $item) {
|
|
Zend_Registry::get('firebug')->info($items);
|
|
if($item['url_acces']!==false) {
|
|
Zend_Registry::get('firebug')->info($item['url_acces']);
|
|
$ws->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>';
|
|
} else {
|
|
$ws->setLog('greffe_actes', $siren, 0, 'Erreur telechargement '.$ref);
|
|
$message = '<br/>Impossible de télécharger le fichier '.$item['type_acte_libelle'].' auprès de notre partenaire.';
|
|
|
|
//Enregistrement de l'erreur dans la bdd
|
|
|
|
|
|
//Envoi Mail avec reférence erreur
|
|
require_once 'Scores/Mail.php';
|
|
$mail = new Mail();
|
|
$mail->setFrom('supportdev');
|
|
$mail->addToKey('supportdev');
|
|
$sujet = "[ERREUR TELECHARGEMENT INFOGREFFE] - ".date('d')."/".date('m')."/".date('Y');
|
|
$mail->setSubject($sujet);
|
|
$emailTxt = $sujet.$message;
|
|
$emailTxt.= '<br/>'.print_r($reponse, 1);
|
|
$mail->setBodyHtml($emailTxt);
|
|
$mail->send();
|
|
|
|
echo $message;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
* Commande de pièces, kbis, privileges, nantissements
|
|
*/
|
|
public function commandeAction()
|
|
{
|
|
$request = $this->getRequest();
|
|
$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 Scores_Utilisateur();
|
|
$permKbis = false;
|
|
$kbisErrCJ = false;
|
|
$kbisErrDEP = false;
|
|
if ($user->checkPerm('kbis')) {
|
|
$permKbis = true;
|
|
//Vérification que le kbis est disponible
|
|
if ( substr($session->getFormeJuridique(),0,1) == 7
|
|
|| substr($session->getFormeJuridique(),0,1) == 8
|
|
|| substr($session->getFormeJuridique(),0,1) == 9
|
|
|| in_array($session->getFormeJuridique(), array_merge(
|
|
array(1300,1500,1600,1700,1800,1900), $this->association_cj) )
|
|
){
|
|
$kbisErrCJ = true;
|
|
}
|
|
//=> Département
|
|
$dep = substr($session->getCodeCommune(),0,2);
|
|
if ( in_array($dep, array('00','57','67','68','97','98')) ) {
|
|
$kbisErrDEP = true;
|
|
}
|
|
}
|
|
$permPriv = false;
|
|
if ($user->checkPerm('privileges')){
|
|
$permPriv = true;
|
|
}
|
|
$permSurvPriv = false;
|
|
if ($user->checkPerm('survpriv')){
|
|
$permSurvPriv = true;
|
|
}
|
|
|
|
$message = '';
|
|
|
|
//Validation du formulaire
|
|
if ($request->isPost() && $request->getParam('op')=='kbis') {
|
|
|
|
$ref = $request->getParam('ref');
|
|
$method = $request->getParam('method');
|
|
|
|
switch($method) {
|
|
|
|
case 'M':
|
|
$email = $request->getParam('emailKbisM', '');
|
|
//Vérification des champs
|
|
if (!empty($email)) {
|
|
//Envoi du mail
|
|
require_once 'Scores/Mail.php';
|
|
$mail = new Mail();
|
|
$mail->setFrom('contact');
|
|
$mail->addToKey('production');
|
|
$mail->setSubject('[COMMANDE PIECES] - KBIS par email');
|
|
$mail->setBodyTexte(
|
|
'COMMANDE DE PIECES - Demande de kbis par email <br/>'.EOL.
|
|
'Demande pour recevoir le KBIS de SIREN :'.
|
|
'<a href="'.$this->view->url(array('controller'=>'identite', 'action'=>'fiche', 'siret'=> $this->siret)).'">'.
|
|
$this->siret.'</a><br/>'.EOL.
|
|
'pour login '.$user->getLogin().'('.$email.')<br/>'.EOL.
|
|
'Référence : '.$ref
|
|
);
|
|
$mail->send();
|
|
|
|
//Enregistrement dans la bdd
|
|
$commandesKbis = new Application_Model_CommandesKbis();
|
|
$data = array(
|
|
'idUser' => $user->getId(),
|
|
'login' => $user->getLogin(),
|
|
'email' => $email,
|
|
'societe' => '',
|
|
'nom' => '',
|
|
'adresse' => '',
|
|
'cp' => '',
|
|
'ville' => '',
|
|
'siren' => substr($this->siret,0,9),
|
|
'raisonSociale' => $this->entrep->getRaisonSociale(),
|
|
'type' => 'M',
|
|
'dateCommande' => date('Y-m-d H:i:s'),
|
|
);
|
|
$commandesKbis->insert($data);
|
|
|
|
$message = 'Votre demande de reception de Kbis par email a été prise en compte';
|
|
$ws = new WsScores();
|
|
$ws->setLog('kbis', $this->siret, 0, 'mail');
|
|
} else {
|
|
$message = '<font color="red">Erreur : adresse email non renseignée.</font>';
|
|
$this->view->assign('ref', $ref);
|
|
$this->view->assign('method', $method);
|
|
$this->view->assign('emailKbisM', $email);
|
|
}
|
|
break;
|
|
|
|
case 'C':
|
|
$email = $ref = $request->getParam('emailKbisC', '');
|
|
//Vérification des champs
|
|
$fields = array('societe', 'nom', 'prenom', 'adresse', 'cp', 'ville');
|
|
$params = $request->getParams();
|
|
$error = false;
|
|
foreach($fields as $field) {
|
|
if(empty($params[$field])) $error = true;
|
|
}
|
|
if(!$error) {
|
|
//Envoi du mail
|
|
require_once 'Scores/Mail.php';
|
|
$mail = new Mail();
|
|
$mail->setFrom('contact');
|
|
$mail->addToKey('production');
|
|
$mail->setSubject('[COMMANDE PIECES] - KBIS par courrier');
|
|
$mail->setBodyTexte(
|
|
'COMMANDE DE PIECES - Demande de kbis par courrier'.EOL.
|
|
'Demande pour recevoir le kbis de SIREN : '.
|
|
'<a href="'.$this->view->url(array('controller'=>'identite', 'action'=>'fiche', 'siret'=> $this->siret)).'">'.
|
|
$this->siret.'</a><br/>'.EOL.
|
|
'pour login '.$user->getLogin().
|
|
'('.$email.')'.'<br/>'.EOL.
|
|
'Societe :'.$params['societe'].'<br/>'.EOL.
|
|
'Nom : '.$params['nom'].'<br/>'.EOL.
|
|
'Prenom : '.$params['prenom'].'<br/>'.EOL.
|
|
'Adresse : '.$params['adresse'].'<br/>'.EOL.
|
|
'CP : '.$params['cp'].'<br/>'.EOL.
|
|
'Ville : '.$params['ville']
|
|
);
|
|
$mail->send();
|
|
|
|
//Enregistrement dans la bdd
|
|
$commandesKbis = new Application_Model_CommandesKbis();
|
|
$data = array(
|
|
'idUser' => $user->getId(),
|
|
'login' => $user->getLogin(),
|
|
'email' => $email,
|
|
'societe' => $params['societe'],
|
|
'nom' => $params['nom'].' '.$$params['prenom'],
|
|
'adresse' => $params['adresse'],
|
|
'cp' => $params['cp'],
|
|
'ville' => $params['ville'],
|
|
'siren' => substr($this->siret,0,9),
|
|
'raisonSociale' => $this->entrep->getRaisonSociale(),
|
|
'type' => 'C',
|
|
'dateCommande' => date('Y-m-d H:i:s'),
|
|
);
|
|
$commandesKbis->insert($data);
|
|
|
|
$message = 'Votre commande à été prise en compte, vous recevrez ce document sous 3/5 jours';
|
|
$ws = new WsScores();
|
|
$ws->setLog('kbis', $this->siret, 0, 'courrier');
|
|
}
|
|
else
|
|
{
|
|
$message = '<font color="red">Erreur : Tous les champs doivent être renseigner.</font>';
|
|
$this->view->assign('emailKbisC', $email);
|
|
$this->view->assign('method', $method);
|
|
$this->view->assign('societe', $params['societe']);
|
|
$this->view->assign('nom', $params['nom']);
|
|
$this->view->assign('prenom', $params['prenom']);
|
|
$this->view->assign('adresse', $params['adresse']);
|
|
$this->view->assign('cp', $params['cp']);
|
|
$this->view->assign('ville', $params['ville']);
|
|
}
|
|
break;
|
|
}
|
|
$this->view->assign('message', $message);
|
|
|
|
}
|
|
|
|
if ($request->isPost() && $request->getParam('op')=='privileges') {
|
|
|
|
$ref = $request->getParam('ref');
|
|
$privileges = $request->getParam('privileges');
|
|
$email = $request->getParam('email', '');
|
|
|
|
if (!empty($email)) {
|
|
if ( in_array('SprivSurv',$privileges) ) {
|
|
$ws = new WsScores();
|
|
$ws->setSurveillance($this->siret, $email, $ref, 'privileges');
|
|
$privilegesLog = join('-', $privileges);
|
|
}
|
|
$key = array_search('SprivSurv', $privileges);
|
|
if ($key!==FALSE) unset($privileges[$key]);
|
|
if (count($privileges)>0) {
|
|
$privilegesJ = join(', ', $privileges);
|
|
$privilegesLog = join('-', $privileges);
|
|
|
|
require_once 'Scores/Mail.php';
|
|
$mail = new Mail();
|
|
$mail->setFrom('contact');
|
|
$mail->addToKey('production');
|
|
$mail->setSubject('[COMMANDE PIECES] - PRIVILEGES par email');
|
|
$mail->setBodyTexte(
|
|
'COMMANDE DE PRIVILEGES - par email<br/>'.EOL.
|
|
'Demande pour recevoir ('.$privilegesJ.') pour SIREN : '.
|
|
'<a href="'.$this->view->url(array('controller'=>'identite', 'action'=>'fiche', 'siret'=> $this->siret)).'">'.
|
|
$this->siret.'</a><br/>'.EOL.
|
|
'pour login '.$user->getLogin().'('.$email.')<br/>'.EOL.
|
|
'Référence : '.$ref
|
|
);
|
|
$mail->send();
|
|
}
|
|
$message = 'Votre commande a bien été prise en compte, vous recevrez ces documents sur votre e-mail.';
|
|
$ws = new WsScores();
|
|
$ws->setLog('privileges', $this->siret, 0, 'mail:'.$privilegesLog);
|
|
} else {
|
|
$message = '<font color="red">Erreur : adresse email non renseignée.</font>';
|
|
$this->view->assign('ref', $ref);
|
|
$this->view->assign('privileges', $privileges);
|
|
$this->view->assign('email', $email);
|
|
}
|
|
$this->view->assign('message', $message);
|
|
}
|
|
|
|
$this->view->assign('KbisErreurCJ', $kbisErrCJ);
|
|
$this->view->assign('KbisErreurDEP', $kbisErrDEP);
|
|
$this->view->assign('permKbis', $permKbis);
|
|
$this->view->assign('permKbis', $permKbis);
|
|
$this->view->assign('permPriv', $permPriv);
|
|
$this->view->assign('permSurvPriv', $permSurvPriv);
|
|
|
|
$this->view->assign('user', $user);
|
|
|
|
$this->view->assign('siren', $siren);
|
|
$this->view->assign('siret', $this->siret);
|
|
$this->view->assign('raisonSociale', $session->getRaisonSociale());
|
|
|
|
}
|
|
|
|
/**
|
|
* Affichage status association
|
|
*/
|
|
public function associationactesAction()
|
|
{
|
|
$user = new Scores_Utilisateur();
|
|
|
|
$siren = substr($this->siret, 0,9);
|
|
|
|
$c = Zend_Registry::get('config');
|
|
$path = $c->profil->path->data.'/association/actes';
|
|
|
|
$actes = array();
|
|
if ( !empty($siren) || intval($siren)==0 ){
|
|
foreach (glob("$path/ST-".$siren."-*.pdf") as $filename) {
|
|
preg_match('/ST-([0-9]{9})-([0-9]{8})\.pdf$/', $filename, $matches);
|
|
$date = $matches[2];
|
|
if ( $user->checkPerm('actes') ) {
|
|
$href = $this->view->url(array(
|
|
'controller'=>'pieces',
|
|
'action'=>'associationacte',
|
|
'fichier'=> basename($filename),
|
|
));
|
|
$title = 'Télécharger le document correspondant';
|
|
} else {
|
|
$href = '#';
|
|
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
|
}
|
|
$actes[$date] = array(
|
|
'date' => substr($date,6,2).'/'.substr($date,4,2).'/'.substr($date,0,4),
|
|
'type' => 'Statut',
|
|
'href' => $href,
|
|
'descision' => '',
|
|
|
|
);
|
|
}
|
|
}
|
|
|
|
$session = new SessionEntreprise($this->siret);
|
|
if (substr($session->AutreId,0.1)=='W'){
|
|
foreach (glob("$path/ST-".$session->AutreId."-*.pdf") as $filename) {
|
|
preg_match('/ST-(.*)-([0-9]{8})\.pdf$/', $filename, $matches);
|
|
$date = $matches[2];
|
|
$actes[$date] = array(
|
|
'date' => substr($date,6,2).'/'.substr($date,4,2).'/'.substr($date,0,4),
|
|
'type' => 'Statut',
|
|
'fichier' => $filename,
|
|
'descision' => '',
|
|
);
|
|
}
|
|
}
|
|
krsort($actes);
|
|
$this->view->assign('actes', $actes);
|
|
|
|
$this->view->assign('ModeEdition', $user->checkModeEdition());
|
|
$this->view->assign('email', $user->getEmail());
|
|
$this->view->assign('siren', $siren);
|
|
$this->view->assign('siret', $this->siret);
|
|
$this->view->assign('id', $this->id);
|
|
$this->view->assign('raisonSociale', $this->entrep->getRaisonSociale());
|
|
}
|
|
|
|
/**
|
|
* Enter description here ...
|
|
*/
|
|
public function associationacteAction()
|
|
{
|
|
//Désactivation affichage
|
|
$this->_helper->layout()->disableLayout();
|
|
$this->_helper->viewRenderer->setNoRender(true);
|
|
|
|
$siren = substr($this->siret, 0,9);
|
|
|
|
$request = $this->getRequest();
|
|
$file = $request->getParam('fichier');
|
|
|
|
$ws = new WsScores();
|
|
$ws->setLog('greffe_actes', $siren, 0, 'Acte association');
|
|
|
|
$href = $this->view->url(array(
|
|
'controller'=>'fichier',
|
|
'action'=>'pdfassociation',
|
|
'type'=>'actes',
|
|
'fichier'=>$file,
|
|
));
|
|
|
|
echo '<br/><a href="'.$href.'" target="_blank">Cliquez ici pour ouvrir le fichier</a>';
|
|
exit;
|
|
}
|
|
|
|
/**
|
|
* Enter description here ...
|
|
*/
|
|
public function associationbilansAction()
|
|
{
|
|
$user = new Scores_Utilisateur();
|
|
|
|
$siren = substr($this->siret,0,9);
|
|
|
|
$bilans = array();
|
|
|
|
if ( !empty($siren) || intval($siren)==0 ){
|
|
require_once 'Scores/WsScores.php';
|
|
$ws = new WsScores();
|
|
$reponse = $ws->getPiecesBilans($siren);
|
|
$listBilans = $reponse->result->item;
|
|
Zend_Registry::get('firebug')->info($listBilans);
|
|
|
|
$decision = '';
|
|
foreach ( $listBilans as $item) {
|
|
if ( $user->checkPerm('actes') ) {
|
|
if ( !empty($item->File) ) {
|
|
$href = $this->view->url(array(
|
|
'controller'=>'telechargement',
|
|
'action'=>'bilan',
|
|
'siren'=> $siren,
|
|
'dateCloture'=> $item->DateCloture,
|
|
'reference'=> $item->File,
|
|
), null, true);
|
|
$title = 'Télécharger le document correspondant';
|
|
} else {
|
|
$href = '#';
|
|
$title = 'Document inexistant.';
|
|
}
|
|
} else {
|
|
$href = '#';
|
|
$title = 'Vous n\'avez pas les droits nécessaires pour commander le document correspondant.';
|
|
}
|
|
|
|
$decision = $item->Type;
|
|
if ( !empty($item->NumberOfPages) ) {
|
|
$decision.= ', '.$item->NumberOfPages.' pages';
|
|
}
|
|
|
|
$bilans[] = array(
|
|
'date' => substr($item->DateCloture,6,2).'/'.substr($item->DateCloture,4,2).'/'.substr($item->DateCloture,0,4),
|
|
'type' => 'Bilan '.substr($item->DateCloture,0,4),
|
|
'href' => $href,
|
|
'title' => $title,
|
|
'decision' => $decision,
|
|
);
|
|
}
|
|
}
|
|
$this->view->assign('bilans', $bilans);
|
|
|
|
$this->view->assign('ModeEdition', $user->checkModeEdition());
|
|
$this->view->assign('siren', substr($this->siret, 0,9));
|
|
$this->view->assign('siret', $this->siret);
|
|
$this->view->assign('id', $this->id);
|
|
$this->view->assign('raisonSociale', $this->entrep->getRaisonSociale());
|
|
|
|
}
|
|
|
|
/**
|
|
* Enter description here ...
|
|
*/
|
|
public function associationbilanAction()
|
|
{
|
|
//Désactivation affichage
|
|
$this->_helper->layout()->disableLayout();
|
|
$this->_helper->viewRenderer->setNoRender(true);
|
|
|
|
$request = $this->getRequest();
|
|
$siren = $request->getParam('siren');
|
|
$diffusion = $request->getParam('diffusion');
|
|
$dateCloture = $request->getParam('dateCloture');
|
|
$reference = $request->getParam('reference');
|
|
|
|
//Récupération du l'URL
|
|
$ws = new WsScores();
|
|
$url = $ws->getPiecesBilan($siren, $diffusion, $dateCloture, $reference);
|
|
|
|
//Téléchargement du fichier
|
|
if( $url !== false) {
|
|
echo '<br/><a href="'.$url.'" target="_blank">Cliquez ici pour ouvrir le fichier</a>';
|
|
} else {
|
|
echo '<br/>Fichier indisponible !';
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Gestion téléchargement des kbis
|
|
*/
|
|
public function kbisAction()
|
|
{
|
|
//On bascule soit vers kbispasserelle ou vers kbis infogreffe
|
|
$this->_forward('kbispasserelle', 'pieces', null, $this->getRequest()->getParams());
|
|
}
|
|
|
|
/**
|
|
* Téléchargement de kbis par la passerelle SD
|
|
*/
|
|
public function kbispasserelleAction()
|
|
{
|
|
$request = $this->getRequest();
|
|
$params = $request->getParams();
|
|
|
|
$user = new Scores_Utilisateur();
|
|
|
|
$session = new SessionEntreprise($params['siret']);
|
|
$this->view->assign('raisonSociale', $session->getRaisonSociale());
|
|
$this->view->assign('siren', $params['siret']);
|
|
$this->view->assign('email', $user->getEmail());
|
|
$this->view->assign('login', $user->getLogin());
|
|
|
|
//Mail
|
|
if (isset($params['op']) && $params['op']=='mailkbis')
|
|
{
|
|
if(!empty($params['email']))
|
|
{
|
|
require_once 'Scores/Mail.php';
|
|
$mail = new Mail();
|
|
$mail->setFrom('contact');
|
|
$mail->addToKey('production');
|
|
$mail->setSubject('[COMMANDE PIECES] - KBIS par email après essai(s) de téléchargement');
|
|
$mail->setBodyTexte(
|
|
'COMMANDE DE PIECES - Demande de kbis par email après essai(s) de téléchargement <br/>'.EOL.
|
|
'Demande pour recevoir le kbis de SIREN : '.
|
|
'<a href="'.$this->view->url(array('controller'=>'identite', 'action'=>'fiche', 'siret'=> $this->siret)).'">'.
|
|
$this->siret.'</a><br/>'.EOL.
|
|
'pour login '.$user->getLogin().'('.$params['email'].')<br/>'
|
|
);
|
|
$ws = new WsScores();
|
|
$ws->setLog('kbis', $this->siret, 0, 'mail');
|
|
$this->view->assign('message',"Votre demande de reception de Kbis par email à été prise en compte");
|
|
} else {
|
|
$this->view->assign('message',"Votre demande n'a pas été prise en compte vous n'avez pas saisi d'email.");
|
|
}
|
|
}
|
|
|
|
//Téléchargement
|
|
else
|
|
{
|
|
$start = $params['start'];
|
|
$siren = substr($params['siret'],0,9);
|
|
|
|
$c = Zend_Registry::get('config');
|
|
$path = $c->profil->path->files. '/';
|
|
|
|
if (file_exists($path.'kbis-'.$siren.'.pdf')
|
|
&& date('Ymd', filemtime($path.'kbis-'.$siren.'.pdf'))==date('Ymd')
|
|
&& filesize($path.'kbis-'.$siren.'.pdf')>2000 )
|
|
{
|
|
$msg = '<u><a title="Cliquez ici pour visualiser le kbis" target="_blank" href="/fichier/kbis/kbis-'.$siren.'.pdf">Visualiser le Kbis <img src="/themes/default/images/interfaces/icone_pdf.gif"></a></u>';
|
|
$this->view->assign('message', $msg);
|
|
$ws = new WsScores();
|
|
$ws->setLog('kbis', $siren, 0, 'direct');
|
|
}
|
|
else
|
|
{
|
|
require_once 'Scores/WsScores.php';
|
|
$ws = new WsScores();
|
|
$info = $ws->getKbis($siren);
|
|
|
|
if ( substr($info,0,7)=='http://' ) {
|
|
//Suppression du fichier si il existe
|
|
if(file_exists($path.'kbis-'.$siren.'.pdf')) unlink($path.'kbis-'.$siren.'.pdf');
|
|
//On check si le fichier est présent sur l'url
|
|
require_once 'common/curl.php';
|
|
$page = getUrl($info, '', '', '', false);
|
|
//Fichier non disponible
|
|
if ( $page['code']==408 || $page['code']==400 || substr($page['body'],0,4)!='%PDF' ) {
|
|
$this->view->assign('message',"Impossible de récupérer le fichier");
|
|
$this->view->assign('mail',true);
|
|
//Ecriture du fichier sur le serveur en local
|
|
} else {
|
|
$body = $page['body'];
|
|
$fp = fopen($path.'kbis-'.$siren.'.pdf', 'w');
|
|
fwrite($fp, $body);
|
|
fclose($fp);
|
|
$msg = '<u><a title="Cliquez ici pour visualiser le kbis" target="_blank" href="/fichier/kbis/kbis-'.$siren.'.pdf">Visualiser le Kbis <img src="/themes/default/images/interfaces/icone_pdf.gif"></a></u>';
|
|
$this->view->assign('message', $msg);
|
|
}
|
|
} else {
|
|
$this->view->assign('mail',true);
|
|
$this->view->assign('message', $info);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/**
|
|
* A supprimer
|
|
* @param unknown_type $siren
|
|
*/
|
|
function getKbis($siren)
|
|
{
|
|
$user = new Scores_Utilisateur();
|
|
$client = new SoapClient(null, array(
|
|
'trace' => 1,
|
|
'soap_version' => SOAP_1_1,
|
|
'location' => 'http://78.31.45.206:8088/ws/',
|
|
'uri' => 'http://78.31.45.206:8088/',
|
|
'login' => $user->getLogin(),
|
|
'password' => $user->getPassword(),
|
|
));
|
|
|
|
//ini_set('default_socket_timeout', 120); //timeout 2 min
|
|
$return = FALSE;
|
|
try {
|
|
$O = $client->getKbis($siren,1,0);
|
|
$kbis = $O['result'];
|
|
$return = $kbis['Url'];
|
|
} catch (SoapFault $fault) {
|
|
Zend_Registry::get('firebug')->info($fault);
|
|
}
|
|
return $return;
|
|
}
|
|
|
|
/**
|
|
* Téléchargement de kbis par infogreffe
|
|
*/
|
|
public function kbisinfogreffeAction()
|
|
{
|
|
|
|
}
|
|
|
|
/**
|
|
* 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));
|
|
$this->view->assign('detail', $detail);
|
|
} else {
|
|
$infos = $ws->getPrivilegesCumul($siren);
|
|
}
|
|
Zend_Registry::get('firebug')->info($infos);
|
|
$this->view->assign('privileges', $infos->result->item);
|
|
$this->view->assign('siren', $siren);
|
|
$this->view->assign('siret', $this->siret);
|
|
$this->view->assign('raisonSociale', $session->getRaisonSociale());
|
|
|
|
$user = new Scores_Utilisateur();
|
|
$this->view->assign('surveillance', $user->checkPerm('survpriv'));
|
|
}
|
|
} |