'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, $displayAjax = TRUE){ $assocSourceTxt = assocSourceTxt(); $assocSourceDroit = assocSourceDroit(); $fileStyle = 'style.css'; $fileJs = 'script.js'; if($displayAjax && !empty($source)){ $fileStyle = 'style-ajax.css'; $fileJs = 'script-ajax.js'; } $style = file_get_contents(realpath(dirname(__FILE__)).'/'.$fileStyle); $js = file_get_contents(realpath(dirname(__FILE__)).'/'.$fileJs); $formHTML = ''; $formHTML.= ''."\n"; $formHTML.= ''."\n"; $formHTML.= ''."\n"; $formHTML.= '
'."\n"; if($displayAjax){ $formHTML.= ' Mettre sous surveillance '.$assocSourceTxt[$source].'
'."\n"; } $formHTML.= ''; $formHTML.= ''."\n"; if(empty($source)) { $formHTML.= '
'."\n"; $formHTML.= ''."\n"; $formHTML.= '
'."\n"; foreach($assocSourceTxt as $Source => $Txt) { if(hasPerm($assocSourceDroit[$s], $_SESSION['tabInfo']['droits'])) { $formHTML.=' '.$Txt."
\n"; } } $formHTML.= '
'."\n"; $formHTML.= '
'."\n"; }else{ $formHTML.= ''."\n"; } $ref=''; if(isset($_REQUEST['ref'])){ $ref = $_REQUEST['ref']; } $formHTML.= '
'."\n"; $formHTML.= '
'."\n"; $formHTML.= '
'."\n"; $formHTML.= '
'."\n"; $email = ''; if(!in_array($_SESSION['tabInfo']['login'],$notEmail) && !isset($_REQUEST['email'])){ $email = $_SESSION['tabInfo']['email']; }elseif(isset($_REQUEST['email'])){ $email = $_REQUEST['email']; } $formHTML.= '
'."\n";; $formHTML.= '
'."\n"; $formHTML.= '
'."\n";; $formHTML.= '

'."\n"; $formHTML.= ''."\n"; $formHTML.= '

'."\n"; $formHTML.= '
'."\n"; $formHTML.= '
'."\n"; return $formHTML; } /** * 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, $firephp; $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($assocSourceDroit[$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'); 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; $firephp->log($tabForm,'tabForm'); $siret = $tabForm['siret']; $email = $tabForm['email']; $ref = $tabForm['ref']; $source = $tabForm['source']; 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'); }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; } } ?>