?>
  </div>
  <p><span class="tab"></span><button id="bouton_valider" type="submit" class="generer">Générer.</button><label id="ajax_msg">&nbsp;</label></p>
</fieldset></form>

<form action="#" method="post" id="zone_matieres_items" class="arbre_dynamique arbre_check hide">
  <div>Tout déployer / contracter :<q class="deployer_m1"></q><q class="deployer_m2"></q><q class="deployer_n1"></q><q class="deployer_n2"></q><q class="deployer_n3"></q></div>
  <p>Cocher ci-dessous (<span class="astuce">cliquer sur un intitulé pour déployer son contenu</span>) :</p>
  <?php 
// Affichage de la liste des items pour toutes les matières d'un professeur ou toutes les matières de l'établissement si directeur ou PP, sur tous les niveaux
$user_id = $_SESSION['USER_PROFIL_TYPE'] == 'professeur' && !DB_STRUCTURE_PROFESSEUR::DB_tester_prof_principal($_SESSION['USER_ID'], 0) ? $_SESSION['USER_ID'] : 0;
$DB_TAB = DB_STRUCTURE_COMMUN::DB_recuperer_arborescence($user_id, 0, 0, FALSE, FALSE, FALSE);
if (empty($DB_TAB)) {
    echo '<p class="danger">Vous n\'êtes rattaché à aucune matière, ou des matières ne comportant aucun référentiel !</p>';
} else {
    $arborescence = HtmlArborescence::afficher_matiere_from_SQL($DB_TAB, TRUE, TRUE, FALSE, FALSE, 'texte', FALSE, TRUE);
    echo strpos($arborescence, '<input') ? $arborescence : '<p class="danger">Vous êtes rattaché à des matières dont les référentiels ne comportent aucun item !</p>';
}
?>
  <p><span class="tab"></span><button id="valider_compet" type="button" class="valider">Valider la sélection</button>&nbsp;&nbsp;&nbsp;<button id="annuler_compet" type="button" class="annuler">Annuler / Retour</button></p>
  <hr />
  <p>
    <label class="tab" for="f_selection_items"><img alt="" src="./_img/bulle_aide.png" width="16" height="16" title="Pour choisir un regroupement d'items mémorisé." /> Initialisation</label><?php 
echo $select_selection_items;
?>
<br />
    <label class="tab" for="f_liste_items_nom"><img alt="" src="./_img/bulle_aide.png" width="16" height="16" title="Pour enregistrer le groupe d'items cochés." /> Mémorisation</label><input id="f_liste_items_nom" name="f_liste_items_nom" size="30" type="text" value="" maxlength="60" /> <button id="f_enregistrer_items" type="button" class="fichier_export">Enregistrer</button><label id="ajax_msg_memo">&nbsp;</label>
  </p>
</form>

<div id="bilan"></div>
$item_nom    = (isset($_POST['item_nom']))    ? Clean::texte($_POST['item_nom'])    : '';
$item_lien   = (isset($_POST['item_lien']))   ? Clean::texte($_POST['item_lien'])   : '';
$objet       = (isset($_POST['page_mode']))   ? Clean::texte($_POST['page_mode'])   : '';
$ressources  = (isset($_POST['ressources']))  ? Clean::texte($_POST['ressources'])  : '';
$findme      = (isset($_POST['findme']))      ? Clean::texte($_POST['findme'])      : '';

// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Afficher le référentiel d'une matière et d'un niveau
// ////////////////////////////////////////////////////////////////////////////////////////////////////

if( ($action=='Voir_referentiel') && $matiere_id && $niveau_id && $matiere_ref )
{
  // $matiere_ref trasmis maintenant car pas possible lors du AjaxUpload (moment où on en a besoin) ; du coup on le garde au chaud
  $_SESSION['tmp']['matiere_ref'] = $matiere_ref;
  $DB_TAB = DB_STRUCTURE_COMMUN::DB_recuperer_arborescence( 0 /*prof_id*/ , $matiere_id , $niveau_id , FALSE /*only_socle*/ , FALSE /*only_item*/ , TRUE /*socle_nom*/ );
  exit( HtmlArborescence::afficher_matiere_from_SQL( $DB_TAB , TRUE /*dynamique*/ , TRUE /*reference*/ , FALSE /*aff_coef*/ , FALSE /*aff_cart*/ , FALSE /*aff_socle*/ , 'image' /*aff_lien*/ , FALSE /*aff_input*/ , 'n3' /*aff_id_li*/ ) );
}

// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Enregistrer une adresse associée à un item
// ////////////////////////////////////////////////////////////////////////////////////////////////////

