Nouvel Espace membre, incluant le forum.

Nécessite une petite réorganisation, en ajax
This commit is contained in:
Pierre 2020-03-09 14:57:07 +01:00
parent b7d1b415b6
commit 4d9e19d350
12 changed files with 225 additions and 25 deletions

View file

@ -5,6 +5,9 @@
?> ?>
<div class="cadre-blanc"> <div class="cadre-blanc">
<INCLURE{fond=inclure/menu-espace_membre,env}>
<h1>Forum</h1> <h1>Forum</h1>
<a href="[(#URL_PAGE{forum_discussion})]"><i class="fas fa-arrow-circle-left"></i> Retour</a> <a href="[(#URL_PAGE{forum_discussion})]"><i class="fas fa-arrow-circle-left"></i> Retour</a>

View file

@ -12,7 +12,7 @@
[(#ENV{id_article}|oui) [(#ENV{id_article}|oui)
[(#AUTORISER{modifier, article, #ENV{id_article}}|?{ [(#AUTORISER{modifier, article, #ENV{id_article}}|?{
<div class="ajax"> <div class="ajax">
[(#FORMULAIRE_EDITER_SUJET{#ENV{id_article},#URL_PAGE{forum_discussion}})]<br> [(#FORMULAIRE_EDITER_SUJET{#ENV{id_article},#URL_PAGE{espace_membre}|parametre_url{forum,oui}})]<br>
</div> </div>
, ,
<div class="reponse_formulaire reponse_formulaire_erreur">Votre compte ne fait pas partie des auteurs autorisés à modifier cet article.</div> <div class="reponse_formulaire reponse_formulaire_erreur">Votre compte ne fait pas partie des auteurs autorisés à modifier cet article.</div>
@ -20,7 +20,7 @@
] ]
[(#ENV{id_article}|non) [(#ENV{id_article}|non)
<div class="ajax"> <div class="ajax">
[(#FORMULAIRE_EDITER_SUJET{0,#URL_PAGE{forum_discussion}})] [(#FORMULAIRE_EDITER_SUJET{0,#URL_PAGE{espace_membre}|parametre_url{forum,oui}})]
</div> </div>
] ]
] ]

View file

@ -0,0 +1,31 @@
<?php
if (isset($GLOBALS['visiteur_session']['id_auteur']) AND $GLOBALS['visiteur_session']['id_auteur']) {
?>
[(#REM) On affiche la première rubrique par défaut]
<section id="espace_membre" class="section-top section-bottom container">
<div class="cadre-blanc">
<h1 class="mb-4">Espace membre</h1>
<INCLURE{fond=inclure/espace_membre_contenu,env,ajax}>
</div>
</section>
<?php
}
else {
?>
<div class="row mt-4">
<div class="se_connecter bloc_connexion col-lg-5">
[(#FORMULAIRE_LOGIN{#SELF})]
</div>
<div class="ou col-lg-2 text-center"><h2>ou</h2></div>
<div class="creer_associer_compte bloc_connexion col-lg-5">
[(#FORMULAIRE_INSCRIPTION)]
</div>
</div>
<?php
}
?>

View file

@ -135,13 +135,15 @@ body{
.nav-item:hover{ .nav-item:hover{
background: rgba(255,255,255,0.2); background: rgba(255,255,255,0.2);
} }
.nav-link{
padding: 0.3rem 0;
}
.nav-link, .dropdown-item{ .nav-link, .dropdown-item{
color: $light; color: $light;
font-weight: 500; font-weight: 500;
font-family: 'Cabin', sans-serif; font-family: 'Cabin', sans-serif;
font-size: 1.2rem; font-size: 1.2rem;
text-align: center; text-align: center;
padding: 0.3rem 0;
transition: height 1s ease; transition: height 1s ease;
} }
.navbar-brand{ .navbar-brand{
@ -585,7 +587,7 @@ body{
/************************ PAGE ASSOCIATION ****************************/ /************************ PAGE ASSOCIATION ****************************/
/**********************************************************************/ /**********************************************************************/
#menu-association, #menu-methode, #menu-groupes, #menu-medias{ #menu-association, #menu-methode, #menu-groupes, #menu-medias, #menu-espace_membre{
background: $couleur-liens; background: $couleur-liens;
margin: 1rem 0; margin: 1rem 0;
border-radius: 0.2rem; border-radius: 0.2rem;
@ -624,12 +626,12 @@ body{
/************************** PAGE GROUPES ******************************/ /************************** PAGE GROUPES ******************************/
/**********************************************************************/ /**********************************************************************/
#menu-groupes, #menu-medias{ #menu-groupes, #menu-medias, #menu-espace_membre{
margin-top: 0; margin-top: 0;
} }
@include media-breakpoint-up(lg) { @include media-breakpoint-up(lg) {
#menu-groupes, #menu-medias{ #menu-groupes, #menu-medias, #menu-espace_membre{
li:not(:last-of-type){ li:not(:last-of-type){
border: none; border: none;
} }

View file

@ -12014,13 +12014,16 @@ body {
background: rgba(255, 255, 255, 0.2); background: rgba(255, 255, 255, 0.2);
} }
#menu-principal .nav-link {
padding: 0.3rem 0;
}
#menu-principal .nav-link, #menu-principal .dropdown-item { #menu-principal .nav-link, #menu-principal .dropdown-item {
color: #f8f9fa; color: #f8f9fa;
font-weight: 500; font-weight: 500;
font-family: 'Cabin', sans-serif; font-family: 'Cabin', sans-serif;
font-size: 1.2rem; font-size: 1.2rem;
text-align: center; text-align: center;
padding: 0.3rem 0;
-webkit-transition: height 1s ease; -webkit-transition: height 1s ease;
transition: height 1s ease; transition: height 1s ease;
} }
@ -12535,34 +12538,34 @@ body {
/**********************************************************************/ /**********************************************************************/
/************************ PAGE ASSOCIATION ****************************/ /************************ PAGE ASSOCIATION ****************************/
/**********************************************************************/ /**********************************************************************/
#menu-association, #menu-methode, #menu-groupes, #menu-medias { #menu-association, #menu-methode, #menu-groupes, #menu-medias, #menu-espace_membre {
background: #dd7f51; background: #dd7f51;
margin: 1rem 0; margin: 1rem 0;
border-radius: 0.2rem; border-radius: 0.2rem;
padding: 0; padding: 0;
} }
#menu-association .active a, #menu-methode .active a, #menu-groupes .active a, #menu-medias .active a { #menu-association .active a, #menu-methode .active a, #menu-groupes .active a, #menu-medias .active a, #menu-espace_membre .active a {
color: #fff99d; color: #fff99d;
} }
#menu-association ul, #menu-methode ul, #menu-groupes ul, #menu-medias ul { #menu-association ul, #menu-methode ul, #menu-groupes ul, #menu-medias ul, #menu-espace_membre ul {
width: 100%; width: 100%;
} }
#menu-association li, #menu-methode li, #menu-groupes li, #menu-medias li { #menu-association li, #menu-methode li, #menu-groupes li, #menu-medias li, #menu-espace_membre li {
padding: 0.5rem; padding: 0.5rem;
} }
#menu-association li a, #menu-methode li a, #menu-groupes li a, #menu-medias li a { #menu-association li a, #menu-methode li a, #menu-groupes li a, #menu-medias li a, #menu-espace_membre li a {
color: white; color: white;
} }
#menu-association li:not(:last-of-type), #menu-methode li:not(:last-of-type), #menu-groupes li:not(:last-of-type), #menu-medias li:not(:last-of-type) { #menu-association li:not(:last-of-type), #menu-methode li:not(:last-of-type), #menu-groupes li:not(:last-of-type), #menu-medias li:not(:last-of-type), #menu-espace_membre li:not(:last-of-type) {
border-bottom: solid 1px #f8f9fa; border-bottom: solid 1px #f8f9fa;
} }
#menu-association .navbar-toggler, #menu-methode .navbar-toggler, #menu-groupes .navbar-toggler, #menu-medias .navbar-toggler { #menu-association .navbar-toggler, #menu-methode .navbar-toggler, #menu-groupes .navbar-toggler, #menu-medias .navbar-toggler, #menu-espace_membre .navbar-toggler {
border: none; border: none;
color: white; color: white;
width: 100%; width: 100%;
@ -12579,12 +12582,12 @@ body {
/**********************************************************************/ /**********************************************************************/
/************************** PAGE GROUPES ******************************/ /************************** PAGE GROUPES ******************************/
/**********************************************************************/ /**********************************************************************/
#menu-groupes, #menu-medias { #menu-groupes, #menu-medias, #menu-espace_membre {
margin-top: 0; margin-top: 0;
} }
@media (min-width: 992px) { @media (min-width: 992px) {
#menu-groupes li:not(:last-of-type), #menu-medias li:not(:last-of-type) { #menu-groupes li:not(:last-of-type), #menu-medias li:not(:last-of-type), #menu-espace_membre li:not(:last-of-type) {
border: none; border: none;
} }
} }

