2011-05-09 09:42:57 +00:00
|
|
|
<?php
|
|
|
|
class MandataireController extends Zend_Controller_Action
|
|
|
|
{
|
|
|
|
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();
|
|
|
|
|
|
|
|
//Mode edition
|
|
|
|
if($idMandataire != ''){
|
|
|
|
$idMandataire = (int)substr($idMandataire,1);
|
|
|
|
try{
|
|
|
|
$O = $client->getMandataire($idMandataire);
|
|
|
|
$tabMandataires = $O['result'];
|
|
|
|
$firephp->log($tabMandataires,'Edition - tabMandataires');
|
|
|
|
}catch(SoapFault $fault){
|
|
|
|
$message = 'Une erreur est survenue durant la recherche de mandataire.';
|
|
|
|
}
|
|
|
|
//Mode ajout
|
|
|
|
}else{
|
|
|
|
$tabMandataires = $_REQUEST['tabMandataires'];
|
|
|
|
}
|
|
|
|
|
|
|
|
if($tribunal!=''){
|
|
|
|
//La cour d'appel suivant le tribunal sélectionné
|
|
|
|
$tmp = $client->getIdCoursAppel($tribunal);
|
|
|
|
$codeCourAppel = $tmp;
|
|
|
|
|
|
|
|
//Les cours d'appel
|
|
|
|
//require_once realpath(dirname(__FILE__).'/coursappel.php');
|
|
|
|
|
|
|
|
//Les tribunaux
|
|
|
|
$tmp = $client->getTribunaux(array('C','I','G')); //
|
|
|
|
$tribunaux = $tmp['result'];
|
|
|
|
}else{
|
|
|
|
$message = 'Pas de tribunal sélectionné.';
|
|
|
|
}
|
|
|
|
|
2011-05-09 09:42:57 +00:00
|
|
|
|
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();
|
|
|
|
$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);
|
|
|
|
}
|
|
|
|
|
2011-05-09 10:15:20 +00:00
|
|
|
public function getAction()
|
|
|
|
{
|
|
|
|
$this->_helper->layout->disableLayout();
|
|
|
|
$this->_helper->viewRenderer->setNoRender();
|
|
|
|
|
|
|
|
$request = $this->getRequest();
|
|
|
|
$siren = $request->getParam('siren', '');
|
|
|
|
|
|
|
|
$siren = trim($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);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 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
|
|
|
|
$tabEntrepD = $this->htmlentitydecode_deep($tabEntrep);
|
|
|
|
echo json_encode($tabEntrepD);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
public function saveAction()
|
|
|
|
{
|
|
|
|
$this->_helper->layout->disableLayout();
|
|
|
|
$this->_helper->viewRenderer->setNoRender();
|
|
|
|
|
|
|
|
$request = $this->getRequest();
|
|
|
|
|
|
|
|
$error = false;
|
|
|
|
|
|
|
|
$tabMandataires = array();
|
|
|
|
$tabMandataires = $_REQUEST['tabMandataires'];
|
|
|
|
|
|
|
|
//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;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-05-09 09:42:57 +00:00
|
|
|
|
|
|
|
}
|