Simplification des groupes : il n'y a plus de rubriques principales pays => les groupes sont des articles directement dans la rubrique groupes
This commit is contained in:
parent
81677da3de
commit
87cc507d67
9 changed files with 46 additions and 192 deletions
|
@ -1,9 +1,4 @@
|
|||
[(#REM) On affiche la France par défaut]
|
||||
<BOUCLE_france(RUBRIQUES){id_parent = #CONFIG{balint/id_rub_groupes}}{titre=france}{tout}{0,1}{si #ENV{id_rubrique}|non}>
|
||||
[(#ID_RUBRIQUE|setenv{id_rubrique})]
|
||||
</BOUCLE_france>
|
||||
|
||||
[(#REM) On affiche tous les groupes appartenant à la même Ville]
|
||||
[(#REM) On affiche tous les groupes]
|
||||
|
||||
<section id="groupes" class="section-top section-bottom container">
|
||||
|
||||
|
|
|
@ -19,35 +19,6 @@
|
|||
<div class="row">
|
||||
<div class="col-lg-9">
|
||||
<fieldset>
|
||||
<div class="pays">
|
||||
<label for="id_rubrique">Pays</label>
|
||||
<select id="id_rubrique" name="id_rubrique" class="chosen">
|
||||
<option value=""> </option>
|
||||
<BOUCLE_pays(RUBRIQUES){id_parent = #CONFIG{balint/id_rub_groupes}}{tout}{par titre}>
|
||||
<option value="#ID_RUBRIQUE" [(#ID_RUBRIQUE|=={#RUBRIQUE_SELECTED}|oui) selected="selected"]>#TITRE</option>
|
||||
</BOUCLE_pays>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
[(#REM) valeurs : oui=on, non=""]
|
||||
<div class="editer_ponctuel">
|
||||
<label>Groupe ponctuel (sans ville régulière)</label>
|
||||
<div class="ligne">
|
||||
<div class="choix">
|
||||
<input type='radio' class="radio" name='ponctuel' value='' id='ponctuel_non'[ (#ENV{ponctuel}|!={on}|?{'checked="checked"'})] />
|
||||
<label for='ponctuel_non'>Non</label>
|
||||
</div>
|
||||
<div class="choix">
|
||||
<input type='radio' class="radio" name='ponctuel' value='on' id='ponctuel_oui'[ (#ENV{ponctuel}|=={on}|?{'checked="checked"'})] />
|
||||
<label for='ponctuel_oui'>Oui</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ville regulier [(#ENV{ponctuel}|=={on}) hide]">
|
||||
<label for="surtitre">Ville</label>
|
||||
<input class="text" type="text" name="surtitre" value="#ENV{surtitre}">
|
||||
</div>
|
||||
<div class="titre">
|
||||
<label for="titre">Nom du groupe</label>
|
||||
<input class="text" type="text" name="titre" value="#ENV{titre}">
|
||||
|
|
|
@ -12,20 +12,16 @@ function formulaires_editer_groupe_charger_dist($id_article=0, $redirect=''){
|
|||
|
||||
// Pour récupérer les champs renseignés en cas d'erreur
|
||||
|
||||
$id_rubrique = intval(_request('id_rubrique'));
|
||||
$titre = _request('titre');
|
||||
$texte = _request('texte');
|
||||
$soustitre = _request('soustitre');
|
||||
$surtitre = _request('surtitre');
|
||||
$descriptif = _request('descriptif');
|
||||
|
||||
$valeurs = array();
|
||||
$valeurs['titre'] = $titre;
|
||||
$valeurs['texte'] = $texte;
|
||||
$valeurs['soustitre'] = $soustitre;
|
||||
$valeurs['rubrique_selected'] = $id_rubrique;
|
||||
$valeurs['descriptif'] = $descriptif;
|
||||
$valeurs['surtitre'] = $surtitre;
|
||||
$valeurs['statut'] = $statut;
|
||||
|
||||
if (intval($id_article)) {
|
||||
|
@ -43,20 +39,12 @@ function formulaires_editer_groupe_charger_dist($id_article=0, $redirect=''){
|
|||
$res = sql_allfetsel('id_auteur','spip_auteurs_liens',$where);
|
||||
|
||||
$valeurs['T_id_auteurs'] = array_column($res,'id_auteur');
|
||||
$valeurs['rubrique_selected'] = sql_getfetsel('id_rubrique','spip_articles','id_article='. $id_article);
|
||||
}
|
||||
else {
|
||||
$valeurs['T_id_auteurs'] = array();
|
||||
$valeurs['id_article'] = -1 * intval(session_get('id_auteur'));
|
||||
}
|
||||
|
||||
// Sans ville (surtitre), le groupe est ponctuel
|
||||
if(empty($valeurs['surtitre'])){
|
||||
$valeurs['ponctuel'] = "on";
|
||||
}
|
||||
else{
|
||||
$valeurs['ponctuel'] = "";
|
||||
}
|
||||
$valeurs['_bigup_rechercher_fichiers'] = true;
|
||||
return $valeurs;
|
||||
}
|
||||
|
@ -76,33 +64,15 @@ function formulaires_editer_groupe_verifier_dist($id_article=0, $redirect=''){
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
if (_request('ponctuel')!="on"){
|
||||
// il faut au minimum titre (nom), surtitre (ville) et id_rubrique (pays) pour créer un article pour les groupes réguliers
|
||||
if (_request('titre') == '' OR _request('surtitre') == '' OR _request('id_rubrique') == ''){
|
||||
$erreurs['message_erreur'] = "Il faut obligatoirement un pays, une ville et un nom pour créer un groupe régulier.";
|
||||
return $erreurs;
|
||||
}
|
||||
}
|
||||
else{
|
||||
// il faut au minimum titre (nom) et id_rubrique (pays) pour créer un article pour les groupes
|
||||
if (_request('titre') == '' OR _request('id_rubrique') == ''){
|
||||
$erreurs['message_erreur'] = "Il faut obligatoirement un pays et un nom pour créer un groupe.";
|
||||
return $erreurs;
|
||||
}
|
||||
}
|
||||
|
||||
// la rubrique choisie doit être une sous-rubrique du secteur défini en config
|
||||
$id_rubrique = intval(_request('id_rubrique'));
|
||||
$id_secteur = sql_getfetsel('id_secteur', 'spip_rubriques', 'id_rubrique='.$id_rubrique);
|
||||
if ($id_secteur != lire_config('balint/id_rub_groupes')) {
|
||||
$erreurs['message_erreur'] = "La rubrique choisie comme pays ne correspond au secteur défini pour les groupes dans les options de configuration.";
|
||||
if (!lire_config('balint/id_rub_groupes')){
|
||||
$erreurs['message_erreur'] = "Problème de configuration du site : veuillez renseigner la rubrique dédiée aux groupes dans les paramètres du plugin.";
|
||||
return $erreurs;
|
||||
}
|
||||
|
||||
// On évite les erreurs dues à des caractères spéciaux dans le surtitre (ville)
|
||||
if (preg_match('/[?!:]/', _request('surtitre'))){
|
||||
$erreurs['message_erreur'] = "La ville ne doit pas comprendre de signes de ponctuation comme ? ! ou :";
|
||||
|
||||
// il faut au minimum titre (nom) pour créer un article
|
||||
if (_request('titre') == ''){
|
||||
$erreurs['message_erreur'] = "Il faut obligatoirement un nom pour créer un groupe régulier.";
|
||||
return $erreurs;
|
||||
}
|
||||
|
||||
|
@ -117,7 +87,7 @@ function formulaires_editer_groupe_traiter_dist($id_article=0, $redirect=''){
|
|||
$new = $id_article;
|
||||
if (!intval($id_article)) {
|
||||
|
||||
$id_rubrique = intval(_request('id_rubrique'));
|
||||
$id_rubrique = lire_config('balint/id_rub_groupes');
|
||||
include_spip('action/editer_article');
|
||||
$set = array(
|
||||
'statut' => 'publie'
|
||||
|
@ -133,18 +103,12 @@ function formulaires_editer_groupe_traiter_dist($id_article=0, $redirect=''){
|
|||
);
|
||||
sql_updateq('spip_documents_liens',array('id_objet' => intval($id_article)), $where);
|
||||
}
|
||||
$surtitre=_request('surtitre');
|
||||
|
||||
$titre=_request('titre');
|
||||
$soustitre=_request('soustitre');
|
||||
$texte=_request('texte');
|
||||
$descriptif=_request('descriptif');
|
||||
|
||||
if (_request('ponctuel')=="on"){
|
||||
$surtitre="";
|
||||
$soustitre="";
|
||||
$descriptif="";
|
||||
}
|
||||
|
||||
// maj de l'article
|
||||
$set = array(
|
||||
'titre' => $titre,
|
||||
|
@ -153,20 +117,12 @@ function formulaires_editer_groupe_traiter_dist($id_article=0, $redirect=''){
|
|||
// On affiche le plus récent en premier => on garde la date de mise à jour
|
||||
'date' => date("Y-m-d H:i:s"),
|
||||
'descriptif' => $descriptif,
|
||||
'surtitre' => $surtitre
|
||||
// 'surtitre' => $surtitre
|
||||
// 'champ_1' => _request('champ_1'),
|
||||
// 'champ_2' => _request('champ_2'),
|
||||
// 'chapo' => _request('chapo'),
|
||||
);
|
||||
sql_updateq('spip_articles',$set,'id_article='.intval($id_article));
|
||||
|
||||
// maj rubrique si besoin
|
||||
$id_rubrique = intval(_request('id_rubrique'));
|
||||
$id_rub = sql_getfetsel('id_rubrique', 'spip_articles', 'id_article='.$id_article);
|
||||
if ($id_rub != $id_rubrique) {
|
||||
include_spip('action/editer_article');
|
||||
article_instituer($id_article, array('id_parent' => $id_rubrique));
|
||||
}
|
||||
|
||||
// maj association article -> auteurs
|
||||
include_spip('action/editer_liens');
|
||||
|
@ -278,13 +234,9 @@ function formulaires_editer_groupe_traiter_dist($id_article=0, $redirect=''){
|
|||
$retour = array();
|
||||
$retour['message_ok'] = "Le groupe est bien enregistré.";
|
||||
|
||||
// Si c'est un groupe ponctuel, on redirige vers le pays, sinon vers la ville
|
||||
if (_request('ponctuel')=="on"){
|
||||
$retour['redirect'] = "spip.php?page=groupes&id_rubrique=$id_rubrique";
|
||||
}
|
||||
else{
|
||||
$retour['redirect'] = "spip.php?page=groupes&id_article=$id_article";
|
||||
}
|
||||
// on redirige vers la ville
|
||||
$retour['redirect'] = "spip.php?page=groupes&id_article=$id_article";
|
||||
|
||||
|
||||
$bigform = charger_fonction('bigform_traiter','inc');
|
||||
$bigform($id_article, 'article');
|
||||
|
|
|
@ -2,24 +2,18 @@
|
|||
<BOUCLE_art(ARTICLES){id_article = #ENV{id_article}}>
|
||||
<div class="bloc-article bloc-ville">
|
||||
<div class="bloc-contenu">
|
||||
<a href="[(#URL_PAGE{groupes}|parametre_url{id_article,#ID_ARTICLE}|parametre_url{id_rubrique,#ENV{id_rubrique}})]" class="ajax nocache">
|
||||
<a href="[(#URL_PAGE{groupes}|parametre_url{id_article,#ID_ARTICLE})]" class="ajax nocache">
|
||||
<INCLURE{fond=inclure/photo_article,env,id_article=#ENV{id_article},ajax=recharger_photo,groupe=oui}>
|
||||
</a>
|
||||
<div class="bloc-textes">
|
||||
<a href="[(#URL_PAGE{groupes}|parametre_url{id_article,#ID_ARTICLE}|parametre_url{id_rubrique,#ENV{id_rubrique}})]" class="ajax nocache">
|
||||
<h4>#SURTITRE <i class="fas fa-globe"></i></h4>
|
||||
<a href="[(#URL_PAGE{groupes}|parametre_url{id_article,#ID_ARTICLE})]" class="ajax nocache">
|
||||
<h4>#TITRE <i class="fas fa-globe"></i></h4>
|
||||
|
||||
#SET{nb_articles,0}
|
||||
|
||||
<B_nb_gpes>
|
||||
<div>[(#TOTAL_BOUCLE|singulier_ou_pluriel{balint:1_groupe, balint:n_groupes})]</div>
|
||||
<BOUCLE_nb_gpes(ARTICLES){id_rubrique=#ENV{id_rubrique}}{surtitre}>
|
||||
<BOUCLE_nb_articles(ARTICLES){id_rubrique=#CONFIG{balint/id_rub_articles}}{id_groupe=#ID_ARTICLE}>
|
||||
[(#SET{nb_articles,#GET{nb_articles}|plus{1}})]
|
||||
</BOUCLE_nb_articles>
|
||||
</BOUCLE_nb_gpes>
|
||||
<div>[(#GET{nb_articles}|singulier_ou_pluriel{blaint:1_article, balint:n_articles})]</div>
|
||||
</B_nb_gpes>
|
||||
<BOUCLE_nb_articles(ARTICLES){id_groupe=#ID_ARTICLE}{id_rubrique=#CONFIG{balint/id_rub_articles}}>
|
||||
[(#SET{nb_articles,#GET{nb_articles}|plus{1}})]
|
||||
</BOUCLE_nb_articles>
|
||||
<div>[(#GET{nb_articles}|singulier_ou_pluriel{balint:1_article, balint:n_articles})]</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -1,43 +1,11 @@
|
|||
<div class="row liste-articles-encadres">
|
||||
[(#REM) On affiche ensuite les groupes réguliers, par ville]
|
||||
<BOUCLE_villes(ARTICLES){id_rubrique=#ENV{id_rubrique}}{surtitre!=""}{fusion surtitre}>
|
||||
[(#REM) On affiche ensuite les groupes]
|
||||
<BOUCLE_villes(ARTICLES){id_rubrique=#CONFIG{balint/id_rub_groupes}}>
|
||||
<div class="col-sm-6 col-lg-3 mt-4 mt-lg-0">
|
||||
|
||||
<INCLURE{fond=inclure/bloc_groupe,env,id_article=#ID_ARTICLE}>
|
||||
|
||||
|
||||
</div>
|
||||
</BOUCLE_villes>
|
||||
</div>
|
||||
|
||||
[(#REM) on affiche un groupe ponctuel pour les pays n'ayant pas de groupe régulier]
|
||||
<BOUCLE_ponctuel(ARTICLES){id_rubrique=#ENV{id_rubrique}}{surtitre=""}{0,1}>
|
||||
<div class="bloc-groupe col mt-4">
|
||||
[<h3 class="h4 #EDIT{titre}">(#TITRE|sinon{"Groupes ponctuels"})</h3>]
|
||||
[(#AUTORISER{modifier, article, #ID_ARTICLE})
|
||||
<a class="btn" href="#URL_PAGE{editer_groupe,id_article=#ID_ARTICLE }"><i class="fas fa-edit"></i> Mettre à jour le groupe</a>
|
||||
]
|
||||
<div class="row">
|
||||
<div class="col-md-8">
|
||||
<div class="texte #EDIT{texte}">#TEXTE</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<strong>Responsables</strong>
|
||||
<BOUCLE_auteurs(AUTEURS){id_article=#ID_ARTICLE}>
|
||||
<div>#NOM
|
||||
[(#EMAIL|ou{#TELEPHONE}|oui)
|
||||
<a href="[(#URL_PAGE{contacter_auteur}|parametre_url{id_auteur,#ID_AUTEUR})]" class="mediabox"> (contact)</a>
|
||||
]
|
||||
</div>
|
||||
</BOUCLE_auteurs>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</BOUCLE_ponctuel>
|
||||
|
||||
<BOUCLE_sinon(ARTICLES){id_rubrique=#ENV{id_rubrique}}>
|
||||
[(#REM) Boucle vide]
|
||||
</BOUCLE_sinon>
|
||||
<div class="col">Il n'y a pas encore de groupe dans ce pays.</div>
|
||||
<//B_sinon>
|
||||
|
||||
|
|
|
@ -1,32 +1,33 @@
|
|||
[(#REM) On affiche tous les groupes appartenant à la même Ville]
|
||||
|
||||
#SET{ville,#INFO_SURTITRE{article,#ENV{id_article}}}
|
||||
|
||||
[(#REM) On récupère les id de tous les groupes de la ville pour les actualités et les images]
|
||||
[(#SET{groupes,#ARRAY})]
|
||||
<BOUCLE_groupes(ARTICLES){surtitre = #GET{ville}}{id_secteur=#CONFIG{balint/id_rub_groupes}}>
|
||||
[(#SET{groupes,#GET{groupes}|push{#ID_ARTICLE}})]
|
||||
</BOUCLE_groupes>
|
||||
|
||||
<a href="[(#URL_PAGE{groupes,id_rubrique=#ENV{id_rubrique}})]" class="ajax"><i class="fas fa-arrow-circle-left"></i> Retour</a>
|
||||
<a href="[(#URL_PAGE{groupes})]" class="ajax"><i class="fas fa-arrow-circle-left"></i> Autres groupes</a>
|
||||
|
||||
<div class="banniere-ville mt-4 mb-4">
|
||||
<BOUCLE_banniere(DOCUMENTS){id_article IN #GET{groupes}}{extension==jpg|png|gif}{!par date}{0,1}>
|
||||
<BOUCLE_banniere(DOCUMENTS){id_article = #ENV{id_article}}{extension==jpg|png|gif}{!par date}{0,1}>
|
||||
[(#FICHIER|image_recadre{1200:300,-,focus}|image_reduire{1200,300})]
|
||||
</BOUCLE_banniere>
|
||||
[(#CHEMIN{img/ville.png}|image_recadre{1200:300,-,focus}|image_reduire{1200,300})]
|
||||
<//B_banniere>
|
||||
<div class="ville-titre">
|
||||
[(#GET{groupes}|count|>{1}|oui)
|
||||
<h2>Groupes de #GET{ville}</h2>
|
||||
]
|
||||
[(#GET{groupes}|count|<={1}|oui)
|
||||
<h2>Groupe de #GET{ville}</h2>
|
||||
]
|
||||
<h2>#INFO_TITRE{article,#ENV{id_article}}</h2>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<BOUCLE_groupe(ARTICLES){surtitre = #GET{ville}}{id_secteur=#CONFIG{balint/id_rub_groupes}}{par rang}>
|
||||
<B_articles>
|
||||
<h2 class="h4 mb-lg-0 mt-4 articles-groupe">Dernières nouvelles</h2>
|
||||
#ANCRE_PAGINATION
|
||||
[<div class="pagination pagination_top">(#PAGINATION{page_precedent_suivant})</div>]
|
||||
<div class="row liste-articles">
|
||||
<BOUCLE_articles(ARTICLES){id_rubrique=#CONFIG{balint/id_rub_articles}}{id_groupe = #ENV{id_article}}{! par date}{pagination 6}>
|
||||
<div class="col-md-6 col-lg-4 mt-4 mt-lg-0">
|
||||
<INCLURE{fond=inclure/bloc_article, env, id_article}/>
|
||||
</div>
|
||||
</BOUCLE_articles>
|
||||
</div>
|
||||
[<div class="pagination">(#PAGINATION{page_precedent_suivant})</div>]
|
||||
</B_articles>
|
||||
|
||||
<BOUCLE_groupe(ARTICLES){id_article=#ENV{id_article}}{par rang}>
|
||||
|
||||
<div class="bloc-groupe mt-4 mt-lg-0">
|
||||
[<h3 class="h4">(#TITRE)</h3>]
|
||||
|
@ -54,17 +55,3 @@
|
|||
</div>
|
||||
|
||||
</BOUCLE_groupe>
|
||||
|
||||
<B_articles>
|
||||
<h2 class="h4 mb-lg-0 mt-4 articles-groupe">Articles de #GET{ville}</h2>
|
||||
#ANCRE_PAGINATION
|
||||
[<div class="pagination pagination_top">(#PAGINATION{page_precedent_suivant})</div>]
|
||||
<div class="row liste-articles">
|
||||
<BOUCLE_articles(ARTICLES){id_rubrique=#CONFIG{balint/id_rub_articles}}{id_groupe IN #GET{groupes}}{! par date}{pagination 6}>
|
||||
<div class="col-md-6 col-lg-4 mt-4 mt-lg-0">
|
||||
<INCLURE{fond=inclure/bloc_article, env, id_article}/>
|
||||
</div>
|
||||
</BOUCLE_articles>
|
||||
</div>
|
||||
[<div class="pagination">(#PAGINATION{page_precedent_suivant})</div>]
|
||||
</B_articles>
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
<div class="page-groupes row">
|
||||
<div class="col w-100">
|
||||
|
||||
<INCLURE{fond=inclure/menu-groupes,env}>
|
||||
|
||||
[(#ENV{id_article}|non)
|
||||
<INCLURE{fond=inclure/choix_ville,env} />
|
||||
]
|
||||
|
|
|
@ -14,21 +14,10 @@
|
|||
|
||||
<aside class="col col-lg-3 d-none d-lg-block dernieres-nouvelles">
|
||||
|
||||
<h3 class="h4 mt-4 mb-3">Derniers articles</br>
|
||||
<BOUCLE_pays(RUBRIQUES){id_rubrique=#ENV{id_rubrique}}{tout}>
|
||||
<span class="h4 font-italic">#PREPOSITION #TITRE</span>
|
||||
</BOUCLE_pays>
|
||||
</h3>
|
||||
|
||||
[(#REM) On récupère les id de tous les groupes du pays]
|
||||
|
||||
[(#SET{groupes_pays,#ARRAY})]
|
||||
<BOUCLE_villes2(ARTICLES){id_rubrique=#ENV{id_rubrique}}{tout}>
|
||||
[(#SET{groupes_pays,#GET{groupes_pays}|push{#ID_ARTICLE}})]
|
||||
</BOUCLE_villes2>
|
||||
<h3 class="h4 mt-4 mb-3">Derniers articles</br></h3>
|
||||
|
||||
<div class="liste-articles">
|
||||
<BOUCLE_a_la_une(ARTICLES){id_rubrique=#CONFIG{balint/id_rub_articles}}{id_groupe IN #GET{groupes_pays}}{0,6}{! par date}>
|
||||
<BOUCLE_a_la_une(ARTICLES){id_rubrique=#CONFIG{balint/id_rub_articles}}{0,6}{! par date}>
|
||||
<div class="mt-4 mt-lg-0 mb-3">
|
||||
<div class="infos-article">
|
||||
[(#DATE|affdate) :]
|
||||
|
@ -39,7 +28,7 @@
|
|||
[<div class="resume-article">(#DESCRIPTIF)</div>]
|
||||
</div>
|
||||
</BOUCLE_a_la_une>
|
||||
<div class="col">Il n'y a pas encore d'article dans ce pays.</div>
|
||||
<div class="col">Il n'y a pas encore d'article.</div>
|
||||
<//B_a_la_une>
|
||||
</div>
|
||||
</aside>
|
||||
|
|
|
@ -5,9 +5,9 @@
|
|||
</button>
|
||||
<div class="collapse navbar-collapse" id="liste-groupes">
|
||||
<ul class="navbar-nav">
|
||||
<BOUCLE_menu_groupes(RUBRIQUES){id_parent=#CONFIG{balint/id_rub_groupes}}{par num titre}{tout}>
|
||||
<BOUCLE_menu_groupes(ARTICLES){id_rubrique=#CONFIG{balint/id_rub_groupes}}{par titre}>
|
||||
<li class="nav-item [(#ENV{id_rubrique}|=={#ID_RUBRIQUE}|oui) active]">
|
||||
<a class="nav-link ajax" href="[(#URL_PAGE{groupes}|parametre_url{id_rubrique,#ID_RUBRIQUE})]">#TITRE</a>
|
||||
<a class="nav-link ajax" href="[(#URL_PAGE{groupes}|parametre_url{id_article,#ID_ARTICLE})]">#TITRE</a>
|
||||
</li>
|
||||
</BOUCLE_menu_groupes>
|
||||
</ul>
|
||||
|
|
Loading…
Add table
Reference in a new issue