'survannonce', 'insee' => 'survinsee', 'bilans' => 'survbilan', 'score' => 'survscore', 'actes' => 'survactes', 'dirigeants' => 'survdirigeants', 'privileges' => 'survpriv', ); } function assocSourceTxt(){ return array( 'annonces' => 'annonces', 'insee' => 'Insee', 'bilans' => 'bilans', 'score' => 'IndiScore', 'actes' => 'actes', 'dirigeants' => 'dirigeants', 'privileges' => '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 * @param boolean $inDialog * * @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])) { $checked = 'checked'; if ($Source=='privileges'){ $checked = ''; } $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 { $texte = 'Mettre sous surveillance '; if( !empty($source) ) { $texte.= $assocSourceTxt[$source]; } $output.= '
'; $output.= lienSousSurveillance($texte, 'Ajouter la surveillance', $source, $siret); $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]) ){ $listSurv = inSurveillance($source, $siret); if (hasPref('voirsurv') && $listSurv!==FALSE){ $return = dInfoSurveillance($listSurv, $source, $siret); }else{ $return = formSurveillance($source, $siret, $notEmail); } }else{ $listSurv = inSurveillance('', $siret); if (hasPref('voirsurv') && $listSurv!==FALSE){ $return = dInfoSurveillance($listSurv, '', $siret); } else { $return = formSurveillance('', $siret, $notEmail); } } return $return; } /** * Renvoie le code HTML pour le lien de surveillance * @param string $texte * @param string $titre * @param string $source * @param string $siret */ function lienSousSurveillance($texte, $titre, $source, $siret){ $output = ''. $texte . ''; return $output; } /** * Affiche les informations de surveillance * @param array | boolean $listSurv * @param string $source * @param string $siret */ function dInfoSurveillance($listSurv, $source, $siret){ $output = ''; if (is_array($listSurv) && count($listSurv)>0){ $output.= '
L\'entité est ' . lienSousSurveillance('sous surveillance', 'Ajouter la surveillance', $source, $siret); $sourceTxt = assocSourceTxt(); $cSource = 0; foreach ($listSurv as $source => $info){ $cSource++; $ref = $info['ref']; $output.= ' '.$sourceTxt[$source].''; if ($cSourcegetSurveillances($siret,$source); $survSource = $result['results']['reponses']; if (count($survSource)>0 ){ $find = FALSE; if(strlen($siret)>9) $siret = substr($siret, 0, 9); if (!empty($source)){ foreach($survSource as $item){ if ($item['siren'] == $siret && $item['source'] == $source) { $find[$item['source']] = array( 'email' => $item['email'], 'ref' => $item['ref'], 'dateAjout' => $item['dateAjout'], 'dateDerEnvoi' => $item['dateDerEnvoi'], ); break; } } } else { $find = array(); FB::log($survSource, 'SURV'); foreach($survSource as $item){ if ($item['siren'] == $siret){ $find[$item['source']] = array( 'email' => $item['email'], 'ref' => $item['ref'], 'dateAjout' => $item['dateAjout'], 'dateDerEnvoi' => $item['dateDerEnvoi'], ); } } } 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); $result = ''; }catch(SoapFault $fault){ $result = false; } } //Mise en surveillance pour une source } else { try{ $result = $client->setSurveillance($siret, $email, $ref, $source, false, $encours); $result = ''; }catch (SoapFault $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; } } ?>