<?php
/**
 * @version $Id$
 * @author Thomas Crespin <thomas.crespin@sesamath.net>
 * @copyright Thomas Crespin 2009-2022
 * 
 * ****************************************************************************************************
 * SACoche <https://sacoche.sesamath.net> - Suivi d’Acquisitions de Compétences
 * © Thomas Crespin pour Sésamath <https://www.sesamath.net> - Tous droits réservés.
 * Logiciel placé sous la licence libre Affero GPL 3 <https://www.gnu.org/licenses/agpl-3.0.html>.
 * ****************************************************************************************************
 * 
 * Ce fichier est une partie de SACoche.
 * 
 * SACoche est un logiciel libre ; vous pouvez le redistribuer ou le modifier suivant les termes 
 * de la “GNU Affero General Public License” telle que publiée par la Free Software Foundation :
 * soit la version 3 de cette licence, soit (à votre gré) toute version ultérieure.
 * 
 * SACoche est distribué dans l’espoir qu’il vous sera utile, mais SANS AUCUNE GARANTIE :
 * sans même la garantie implicite de COMMERCIALISABILITÉ ni d’ADÉQUATION À UN OBJECTIF PARTICULIER.
 * Consultez la Licence Publique Générale GNU Affero pour plus de détails.
 * 
 * Vous devriez avoir reçu une copie de la Licence Publique Générale GNU Affero avec SACoche ;
 * si ce n’est pas le cas, consultez : <http://www.gnu.org/licenses/>.
 * 
 */

if(!defined('SACoche')) {exit('Ce fichier ne peut être appelé directement !');}
$TITRE = html(Lang::_('Interfaçage avec les applications E.N.'));

$passepasse = TRUE;
?>

<p class="travaux">Fontionnalité en cours de développement (printemps / été 2026).</p>
<?php return ?>

<div><span class="manuel"><a class="pop_up" href="<?php echo SERVEUR_DOCUMENTAIRE ?>?fichier=support_administrateur__interfacage_omogen">DOC : Interfaçage avec les applications E.N.</a></span></div>

<p class="astuce">
  Concernant les échanges de données avec les applications ministérielles, les imports / exports manuels de fichiers vont disparaître.<br>
  À la place, des échanges automatisés par web-service sont à utiliser.<br>
  Le raccordement requiert d’authentifier l’établissement et d’activer les services.<br>
  Ceci doit être effectué sous la responsabilité du chef d’établissement / du directeur d’école.<br>
  Par sécurité, seules les installations multi-structures officielles sont autorisées à utiliser ces services.
</p>

<?php
$_SESSION['WEBMESTRE_UAI'] = '0622799F';
$_SESSION['WEBMESTRE_UAI'] = '0595867G';
if(!$_SESSION['WEBMESTRE_UAI'])
{
  echo'<p><label class="erreur">Pas d’utilisation possible en l’absence de numéro UAI !</label></p>'.NL;
  return; // Ne pas exécuter la suite de ce fichier inclus.
}

if( (!$_SESSION['SESAMATH_ID']) || (!$_SESSION['SESAMATH_KEY']) )
{
  echo'<p><label class="erreur">Pour pouvoir effectuer la recherche d’un référentiel partagé sur le serveur communautaire, un administrateur doit préalablement identifier l’établissement dans la base Sésamath (<span class="manuel"><a class="pop_up" href="'.SERVEUR_DOCUMENTAIRE.'?fichier=support_administrateur__gestion_informations_structure">DOC : Gestion de l’identité de l’établissement</a></span>).</label></p>'.NL;
  return; // Ne pas exécuter la suite de ce fichier inclus.
}

// Ce test ne suffit pas, le webservices vérifiera aussi que le domaine en question est recensé.
if( (HEBERGEUR_INSTALLATION=='mono-structure') && !$passepasse)
{
  echo'<p><label class="erreur">Cette installation n’est pas autorisée à utiliser ce service.</label></p>'.NL;
  return; // Ne pas exécuter la suite de ce fichier inclus.
}

// On vérifie que l’instance établissement est toujours valable
if($_SESSION['OMOGEN_INSTANCE_IDENTITE'])
{
  $result = ServeurCommunautaire::Omogen_activation( 'recuperation-identite' );
  $tab_reponse = json_decode($result, TRUE);
  if( is_array($tab_reponse) && !$tab_reponse['etat'] )
  {
    DB_STRUCTURE_PARAMETRE::DB_modifier_parametres(array('omogen_instance_identite'=>0));
    Session::_set('OMOGEN_INSTANCE_IDENTITE', 0 );
  }
}
$class_ok = ($_SESSION['OMOGEN_INSTANCE_IDENTITE']) ? 'show' : 'hide' ;
$class_ko = ($_SESSION['OMOGEN_INSTANCE_IDENTITE']) ? 'hide' : 'show' ;
?>

<form action="#" method="post" id="form_instance">
  <hr>
  <h2>Identification de l’établissement</h2>
  <table class="p ml"><tbody><tr id="tr_identite">
    <td class="<?php echo $class_ok ?> bv">identification effectuée</td>
    <td class="<?php echo $class_ko ?> br">identification manquante</td>
    <td class="<?php echo $class_ok ?> nu"><button data-action="revoquer_identite" type="button" class="annuler ml">Révoquer l’accès</button></td>
    <td class="<?php echo $class_ko ?> nu"><button data-action="creer_identite" type="button" class="ajouter ml">Activer l’accès</button></td>
    <td class="nu"><label id="ajax_msg_identite">&nbsp;</label></td>
  </tr></tbody></table>
</form>

<form action="#" method="post" id="form_services" class="<?php echo $class_ok ?>">
  <hr>
  <h2>Souscription et activation des services</h2>
  <table class="p">
    <thead>
      <tr><th>Service</th><th>Souscription</th><th>Activation</th></tr>
    </thead>
    <tbody>
      <?php
      $DB_TAB = DB_STRUCTURE_OMOGEN::DB_lister();
      foreach($DB_TAB as $DB_ROW)
      {
        echo'<tr data-api="'.$DB_ROW['api_id'].'">';
          echo'<td'.infobulle($DB_ROW['api_nom']).'>'.$DB_ROW['api_id'].'</td>';
          if(is_null($DB_ROW['api_souscription_statut'])) {
            echo'<td class="br">Non <button data-action="souscrire_api" type="button" class="ajouter">Souscrire</button></td>';
            $class_activation = 'hide';
          } else {
            echo'<td class="bv">Oui <button data-action="resilier_api" type="button" class="annuler">Supprimer</button></td>';
            $class_activation = 'show';
          }
          if(is_null($DB_ROW['api_activation_etat'])) {
            echo'<td class="'.$class_activation.' br">Non <button data-action="souscrire_service" type="button" class="ajouter">Activer</button></td>';
          } else if(!$DB_ROW['api_activation_etat']) {
            echo'<td class="'.$class_activation.' br">Non <button data-action="activer_service" type="button" class="ajouter">Activer</button></td>';
          } else {
            echo'<td class="'.$class_activation.' bv">Oui <button data-action="desactiver_service" type="button" class="annuler">Désactiver</button></td>';
          }
        echo'</tr>';
      }
      ?>
    </tbody>
  </table>
  <p class="ml"><label id="ajax_msg_services">&nbsp;</label></p>
</form>
