Chaque groupe a désormais sa propre image. On peut chosir l'image de bannière de la ville parmi les images uploadées dans un groupe.
This commit is contained in:
parent
6259d76399
commit
edd1a327c5
7 changed files with 109 additions and 26 deletions
53
action/choisir_banniere.php
Normal file
53
action/choisir_banniere.php
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
<?php
|
||||||
|
if (!defined('_ECRIRE_INC_VERSION')) return;
|
||||||
|
|
||||||
|
// mettre une photo en banniere (credit = une)
|
||||||
|
function action_choisir_banniere_dist(){
|
||||||
|
$securiser_action = charger_fonction('securiser_action', 'inc');
|
||||||
|
$arg = $securiser_action();
|
||||||
|
$Targs = explode('-', $arg);
|
||||||
|
$id_document = intval($Targs[0]);
|
||||||
|
$id_article = intval($Targs[1]);
|
||||||
|
|
||||||
|
if (!$id_document OR !$id_article)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
// il faut être auteur pour mettre à la Une
|
||||||
|
include_spip('inc/autoriser');
|
||||||
|
if (! autoriser("creer","article")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// On récupère tous les id_article de la même ville
|
||||||
|
|
||||||
|
$ville = sql_getfetsel('surtitre','spip_articles','id_article='.$id_article);
|
||||||
|
$where0 = array(
|
||||||
|
"surtitre='$ville'",
|
||||||
|
'id_secteur='. lire_config('balint/id_rub_groupes')
|
||||||
|
);
|
||||||
|
$groupes = sql_allfetsel('id_article','spip_articles',$where0);
|
||||||
|
$Tid_groupes = array_column($groupes,'id_article');
|
||||||
|
|
||||||
|
foreach($Tid_groupes as $id_groupe){
|
||||||
|
|
||||||
|
// récupérer les docs attachés à l'article
|
||||||
|
$where = array(
|
||||||
|
'id_objet='.$id_groupe,
|
||||||
|
'objet="article"',
|
||||||
|
'extension IN ("jpg","png","gif")',
|
||||||
|
);
|
||||||
|
$res = sql_allfetsel('spip_documents_liens.id_document', array('spip_documents_liens','spip_documents'), $where);
|
||||||
|
$Tid_docs = array_column($res,'id_document');
|
||||||
|
|
||||||
|
// virer la bannière actuelle
|
||||||
|
sql_updateq('spip_documents', array('credits' => ''),'id_document IN ('.join(',',$Tid_docs).')');
|
||||||
|
}
|
||||||
|
|
||||||
|
// mettre en bannière la photo choisie
|
||||||
|
sql_updateq('spip_documents', array('credits' => 'une'),'id_document = '.$id_document);
|
||||||
|
|
||||||
|
// Cache
|
||||||
|
include_spip('inc/invalideur');
|
||||||
|
suivre_invalideur("id='id_article/$id_article'");
|
||||||
|
}
|
||||||
|
|
|
@ -810,14 +810,14 @@ body{
|
||||||
}
|
}
|
||||||
.btn_poubelle{
|
.btn_poubelle{
|
||||||
color: red;
|
color: red;
|
||||||
:hover{
|
&:hover{
|
||||||
color: #ee9e9e;
|
color: #b30000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.btn_une{
|
.btn_une{
|
||||||
color: black;
|
color: grey;
|
||||||
:hover{
|
&:hover{
|
||||||
color: grey;
|
color: black;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.boutons_actions {
|
.boutons_actions {
|
||||||
|
@ -827,18 +827,19 @@ body{
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
background-color: $gris-clair;
|
background-color: $gris-clair;
|
||||||
i.green {
|
i {
|
||||||
padding: .6rem;
|
padding:0 0.6rem;
|
||||||
color: rgb(28, 158, 28);
|
|
||||||
}
|
}
|
||||||
a {
|
a {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
}
|
}
|
||||||
.premier-plan{
|
.premier-plan{
|
||||||
|
color: rgb(28, 158, 28);
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: row;
|
flex-direction: row;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 0.2rem;
|
padding: 0.2rem;
|
||||||
|
font-size: 1rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12799,16 +12799,16 @@ body {
|
||||||
color: red;
|
color: red;
|
||||||
}
|
}
|
||||||
|
|
||||||
.docs-article .btn_poubelle :hover {
|
.docs-article .btn_poubelle:hover {
|
||||||
color: #ee9e9e;
|
color: #b30000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.docs-article .btn_une {
|
.docs-article .btn_une {
|
||||||
color: black;
|
color: grey;
|
||||||
}
|
}
|
||||||
|
|
||||||
.docs-article .btn_une :hover {
|
.docs-article .btn_une:hover {
|
||||||
color: grey;
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
.docs-article .boutons_actions {
|
.docs-article .boutons_actions {
|
||||||
|
@ -12824,9 +12824,8 @@ body {
|
||||||
background-color: #f2f2f2;
|
background-color: #f2f2f2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.docs-article .boutons_actions i.green {
|
.docs-article .boutons_actions i {
|
||||||
padding: .6rem;
|
padding: 0 0.6rem;
|
||||||
color: #1c9e1c;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.docs-article .boutons_actions a {
|
.docs-article .boutons_actions a {
|
||||||
|
@ -12834,6 +12833,7 @@ body {
|
||||||
}
|
}
|
||||||
|
|
||||||
.docs-article .boutons_actions .premier-plan {
|
.docs-article .boutons_actions .premier-plan {
|
||||||
|
color: #1c9e1c;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
display: flex;
|
display: flex;
|
||||||
-webkit-box-orient: horizontal;
|
-webkit-box-orient: horizontal;
|
||||||
|
@ -12842,6 +12842,7 @@ body {
|
||||||
-webkit-box-align: center;
|
-webkit-box-align: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
padding: 0.2rem;
|
padding: 0.2rem;
|
||||||
|
font-size: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.titre_img {
|
.titre_img {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<div class="row liste-articles-encadres">
|
<div class="row liste-articles-encadres">
|
||||||
[(#REM) On affiche ensuite les groupes réguliers, par ville]
|
[(#REM) On affiche les groupes réguliers, par ville]
|
||||||
<BOUCLE_villes(ARTICLES){id_rubrique=#ENV{id_rubrique}}{surtitre!=""}{fusion surtitre}>
|
<BOUCLE_villes(ARTICLES){id_rubrique=#ENV{id_rubrique}}{surtitre!=""}{fusion surtitre}>
|
||||||
<div class="col-sm-6 col-lg-3 mt-4 mt-lg-0">
|
<div class="col-sm-6 col-lg-3 mt-4 mt-lg-0">
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
</BOUCLE_villes>
|
</BOUCLE_villes>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
[(#REM) on affiche un groupe ponctuel pour les pays n'ayant pas de groupe régulier]
|
[(#REM) on affiche ensuite un groupe ponctuel pour les pays n'ayant pas de groupe régulier]
|
||||||
<BOUCLE_ponctuel(ARTICLES){id_rubrique=#ENV{id_rubrique}}{surtitre=""}{0,1}>
|
<BOUCLE_ponctuel(ARTICLES){id_rubrique=#ENV{id_rubrique}}{surtitre=""}{0,1}>
|
||||||
<div class="bloc-groupe col mt-4">
|
<div class="bloc-groupe col mt-4">
|
||||||
[<h3 class="h4 #EDIT{titre}">(#TITRE|sinon{"Groupes ponctuels"})</h3>]
|
[<h3 class="h4 #EDIT{titre}">(#TITRE|sinon{"Groupes ponctuels"})</h3>]
|
||||||
|
|
|
@ -14,17 +14,26 @@
|
||||||
[<div class="titre_img #EDIT{titre}">(#TITRE|sinon{[(#SESSION{statut}|=={0minirezo}|oui)<i>Double cliquez pour ajouter un titre</i>]})</div>]
|
[<div class="titre_img #EDIT{titre}">(#TITRE|sinon{[(#SESSION{statut}|=={0minirezo}|oui)<i>Double cliquez pour ajouter un titre</i>]})</div>]
|
||||||
|
|
||||||
<div class="boutons_actions">
|
<div class="boutons_actions">
|
||||||
|
[(#INFO_ID_SECTEUR{article,#ENV{id_article}}|=={#CONFIG{balint/id_rub_groupes}}|oui)
|
||||||
<div class="premier-plan">
|
<div class="premier-plan">
|
||||||
[(#TYPE_DOCUMENT|in_array{#LISTE{JPEG,PNG,GIF}}|oui)
|
[(#TYPE_DOCUMENT|in_array{#LISTE{JPEG,PNG,GIF}}|oui)
|
||||||
[(#CREDITS*|=={une}|?{
|
[(#CREDITS*|=={une}|?{
|
||||||
<i class="fas fa-check green"></i> Au premier plan
|
<i class="fas fa-flag green"></i> Bannière pour [(#INFO_SURTITRE{article, #ID_ARTICLE})]
|
||||||
,
|
,
|
||||||
<a class="btn btn_une" href="[(#URL_ACTION_AUTEUR{promouvoir_photo, [(#ID_DOCUMENT)][-(#ENV{id_article})],#SELF})]" title="Mettre en première photo">
|
<a class="btn btn_une" href="[(#URL_ACTION_AUTEUR{choisir_banniere, [(#ID_DOCUMENT)][-(#ENV{id_article})],#SELF})]" title="Mettre en première photo">
|
||||||
<i class="fas fa-check"></i> Mettre au premier plan
|
<i class="fas fa-flag"></i> Bannière pour [(#INFO_SURTITRE{article, #ID_ARTICLE})]
|
||||||
</a>
|
</a>
|
||||||
})]
|
})]
|
||||||
]
|
]
|
||||||
</div>
|
</div>
|
||||||
|
<div class="premier-plan">
|
||||||
|
[(#TYPE_DOCUMENT|in_array{#LISTE{JPEG,PNG,GIF}}|oui)
|
||||||
|
[(#COMPTEUR_BOUCLE|=={#TOTAL_BOUCLE}|oui)
|
||||||
|
<i class="fas fa-picture-o green"></i> Photo du groupe
|
||||||
|
]
|
||||||
|
]
|
||||||
|
</div>
|
||||||
|
]
|
||||||
<a class="btn btn_poubelle" href="[(#URL_ACTION_AUTEUR{supprimer_photo, [(#ID_DOCUMENT)][-(#ENV{id_article})],#SELF})]" title="Supprimer la photo">
|
<a class="btn btn_poubelle" href="[(#URL_ACTION_AUTEUR{supprimer_photo, [(#ID_DOCUMENT)][-(#ENV{id_article})],#SELF})]" title="Supprimer la photo">
|
||||||
<i class="fas fa-trash red"></i> Supprimer
|
<i class="fas fa-trash red"></i> Supprimer
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
[(#REM) On affiche tous les groupes appartenant à la même Ville]
|
[(#REM) On récupère l'id_rubrique s'il n'a pas été passé en paramètre]
|
||||||
|
[(#ENV{id_rubrique,#INFO_ID_RUBRIQUE{article,#ENV{id_article}}}|setenv{id_rubrique})]
|
||||||
|
|
||||||
|
[(#REM) On affiche tous les groupes appartenant à la même Ville]
|
||||||
#SET{ville,#INFO_SURTITRE{article,#ENV{id_article}}}
|
#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]
|
[(#REM) On récupère les id de tous les groupes de la ville pour les actualités et les images]
|
||||||
[(#SET{groupes,#ARRAY})]
|
[(#SET{groupes,#ARRAY})]
|
||||||
|
|
||||||
<BOUCLE_groupes(ARTICLES){surtitre = #GET{ville}}{id_secteur=#CONFIG{balint/id_rub_groupes}}>
|
<BOUCLE_groupes(ARTICLES){surtitre = #GET{ville}}{id_secteur=#CONFIG{balint/id_rub_groupes}}>
|
||||||
[(#SET{groupes,#GET{groupes}|push{#ID_ARTICLE}})]
|
[(#SET{groupes,#GET{groupes}|push{#ID_ARTICLE}})]
|
||||||
</BOUCLE_groupes>
|
</BOUCLE_groupes>
|
||||||
|
@ -11,7 +14,7 @@
|
||||||
<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,id_rubrique=#ENV{id_rubrique}})]" class="ajax"><i class="fas fa-arrow-circle-left"></i> Retour</a>
|
||||||
|
|
||||||
<div class="banniere-ville mt-4 mb-4">
|
<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 IN #GET{groupes}}{extension==jpg|png|gif}{!par credits}{!par date}{0,1}>
|
||||||
[(#FICHIER|image_recadre{1200:300,-,focus}|image_reduire{1200,300})]
|
[(#FICHIER|image_recadre{1200:300,-,focus}|image_reduire{1200,300})]
|
||||||
</BOUCLE_banniere>
|
</BOUCLE_banniere>
|
||||||
[(#CHEMIN{img/ville.png}|image_recadre{1200:300,-,focus}|image_reduire{1200,300})]
|
[(#CHEMIN{img/ville.png}|image_recadre{1200:300,-,focus}|image_reduire{1200,300})]
|
||||||
|
@ -32,9 +35,17 @@
|
||||||
[<h3 class="h4">(#TITRE)</h3>]
|
[<h3 class="h4">(#TITRE)</h3>]
|
||||||
[(#AUTORISER{modifier, article, #ID_ARTICLE})
|
[(#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>
|
<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="row">
|
||||||
<div class="col-md-8">
|
<div class="col-md-4">
|
||||||
|
<BOUCLE_photo(DOCUMENTS){id_article}{extension==jpg|png|gif}{credits=groupe}{0,1}>
|
||||||
|
<div class="mb-4 mb-lg-0">
|
||||||
|
[(#FICHIER|image_recadre{400:250,-,focus}|image_reduire{400,250})]
|
||||||
|
</div>
|
||||||
|
</BOUCLE_photo>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-md-4">
|
||||||
[<div class="texte"><strong>Adresse :</strong> (#SOUSTITRE)</div>]
|
[<div class="texte"><strong>Adresse :</strong> (#SOUSTITRE)</div>]
|
||||||
[<div class="texte"><strong>Fréquence :</strong> (#DESCRIPTIF|textebrut)</div>]
|
[<div class="texte"><strong>Fréquence :</strong> (#DESCRIPTIF|textebrut)</div>]
|
||||||
<div class="texte">#TEXTE</div>
|
<div class="texte">#TEXTE</div>
|
||||||
|
|
|
@ -1,7 +1,15 @@
|
||||||
#CACHE{0}
|
#CACHE{0}
|
||||||
[(#ENV{id_article}|=={0}|oui) [(#SESSION{id_auteur}|mult{-1}|setenv{id_article})] ]
|
[(#ENV{id_article}|=={0}|oui) [(#SESSION{id_auteur}|mult{-1}|setenv{id_article})] ]
|
||||||
|
|
||||||
|
[(#REM) On récupère les id de tous les groupes de la ville pour les actualités et les images]
|
||||||
|
#SET{ville,#INFO_SURTITRE{article,#ENV{id_article}}}
|
||||||
|
[(#SET{groupes,#ARRAY})]
|
||||||
|
<BOUCLE_groupes(ARTICLES){surtitre = #GET{ville}}{id_secteur=#CONFIG{balint/id_rub_groupes}}{si #ENV{groupe}|=={oui}}>
|
||||||
|
[(#SET{groupes,#GET{groupes}|push{#ID_ARTICLE}})]
|
||||||
|
</BOUCLE_groupes>
|
||||||
|
|
||||||
<div class="photo-article">
|
<div class="photo-article">
|
||||||
<BOUCLE_doc(DOCUMENTS){id_article?}{extension==jpg|png|gif}{statut in prop,prepa,publie}{0,1}{!par credits}{!par id_document}>
|
<BOUCLE_doc(DOCUMENTS){id_article IN #GET{groupes}}{extension==jpg|png|gif}{statut in prop,prepa,publie}{0,1}{!par credits}{!par id_document}>
|
||||||
[(#FICHIER|balise_img{#TITRE}|image_recadre{720:360,-,focus,transparent}|image_reduire{720,360})]
|
[(#FICHIER|balise_img{#TITRE}|image_recadre{720:360,-,focus,transparent}|image_reduire{720,360})]
|
||||||
</BOUCLE_doc>
|
</BOUCLE_doc>
|
||||||
<div class="txtcenter placeholder">
|
<div class="txtcenter placeholder">
|
||||||
|
|
Loading…
Add table
Reference in a new issue