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{
|
||||
color: red;
|
||||
:hover{
|
||||
color: #ee9e9e;
|
||||
&:hover{
|
||||
color: #b30000;
|
||||
}
|
||||
}
|
||||
.btn_une{
|
||||
color: black;
|
||||
:hover{
|
||||
color: grey;
|
||||
color: grey;
|
||||
&:hover{
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
.boutons_actions {
|
||||
|
@ -827,18 +827,19 @@ body{
|
|||
justify-content: space-around;
|
||||
align-items: center;
|
||||
background-color: $gris-clair;
|
||||
i.green {
|
||||
padding: .6rem;
|
||||
color: rgb(28, 158, 28);
|
||||
i {
|
||||
padding:0 0.6rem;
|
||||
}
|
||||
a {
|
||||
margin: 0;
|
||||
}
|
||||
.premier-plan{
|
||||
color: rgb(28, 158, 28);
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
padding: 0.2rem;
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12799,16 +12799,16 @@ body {
|
|||
color: red;
|
||||
}
|
||||
|
||||
.docs-article .btn_poubelle :hover {
|
||||
color: #ee9e9e;
|
||||
.docs-article .btn_poubelle:hover {
|
||||
color: #b30000;
|
||||
}
|
||||
|
||||
.docs-article .btn_une {
|
||||
color: black;
|
||||
color: grey;
|
||||
}
|
||||
|
||||
.docs-article .btn_une :hover {
|
||||
color: grey;
|
||||
.docs-article .btn_une:hover {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.docs-article .boutons_actions {
|
||||
|
@ -12824,9 +12824,8 @@ body {
|
|||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
.docs-article .boutons_actions i.green {
|
||||
padding: .6rem;
|
||||
color: #1c9e1c;
|
||||
.docs-article .boutons_actions i {
|
||||
padding: 0 0.6rem;
|
||||
}
|
||||
|
||||
.docs-article .boutons_actions a {
|
||||
|
@ -12834,6 +12833,7 @@ body {
|
|||
}
|
||||
|
||||
.docs-article .boutons_actions .premier-plan {
|
||||
color: #1c9e1c;
|
||||
display: -webkit-box;
|
||||
display: flex;
|
||||
-webkit-box-orient: horizontal;
|
||||
|
@ -12842,6 +12842,7 @@ body {
|
|||
-webkit-box-align: center;
|
||||
align-items: center;
|
||||
padding: 0.2rem;
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.titre_img {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<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}>
|
||||
<div class="col-sm-6 col-lg-3 mt-4 mt-lg-0">
|
||||
|
||||
|
@ -9,7 +9,7 @@
|
|||
</BOUCLE_villes>
|
||||
</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}>
|
||||
<div class="bloc-groupe col mt-4">
|
||||
[<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="boutons_actions">
|
||||
[(#INFO_ID_SECTEUR{article,#ENV{id_article}}|=={#CONFIG{balint/id_rub_groupes}}|oui)
|
||||
<div class="premier-plan">
|
||||
[(#TYPE_DOCUMENT|in_array{#LISTE{JPEG,PNG,GIF}}|oui)
|
||||
[(#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">
|
||||
<i class="fas fa-check"></i> Mettre au premier plan
|
||||
<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-flag"></i> Bannière pour [(#INFO_SURTITRE{article, #ID_ARTICLE})]
|
||||
</a>
|
||||
})]
|
||||
]
|
||||
</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">
|
||||
<i class="fas fa-trash red"></i> Supprimer
|
||||
</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}}}
|
||||
|
||||
[(#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>
|
||||
|
@ -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>
|
||||
|
||||
<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})]
|
||||
</BOUCLE_banniere>
|
||||
[(#CHEMIN{img/ville.png}|image_recadre{1200:300,-,focus}|image_reduire{1200,300})]
|
||||
|
@ -32,9 +35,17 @@
|
|||
[<h3 class="h4">(#TITRE)</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="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>Fréquence :</strong> (#DESCRIPTIF|textebrut)</div>]
|
||||
<div class="texte">#TEXTE</div>
|
||||
|
|
|
@ -1,7 +1,15 @@
|
|||
#CACHE{0}
|
||||
[(#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">
|
||||
<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})]
|
||||
</BOUCLE_doc>
|
||||
<div class="txtcenter placeholder">
|
||||
|
|
Loading…
Add table
Reference in a new issue