'survannonce', 'insee' => 'survinsee', 'bilans' => 'survbilan', 'score' => 'survscore', 'actes' => 'survactes', 'dirigeants' => 'survdirigeants', 'privileges' => 'survpriv', ); } function assocSourceTxt() { return array( 'annonces' => 'les annonces légales', 'insee' => 'les événements INSEE', 'bilans' => 'les bilans', 'score' => 'IndiScore', 'actes' => 'les actes & status', 'dirigeants' => 'les dirigeants', 'privileges' => 'les privilèges', ); } /** * Affiche le formulaire surveillance. * * @param string $page * La page ou l'on affiche le formulaire, détermine le type de surveillance. * @param string $siret * L'établissement à surveiller. * @param array $notEmail * Un tableau de login pour exclure l'affichage de l'adresse email * @return string * Retourne sous forme de chaine de caractère le fomulaire en HTML */ function formSurveillance($source, $siret, $notEmail, $inDialog = false) { $assocSourceTxt = assocSourceTxt(); $assocSourceDroit = assocSourceDroit(); $style = file_get_contents(realpath(dirname(__FILE__)).'/style.css'); $output = ''; if($inDialog) { $output.= ''."\n"; $output.= '
'."\n"; $output.= ''; $output.= ''."\n"; if( empty($source) ) { $output.= '
'."\n"; $output.= ''."\n"; $output.= '
'."\n"; foreach($assocSourceTxt as $Source => $Txt) { if(hasPerm($assocSourceDroit[$Source])) { $output.=' '.$Txt."
\n"; } } $output.= '
'."\n"; $output.= '
'."\n"; }else{ $output.= ''."\n"; } //Champ référence $ref = ''; if(isset($_REQUEST['ref'])){ $ref = $_REQUEST['ref']; } $output.= '
'."\n"; $output.= '
'."\n"; $output.= ''; $output.= '
'; $output.= '
'."\n"; $output.= '
'."\n"; //Champ spécial suivant source $encours = ''; if(isset($_REQUEST['encours'])){ $encours = $_REQUEST['encours']; } if ($source=='score'){ $output.= '
'."\n"; $output.= '
'."\n"; $output.= ''; $output.= '
'; $output.= '
'."\n"; $output.= '
'."\n"; } //Champ email $email = ''; if( !in_array($_SESSION['tabInfo']['login'],$notEmail) && !isset($_REQUEST['email'])){ $email = $_SESSION['tabInfo']['email']; }elseif(isset($_REQUEST['email'])){ $email = $_REQUEST['email']; } $output.= '
'."\n"; $output.= ''; $output.= '
'. '
'."\n"; $output.= '
'."\n";; $output.= '
'."\n"; $output.= ''."\n"; }else{ $output.= '
'. 'Mettre sous surveillance '; if( !empty($source) ) { $output.= $assocSourceTxt[$source]; } $output.= '
'."\n"; } return $output; } /** * Gère la détection des droits et des préférences pour l'affichage * de la surveillance. * @param string $page * La page ou l'on affiche le formulaire, détermine le type * de surveillance. * @param string $siret * L'établissement à surveiller. * @return void */ function getSurveillance($source, $siret){ $assocSourceDroit = assocSourceDroit(); $return = ''; $notEmail = array('testreunica', 'reunicacsf'); if (!empty($source) && array_key_exists($source, $assocSourceDroit) && hasPerm($assocSourceDroit[$source]) ){ if( hasPref('voirsurv') && inSurveillance($source, $siret)){ $return = '
L\'entité est sous surveillance.'."\n"; }else{ $return = formSurveillance($source, $siret, $notEmail); } }else{ $return = formSurveillance('', $siret, $notEmail); } return $return; } /** * Vérifie si l'établissement est en surveillance * * @param string $source * Le type de surveillance. * @param string $siret * L'établissement surveillé. * @return boolean * true or false */ function inSurveillance($source, $siret){ global $client; try{ $result = $client->getSurveillances($siret,$source); if(count($result['results']['reponses'])>0 ){ $find = FALSE; if(strlen($siret)>9) $siret = substr($siret, 0, 9); foreach($result['results']['reponses'] as $item){ if($item['siren'] == $siret){ $find = TRUE; } } return $find; }else{ return false; } }catch(SoapFault $fault){ return false; } } /** * Envoi la surveillance au webservice * * @param array $tabForm * Le type de surveillance. * @return mixed * Retourne la réponse du webservice ou false */ function setSurveillance($tabForm) { global $client; $siret = $tabForm['siret']; $email = $tabForm['email']; $ref = $tabForm['ref']; $source = $tabForm['source']; isset($tabForm['encours']) && !empty($tabForm['encours']) ? $encours = $tabForm['encours'] : $encours = 0; //Vérification de l'encours (chiffres) if (!preg_match('/([0-9]+)/', $encours)){ return 'Encours incorrect'; exit; } //Mise en surveillance pour une liste de sources if (is_array($source)){ foreach ($source as $s){ try{ $result = $client->setSurveillance($siret, $email, $ref, $s, false, $encours); FB::log($s, 'Surveillance'); $result = ''; }catch(SoapFault $fault){ FB::log($fault,'fault'); $result = false; } } //Mise en surveillance pour une source } else { try{ $result = $client->setSurveillance($siret, $email, $ref, $source, false, $encours); FB::log($source, 'Surveillance seul'); $result = ''; }catch (SoapFault $fault){ FB::log($fault,'fault'); $result = false; } } return $result; } /** * Supprime la surveillance * * @param string $siret * L'établissement surveillé. * @param $email * L'email enregistré pour la surveillance * @param $ref * La référence ajouté pour cette surveillance * @param $source * La source pour cette surveillance * @return mixed * Retourne la réponse du webservice ou false */ function deleteSurveillance($siret, $email, $ref, $source){ global $client; try{ $result = $client->setSurveillance($siret, $email, $ref, $source, TRUE); return TRUE; }catch(SoapFault $fault){ return FALSE; } } ?>