getRequest(); $this->siret = $request->getParam('siret'); $this->id = $request->getParam('id', 0); } public function indexAction(){} /** * Commande de status association */ public function cmdassociationAction() { $user = new Scores_Utilisateur(); $session = new Scores_Session_Entreprise($this->siret, $this->id); $request = $this->getRequest(); $email = $request->getParam('email', ''); $reference = $request->getParam('reference'); if (empty($email)) { $message="ERREUR : Veuillez saisir une adresse email valide pour la commande de pièces."; } elseif (empty($reference)) { $message="ERREUR : Veuillez saisir une référence pour la commande de pièces."; } else { $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 = $session->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 '.$ref.'.'; } else { $message = 'Une erreur s\'est produite lors du passage de votre commande.'; } } $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', $session->getRaisonSociale()); } /** * Affichage liste d'actes infogreffe */ public function actesAction() { $this->view->headScript()->appendFile('/themes/default/scripts/pieces.js', 'text/javascript'); $user = new Scores_Utilisateur(); $session = new Scores_Session_Entreprise($this->siret, $this->id); //Catégorie Juridique $cj = $session->getFormeJuridique(); if( in_array($cj, $this->association_cj) ) { $this->_forward('associationactes'); } $request = $this->getRequest(); $siren = substr($this->siret,0,9); //Affichage des actes disponible $ws = new WsScores(); $responses = $ws->getPiecesActes($siren); Zend_Registry::get('firebug')->info($responses); /* * Construire la réponse pour affichage * Date, Type, Décisions, */ $infosActes = array(); if ( $responses->nbReponses > 0 ) { $items = $responses->result->item; //Traitement des actes normaux $infosActe = array(); foreach($items as $item) { if ($item->ActeDate == '0000-00-00') { $date = new Zend_Date($item->DepotDate, 'yyyy-MM-dd'); $infosActe['date'] = $date->toString('dd/MM/yyyy'); } else { $date = new Zend_Date($item->ActeDate, 'yyyy-MM-dd'); $infosActe['date'] = $date->toString('dd/MM/yyyy'); } $infosActe['isFileExist'] = false; if ($item->File != '') { $infosActe['isFileExist'] = true; } $infosActe['mode'] = $item->ModeDiffusion; $infosActe['lib'] = $item->ActeTypeLabel; switch($item->ModeDiffusion) { case 'T': if ( $user->checkPerm('actes') ) { $href = $this->view->url(array( 'controller' => 'pieces', 'action' => 'acte', 'mode' => 'T', 'siren' => $siren, 'depotNum' => $item->DepotNum, 'depotDate' => $item->DepotDate, 'acteLabel' => $item->ActeTypeLabel, 'acteType' => $item->ActeType, 'acteNum' => $item->ActeNum, 'acteDate' => $item->ActeDate, ),null,true); $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', 'siren' => $siren, 'depotNum' => $item->DepotNum, 'depotDate' => $item->DepotDate, 'acteLabel' => $item->ActeTypeLabel, 'acteType' => $item->ActeType, 'acteNum' => $item->ActeNum, 'acteDate' => $item->ActeDate, ),null,true); $title = "Commande d'une pièce officielle"; } else { $href = '#'; $title = "Vous n'avez pas les droits nécessaires pour commander le document correspondant."; } break; } $infosActe['factice'] = $this->view->url(array( 'controller' => 'pieces', 'action' => 'acte', 'mode' => 'F', 'siren' => $siren, 'depotNum' => $item->DepotNum, 'depotDate' => $item->DepotDate, 'acteLabel' => $item->ActeTypeLabel, 'acteType' => $item->ActeType, 'acteNum' => $item->ActeNum, 'acteDate' => $item->ActeDate, ), null, true); $infosActe['href'] = $href; $infosActe['title'] = $title; $data = ''; if( intval($item->DepotNum)>=0 ) { $date = new Zend_Date($item->DepotDate, 'yyyy-MM-dd'); $data.= 'Dépot n°'.$item->DepotNum.' du '.$date->toString('dd/MM/yyyy').''; //Nombre de pages $nbPage = 0; if ( $item->FileNumberOfPages > 0 ) { $nbPage = $item->FileNumberOfPages; } elseif ( $item->ActeNumberOfPages > 0 ) { $nbPage = $item->ActeNumberOfPages; } if( $nbPage > 1 ) { $data.= '
Document de '.$nbPage.' pages.'; } elseif( $nbPage == 1 ) { $data.= '
Document de '.$nbPage.' page.'; } //Informations if ( count($item->infos->item) > 0 ) { foreach($item->infos->item as $txt) { $data.= '
'.$txt; } } //@todo if(!empty($acte['decision'])){ $data.= '
'.$acte['decision']; } } $infosActe['decision'] = $data; $infosActes[] = $infosActe; } // Fin acte } $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', $session->getRaisonSociale()); $this->view->assign('surveillance', $user->checkPerm('survbilan')); } /** * Affichage liste de bilans infogreffe */ public function bilansAction() { $user = new Scores_Utilisateur(); $session = new Scores_Session_Entreprise($this->siret, $this->id); $this->view->headScript()->appendFile('/themes/default/scripts/pieces.js', 'text/javascript'); //Catégorie Juridique $cj = $session->getFormeJuridique(); if( in_array($cj, $this->association_cj) ) { $this->_forward('associationbilans'); } else { $request = $this->getRequest(); $siren = substr($this->siret,0,9); //Affichage des bilans disponible $ws = new WsScores(); $response = $ws->getPiecesBilans($siren); $infosBilans = array(); if ( $response->nbReponses > 0 ) { $items = $response->result->item; foreach($items as $key => $item) { $infosBilan = array(); $date = new Zend_Date($item->DateCloture, 'yyyy-MM-dd'); $infosBilan['date'] = $date->toString('dd/MM/yyyy'); $infosBilan['type'] = 'Comptes '.$item->Type.' millésime '.$item->Millesime; $infosBilan['mode'] = $item->ModeDiffusion; $infosBilan['isFileExist'] = false; if ($item->File != '') { $infosBilan['isFileExist'] = true; } switch($item->ModeDiffusion) { case 'T': if ( $user->checkPerm('actes') ) { $href = $this->view->url(array( 'controller' => 'pieces', 'action' => 'bilan', 'siren' => $siren, 'mode' => 'T', 'type' => $item->Type, 'cloture' => $item->DateCloture, )); $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', 'siren' => $siren, 'mode' => 'C', 'type' => $item->Type, 'cloture' => $item->DateCloture, )); $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; } $infosBilan['factice'] = $this->view->url(array( 'controller' => 'pieces', 'action' => 'bilan', 'siren' => $siren, 'mode' => 'T', 'type' => $item->Type, 'cloture' => $item->DateCloture, )); $infosBilan['href'] = $href; $infosBilan['title'] = $title; $infosBilan['duree'] = ''; if (intval($item->DureeExercice)>0) { $infosBilan['duree'] = "Exercice sur ".$item->DureeExercice." mois"; } $infosBilan['decision'] = 'Dépot n°'.$item->NumDepot; if( !empty($item->File) && $item->NumberOfPages>0 ) { $infosBilan['decision'].= "
Document de ".$item->NumberOfPages." pages"; } if ( empty($item->SaisieDate) || $item->SaisiDate=='0000-00-00' ) { $infosBilan['saisie'] = "Bilan non saisi."; } else if ( $item->SaisieCode == '00' ) { $date = new Zend_Date($item->SaisieDate, 'yyyy-MM-dd'); $infosBilan['saisie'] = "Bilan saisi le ".$date->toString('dd/MM/yyyy')."."; if ( !empty($item->SaisieLabel) ) { $infosBilan['saisie'].= ''; } } else { $date = new Zend_Date($item->SaisieDate, 'yyyy-MM-dd'); $infosBilan['saisie'] = "Bilan non saisi le ".$date->toString('dd/MM/yyyy')."."; if ( !empty($item->SaisieLabel) ) { $infosBilan['saisie'].= ''; } } $infosBilans[] = $infosBilan; } } $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', $session->getRaisonSociale()); $this->view->assign('surveillance', $user->checkPerm('survactes')); } } /** * Commande de bilan */ public function bilanAction() { //Désactivation affichage $this->_helper->layout()->disableLayout(); $user = new Scores_Utilisateur(); if (!$user->checkPerm('ACTES')){ $this->_forward('perms', 'error'); } $request = $this->getRequest(); $siren = $request->getParam('siren'); $this->view->assign('siren', $siren); $mode = $request->getParam('mode'); $dateCloture = $request->getParam('cloture'); $type = $request->getParam('type'); $ws = new WsScores(); switch ($mode) { case 'F': $response = $ws->getPiecesBilan($siren, $type, $mode, $dateCloture, $ref); if ($response===false) { $this->view->assign('msg', "Erreur lors du passage de la commande."); } else { $this->view->assign('msg', "Enregistrement de votre commande sous la référence".$response."."); } break; //Télécharger le fichier case 'T': $response = $ws->getPiecesBilan($siren, $type, $mode, $dateCloture); if ( $response === false || $response == '' ) { $this->view->assign('msg', "Fichier introuvable."); } else { try { $client = new Zend_Http_Client($response); $client->setStream(); $stream = $client->request('GET'); if ( $stream->isSuccessful() && substr($stream->getBody(),0,4)=='%PDF' ) { $c = Zend_Registry::get('config'); $file = 'bilan-'.$siren.'-'.$type.'-'.$dateCloture.'.pdf'; if (copy($stream->getStreamName(), $c->profil->path->files . '/' . $file)) { $this->view->assign('url', $this->view->url(array( 'controller' => 'fichier', 'action' => 'greffe', ), null, true).'/'.$file); } else { $this->view->assign('msg', "Impossible de distribuer le fichier."); } } else { $this->view->assign('msg', "Erreur lors du téléchargement du fichier."); } } catch (Zend_Http_Client_Exception $e) { Zend_Registry::get('firebug')->info('HTTP Exception : '.$e->getMessage()); $this->view->assign('msg', "Erreur lors du téléchargement du fichier."); } } break; //Passer commande case 'C': $ref = $request->getParam('ref'); if ( $request->isXmlHttpRequest() ) { //Enregistrement de la commande if ( $request->isPost() ) { $response = $ws->getPiecesBilan($siren, $type, $mode, $dateCloture, $ref); if ($response===false) { $this->view->assign('msg', "Erreur lors du passage de la commande."); } else { $this->view->assign('formEmail', true); $this->view->assign('refCommande', $response); $this->view->assign('msg',"Enregistrement de votre commande sous la référence ".strtoupper($response)."."); } } //Affichage du formulaire else { $user = new Scores_Utilisateur(); $email = explode(';',$user->getEmail()); $this->view->assign('email', $email[0]); $validator = new Zend_Validate_EmailAddress(); $this->view->assign('emailValide', $validator->isValid($email[0])); $this->view->assign('formCmd', true); $this->view->assign('mode', $mode); $date = new Zend_Date($dateCloture, 'yyyy-MM-dd'); $this->view->assign('LabelCloture', $date->toString('dd/MM/yyyy')); $this->view->assign('cloture', $dateCloture); $this->view->assign('type', $type); } } break; //Saisir email case 'EMAIL': if ( $request->isXmlHttpRequest() ) { if ( $request->isPost() ) { $id = $request->getParam('refCommande'); $email = trim($request->getParam('email')); if ( !empty($email) ) { $response = $ws->setPiecesBilanCmdEmail($id, $email); if ( $response === false ) { $this->view->assign('msg', "Impossible d'enregistrer un email pour la commande ".strtoupper($id)."."); } else { $this->view->assign('msg', "Email ".$email." enregistré pour la commande ".strtoupper($id)."."); } } else { $this->view->assign('msg', "Email incorrect."); } } } break; } } /** * Commande d'acte */ public function acteAction() { //Désactivation affichage $this->_helper->layout()->disableLayout(); $user = new Scores_Utilisateur(); if (!$user->checkPerm('ACTES')){ $this->_forward('perms', 'error'); } $request = $this->getRequest(); $siren = $request->getParam('siren'); $this->view->assign('siren', $siren); $mode = $request->getParam('mode'); $depotNum = $request->getParam('depotNum'); $depotDate = $request->getParam('depotDate'); $acteType = $request->getParam('acteType'); $acteNum = $request->getParam('acteNum'); $acteDate = $request->getParam('acteDate'); $ws = new WsScores(); switch ($mode) { //Commande factice case 'F': //Enregistrement de la commande $response = $ws->getPiecesActe($siren, $mode, $depotNum, $depotDate, $acteType, $acteNum, $acteDate, $ref); if ($response===false) { $this->view->assign('msg',"Erreur lors du passage de la commande."); } else { $this->view->assign('msg',"Enregistrement de votre commande sous la référence ".strtoupper($response)."."); } break; //Télécharger le fichier case 'T': $response = $ws->getPiecesActe($siren, $mode, $depotNum, $depotDate, $acteType, $acteNum, $acteDate); if ( $response === false || $response == '' ) { $this->view->assign('msg', "Fichier introuvable."); } else { try { $client = new Zend_Http_Client($response); $client->setStream(); $stream = $client->request('GET'); if ( $stream->isSuccessful() && substr($stream->getBody(),0,4)=='%PDF' ) { $c = Zend_Registry::get('config'); $file = 'acte-'.$siren.'-'.$depotNum.'-'.$acteNum.'.pdf'; if (copy($stream->getStreamName(), $c->profil->path->files . '/' . $file)) { $this->view->assign('url', $this->view->url(array( 'controller' => 'fichier', 'action' => 'greffe', ), null, true).'/'.$file); } else { $this->view->assign('msg', "Impossible de distribuer le fichier."); } } else { $this->view->assign('msg', "Erreur lors du téléchargement du fichier."); } } catch (Zend_Http_Client_Exception $e) { Zend_Registry::get('firebug')->info('HTTP Exception : '.$e->getMessage()); $this->view->assign('msg', "Erreur lors du téléchargement du fichier."); } } break; //Passer commande case 'C': $ref = $request->getParam('ref'); $label = $request->getParam('acteLabel'); if ( $request->isXmlHttpRequest() ) { //Enregistrement de la commande if ( $request->isPost() ) { $response = $ws->getPiecesActe($siren, $mode, $depotNum, $depotDate, $acteType, $acteNum, $acteDate, $ref); if ( $response === false ) { $this->view->assign('msg', "Erreur lors du passage de la commande."); } else { $this->view->assign('formEmail', true); $this->view->assign('refCommande', $response); $this->view->assign('msg',"Enregistrement de votre commande sous la référence ".strtoupper($response)."."); } } //Affichage du formulaire else { $user = new Scores_Utilisateur(); $email = explode(';',$user->getEmail()); $this->view->assign('email', $email[0]); $validator = new Zend_Validate_EmailAddress(); $this->view->assign('emailValide', $validator->isValid($email[0])); $this->view->assign('formCmd', true); $this->view->assign('mode', $mode); $this->view->assign('depotNum', $depotNum); $this->view->assign('depotDate', $depotDate); $date = new Zend_Date($depotDate,'yyyy-MM-dd'); $this->view->assign('LabelDepotDate', $date->toString('dd/MM/yyyy')); $this->view->assign('Label', $label); $this->view->assign('acteType', $acteType); $this->view->assign('acteNum', $acteNum); $this->view->assign('acteDate', $acteDate); $date = new Zend_Date($acteDate,'yyyy-MM-dd'); $this->view->assign('LabelActeDate', $date->toString('dd/MM/yyyy')); } } break; //Saisir email case 'EMAIL': if ( $request->isXmlHttpRequest() ) { if ( $request->isPost() ) { $id = $request->getParam('refCommande'); $email = trim($request->getParam('email')); if ( !empty($email) ) { $response = $ws->setPiecesActeCmdEmail($id, $email); if ( $response === false ) { $this->view->assign('msg', "Impossible d'enregistrer un email pour la commande ".strtoupper($id)."."); } else { $this->view->assign('msg', "Email ".$email." enregistré pour la commande ".strtoupper($id)."."); } } else { $this->view->assign('msg', "Email incorrect."); } } } 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 Scores_Session_Entreprise($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 = ''; $emails = explode(';',$user->getEmail()); $email = $emails[0]; $validator = new Zend_Validate_EmailAddress(); $this->view->assign('emailValid', $validator->isValid($email)); 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); $mail = new Scores_Mail(); $mail->setFrom('contact'); $mail->addToKey('support'); $mail->setSubject('[COMMANDE PIECES] - PRIVILEGES par email'); $mail->setBodyTexte( 'COMMANDE DE PRIVILEGES - par email
'.EOL. 'Demande pour recevoir ('.$privilegesJ.') pour SIREN : '. ''. $this->siret.'
'.EOL. 'pour login '.$user->getLogin().'('.$email.')
'.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 = 'Erreur : adresse email non renseignée.'; $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); $session = new Scores_Session_Entreprise($this->siret, $this->id); $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 Scores_Session_Entreprise($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', $session->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 '
Cliquez ici pour ouvrir le fichier'; exit; } /** * Enter description here ... */ public function associationbilansAction() { $user = new Scores_Utilisateur(); $session = new Scores_Session_Entreprise($this->siret, $this->id); $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'=>'pieces', 'action'=>'associationbilan', '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', $session->getRaisonSociale()); } /** * Bilan association */ public function associationbilanAction() { //Désactivation affichage $this->_helper->layout()->disableLayout(); $request = $this->getRequest(); $siren = $request->getParam('siren'); $diffusion = 'T'; $dateCloture = $request->getParam('dateCloture'); $reference = $request->getParam('reference'); $type = 'association'; //Récupération du l'URL $ws = new WsScores(); $url = $ws->getPiecesBilan($siren, $type, $diffusion, $dateCloture, $reference); if ( !empty($url) ) { try { $client = new Zend_Http_Client($url); $client->setStream(); $stream = $client->request('GET'); if ( $stream->isSuccessful() && substr($stream->getBody(),0,4)=='%PDF' ) { $c = Zend_Registry::get('config'); $file = 'bilan-'.$siren.'-'.$type.'-'.$dateCloture.'.pdf'; if (copy($stream->getStreamName(), $c->profil->path->files . '/' . $file)) { $this->view->assign('url', $this->view->url(array( 'controller' => 'fichier', 'action' => 'greffe', ), null, true).'/'.$file); } else { $this->view->assign('msg', "Impossible de distribuer le fichier."); } } else { $this->view->assign('msg', "Erreur lors du téléchargement du fichier."); } } catch (Zend_Http_Client_Exception $e) { Zend_Registry::get('firebug')->info('HTTP Exception : '.$e->getMessage()); $this->view->assign('msg', "Erreur lors du téléchargement du fichier."); } } else { $this->view->assign('msg', "Fichier indisponible !"); } } /** * Gestion téléchargement des kbis */ public function kbisAction() { //Désactivation affichage $this->_helper->layout()->disableLayout(); $request = $this->getRequest(); $user = new Scores_Utilisateur(); $session = new Scores_Session_Entreprise($params['siret']); $this->view->assign('raisonSociale', $session->getRaisonSociale()); $siren = $request->getParam('siren'); $this->view->assign('siren', $siren); require_once 'Scores/WsScores.php'; $ws = new WsScores(); $mode = $request->getParam('mode'); switch ($mode) { //Télécharger le fichier case 'T': $c = Zend_Registry::get('config'); $path = $c->profil->path->files. '/'; //Le fichier est déjà présent sur le serveur if ( file_exists($path.'kbis-'.$siren.'.pdf') && date('Ymd', filemtime($path.'kbis-'.$siren.'.pdf'))==date('Ymd') && filesize($path.'kbis-'.$siren.'.pdf')>2000 ) { $msg = 'Visualiser le Kbis '; $this->view->assign('message', $msg); $this->view->assign('mode', $mode); $ws->setLog('kbis', $siren, 0, 'direct'); } //Téléchargement du fichier else { $info = $ws->getKbis($siren, 'T'); 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 try { $client = new Zend_Http_Client($info); $client->setStream(); $response = $client->request('GET'); //Ecriture du fichier sur le serveur en local if ( $response->isSuccessful() && copy($response->getStreamName(), $path.'kbis-'.$siren.'.pdf') ) { $msg = 'Visualiser le Kbis '; $this->view->assign('message', $msg); $this->view->assign('mode', $mode); } //Fichier non disponible else { $this->view->assign('msg',"Impossible de récupérer le fichier"); } } catch (Zend_Http_Client_Exception $e) { //echo " - Erreur ".$e->getMessage(); } } else { $this->view->assign('msg', $info); } } break; //Commande par email case 'M': $ref = $request->getParam('ref'); if ( $request->isXmlHttpRequest() ) { //Enregistrement de la commande if ( $request->isPost() ) { $response = $ws->getKbis($siren, $mode, $ref); if ( $response === false ) { $this->view->assign('msg', "Erreur lors du passage de la commande."); } else { $this->view->assign('formEmail', true); $this->view->assign('refCommande', $response); $this->view->assign('msg',"Enregistrement de votre commande sous la référence ".strtoupper($response)."."); //== Send email to operators - to be removed $email = explode(';',$user->getEmail()); $session = new Scores_Session_Entreprise(); //Envoi de l'email $mail = new Scores_Mail(); $mail->setFrom('contact'); $mail->addToKey('support'); $mail->setSubject('[COMMANDE PIECES] - KBIS par email'); $mail->setBodyTexte( 'COMMANDE DE PIECES - Demande de kbis par email'.PHP_EOL. 'Demande pour recevoir le KBIS de SIREN :'. ''. $this->siret.''.PHP_EOL. 'pour login '.$user->getLogin().'('.$email.')
'.PHP_EOL. 'Référence Client : '.$ref.PHP_EOL. 'Référence Backoffice : '.strtoupper($response) ); $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' => $siren, 'raisonSociale' => $session->getRaisonSociale(), 'type' => 'M', 'dateCommande' => date('Y-m-d H:i:s'), ); $commandesKbis->insert($data); //== Send email to operators - to be removed } } //Affichage du formulaire else { $email = explode(';',$user->getEmail()); $this->view->assign('email', $email[0]); $validator = new Zend_Validate_EmailAddress(); $this->view->assign('emailValid', $validator->isValid($email[0])); $this->view->assign('formCmd', true); $this->view->assign('mode', $mode); $this->view->assign('siren', $siren); } } break; //Commande KBIS original courrier case 'C': $ref = $request->getParam('ref'); if ( $request->isXmlHttpRequest() ) { //Enregistrement de la commande if ( $request->isPost() ) { //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) { $response = $ws->getKbis($siren, $mode, $ref); if ( $response === false ) { $this->view->assign('msg', "Erreur lors du passage de la commande."); } else { $this->view->assign('refCommande', $response); $this->view->assign('msg',"Enregistrement de votre commande sous la référence ".strtoupper($response)."."); //== Send email to operators - to be removed $email = explode(';', $user->getEmail()); $session = new Scores_Session_Entreprise(); //Envoi du mail $mail = new Scores_Mail(); $mail->setFrom('contact'); $mail->addToKey('support'); $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 : '. ''. $this->siret.'
'.PHP_EOL. 'pour login '.$user->getLogin(). '('.$email.')'.'
'.PHP_EOL. 'Référence Client : '.$ref.PHP_EOL. 'Référence Backoffice : '.strtoupper($response).PHP_EOL. 'Societe :'.$params['societe'].'
'.PHP_EOL. 'Nom : '.$params['nom'].'
'.PHP_EOL. 'Prenom : '.$params['prenom'].'
'.PHP_EOL. 'Adresse : '.$params['adresse'].'
'.PHP_EOL. 'CP : '.$params['cp'].'
'.PHP_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' => $siren, 'raisonSociale' => $session->getRaisonSociale(), 'type' => 'C', 'dateCommande' => date('Y-m-d H:i:s'), ); $commandesKbis->insert($data); //== Send email to operators - to be removed } } else { $this->view->assign('message',''.$this->view->translate('Erreur : Tous les champs doivent être renseigner.').''); $this->view->assign('mode', $mode); $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']); } } //Affichage du formulaire else { $email = explode(';', $user->getEmail()); $this->view->assign('email', $email[0]); $this->view->assign('nom', $user->getNom()); $this->view->assign('prenom', $user->getPrenom()); $validator = new Zend_Validate_EmailAddress(); $this->view->assign('emailValid', $validator->isValid($email[0])); $this->view->assign('formCmd', true); $this->view->assign('mode', $mode); } } break; //Saisir email différent case 'EMAIL': if ( $request->isXmlHttpRequest() ) { if ( $request->isPost() ) { $id = $request->getParam('refCommande'); $email = trim($request->getParam('email')); if ( !empty($email) ) { $response = $ws->setPiecesKbisCmdEmail($id, $email); if ( $response === false ) { $this->view->assign('msg', "Impossible d'enregistrer un email pour la commande ".strtoupper($id)."."); } else { $this->view->assign('msg', "Email ".$email." enregistré pour la commande ".strtoupper($id)."."); } } else { $this->view->assign('msg', "Email incorrect."); } } } break; } } /** * 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 Scores_Session_Entreprise($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')); } }