280 lines
10 KiB
PHP
280 lines
10 KiB
PHP
<?php
|
|
class MandataireController extends Zend_Controller_Action
|
|
{
|
|
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" ),
|
|
);
|
|
|
|
public function init()
|
|
{
|
|
require_once 'Scores/WsScores.php';
|
|
}
|
|
|
|
|
|
/**
|
|
* Enregistrement d'un mandataire
|
|
*/
|
|
public function addAction()
|
|
{
|
|
$this->_helper->layout->disableLayout();
|
|
|
|
$request = $this->getRequest();
|
|
$idMandataire = $request->getParam('idMandataire', '');
|
|
$tribunal = $request->getParam('tribunal', '');
|
|
|
|
$ws = new WsScores();
|
|
|
|
//Mode edition
|
|
if ($idMandataire != '') {
|
|
$idMandataire = (int)substr($idMandataire,1);
|
|
$reponse = $ws->getMandataire($idMandataire);
|
|
if ($reponse!==false) {
|
|
$tabMandataires = $ws->result;
|
|
} else {
|
|
$message = 'Une erreur est survenue durant la recherche de mandataire.';
|
|
}
|
|
//Mode ajout
|
|
} else {
|
|
$tabMandataires = $request->getParam('tabMandataires');
|
|
}
|
|
|
|
if ($tribunal!='') {
|
|
//La cour d'appel suivant le tribunal sélectionné
|
|
$codeCourAppel = $ws->getIdCoursAppel($tribunal);
|
|
|
|
//Les tribunaux
|
|
$tmp = $ws->getTribunaux(array('C','I','G')); //
|
|
|
|
$tribunaux = $tmp->result->item;
|
|
}else{
|
|
$message = 'Pas de tribunal sélectionné.';
|
|
}
|
|
|
|
$this->view->assign('message', $message);
|
|
$this->view->assign('tabMandataires', $tabMandataires);
|
|
$this->view->assign('coursAppel', $this->coursAppel);
|
|
$this->view->assign('tribunal', $tribunal);
|
|
$this->view->assign('tribunaux', $tribunaux);
|
|
}
|
|
|
|
/**
|
|
* Edition d'un mandataire
|
|
*/
|
|
public function editAction()
|
|
{
|
|
$this->_forward('add');
|
|
}
|
|
|
|
/**
|
|
* Recherche d'un mandataire à partir d'une chaine de caractères
|
|
* "nom, departement"
|
|
*/
|
|
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();
|
|
$reponse = $ws->searchMandataires(
|
|
$searchStr,
|
|
array('V', 'N', 'H', 'A', 'M'), //types de mandataires
|
|
$filtre
|
|
);
|
|
|
|
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);
|
|
}
|
|
|
|
public function getAction()
|
|
{
|
|
$this->_helper->layout->disableLayout();
|
|
$this->_helper->viewRenderer->setNoRender(true);
|
|
|
|
$request = $this->getRequest();
|
|
$siren = $request->getParam('siren');
|
|
$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);
|
|
}
|
|
|
|
}
|
|
|
|
public function saveAction()
|
|
{
|
|
$this->_helper->layout->disableLayout();
|
|
$this->_helper->viewRenderer->setNoRender();
|
|
|
|
$request = $this->getRequest();
|
|
|
|
$error = false;
|
|
|
|
$tabMandataires = $request->getParam('tabMandataires', array());
|
|
|
|
//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;}
|
|
|
|
|
|
|
|
//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;
|
|
}
|
|
|
|
|
|
|
|
} |