'survannonce', 'insee' => 'survinsee', 'bilans' => 'survbilan', 'score' => 'survscore', 'actes' => 'survactes', 'dirigeants' => 'survdirigeants', ); } 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', ); } /** * 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"; } $ref = ''; if(isset($_REQUEST['ref'])){ $ref = $_REQUEST['ref']; } $output.= '
'."\n"; $output.= '
'."\n"; $output.= ''; $output.= '
'; $output.= '
'."\n"; $output.= '
'."\n"; $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 '.$assocSourceTxt[$source]. '
'."\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){ global $client; $assocSourceDroit = assocSourceDroit(); $return = ''; if(!empty($source) && array_key_exists($source, $assocSourceDroit) && preg_match('/\b'.$assocSourceDroit[$source].'\b/i', $_SESSION['tabInfo']['droits'])){ if( preg_match('/\bvoirsurv\b/i', $_SESSION['tabInfo']['pref']) && inSurveillance($source, $siret)){ $return = '
L\'entité est sous surveillance.'."\n"; }else{ $notEmail = array('testreunica', 'reunicacsf'); $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, $firephp; $firephp->log($source, 'source'); $firephp->log($siret, 'siret'); try{ $result = $client->getSurveillances($siret,$source); $firephp->log($result['results']['reponses'], 'response'); 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, $firephp; $siret = $tabForm['siret']; $email = $tabForm['email']; $ref = $tabForm['ref']; $source = $tabForm['source']; $firephp->log($tabForm,'tabForm'); if(is_array($source)) { foreach($source as $s) { try{ $result = $client->setSurveillance($siret, $email, $ref, $s); $firephp->log($s, 'Surveillance'); }catch(SoapFault $fault){ $firephp->log($fault,'fault'); $result = false; } } } else { try{ $result = $client->setSurveillance($siret, $email, $ref, $source); $firephp->log($source, 'Surveillance seul'); }catch(SoapFault $fault){ $firephp->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, $firephp; $firephp->log($siret, 'siret'); $firephp->log($email, 'email'); $firephp->log($ref, 'ref'); $firephp->log($source, 'source'); try{ $result = $client->setSurveillance($siret, $email, $ref, $source, TRUE); $firephp->log('Suppression surveillance'); return TRUE; }catch(SoapFault $fault){ $firephp->log($fault,'fault'); return FALSE; } } ?>