#CACHE{0} #SET{virgule,","} [(#REM) utile pour les explodes] #NOM_SITE_SPIP: Saisie dans le cahier de texte en ligne [(#REM)Inclusion du pied de page] [(#INCLURE{fond=cahier-de-texte-en-tete})]
[(#REM)Vérification de l'authentification] $auteur (si vous n'êtes pas $auteur, #URL_LOGOUTcliquez ici)

\n";?>[ (#REM) année scolaire en cours... ][ (#SET{annee_scolaire,[(#ENV{date}|bonbon_annee_scolaire)]}) ][ (#REM)Vérifier si il existe déjà une sous rubrique du cahier de texte pour l'année en cours ]#SET{id_rubrique_pcm,#ID_RUBRIQUE} [ (#REM) Hack pour conditionner une boucle (évite un if en php et donc que les boucles englobées par Conditionnelle_1 soient exécutées quand la condition n'est pas remplie) si on demande à dupliquer ou modifier un article: on récupère les données de l'article (si elles ne sont pas déjà présentes en GET) ][(#SET{condition_boucle,''})] [(#ENV{id_article}|?{' ',''}) [(#ENV{id_classe0}|?{'',' '}) [(#ENV{enregistrer_fiche}|?{'',' '}) [(#ENV{modifier_fiche}|?{'',' '}) [(#ENV{valider_fiche}|?{'',' '}) [(#SET{condition_boucle,#ID_RUBRIQUE})] ] ] ] ] ] [ (#REM) Hack pour conditionner une boucle (évite un if en php et donc que les boucles englobées par Trouve_Infos_Seance_id_article soient exécutées quand la condition n'est pas remplie) si on demande à dupliquer ou modifier un article *et qu'on a choisi classe et matière*: on récupère les données de l'article si la matière est validée on récupère le contenu de la séance ][(#SET{condition_boucle,''})] [(#ENV{id_article}|?{' ',''}) [(#ENV{classe_matiere}|?{' ',''})#SET{condition_boucle,#ENV{id_article}}] [(#ENV{effacer_fiche}|?{' ',''})#SET{condition_boucle,#ENV{id_article}}] ] [ (#REM) On récupère la liste des documents liés à l'article ][(#SET{liste_docs_seance,#GET{liste_docs_seance}|bonbon_fusion_tableau{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}})][ (#REM) On récupère dans le surtitre la liste des documents qui ont été copié dans cette séance (quand on veut ajouter des documents sans les remettre sur le serveur ][(#SET{liste_docs_copies_seance,[(#GET{virgule}|explode{[(#SURTITRE*|bonbon_matches_id_document)]})]})] [(#SET{liste_docs_seance,#GET{liste_docs_seance}|bonbon_fusion_tableau{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}})][ (#SET{liste_des_devoirs,[(#GET{virgule}|explode{[(#PS*|bonbon_matches_id_article)]})]})] [ (#REM) On récupère la liste des documents liés à l'article ][(#SET{liste_docs_devoirs,#GET{liste_docs_devoirs}|bonbon_fusion_tableau{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}})][ (#REM) On récupère dans le surtitre la liste des documents qui ont été copié dans cette séance (quand on veut ajouter des documents sans les remettre sur le serveur ][(#SET{liste_docs_copies_Devoirs,[(#GET{virgule}|explode{[(#SURTITRE*|bonbon_matches_id_document)]})]})] [(#SET{liste_docs_devoirs,#GET{liste_docs_devoirs}|bonbon_fusion_tableau{#ARRAY{#COMPTEUR_BOUCLE,#ID_DOCUMENT}}})][ (#REM) On met dans un tableau la liste des devoirs ] [ (#REM) Hack pour conditionner une boucle (évite un if en php et donc que les boucles englobées par Conditionnelle_2 soient exécutées quand la condition n'est pas remplie) quelques strings bien utiles préparées à l'avance: (à partir des numéros d'id) ][(#SET{condition_boucle,''})] [(#ENV{enregistrer_fiche}|?{' ',''})[(#SET{condition_boucle,#ID_RUBRIQUE})]] [(#ENV{valider_fiche}|?{' ',''})[(#SET{condition_boucle,#ID_RUBRIQUE})]] [(#ENV{effacer_fiche}|?{' ',''})[(#SET{condition_boucle,#ID_RUBRIQUE})]] [(#ENV{classe_matiere}|?{' ',''})[(#SET{condition_boucle,#ID_RUBRIQUE})]] [(#REM)Nom de la matière] [(#REM)Nom de la ou les classes] [(#REM)Nom du groupe s'il y a... Il est encadré par une parenthèse] "; ?> [ (#REM) Hack de la boucle conditionnelle qui remplace le if: //---------------------------------------------------------------------- //Si l'utilisateur veut effacer une fiche dans la base (c'est confirmé) //---------------------------------------------------------------------- ][(#SET{condition_boucle,''})] [(#ENV{effacer_fiche}|?{' ',''}) [(#ENV{effacer_fiche}|!={"a_confirmer"}|?{' ',''}) [(#SET{condition_boucle,#ID_RUBRIQUE})] ] ] [(#SET{liste_id_classes,#GET{liste_id_classes}|bonbon_fusion_tableau{#ARRAY{#COMPTEUR_BOUCLE,#ID_MOT}}})]#SET{classe,#TITRE} #SET{id_matiere,#ID_MOT}#SET{matiere,#TITRE} \n"); } ?>[ (#REM) On vérifie la présence d'autres articles pour cette matière. S'il y en a plus, on désacocie la matière de la rurbique de l'année ] \n"); ?>#SET{matiere,''} [ (#REM) On vérifie la présence d'autres articles pour ces classes. - si il y a des articles pour ces classes, on vérifie qu'il y a des articles pour la combinaison classe/matière. Si ce n'est pas le cas, on désassocie la matière de l'article classe. - s'il n'y a plus d'articles pour la classe, on désassocie la classe de la rurbique de l'année et on met à la poubelle l'article de la classe. ] #SET{id_article_classe,#ID_ARTICLE} \n"); ?>#SET{matiere,''} \n"); //délier classe et rubrique de l'année $sql="DELETE FROM spip_mots_rubriques WHERE id_mot=".'[(#ID_MOT)]'." AND id_rubrique=".'[(#ID_RUBRIQUE)]'; $result = spip_query($sql); echo ("\n"); ?>#SET{classe,''}

La fiche est définitivement effacée


Ne revenez pas en arrière, mais choisissez :

[ (#REM) Hack de la boucle conditionnelle qui remplace le if: //------------------------------------------------------------------------------ //Si l'utilisateur a écrit une fiche puis validée ou s'il veut effacer une fiche //------------------------------------------------------------------------------ //Si la fiche est enregistrée (enregistrée mais non à modifier) //On l'affiche pour vérification... //todo: afficher avec la CSS Spip ][(#SET{condition_boucle,''})] [(#ENV{effacer_fiche}|=={"a_confirmer"} |?{' ',''})[(#SET{condition_boucle,#ID_RUBRIQUE})]] [(#ENV{enregistrer_fiche}|?{' ',''}) [(#ENV{modifier_fiche}|?{'',' '})[(#SET{condition_boucle,#ID_RUBRIQUE})]] ]

Voici la fiche que vous  :


Attention, la date de cette séance n'est pas correcte : date = \"$date_seance\"

"; echo propre($contenu_seance);?>
[ (#REM) Si la séance est dupliquée/Modifiée, on affiche les documents qui sont liés à la séance... ] [ (#REM) On affiche les documents liés à la séance ]

Devoirs des

>> Devoir pour le Attention, la date de ce devoir n'est pas correcte : date = \"$date_devoir[$count]\"";} else { echo $date_devoir[$count];}?> :
[ (#REM) Si la fiche est dupliquée/Modifiée, on affiche les documents qui sont liés au devoir... ]

>
[ (#REM) Hack de la boucle conditionnelle qui remplace le if: //------------------------------------------------------------------ //L'utilisateur veut enregistrer la fiche défintivement dans la base //------------------------------------------------------------------ ][(#SET{condition_boucle,''})] [(#ENV{valider_fiche}|?{' ',''})[(#SET{condition_boucle,#ID_RUBRIQUE})]]

La fiche est définitivement enregistrée :


[ (#REM) Si la séance est dupliquée/Modifiée, on enregistre dans le surtitre les documents qui sont liés à la séance... ] [ (#REM) On récupère dans le surtitre les documents de la liste ] "; }// fin du if le document est conservé?> Un problème inconnu est survenu pendant l'enregistrement de la fiche $titre_contenu_seance...

"; //ajout des mots-clés //le mot-clé qui définit que c'est le contenu d'une séance //d'abord on récupère son id:?> [(#SET{liste_id_classes_tableau,[(#GET{virgule}|explode{#ENV{liste_id_classes}})]})] \n"); //les classes for ($count=0; $count<=$classes; $count++) { $result = bonbon_lier_mot($id_classe[$count],$id_contenu_seance); echo ("\n"); } ?>[ (#REM) Vérification que la classe est liée à la rubrique de l'année et affectation si ce n'était pas le cas. On crée aussi l'article support pour les matières de la classe ] [ ] [ ] \n"); } //la matière: $result = bonbon_lier_mot($id_matiere,$id_contenu_seance); echo ("\n

La séance est enregistrée...

\n"); ?>[ (#REM) Vérification que la matière est liée à la rubrique de l'année et affectation si ce n'était pas le cas. On associe aussi la matière à l'article support des classes... ] [ ] #SET{id_article_a_associer,#ID_ARTICLE} [ ] [ (#REM) Si la fiche est dupliquée/Modifiée, on enregistre dans le surtitre les documents qui sont liés au devoir... ] "; }//fin du if doc_devoirXXX_YYY ?> \n"); //les classes for ($countc=0; $countc<=$classes; $countc++) { $result = bonbon_lier_mot($id_classe[$countc],$id_contenu_devoir[$count]); echo ("\n"); } //le groupe éventuel: if ($id_groupe!=0) { $result = bonbon_lier_mot($id_groupe,$id_contenu_devoir[$count]); echo ("\n"); } //la matière: $result = bonbon_lier_mot($id_matiere,$id_contenu_devoir[$count]); echo ("\n

Enregistrement du devoir n°".($count+1)."

\n"); }//fin du for chaque devoir echo ("

Devoirs enregistrés...

\n"); } //fin du if contenu_devoir //rajout des références aux devoirs dans le PS du contenu de la séance $result = bonbon_ajout_devoirs_a_seance ($liste_devoirs_contenu, $id_contenu_seance); ?>

Ne revenez pas en arrière, mais choisissez :

[ (#REM) Hack de la boucle conditionnelle qui remplace le if: //--------------------------------------------------- //L'utilisateur veut remplir une fiche ou la modifier //--------------------------------------------------- ][(#SET{condition_boucle,#ID_RUBRIQUE})] [(#ENV{valider_fiche}|?{' ',''})[(#SET{condition_boucle,''})]] [(#ENV{enregistrer_fiche}|?{' ',''})[(#SET{condition_boucle,''})]] [(#ENV{effacer_fiche}|?{' ',''})[(#SET{condition_boucle,''})]]

une fiche du cahier de texte


[ (#REM) Hack de la boucle conditionnelle qui remplace le if: //-------------------------------- //Primo: remplir classe et matière //-------------------------------- ][(#SET{condition_boucle,''})] [(#ENV{classe_matiere}|?{'',' '})[(#SET{condition_boucle,#ID_RUBRIQUE})]]
";?>[ (#REM)On se met dans le contexte du prof grâce à son article-fiche ] [(#REM) {ps="À propos d'un professeur"} a été viré car posait des soucis d'encodage]

[(#TOTAL_BOUCLE|>{1}|?{"Seules vos classes sont affichées","Seule votre classe est affichée"})]. Changer ses classes

Classe0) echo "s"?> : 0) echo ("Regroupement de classes :"); for ($count=0; $count<=$classes; $count++) { ?> 0) { ?> Groupe :

Vous n'avez pas encore indiqué à quelle(s) classe(s) vous enseignez.

#SET{inclusion_choix,'oui'}
Matière :

[(#TOTAL_BOUCLE|>{1}|?{"Seules vos matières sont affichées","Seule votre matière est affichée"})]. Changer ses matières

[(#GET{inclusion_choix}|!={'oui'}|?{' ',''})

Vous n'avez pas encore indiqué quelle(s) matière(s) vous enseignez

][(#SET{inclusion_choix,'oui'})] [(#GET{inclusion_choix}|!={'oui'}|?{' ',''}) classe0) echo "s"?> et matière" name="classe_matiere">]
[(#GET{inclusion_choix}|!={'oui'}|?{' ',''})

Vous n'avez pas encore indiqué quelle(s) matière(s) vous enseignez et à quelle(s) classe(s).

] [ (#REM) Suite du Hack: le else ! //---------------------------------------------------------------------- //Secundo: remplir le contenu (quand classes et matières sont renseignés) //---------------------------------------------------------------------- ]
Contenu de la séance

Séance du " SIZE=12>

(Astuce : il faut sauter une ligne pour faire un retour à la ligne) AIDE
[ (#REM) Si la séance est dupliquée/Modifiée, on affiche les documents qui sont liés à la séance... ]

>> Documents déjà joints à la séance :

(décochez ceux que vous ne voulez pas conserver associés à cette séance)
title="cochez pour conserver le document, décochez pour l'enlever">[(#LOGO_DOCUMENT||image_reduire{22,22})] [(#TITRE|sinon{#FICHIER|basename})] (#TYPE_DOCUMENT de [(#TAILLE|taille_en_octets)])
Devoirs

À faire pour le " SIZE=12>

(Astuce : il faut sauter une ligne pour faire un retour à la ligne) AIDE
[ (#REM) Si la fiche est dupliquée/Modifiée, on affiche les documents qui sont liés au devoir... ]

>> Documents déjà joints à ce devoir :

(décochez ceux que vous ne voulez pas conserver associés à cette séance)
title="cochez pour conserver le document, décochez pour l'enlever">[(#LOGO_DOCUMENT||image_reduire{22,22})] [(#TITRE|sinon{#FICHIER|basename})] (#TYPE_DOCUMENT de [(#TAILLE|taille_en_octets)])

)" name="moinsdate">
[ (#REM) On ne parle de docs joints que si on est aps en train de dupliquer ou modifier une fiche. ][ (#ENV{id_article}|?{'',' '})

Vous pourrez ajouter des documents joints à la séance ou aux devoirs après les avoir enregistrés

]
[ (#REM) Hack de la boucle conditionnelle qui remplace le if: //-------------------------------------------------------------------------- // On affiche les séances du même type que celle saise (classe, matière, groupe) //----------------------------------------------------------------------------- ][(#SET{condition_boucle,''})] [(#ENV{classe_matiere}|?{' ',''})[(#SET{condition_boucle,#ID_RUBRIQUE})]] [(#INCLURE{fond=cahier-de-texte-affichage-seances-de-saisie}{id_classe0=#ENV*{id_classe0}}{id_matiere=#ENV*{id_matiere}}{id_groupe=#ENV*{id_groupe}}{id_auteur=#SESSION{id_auteur}}{id_mot=#ENV{id_groupe}})]
[(#REM)Inclusion du pied de page] [(#INCLURE{fond=cahier-de-texte-pied})]
[ (#SET{descriptif_rubrique,"Cahier de texte de l'année scolaire "}) ][ (#SET{descriptif_rubrique,[(#GET{descriptif_rubrique}|concat{#GET{annee_scolaire},"\n\n{{Cette rubrique ne doit pas être renommée}}. Sinon, les enregistrements du cahier de texte de l'année en cours seront perdus"})]}) ] [ (#SET{id_rub_annee_scolaire,#_Contexte_RubriqueCDT:ID_RUBRIQUE|bonbon_creer_sous_rubrique{#GET{annee_scolaire},#GET{descriptif_rubrique}}}) ][

La sous-rubrique de l'année scolaire #GET{annee_rubrique}  a été créée, c'est la rubrique n°(#GET{id_rub_annee_scolaire}).][ Elle contient une sous rubrique n°(#GET{id_rub_annee_scolaire}|bonbon_creer_sous_rubrique{"Professeurs-classes-matières","Cette rubrique contient des données necessaires au fonctionnement du cahier de texte en ligne. {{Ne l'effacez pas}}. {{Ne la renommez pas}}. {{Ne modifiez pas son contenu}} sinon il ne fonctionnera plus correctement !"}) nommée «Professeurs-classes-matières».] Ces sous-rubriques ont été créées pour gérer le cahier de texte de cette année scolaire. Ne les effacez pas, ne les renommez pas et laissez les dans la rubrique «Cahier de texte en-ligne» !

Rafraichissez la page pour remplir une séance S.V.P. [(#REM)Fin de la zone à athentification]

Cette partie est en accès restreint

#LOGIN_PUBLIC