On crée un deuxième forum.
On normalise les éléments du forum pour qu'il transmette l'id du forum en paramètre, notamment pour la création et la redirection dans le bon forum. On ajoute des fonctions d'autorisation pour qu'un créateur de sujet puisse le modifier tant qu'il n'a pas de réponse. On modifie les autorisations pour le formulaire editer_auteur, afin qu'un simple inscrit (6forum) puisse éditer son profil aussi !
This commit is contained in:
parent
5bf7ac58a5
commit
9c42e9cc24
20 changed files with 176 additions and 71 deletions
|
@ -19,8 +19,8 @@ function action_supprimer_sujet_dist(){
|
|||
suivre_invalideur("id='id_article/$id_article'");
|
||||
}
|
||||
|
||||
// redirection sur l'accueil
|
||||
$retour = 'spip.php?page=forum_discussion';
|
||||
// redirection
|
||||
$retour = _request('redirect');
|
||||
include_spip('inc/headers');
|
||||
redirige_par_entete($retour);
|
||||
}
|
||||
|
|
|
@ -20,6 +20,82 @@ if (!defined('_ECRIRE_INC_VERSION')) {
|
|||
function balint_autoriser() {
|
||||
}
|
||||
|
||||
function autoriser_auteur_modifier($faire, $type, $id, $qui, $opt) {
|
||||
|
||||
// Ni admin ni redacteur => non
|
||||
if (!in_array($qui['statut'], array('0minirezo', '1comite', '6forum'))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Un redacteur peut modifier ses propres donnees mais ni son login/email
|
||||
// ni son statut (qui sont le cas echeant passes comme option)
|
||||
if (in_array($qui['statut'], array('1comite','6forum'))) {
|
||||
if (!empty($opt['webmestre'])) {
|
||||
return false;
|
||||
} elseif (
|
||||
!empty($opt['statut'])
|
||||
or !empty($opt['restreintes'])
|
||||
or !empty($opt['email'])
|
||||
) {
|
||||
return false;
|
||||
} elseif ($id == $qui['id_auteur']) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Un admin restreint peut modifier/creer un auteur non-admin mais il
|
||||
// n'a le droit ni de le promouvoir admin, ni de changer les rubriques
|
||||
if ($qui['restreint']) {
|
||||
if (isset($opt['webmestre']) and $opt['webmestre']) {
|
||||
return false;
|
||||
} elseif ((isset($opt['statut']) and ($opt['statut'] == '0minirezo'))
|
||||
or (isset($opt['restreintes']) and $opt['restreintes'])
|
||||
) {
|
||||
return false;
|
||||
} else {
|
||||
if ($id == $qui['id_auteur']) {
|
||||
if (isset($opt['statut']) and $opt['statut']) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
if ($id_auteur = intval($id)) {
|
||||
$t = sql_fetsel('statut', 'spip_auteurs', "id_auteur=$id_auteur");
|
||||
if ($t and $t['statut'] != '0minirezo') {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
} // id = 0 => creation
|
||||
else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Un admin complet fait ce qu'il veut
|
||||
// sauf se degrader
|
||||
if ($id == $qui['id_auteur'] && (isset($opt['statut']) and $opt['statut'])) {
|
||||
return false;
|
||||
} elseif (isset($opt['webmestre'])
|
||||
and $opt['webmestre']
|
||||
and (defined('_ID_WEBMESTRES')
|
||||
or !autoriser('webmestre'))) {
|
||||
// et toucher au statut webmestre si il ne l'est pas lui meme
|
||||
// ou si les webmestres sont fixes par constante (securite)
|
||||
return false;
|
||||
} // et modifier un webmestre si il ne l'est pas lui meme
|
||||
elseif (intval($id) and autoriser('webmestre', '', 0, $id) and !autoriser('webmestre')) {
|
||||
return false;
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function autoriser_article_modifier($faire, $type, $id, $qui, $opt) {
|
||||
|
||||
if(in_array($qui['id_auteur'],auteurs_objet('article',$id))){
|
||||
|
@ -30,3 +106,24 @@ function autoriser_article_modifier($faire, $type, $id, $qui, $opt) {
|
|||
}
|
||||
}
|
||||
|
||||
function autoriser_sujet_creer($faire, $type, $id, $qui, $opt) {
|
||||
return in_array($qui['statut'], array('0minirezo','1comite','6forum'));
|
||||
}
|
||||
|
||||
function autoriser_sujet_supprimer($faire, $type, $id, $qui, $opt) {
|
||||
|
||||
// Si le sujet a eu au moins une réponse, on ne peut plus le supprimer
|
||||
if (sql_fetsel('*','spip_forum',"id_objet=$id AND objet='article'")){
|
||||
return false;
|
||||
}
|
||||
// Sinon, seul les admins et l'auteur peuvent le supprimer
|
||||
else{
|
||||
|
||||
if(in_array($qui['id_auteur'],auteurs_objet('article',$id))){
|
||||
return true;
|
||||
}
|
||||
else{
|
||||
return in_array($qui['statut'], array('0minirezo'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
[(#ENV{id_article}|oui)
|
||||
[(#AUTORISER{modifier, article, #ENV{id_article}}|?{
|
||||
<div class="ajax">
|
||||
[(#FORMULAIRE_EDITER_SUJET{#ENV{id_article},#URL_PAGE{espace_membre}|parametre_url{forum,oui}})]<br>
|
||||
[(#FORMULAIRE_EDITER_SUJET{#ENV{id_article},#ENV{id_forum},#URL_PAGE{#ENV{url}}|parametre_url{id_forum,#ENV{id_forum}}})]<br>
|
||||
</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)
|
||||
<div class="ajax">
|
||||
[(#FORMULAIRE_EDITER_SUJET{0,#URL_PAGE{espace_membre}|parametre_url{forum,oui}})]
|
||||
[(#FORMULAIRE_EDITER_SUJET{0,#ENV{id_forum},#URL_PAGE{#ENV{url}}|parametre_url{id_forum,#ENV{id_forum}}})]
|
||||
</div>
|
||||
]
|
||||
]
|
||||
|
|
|
@ -1,15 +1,16 @@
|
|||
[(#REM) On affiche la première rubrique par défaut]
|
||||
|
||||
<section id="espace_membre" class="section-top section-bottom container">
|
||||
|
||||
|
||||
<?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
|
||||
}
|
||||
|
@ -29,3 +30,6 @@
|
|||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
</section>
|
||||
|
||||
|
|
|
@ -1,24 +1,13 @@
|
|||
<section class="section-top section-bottom container">
|
||||
|
||||
<div class="cadre-blanc">
|
||||
|
||||
<h1>Forum</h1>
|
||||
|
||||
<?php
|
||||
if (isset($GLOBALS['visiteur_session']['id_auteur']) AND $GLOBALS['visiteur_session']['id_auteur']) {
|
||||
?>
|
||||
<div class="cadre-blanc">
|
||||
|
||||
<BOUCLE_intro(ARTICLES){grigri=forum}>
|
||||
<div class="cadre-gris #EDIT{texte}">
|
||||
[(#TEXTE|textebrut)]
|
||||
</div>
|
||||
</BOUCLE_intro>
|
||||
<INCLURE{fond=inclure/forum_discussion,env,id_forum=#CONFIG{balint/id_rub_forum},ajax}>
|
||||
|
||||
<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, ajax}>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
}
|
||||
|
@ -39,8 +28,6 @@
|
|||
}
|
||||
?>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
<td class="cellule-tableau">
|
||||
[(#STATUT|=={0minirezo}|oui) Administrateur]
|
||||
[(#STATUT|=={1comite}|oui) Rédacteur]
|
||||
[(#STATUT|=={6forum}|oui) Membre]
|
||||
[(#STATUT|=={6forum}|oui) Inscrit]
|
||||
</td>
|
||||
<td class="cellule-tableau">
|
||||
<BOUCLE_groupes(ARTICLES){id_secteur=#CONFIG{balint/id_rub_groupes}}{id_auteur=#ID_AUTEUR}>
|
||||
|
|
|
@ -900,8 +900,8 @@ body{
|
|||
.sujet-forum{
|
||||
padding: 1rem 0;
|
||||
background: $fond-transparent;
|
||||
&:not(:last-of-type){
|
||||
border-bottom: solid 3px $gris-clair;
|
||||
&:not(:first-of-type){
|
||||
border-top: solid 3px $gris-clair;
|
||||
}
|
||||
.spip_logo{
|
||||
border-radius: 100%;
|
||||
|
|
|
@ -12902,8 +12902,8 @@ body {
|
|||
background: rgba(255, 255, 255, 0.92);
|
||||
}
|
||||
|
||||
.sujet-forum:not(:last-of-type) {
|
||||
border-bottom: solid 3px #f2f2f2;
|
||||
.sujet-forum:not(:first-of-type) {
|
||||
border-top: solid 3px #f2f2f2;
|
||||
}
|
||||
|
||||
.sujet-forum .spip_logo {
|
||||
|
|
|
@ -43,6 +43,7 @@
|
|||
#SET{name1,id_rub_articles}
|
||||
#SET{name2,id_rub_groupes}
|
||||
#SET{name3,id_rub_forum}
|
||||
#SET{name3b,id_rub_forum_prive}
|
||||
#SET{name4,id_mots_medias}
|
||||
#SET{name5,id_mots_espace_membre}
|
||||
#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name1}}|table_valeur{#GET{name2}}}
|
||||
|
@ -59,10 +60,15 @@
|
|||
<input type="text" name="#GET{name2}" id="#GET{name2}" value="#ENV{#GET{name2}}">
|
||||
</div>
|
||||
<div class="editer_[(#GET{name3})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
|
||||
<label for="#GET{name3}">ID du secteur du forum</label>
|
||||
<label for="#GET{name3}">ID du secteur du forum public</label>
|
||||
[<span class="erreur_message">(#GET{erreurs})</span>]
|
||||
<input type="text" name="#GET{name3}" id="#GET{name3}" value="#ENV{#GET{name3}}">
|
||||
</div>
|
||||
<div class="editer_[(#GET{name3b})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
|
||||
<label for="#GET{name3b}">ID du secteur du forum privé</label>
|
||||
[<span class="erreur_message">(#GET{erreurs})</span>]
|
||||
<input type="text" name="#GET{name3b}" id="#GET{name3b}" value="#ENV{#GET{name3b}}">
|
||||
</div>
|
||||
<div class="editer_[(#GET{name4})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
|
||||
<label for="#GET{name4}">ID du groupe de mots de la médiathèque</label>
|
||||
[<span class="erreur_message">(#GET{erreurs})</span>]
|
||||
|
|
|
@ -14,12 +14,12 @@
|
|||
<legend><i class="fas fa-pencil"></i> Texte</legend>
|
||||
<div class="titre">
|
||||
<label for="titre">Titre</label>
|
||||
<input class="text" type="text" name="titre" value="#ENV{titre}">
|
||||
<input class="text" type="text" name="titre" value="#ENV{titre}" tabindex='1'>
|
||||
</div>
|
||||
|
||||
<div class="texte">
|
||||
<label for="texte">Texte</label>
|
||||
<textarea class="text" type="text" name="texte">#ENV{texte}</textarea>
|
||||
<textarea class="text" type="text" name="texte" tabindex='2'>#ENV{texte}</textarea>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
|
@ -36,7 +36,7 @@
|
|||
<div class="col-lg-3 formulaire-col-droite">
|
||||
|
||||
<div class="boutons text-center">
|
||||
<button type="submit" class="submit btn">
|
||||
<button type="submit" class="submit btn" tabindex='3'>
|
||||
<i class="fas fa-save"></i> Enregistrer</a>
|
||||
</button>
|
||||
</div>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<?php
|
||||
if (!defined('_ECRIRE_INC_VERSION')) return;
|
||||
|
||||
function formulaires_editer_sujet_charger_dist($id_article=0, $redirect=''){
|
||||
function formulaires_editer_sujet_charger_dist($id_article=0, $id_rubrique, $redirect=''){
|
||||
|
||||
$erreurs = array();
|
||||
include_spip('inc/autoriser');
|
||||
if (! autoriser("creer","article")) {
|
||||
if (! autoriser("creer","sujet")) {
|
||||
$erreurs['message_erreur'] = "Vous devez être connecté pour utiliser ce formulaire.";
|
||||
return $erreurs;
|
||||
}
|
||||
|
@ -42,11 +42,11 @@ function formulaires_editer_sujet_charger_dist($id_article=0, $redirect=''){
|
|||
return $valeurs;
|
||||
}
|
||||
|
||||
function formulaires_editer_sujet_verifier_dist($id_article=0, $redirect=''){
|
||||
function formulaires_editer_sujet_verifier_dist($id_article=0, $id_rubrique, $redirect=''){
|
||||
$erreurs = array();
|
||||
|
||||
include_spip('inc/autoriser');
|
||||
if (! autoriser("creer","article")) {
|
||||
if (! autoriser("creer","sujet")) {
|
||||
$erreurs['message_erreur'] = "Vous devez être connecté pour utiliser ce formulaire.";
|
||||
return $erreurs;
|
||||
}
|
||||
|
@ -71,11 +71,9 @@ function formulaires_editer_sujet_verifier_dist($id_article=0, $redirect=''){
|
|||
return $erreurs;
|
||||
}
|
||||
|
||||
function formulaires_editer_sujet_traiter_dist($id_article = 0, $redirect = ''){
|
||||
function formulaires_editer_sujet_traiter_dist($id_article = 0, $id_rubrique, $redirect = ''){
|
||||
$new = $id_article;
|
||||
|
||||
$id_rubrique = lire_config('balint/id_rub_forum');
|
||||
|
||||
if (!intval($id_article)) {
|
||||
|
||||
include_spip('action/editer_article');
|
||||
|
|
|
@ -141,12 +141,14 @@ function formulaires_inscription_traiter_dist($mode = '', $id = 0) {
|
|||
|
||||
// 1. On cree l'auteur en BDD :
|
||||
// statut = 6forum
|
||||
$mode="6forum";
|
||||
$nom = _request('nom_inscription');
|
||||
$mail_complet = _request('mail_inscription');
|
||||
$password = _request('password');
|
||||
|
||||
$inscrire_auteur = charger_fonction('inscrire_auteur', 'action');
|
||||
$desc = $inscrire_auteur($mode, $mail_complet, $nom, array('id' => $id));
|
||||
|
||||
include_spip('action/editer_auteur');
|
||||
if ($id_auteur = intval($desc['id_auteur'])){
|
||||
// On modifie le mot de passe en utilisant les API de SPIP
|
||||
|
@ -158,8 +160,6 @@ function formulaires_inscription_traiter_dist($mode = '', $id = 0) {
|
|||
auteur_modifier($id_auteur, $set);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 2. On connecte l'auteur
|
||||
|
||||
// appeler auth_identifier_login qui va :
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<a href="[(#URL_PAGE{espace_membre}|parametre_url{forum,oui})]"><i class="fas fa-arrow-circle-left"></i> Retour</a>
|
||||
<a href="[(#URL_PAGE{#ENV{type-page}}|parametre_url{id_forum,#ENV{id_forum}})]"><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">
|
||||
|
|
|
@ -1,4 +1,6 @@
|
|||
<a class="btn btn_supprimer" href="[(#URL_ACTION_AUTEUR{supprimer_sujet,#ENV{id_article}})]"
|
||||
[(#AUTORISER{supprimer, sujet, #ENV{id_article}}|oui)
|
||||
<a class="btn btn_supprimer" href="[(#URL_ACTION_AUTEUR{supprimer_sujet,#ENV{id_article},[(#URL_PAGE{#ENV{type-page}}|parametre_url{forum,oui})]})]"
|
||||
onclick="if (!confirm('Etes vous certain de vouloir effacer ce sujet ?')) return false;">
|
||||
<i class="fas fa-trash"></i> Supprimer
|
||||
</a>
|
||||
</a>
|
||||
]
|
||||
|
|
|
@ -11,11 +11,11 @@
|
|||
<INCLURE{fond=inclure/menu-espace_membre,env}>
|
||||
|
||||
<?php if (isset($GLOBALS['visiteur_session']['statut']) AND $GLOBALS['visiteur_session']['statut'] == '0minirezo') { ?>
|
||||
[(#ENV{forum}|=={oui}|non)
|
||||
[(#ENV{id_forum}|non)
|
||||
<INCLURE{fond=inclure/bouton_ordre,env,ordre=#GET{ordre,DESC},objet=mot}>
|
||||
]
|
||||
<?php } ?>
|
||||
[(#ENV{forum}|=={oui}|oui)
|
||||
[(#ENV{id_forum}|oui)
|
||||
[(#ENV{id_article}|oui)
|
||||
<INCLURE{fond=inclure/article-forum,env}/>
|
||||
]
|
||||
|
@ -27,7 +27,7 @@
|
|||
<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}}>
|
||||
<BOUCLE_articles(ARTICLES){id_mot=#ENV{id_mot}}{par rang}{inverse #GET{tri}}{par date}{inverse #GET{tri}}{pagination 8}{si #ENV{id_forum}|non}>
|
||||
<div class="col-lg-3 mt-4 mt-lg-3">
|
||||
<INCLURE{fond=inclure/bloc_article, env, id_article}/>
|
||||
</div>
|
||||
|
@ -36,7 +36,7 @@
|
|||
[<div class="pagination">(#PAGINATION{page_precedent_suivant})</div>]
|
||||
</B_articles>
|
||||
<div>
|
||||
[(#ENV{forum}|=={oui}|non)
|
||||
[(#ENV{id_forum}|non)
|
||||
Il n'y a aucun article à afficher dans cette section pour l'instant.
|
||||
]
|
||||
</div>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<h2>Forum</h2>
|
||||
<BOUCLE_intro(ARTICLES){grigri=forum_#ENV{id_forum}}{si #ENV{id_article}|non}>
|
||||
<h2 class="#EDIT{titre}">#TITRE</h2>
|
||||
|
||||
<BOUCLE_intro(ARTICLES){grigri=forum}{si #ENV{id_article}|non}>
|
||||
<div class="cadre-gris #EDIT{texte}">
|
||||
[(#TEXTE|textebrut)]
|
||||
</div>
|
||||
|
@ -8,12 +8,12 @@
|
|||
|
||||
[(#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>
|
||||
<a class="btn btn_editer" href="[(#URL_PAGE{editer_sujet}|parametre_url{id_forum,#ENV{id_forum}}|parametre_url{url,#ENV{type-page}})]"><i class="fas fa-edit"></i> Démarrer une nouvelle discussion</a>
|
||||
</div>
|
||||
|
||||
<INCLURE{fond=inclure/sujets-forum, env}>
|
||||
<INCLURE{fond=inclure/sujets-forum,env,url=#ENV{type-page}}>
|
||||
]
|
||||
|
||||
[(#ENV{id_article}|oui)
|
||||
<INCLURE{page=article-forum, env}>
|
||||
<INCLURE{fond=inclure/article-forum,env,url=#ENV{type-page}}>
|
||||
]
|
|
@ -5,8 +5,11 @@
|
|||
</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 class="nav-item [(#ENV{id_forum}|=={#CONFIG{balint/id_rub_forum}}|oui) active]">
|
||||
<a class="nav-link ajax nocache" href="[(#URL_PAGE{espace_membre}|parametre_url{id_forum,#CONFIG{balint/id_rub_forum}})]">Forum</a>
|
||||
</li>
|
||||
<li class="nav-item [(#ENV{id_forum}|=={#CONFIG{balint/id_rub_forum_prive}}|oui) active]">
|
||||
<a class="nav-link ajax nocache" href="[(#URL_PAGE{espace_membre}||parametre_url{id_forum,#CONFIG{balint/id_rub_forum_prive}})]">Échanges privés</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]">
|
||||
|
|
|
@ -35,15 +35,23 @@
|
|||
<a class="nav-link" href="[(#URL_PAGE{association})]">L'association</a>
|
||||
</li>
|
||||
<?php
|
||||
if (isset($GLOBALS['visiteur_session']['id_auteur']) AND $GLOBALS['visiteur_session']['id_auteur']) {
|
||||
if (isset($GLOBALS['visiteur_session']['statut']) AND $GLOBALS['visiteur_session']['statut']=="6forum") {
|
||||
?>
|
||||
<li class="nav-item [(#SI_PAGE{forum_discussion}|oui) active]">
|
||||
<a class="nav-link" href="[(#URL_PAGE{forum_discussion})]">Forum</a>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
if (isset($GLOBALS['visiteur_session']['statut']) AND in_array($GLOBALS['visiteur_session']['statut'],['0minirezo','1comite'])) {
|
||||
?>
|
||||
<li class="nav-item dropdown [(#SI_PAGE{espace_membre}|oui) active]">
|
||||
<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>
|
||||
<div class="dropdown-menu" aria-labelledby="membresDropdown">
|
||||
<a class="dropdown-item" href="[(#URL_PAGE{espace_membre}|parametre_url{forum,oui})]">Forum</a>
|
||||
<a class="dropdown-item" href="[(#URL_PAGE{espace_membre}|parametre_url{id_forum,#CONFIG{balint/id_rub_forum}})]">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>
|
||||
<a class="dropdown-item" href="[(#URL_PAGE{espace_membre}|parametre_url{id_forum,#CONFIG{balint/id_rub_forum_prive}})]">Échanges privés</a>
|
||||
</div>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
<B_sujets>
|
||||
#ANCRE_PAGINATION
|
||||
<BOUCLE_sujets(ARTICLES){id_secteur=#CONFIG{balint/id_rub_forum}}{!par date}{pagination 10}>
|
||||
<BOUCLE_sujets(ARTICLES){id_secteur=#ENV{id_forum}}{!par date}{pagination 10}>
|
||||
<div class="sujet-forum row">
|
||||
<div class="col-1">
|
||||
<div class="col-3 col-xl-1">
|
||||
<BOUCLE_auteur(AUTEURS){id_article}{0,1}>
|
||||
<INCLURE{fond=inclure/avatar_auteur,env,id_auteur=#ID_AUTEUR,taille=mini}>
|
||||
</BOUCLE_auteur>
|
||||
</div>
|
||||
<div class="col-11">
|
||||
<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="col-9 col-xl-11">
|
||||
<a class="titre-sujet ajax nocache" href="[(#URL_PAGE{#ENV{url}}|parametre_url{id_article,#ID_ARTICLE}|parametre_url{id_forum,#ENV{id_forum}}|ancre_url{sujet-forum})]">#TITRE</a>
|
||||
[<div class="resume-sujet">(#TEXTE|couper{150, '...'})</div>]
|
||||
<div class="infos-sujet mt-2">Démarré par #LESAUTEURS [(#DATE|date_relative)]</div>
|
||||
<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>
|
||||
</BOUCLE_reponse>
|
||||
<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>
|
||||
<a class="d-block mt-2 ajax nocache" href="[(#URL_PAGE{#ENV{url}}|parametre_url{id_article,#ID_ARTICLE}|parametre_url{id_forum,#ENV{id_forum}}|ancre_url{sujet-forum})]"><i class="fas fa-edit"></i> Participer à la discussion</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -12,6 +12,6 @@
|
|||
<:form_forum_bonjour{nom=#ENV{nom}}:>
|
||||
|
||||
Vous êtes enregistré sur le site #URL_SITE_SPIP.
|
||||
Vous pouvez vous y connecter avec votre mot de passe, ou en demandant à redéfinir votre mot de passe.
|
||||
Vous pouvez vous y connecter avec votre mot de passe, ou en demandant à redéfinir votre mot de passe sur la page de connexion.
|
||||
|
||||
#FILTRE{supprimer_tags|filtrer_entites|trim}
|
Loading…
Add table
Reference in a new issue