View file

@ -44,6 +44,7 @@
#SET{name2,id_rub_groupes} #SET{name2,id_rub_groupes}
#SET{name3,id_rub_forum} #SET{name3,id_rub_forum}
#SET{name4,id_mots_medias} #SET{name4,id_mots_medias}
#SET{name5,id_mots_espace_membre}
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name1}}|table_valeur{#GET{name2}}} #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name1}}|table_valeur{#GET{name2}}}
#SET{obli,"obligatoire"} #SET{obli,"obligatoire"}
<legend>Configuration de l'arborescence</legend> <legend>Configuration de l'arborescence</legend>
@ -67,6 +68,11 @@
[<span class="erreur_message">(#GET{erreurs})</span>] [<span class="erreur_message">(#GET{erreurs})</span>]
<input type="text" name="#GET{name4}" id="#GET{name4}" value="#ENV{#GET{name4}}"> <input type="text" name="#GET{name4}" id="#GET{name4}" value="#ENV{#GET{name4}}">
</div> </div>
<div class="editer_[(#GET{name5})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
<label for="#GET{name5}">ID du groupe de mots de l'espace membre</label>
[<span class="erreur_message">(#GET{erreurs})</span>]
<input type="text" name="#GET{name5}" id="#GET{name5}" value="#ENV{#GET{name5}}">
</div>
</fieldset> </fieldset>
<fieldset> <fieldset>

View file

@ -0,0 +1,62 @@
<a href="[(#URL_PAGE{espace_membre}|parametre_url{forum,oui})]"><i class="fas fa-arrow-circle-left"></i> Retour</a>
<BOUCLE_sujet(ARTICLES){id_article=#ENV{id_article}}>
<div id="sujet-forum" class="sujet-forum">
<h2>Forum - #TITRE</h2>
<div>[(#TEXTE|textebrut)]</div>
<B_docs>
<div class="liste-documents row mt-3 mb-3">
<BOUCLE_docs(DOCUMENTS){id_article}{extension==jpg|png|gif|pdf}>
<div class="col-2 text-center">
<a href="#FICHIER">
[(#EXTENSION|=={pdf}|?{
[(#CHEMIN{img/document.png}|balise_img{#TITRE}|image_reduire{0,75})],
[(#FICHIER|balise_img{#TITRE}|image_reduire{0,75})]
})]
[<div class="titre_img #EDIT{titre}">(#TITRE)</div>]
</a>
</div>
</BOUCLE_docs>
</div>
</B_docs>
<div class="infos-sujet mt-2">Démarré par #LESAUTEURS [(#DATE|date_relative)]</div>
</div>
<BOUCLE_reponses(FORUMS){id_article}>
<div class="sujet-forum row">
<div class="col-1">
<INCLURE{fond=inclure/avatar_auteur,env,id_auteur=#ID_AUTEUR,taille=mini}>
</div>
<div class="col-11">
<a class="titre-sujet" href="[(#URL_PAGE{auteur}|parametre_url{id_auteur,#ID_AUTEUR})]">#AUTEUR</a>
<div class="texte-reponse">#TEXTE</div>
<div class="infos-sujet">[(#DATE|date_relative)]</div>
<B_docs2>
<div class="row mt-2">
<BOUCLE_docs2(DOCUMENTS){id_forum}{extension==jpg|png|gif|pdf}>
<div class="col">
<a href="#FICHIER">
[(#EXTENSION|=={pdf}|?{
[(#CHEMIN{img/document.png}|balise_img{#TITRE}|image_reduire{0,75})],
[(#FICHIER|balise_img{#TITRE}|image_reduire{0,75})]
})]
[<div class="titre_img #EDIT{titre}">(#TITRE)</div>]
</a>
</div>
</BOUCLE_docs2>
</div>
</B_docs2>
</div>
</div>
</BOUCLE_reponses>
<div class="boutons a-droite">
<INCLURE{fond=inclure/bouton_supprimer_sujet, env, id_article=#ID_ARTICLE}/>
</div>
<//B_reponses>
</BOUCLE_sujet>
<div class="cadre-gris">
<div class="h2">Répondre</div>
#FORMULAIRE_FORUM
</div>

View file

@ -0,0 +1,50 @@
[(#INFO_ORDRE{mots,#ENV{id_mot}}|set{ordre})]
[(#GET{ordre}|=={DESC}|?{
#SET{tri,1},
#SET{tri,0}
})]
<div class="page-groupes">
<div class="w-100">
<INCLURE{fond=inclure/menu-espace_membre,env}>
<?php if (isset($GLOBALS['visiteur_session']['statut']) AND $GLOBALS['visiteur_session']['statut'] == '0minirezo') { ?>
[(#ENV{forum}|=={oui}|non)
<INCLURE{fond=inclure/bouton_ordre,env,ordre=#GET{ordre,DESC},objet=mot}>
]
<?php } ?>
[(#ENV{forum}|=={oui}|oui)
[(#ENV{id_article}|oui)
<INCLURE{fond=inclure/article-forum,env}/>
]
[(#ENV{id_article}|non)
<INCLURE{fond=inclure/forum_discussion,env}/>
]
]
<B_articles>
<div class="row liste-articles">
#ANCRE_PAGINATION
<BOUCLE_articles(ARTICLES){id_mot=#ENV{id_mot}}{par rang}{inverse #GET{tri}}{par date}{inverse #GET{tri}}{pagination 8}{si #ENV{forum}|!={oui}}>
<div class="col-lg-3 mt-4 mt-lg-3">
<INCLURE{fond=inclure/bloc_article, env, id_article}/>
</div>
</BOUCLE_articles>
</div>
[<div class="pagination">(#PAGINATION{page_precedent_suivant})</div>]
</B_articles>
<div>
[(#ENV{forum}|=={oui}|non)
Il n'y a aucun article à afficher dans cette section pour l'instant.
]
</div>
<//B_articles>
</div>
</div>

View file

@ -0,0 +1,19 @@
<h2>Forum</h2>
<BOUCLE_intro(ARTICLES){grigri=forum}{si #ENV{id_article}|non}>
<div class="cadre-gris #EDIT{texte}">
[(#TEXTE|textebrut)]
</div>
</BOUCLE_intro>
[(#ENV{id_article}|non)
<div class="boutons">
<a class="btn btn_editer" href="#URL_PAGE{editer_sujet}"><i class="fas fa-edit"></i> Démarrer une nouvelle discussion</a>
</div>
<INCLURE{fond=inclure/sujets-forum, env}>
]
[(#ENV{id_article}|oui)
<INCLURE{page=article-forum, env}>
]

View file

@ -0,0 +1,18 @@
<nav id="menu-espace_membre" class="navbar navbar-expand-lg navbar-dark">
<button class="navbar-toggler d-flex d-lg-none collapsed" type="button" data-toggle="collapse" data-target="#liste-groupes" aria-controls="liste-deroulante-association" aria-expanded="false" aria-label="Toggle navigation">
<i class="fa fa-angle-down" aria-hidden="true"></i>
[<span class="navbar-brand d-lg-none">(#INFO_TITRE{mot,#ENV{id_mot}})</span>]
</button>
<div class="collapse navbar-collapse" id="liste-groupes">
<ul class="navbar-nav">
<li class="nav-item [(#ENV{forum}|=={oui}|oui) active]">
<a class="nav-link ajax nocache" href="[(#URL_PAGE{espace_membre}|parametre_url{forum,oui})]">Forum</a>
</li>
<BOUCLE_menu_membre(MOTS){id_groupe = #CONFIG{balint/id_mots_espace_membre}}{par id_mot}{tout}>
<li class="nav-item [(#ENV{id_mot}|=={#ID_MOT}|oui) active]">
<a class="nav-link ajax nocache" href="[(#URL_PAGE{espace_membre}|parametre_url{id_mot,#ID_MOT})]">#TITRE</a>
</li>
</BOUCLE_menu_membre>
</ul>
</div>
</nav>

View file

@ -13,13 +13,13 @@
<a class="nav-link" href="[(#URL_PAGE{association})]">L'association</a> <a class="nav-link" href="[(#URL_PAGE{association})]">L'association</a>
</li> </li>
<li class="nav-item [(#SI_PAGE{methode}|oui) active]"> <li class="nav-item [(#SI_PAGE{methode}|oui) active]">
<a class="nav-link" href="[(#URL_PAGE{methode})]">La méthode</a> <a class="nav-link" href="[(#URL_PAGE{methode})]">Méthode</a>
</li> </li>
<li class="nav-item [(#SI_PAGE{seminaires}|oui) active]"> <li class="nav-item [(#SI_PAGE{seminaires}|oui) active]">
<a class="nav-link" href="[(#URL_PAGE{seminaires})]">Les séminaires</a> <a class="nav-link" href="[(#URL_PAGE{seminaires})]">Séminaires</a>
</li> </li>
<li class="nav-item dropdown [(#SI_PAGE{groupes}|oui) active]"> <li class="nav-item dropdown [(#SI_PAGE{groupes}|oui) active]">
<a class="nav-link dropdown-toggle" href="[(#URL_PAGE{groupes})]" id="groupesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Les groupes</a> <a class="nav-link dropdown-toggle" href="[(#URL_PAGE{groupes})]" id="groupesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Groupes</a>
<div class="dropdown-menu" aria-labelledby="groupesDropdown"> <div class="dropdown-menu" aria-labelledby="groupesDropdown">
<BOUCLE_menu_groupes(RUBRIQUES){id_parent=#CONFIG{balint/id_rub_groupes}}{par num titre}{tout}> <BOUCLE_menu_groupes(RUBRIQUES){id_parent=#CONFIG{balint/id_rub_groupes}}{par num titre}{tout}>
<a class="dropdown-item" href="[(#URL_PAGE{groupes}|parametre_url{id_rubrique,#ID_RUBRIQUE})]">#TITRE</a> <a class="dropdown-item" href="[(#URL_PAGE{groupes}|parametre_url{id_rubrique,#ID_RUBRIQUE})]">#TITRE</a>
@ -36,10 +36,16 @@
</li> </li>
<?php <?php
if (isset($GLOBALS['visiteur_session']['id_auteur']) AND $GLOBALS['visiteur_session']['id_auteur']) { if (isset($GLOBALS['visiteur_session']['id_auteur']) AND $GLOBALS['visiteur_session']['id_auteur']) {
?> ?>
<li class="nav-item [(#SI_PAGE{forum}|oui) active]"> <li class="nav-item dropdown [(#SI_PAGE{espace_membre}|oui) active]">
<a class="nav-link" href="[(#URL_PAGE{forum_discussion})]">Forum</a> <a class="nav-link dropdown-toggle" href="[(#URL_PAGE{espace_membre})]" id="membresDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Espace membre</a>
</li> <div class="dropdown-menu" aria-labelledby="membresDropdown">
<a class="dropdown-item" href="[(#URL_PAGE{espace_membre}|parametre_url{forum,oui})]">Forum</a>
<BOUCLE_menu_prive(MOTS){id_groupe=#CONFIG{balint/id_mots_espace_membre}}{par id_mot}{tout}>
<a class="dropdown-item" href="[(#URL_PAGE{espace_membre}|parametre_url{id_mot,#ID_MOT})]">#TITRE</a>
</BOUCLE_menu_prive>
</div>
</li>
<?php } ?> <?php } ?>
<li class="nav-item [(#SI_PAGE{nous-contacter}|oui) active]"> <li class="nav-item [(#SI_PAGE{nous-contacter}|oui) active]">
<a class="nav-link" href="[(#URL_PAGE{nous-contacter})]">Contact</a> <a class="nav-link" href="[(#URL_PAGE{nous-contacter})]">Contact</a>

View file

@ -8,13 +8,13 @@
</BOUCLE_auteur> </BOUCLE_auteur>
</div> </div>
<div class="col-11"> <div class="col-11">
<a class="titre-sujet" href="[(#URL_PAGE{article}|parametre_url{id_article,#ID_ARTICLE})]">#TITRE</a> <a class="titre-sujet ajax nocache" href="[(#URL_PAGE{espace_membre}|parametre_url{id_article,#ID_ARTICLE}|parametre_url{forum,oui}|ancre_url{sujet-forum})]">#TITRE</a>
[<div class="resume-sujet">(#TEXTE|couper{150, '...'})</div>] [<div class="resume-sujet">(#TEXTE|couper{150, '...'})</div>]
<div class="infos-sujet mt-2">Démarré par #LESAUTEURS [(#DATE|date_relative)]</div> <div class="infos-sujet mt-2">Démarré par #LESAUTEURS [(#DATE|date_relative)]</div>
<BOUCLE_reponse(FORUMS){id_article}{! par date}{0,1}> <BOUCLE_reponse(FORUMS){id_article}{! par date}{0,1}>
<div class="infos-sujet font-italic">[(#TOTAL_BOUCLE|singulier_ou_pluriel{balint:1_reponse, balint:n_reponses})] | Dernier message de #AUTEUR [(#DATE_HEURE|date_relative)]</div> <div class="infos-sujet font-italic">[(#TOTAL_BOUCLE|singulier_ou_pluriel{balint:1_reponse, balint:n_reponses})] | Dernier message de #AUTEUR [(#DATE_HEURE|date_relative)]</div>
</BOUCLE_reponse> </BOUCLE_reponse>
<a class="d-block mt-2" href="#URL_PAGE{article,id_article=#ID_ARTICLE}"><i class="fas fa-edit"></i> Participer à la discussion</a> <a class="d-block mt-2 ajax nocache" href="[(#URL_PAGE{espace_membre,id_article=#ID_ARTICLE}|parametre_url{forum,oui}|ancre_url{sujet-forum})]"><i class="fas fa-edit"></i> Participer à la discussion</a>
</div> </div>
</div> </div>