if( ($action=='Enregistrer_lien') && $item_id )
{
  DB_STRUCTURE_REFERENTIEL::DB_modifier_referentiel_lien_ressources($item_id,$item_lien);
  // Si le lien est vide, effacer l'éventuelle page de liens associée enregistrée sur le serveur communautaire.
  if(!$item_lien)
  {
    ServeurCommunautaire::fabriquer_liens_ressources( $_SESSION['SESAMATH_ID'] , $_SESSION['SESAMATH_KEY'] , $item_id , '' , 'page_delete' , '' );
  }
  exit('ok');
Exemple #3
0
<form action="#" method="post" id="zone_matieres_items" class="arbre_dynamique arbre_check hide">
  <div>Tout déployer / contracter :<q class="deployer_m1"></q><q class="deployer_m2"></q><q class="deployer_n1"></q><q class="deployer_n2"></q><q class="deployer_n3"></q></div>
  <p>Cocher ci-dessous (<span class="astuce">cliquer sur un intitulé pour déployer son contenu</span>) :</p>
  <?php
  if(!in_array($_SESSION['USER_PROFIL_TYPE'],array('parent','eleve')))
  {
    // Affichage de la liste des items pour toutes les matières d'un professeur ou toutes les matières de l'établissement si directeur ou PP, sur tous les niveaux
    $user_id = ( ($_SESSION['USER_PROFIL_TYPE']=='professeur') && !DB_STRUCTURE_PROFESSEUR::DB_tester_prof_principal($_SESSION['USER_ID'],0) ) ? $_SESSION['USER_ID'] : 0 ;
    $DB_TAB = DB_STRUCTURE_COMMUN::DB_recuperer_arborescence( $user_id , 0 /*matiere_id*/ , 0 /*niveau_id*/, FALSE /*only_socle*/ , FALSE /*only_item*/ , FALSE /*socle_nom*/ );
    if(empty($DB_TAB))
    {
      echo'<p class="danger">Vous n\'êtes rattaché à aucune matière, ou des matières ne comportant aucun référentiel !</p>' ;
    }
    else
    {
      $arborescence = HtmlArborescence::afficher_matiere_from_SQL( $DB_TAB , TRUE /*dynamique*/ , TRUE /*reference*/ , FALSE /*aff_coef*/ , FALSE /*aff_cart*/ , 'texte' /*aff_socle*/ , FALSE /*aff_lien*/ , TRUE /*aff_input*/ );
      echo strpos($arborescence,'<input') ? $arborescence : '<p class="danger">Vous êtes rattaché à des matières dont les référentiels ne comportent aucun item !</p>' ;
    }
  }
  ?>
  <p><span class="tab"></span><button id="valider_compet" type="button" class="valider">Valider la sélection</button>&nbsp;&nbsp;&nbsp;<button id="annuler_compet" type="button" class="annuler">Annuler / Retour</button></p>
  <hr />
  <p>
    <label class="tab" for="f_selection_items"><img alt="" src="./_img/bulle_aide.png" width="16" height="16" title="Pour choisir un regroupement d'items mémorisé." /> Initialisation</label><?php echo $select_selection_items ?><br />
    <label class="tab" for="f_liste_items_nom"><img alt="" src="./_img/bulle_aide.png" width="16" height="16" title="Pour enregistrer le groupe d'items cochés." /> Mémorisation</label><input id="f_liste_items_nom" name="f_liste_items_nom" size="30" type="text" value="" maxlength="60" /> <button id="f_enregistrer_items" type="button" class="fichier_export">Enregistrer</button><label id="ajax_msg_memo">&nbsp;</label>
  </p>
</form>

<div id="bilan"></div>
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Pour les autres cas on doit récupérer le paramètre ids
// ////////////////////////////////////////////////////////////////////////////////////////////////////
if (mb_substr_count($ids, '_') != 2) {
    exit('Erreur avec les données transmises !');
}
list($prefixe, $matiere_id, $niveau_id) = explode('_', $ids);
$matiere_id = Clean::entier($matiere_id);
$niveau_id = Clean::entier($niveau_id);
$partageable = $matiere_id <= ID_MATIERE_PARTAGEE_MAX && $niveau_id <= ID_NIVEAU_PARTAGE_MAX ? TRUE : FALSE;
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Affichage du détail d'un référentiel pour une matière et un niveau donnés
// ////////////////////////////////////////////////////////////////////////////////////////////////////
if ($action == 'voir_referentiel_etablissement' && $matiere_id && $niveau_id) {
    $DB_TAB = DB_STRUCTURE_COMMUN::DB_recuperer_arborescence(0, $matiere_id, $niveau_id, FALSE, FALSE, TRUE);
    exit(HtmlArborescence::afficher_matiere_from_SQL($DB_TAB, FALSE, FALSE, TRUE, TRUE, 'image', 'image', FALSE));
}
// ////////////////////////////////////////////////////////////////////////////////////////////////////
// Modifier le partage d'un référentiel
// ////////////////////////////////////////////////////////////////////////////////////////////////////
if ($action == 'partager' && $matiere_id && $niveau_id && $partageable && $partage && $partage != 'hs') {
    if ($partage == 'oui' && (!$_SESSION['SESAMATH_ID'] || !$_SESSION['SESAMATH_KEY'])) {
        exit('Pour échanger avec le serveur communautaire, un administrateur doit identifier l\'établissement dans la base Sésamath.');
    }
    // Envoyer le référentiel (éventuellement vide pour l'effacer) vers le serveur de partage, sauf si passage non<->bof
    if ($partage == 'oui') {
        $DB_TAB = DB_STRUCTURE_COMMUN::DB_recuperer_arborescence(0, $matiere_id, $niveau_id, FALSE, FALSE, FALSE);
        $nb_item = compter_items($DB_TAB);
        if ($nb_item < 5) {
            $s = $nb_item > 1 ? 's' : '';
            exit('Référentiel avec ' . $nb_item . ' item' . $s . ' : son partage n\'apparaît pas pertinent.');