Ejemplo n.º 1
0
if (!defined('SACoche')) {
    exit('Ce fichier ne peut être appelé directement !');
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// En cas de multi-structures, il faut savoir dans quelle base récupérer les informations.
// Cette page est appelée par SACoche et dans ce cas c'est "base" qui est transmis.
// ////////////////////////////////////////////////////////////////////////////////////////////////////
$BASE = 0;
if (HEBERGEUR_INSTALLATION == 'multi-structures') {
    // Lecture d'un cookie sur le poste client servant à retenir le dernier établissement sélectionné si identification avec succès
    $BASE = isset($_COOKIE[COOKIE_STRUCTURE]) ? Clean::entier($_COOKIE[COOKIE_STRUCTURE]) : 0;
    // Test si id d'établissement transmis dans l'URL ; historiquement "id" si connexion normale et "base" si connexion SSO
    $BASE = isset($_GET['id']) ? Clean::entier($_GET['id']) : $BASE;
    $BASE = isset($_GET['base']) ? Clean::entier($_GET['base']) : $BASE;
    // Test si UAI d'établissement transmis dans l'URL
    $BASE = isset($_GET['uai']) ? DB_WEBMESTRE_PUBLIC::DB_recuperer_structure_id_base_for_UAI(Clean::uai($_GET['uai'])) : $BASE;
    if (!$BASE) {
        if (isset($_GET['uai'])) {
            exit_error('Paramètre incorrect', 'Le numéro UAI transmis n\'est pas référencé sur cette installation de SACoche : vérifiez son exactitude et si cet établissement est bien inscrit sur ce serveur.');
        } else {
            exit_error('Donnée manquante', 'Référence de base manquante (le paramètre "base" ou "id" n\'a pas été transmis en GET ou n\'est pas un entier et n\'a pas non plus été trouvé dans un Cookie).');
        }
    }
    charger_parametres_mysql_supplementaires($BASE);
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Connexion à la base pour charger les paramètres du SSO demandé
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Mettre à jour la base si nécessaire
maj_base_structure_si_besoin($BASE);
$DB_TAB = DB_STRUCTURE_PUBLIC::DB_lister_parametres('"connexion_mode","cas_serveur_host","cas_serveur_port","cas_serveur_root","cas_serveur_url_login","cas_serveur_url_logout","cas_serveur_url_validate","gepi_url","gepi_rne","gepi_certificat_empreinte"');
Ejemplo n.º 2
0
$BASE = 0;
if(HEBERGEUR_INSTALLATION=='multi-structures')
{
  // Lecture d'un cookie sur le poste client servant à retenir le dernier établissement sélectionné si identification avec succès
  $BASE = (isset($_COOKIE[COOKIE_STRUCTURE])) ? Clean::entier($_COOKIE[COOKIE_STRUCTURE]) : 0 ;
  // Test si id d'établissement transmis dans l'URL
  // Historiquement "id" si connexion normale et "base" si connexion SSO
  // Nouveauté 07/2014 : pouvoir passer l'info de l'établissement comme valeur du paramètre SSO
  $BASE = ctype_digit($_GET['sso']) ? Clean::entier($_GET['sso'])  : $BASE ;
  $BASE = (isset($_GET['id']))      ? Clean::entier($_GET['id'])   : $BASE ;
  $BASE = (isset($_GET['base']))    ? Clean::entier($_GET['base']) : $BASE ;
  // Test si UAI d'établissement transmis dans l'URL
  // Nouveauté 07/2014 : pouvoir passer l'UAI de l'établissement comme valeur du paramètre SSO
  $trans_UAI = (isset($_GET['uai'])) ? Clean::uai($_GET['uai']) : ( tester_UAI($_GET['sso']) ? Clean::uai($_GET['sso']) : NULL ) ;
  $BASE = ($trans_UAI) ? DB_WEBMESTRE_PUBLIC::DB_recuperer_structure_id_base_for_UAI($trans_UAI) : $BASE ;
  if(!$BASE)
  {
    if($trans_UAI)
    {
      exit_error( 'Paramètre incorrect' /*titre*/ , 'Le numéro UAI transmis '.$trans_UAI.' n\'est pas référencé sur cette installation de SACoche : vérifiez son exactitude et si cet établissement est bien inscrit sur ce serveur.' /*contenu*/ );
    }
    else
    {
      exit_error( 'Donnée manquante' /*titre*/ , 'Référence de base manquante (le paramètre "base" ou "id" ou "sso" n\'a pas été transmis ou n\'est pas un entier et n\'a pas non plus été trouvé dans un Cookie).' /*contenu*/ );
    }
  }
  charger_parametres_mysql_supplementaires($BASE);
}

// ////////////////////////////////////////////////////////////////////////////////////////////////////