extranet/application/controllers/MandataireController.php

280 lines
10 KiB
PHP
Raw Normal View History

2011-05-09 09:42:57 +00:00
<?php
class MandataireController extends Zend_Controller_Action
{
2011-07-01 06:54:02 +00:00
protected $coursAppel = array(
array( "triId"=>"1756", "triCode"=>"AIXPRL", "triNom"=>"Cour d'Appel d'Aix-en-Provence", "triCP"=>"13616" ),
array( "triId"=>"1757", "triCode"=>"AMIENL", "triNom"=>"Cour d'Appel d'Amiens", "triCP"=>"80027" ),
array( "triId"=>"1758", "triCode"=>"ANGERL", "triNom"=>"Cour d'Appel d'Angers", "triCP"=>"49043" ),
array( "triId"=>"1759", "triCode"=>"BASSEL", "triNom"=>"Cour d'Appel de Basse-Terre", "triCP"=>"97109" ),
array( "triId"=>"1760", "triCode"=>"BASTIL", "triNom"=>"Cour d'Appel de Bastia", "triCP"=>"20407" ),
array( "triId"=>"1761", "triCode"=>"BESANL", "triNom"=>"Cour d'Appel de Besançon", "triCP"=>"25017" ),
array( "triId"=>"1762", "triCode"=>"BORDEL", "triNom"=>"Cour d'Appel de Bordeaux", "triCP"=>"33077" ),
array( "triId"=>"1763", "triCode"=>"BOURGL", "triNom"=>"Cour d'Appel de Bourges", "triCP"=>"18023" ),
array( "triId"=>"1764", "triCode"=>"CAENL", "triNom"=>"Cour d'Appel de Caen", "triCP"=>"14050" ),
array( "triId"=>"1765", "triCode"=>"CHAMBL", "triNom"=>"Cour d'Appel de Chambéry", "triCP"=>"73018" ),
array( "triId"=>"1766", "triCode"=>"COLMAL", "triNom"=>"Cour d'Appel de Colmar", "triCP"=>"68027" ),
array( "triId"=>"1767", "triCode"=>"DIJONL", "triNom"=>"Cour d'Appel de Dijon", "triCP"=>"21034" ),
array( "triId"=>"1768", "triCode"=>"DOUAIL", "triNom"=>"Cour d'Appel de Douai", "triCP"=>"59507" ),
array( "triId"=>"1769", "triCode"=>"FORTFL", "triNom"=>"Cour d'Appel de Fort-de-France", "triCP"=>"97200" ),
array( "triId"=>"1770", "triCode"=>"GRENOL", "triNom"=>"Cour d'Appel de Grenoble", "triCP"=>"38019" ),
array( "triId"=>"1771", "triCode"=>"LIMOGL", "triNom"=>"Cour d'Appel de Limoges", "triCP"=>"87031" ),
array( "triId"=>"1772", "triCode"=>"LYONL", "triNom"=>"Cour d'Appel de Lyon", "triCP"=>"69321" ),
array( "triId"=>"1773", "triCode"=>"METZL", "triNom"=>"Cour d'Appel de Metz", "triCP"=>"57036" ),
array( "triId"=>"1774", "triCode"=>"MONTPL", "triNom"=>"Cour d'Appel de Montpellier", "triCP"=>"34023" ),
array( "triId"=>"1775", "triCode"=>"NANCYL", "triNom"=>"Cour d'Appel de Nancy", "triCP"=>"54035" ),
array( "triId"=>"1776", "triCode"=>"NIMESL", "triNom"=>"Cour d'Appel de Nîmes", "triCP"=>"30031" ),
array( "triId"=>"1777", "triCode"=>"NOUMEL", "triNom"=>"Cour d'Appel de Nouméa", "triCP"=>"98848" ),
array( "triId"=>"1778", "triCode"=>"PAPEEL", "triNom"=>"Cour d'Appel de Papeete", "triCP"=>"98714" ),
array( "triId"=>"1779", "triCode"=>"PARISL", "triNom"=>"Cour d'Appel de Paris", "triCP"=>"75055" ),
array( "triId"=>"1780", "triCode"=>"PAUL", "triNom"=>"Cour d'Appel de Pau", "triCP"=>"64034" ),
array( "triId"=>"1781", "triCode"=>"POITIL", "triNom"=>"Cour d'Appel de Poitiers", "triCP"=>"86020" ),
array( "triId"=>"1782", "triCode"=>"REIMSL", "triNom"=>"Cour d'Appel de Reims", "triCP"=>"51096" ),
array( "triId"=>"1783", "triCode"=>"RENNEL", "triNom"=>"Cour d'Appel de Rennes", "triCP"=>"35064" ),
array( "triId"=>"1784", "triCode"=>"RIOML", "triNom"=>"Cour d'Appel de Riom", "triCP"=>"63201" ),
array( "triId"=>"1785", "triCode"=>"ROUENL", "triNom"=>"Cour d'Appel de Rouen", "triCP"=>"76037" ),
array( "triId"=>"1786", "triCode"=>"STDENL", "triNom"=>"Cour d'Appel de Saint-Denis-de-La Réunion", "triCP"=>"97488" ),
array( "triId"=>"1787", "triCode"=>"TOULOL", "triNom"=>"Cour d'Appel de Toulouse", "triCP"=>"31068" ),
array( "triId"=>"1788", "triCode"=>"VERSAL", "triNom"=>"Cour d'Appel de Versailles", "triCP"=>"78011" ),
array( "triId"=>"1789", "triCode"=>"ORLEAL", "triNom"=>"Cour d'Appel d'Orléans", "triCP"=>"45044" ),
array( "triId"=>"1790", "triCode"=>"CAYENL", "triNom"=>"Chambre Détachée de la Cour d'Appel de Fort de France à Cayenne", "triCP"=>"97300" ),
array( "triId"=>"1798", "triCode"=>"AGENL", "triNom"=>"Cour d'Appel d'Agen", "triCP"=>"47916" ),
);
2011-05-09 09:42:57 +00:00
public function init()
{
require_once 'Scores/WsScores.php';
}
2011-05-09 10:15:20 +00:00
/**
* Enregistrement d'un mandataire
*/
public function addAction()
{
$this->_helper->layout->disableLayout();
2011-07-01 06:54:02 +00:00
$request = $this->getRequest();
$idMandataire = $request->getParam('idMandataire', '');
$tribunal = $request->getParam('tribunal', '');
$ws = new WsScores();
2011-05-09 10:15:20 +00:00
//Mode edition
2011-07-01 06:54:02 +00:00
if ($idMandataire != '') {
2011-05-09 10:15:20 +00:00
$idMandataire = (int)substr($idMandataire,1);
2011-07-01 06:54:02 +00:00
$reponse = $ws->getMandataire($idMandataire);
if ($reponse!==false) {
$tabMandataires = $ws->result;
} else {
2011-05-09 10:15:20 +00:00
$message = 'Une erreur est survenue durant la recherche de mandataire.';
}
//Mode ajout
2011-07-01 06:54:02 +00:00
} else {
$tabMandataires = $request->getParam('tabMandataires');
2011-05-09 10:15:20 +00:00
}
2011-07-01 06:54:02 +00:00
if ($tribunal!='') {
2011-05-09 10:15:20 +00:00
//La cour d'appel suivant le tribunal sélectionné
2011-07-01 06:54:02 +00:00
$codeCourAppel = $ws->getIdCoursAppel($tribunal);
2011-05-09 10:15:20 +00:00
//Les tribunaux
2011-07-01 06:54:02 +00:00
$tmp = $ws->getTribunaux(array('C','I','G')); //
$tribunaux = $tmp->result->item;
2011-05-09 10:15:20 +00:00
}else{
$message = 'Pas de tribunal sélectionné.';
}
2011-07-01 06:54:02 +00:00
$this->view->assign('message', $message);
$this->view->assign('tabMandataires', $tabMandataires);
$this->view->assign('coursAppel', $this->coursAppel);
$this->view->assign('tribunal', $tribunal);
2011-07-01 06:54:02 +00:00
$this->view->assign('tribunaux', $tribunaux);
2011-05-09 10:15:20 +00:00
}
/**
* Edition d'un mandataire
*/
public function editAction()
{
$this->_forward('add');
}
/**
* Recherche d'un mandataire à partir d'une chaine de caractères
* "nom, departement"
*/
2011-05-09 09:42:57 +00:00
public function searchAction()
{
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender();
$request = $this->getRequest();
$search = $request->getParam('search', '');
if (empty($search)) { echo ''; }
else { $search = strtolower($search); }
list($searchStr, $filtre) = explode(',', $search);
$searchStr = trim($searchStr);
$filtre = str_replace(' ', '', $filtre);
if( strlen($filtre) != 5 && strlen($filtre) != 2 ){
$filtre = '';
}
$ws = new WsScores();
2011-07-01 06:54:02 +00:00
$reponse = $ws->searchMandataires(
$searchStr,
array('V', 'N', 'H', 'A', 'M'), //types de mandataires
$filtre
);
2011-05-09 09:42:57 +00:00
if ($reponse == false){
echo 'Erreur durant la recherche';
exit;
}
$mandataires = $reponse->result->item;
$output = array();
$output[] = array(
'label' => "A l'adresse du bien vendu",
'id' => 'adresse'
);
/*
REGEX Code Postal : ^(F-)?((2[A|B])|[0-9]{2})[0-9]{3}$
(?<!/BP /i) Ne pas avoir la présence de BP devant les 5 chiffres
*/
//Recherche des codes postaux
if( count($mandataires)>0 ) {
$tableResults = array();
$i=0;
foreach ($mandataires as $mandataire) {
$tabResults[$i]['code'] = $mandataire->id;
$tabResults[$i]['lib'] = htmlspecialchars_decode(
html_entity_decode($mandataire->mand), ENT_QUOTES);
preg_match('/(?<!bp )((2[A|B])|[0-9]{2})[0-9]{3}( )/i', $mandataire->mand, $matches);
$tabResults[$i]['cp'] = $matches[0];
$i++;
}
foreach ($tabResults as $key => $row){
$code[$key] = $row['code'];
$lib[$key] = $row['lib'];
$cp[$key] = $row['cp'];
}
//Classement du tableau
array_multisort($cp, SORT_NUMERIC, $tabResults);
//Affichage des valeurs
foreach ($tabResults as $item){
$output[] = array(
'label' => $item['lib'],
'id' => $item['code']
);
}
}
echo json_encode($output);
}
2011-05-09 10:15:20 +00:00
public function getAction()
{
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
2011-05-09 10:15:20 +00:00
$request = $this->getRequest();
$siren = $request->getParam('siren');
2011-05-09 10:15:20 +00:00
$siren = str_replace(' ','',$siren); //Remplacer les espaces
if ( $siren=='' || strlen($siren)!=14 ) {
$output = array(
'Siret' => 'Siret incorrect',
);
echo json_encode($output);
exit;
}
$tabEntrep = array();
$ws = new WsScores();
$tabEntrep = $ws->getIdentite($siren);
if ($tabEntrep!==false){
/**
* Utiliser la raison sociale la plus longue
* Nom, Nom2, NomLong
*/
if (!empty($tabEntrep->NomLong) && strlen($tabEntrep->NomLong)>strlen($tabEntrep->Nom)){
$tabEntrep->Nom = $tabEntrep->NomLong;
}
//Retourner le tableau sous forme json
echo json_encode($tabEntrep);
2011-05-09 10:15:20 +00:00
}
}
public function saveAction()
{
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender();
$request = $this->getRequest();
$error = false;
$tabMandataires = $request->getParam('tabMandataires', array());
2011-05-09 10:15:20 +00:00
//Vérification des données
$fields = array();
if($tabMandataires['sirenGrp']=='' && $tabMandataires['sirenMand']==''){
$fields[] ='Siret'; $error = true;
}
if($tabMandataires['sirenGrp'] == $tabMandataires['sirenMand']){
$fields[] ='Siret de la société civile identique au Siret du mandataire';
$error = true;
}
if( (strlen($tabMandataires['sirenGrp'])!=14 && empty($tabMandataires['sirenMand'])) ||
(empty($tabMandataires['sirenGrp']) && strlen($tabMandataires['sirenMand'])!=14) ){
$fields = 'Siret avec la bonne taille';
$error = true;
}
if($tabMandataires['Nom']=='' ){$fields[] ='Nom'; $error = true;}
if($tabMandataires['type']==''){$fields[] ='Type'; $error = true;}
if($tabMandataires['coursAppel']==''){$fields[] ='Cours d\'appel'; $error = true;}
if($tabMandataires['Statut']==''){$fields[] ='Statut'; $error = true;}
if($tabMandataires['adresse']==''){$fields[] ='Adresse'; $error = true;}
if($tabMandataires['cp']==''){$fields[] ='Code Postal'; $error = true;}
if($tabMandataires['ville']==''){$fields[] ='Ville'; $error = true;}
if($tabMandataires['tel']==''){$fields[] ='Téléphone'; $error = true;}
2011-05-09 10:15:20 +00:00
//Envoi de la requête au webservices
if ($error==true){
$message = '<font color="red">';
$message.= 'Veuillez remplir les champs suivants : ';
$message.= join(', ', $fields);
$message.= '</font>';
}else{
$message='';
$ws = new WsScores();
$reponse = $ws->setMandataire($tabMandataires);
if ($reponse===false || $reponse->result==false){
$message = 'Une erreur s\'est produite durant l\'enregistrement';
}
}
echo $message;
}
protected function htmlentitydecode_deep($value)
{
$value = is_array($value) ?
array_map(array('MandataireController' ,'htmlentitydecode_deep'), $value) :
html_entity_decode($value, ENT_QUOTES);
return $value;
}
2011-05-09 09:42:57 +00:00
}