Merge branch 'selection'

This commit is contained in:
chankalan 2023-02-02 14:16:41 +01:00
commit a6400b3b2d
8 changed files with 232 additions and 29 deletions

View File

@ -1,21 +1,38 @@
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">
<h3 class="titrem"><:libreavous:titre_page_configurer_libreavous:/></h3>
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
<form method="post" action="#ENV{action}">
<div>
#ACTION_FORMULAIRE{#ENV{action}}
<ul class="editer-groupe">
[(#SAISIE{textarea,licence,
label=<:libreavous:licence_label:>,
explication=<:libreavous:licence_explications:>,
inserer_barre=edition})]
</ul>
<fieldset>
<h3 class="titrem"><:libreavous:page_accueil:/></h3>
<div class="editer-groupe">
[(#SAISIE{selecteur_article, selectionaccueil,
label=<:libreavous:selectionaccueil:>,
multiple=oui,
explication=<:libreavous:selectionaccueil_explications:>})]
[(#SAISIE{input,selectionaccueiltitre,
label=<:libreavous:selectionaccueiltitre_label:>,
explication=<:libreavous:selectionaccueiltitre_explications:>,
placeholder='Sélection'})]
</div>
</fieldset>
<fieldset>
<h3 class="titrem"><:libreavous:les_emissions:/></h3>
<div class="editer-groupe">
[(#SAISIE{textarea,licence,
label=<:libreavous:licence_label:>,
explication=<:libreavous:licence_explications:>,
inserer_barre=edition})]
</div>
</fieldset>
</div>
<p class="boutons"><span class="image_loading">&nbsp;</span><input type="submit" class="submit" value="<:bouton_enregistrer:/>" /></p>
</div>
</form>

View File

@ -27,6 +27,7 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'derniere_emission' => 'Dernière émission',
'toutes_les_emissions' => 'Toutes les émissions',
'emissions_precedentes' => 'Émissions précédentes',
'emissions_diffusees' => 'Émissions diffusées',
'dernieres_chroniques' => 'Dernières chroniques',
'au_programme' => 'Au programme',
@ -39,6 +40,19 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
'musiques' => 'Musiques',
'licence' => 'Licence',
// page configuration
'titre_page_configurer' => 'Configuration particulière pour <strong>Libre à vous !</strong>',
'options_libreavous' => 'Options <strong>Libre à vous !</strong>',
'page_accueil' => 'Page Accueil',
'les_emissions' => 'Les émissions',
'licence_label' => 'Licence',
'licence_explications' => 'Le texte est présent sur chaque page démission, tout en bas.',
'selectionaccueil' => 'Sélection démissions en page accueil',
'selectionaccueil_explications' => 'Sous le bloc de la prochaine émission, la sélection met en avant quelques émissions pour orienter les premières visites...',
'selection_d_emissions' => 'Sélection',
'selectionaccueiltitre_label' => 'Le titre de cette sélection.',
'selectionaccueiltitre_explications' => 'Par défaut <strong>Sélection</strong>',
'diffusee_le' => 'Diffusée le',
'diffusee_en_direct_le' => 'Diffusée en direct ',
'toutes_les_emissions' => 'Toutes les émissions',

View File

@ -1,7 +1,7 @@
<paquet
prefix="libreavous"
categorie="squelette"
version="1.3.4"
version="1.3.6"
schema="0.1.11"
etat="stable"
compatibilite="[3.2.8;4.1.*]"
@ -30,6 +30,6 @@
<pipeline nom="objet_compte_enfants" inclure="libreavous_pipelines.php" />
<pipeline nom="affiche_milieu" inclure="libreavous_pipelines.php" />
<!-- <menu nom="configurer_librealire" titre="librealire:options_lal" parent="menu_squelette" icone="images/baz_april-16.png" /> -->
<menu nom="configurer_libreavous" titre="libreavous:options_libreavous" parent="menu_squelette" icone="images/baz_april-16.png" />
</paquet>

View File

@ -3,11 +3,11 @@
<BOUCLE_annonce(ARTICLES){page=annonce}>
<article class="annonce texte_accueil">
<header class="cartouche">
<h1><span class="#EDIT{titre} article__titre">[(#TITRE)]</span>[
<small class="#EDIT{soustitre} soustitre">(#SOUSTITRE)</small>
]</h1>
</header>
[(#PS|oui)<div class="flex flex2">]
<div class="main">
@ -28,7 +28,7 @@
<BOUCLE_emissions(RUBRIQUES){composition=emissions}>[(#REM)
on détermine la dernière émission même si la date est dans le futur, forcée par statut=publie
]<BOUCLE_quand(ARTICLES){id_rubrique}{!par date}{statut=publie}{0,1}>[(#REM)
on connait la date de publication, donc on determine début_emission et fin_emission
on connait la date de publication, donc on determine début_emission et fin_emission
ensuite inclusion en statique pour la gestion du cache indépendante - à vérifier...
]
[(#SET{debut_emission,[(#DATE|annee)-][(#DATE|mois)-][(#DATE|jour|libreavous_aveczerod) ]15:30:00})]
@ -72,7 +72,76 @@ ensuite inclusion en statique pour la gestion du cache indépendante - à vérif
<INCLURE{fond=inclure/derniere_emission,prochaine=#GET{prochaine}} />
</div>
]
<B_selection>
<div class="liste articles emissions emissions_selectionaccueil">
<h2>[(#CONFIG{libreavous/selectionaccueiltitre}|sinon{<:libreavous:selection_d_emissions:>}) ]<span class="controlcarousel"><span class="avant disabled"></span><span class="ensuite"></span></span></h2>
<div class="owl-theme owl-carousel [ (#TOTAL_BOUCLE|>={3}|oui)owlselectionaccueil]">
<BOUCLE_selection(ARTICLES){id_article IN #CONFIG{libreavous/selectionaccueil}|picker_selected{article}}>
<div data-item="#COMPTEUR_BOUCLE"><INCLURE{fond=inclure/resume/emission,id_article} /></div>
</BOUCLE_selection>
</div>
[(#TOTAL_BOUCLE|>={3}|oui)
<script>
jQuery(function($){
var owl = $('.owl-carousel');
owl.owlCarousel({
loop:false,
margin:30,
items: 3,
slideBy: 3,
dots: false,
nav: false,
onTranslated: callback,
responsive : {
// breakpoint from 0 up
0 : {
items: 1,
},
// breakpoint from 480 up
560 : {
items: 2,
},
// breakpoint from 768 up
768 : {
items: 3,
}
}
});
// Go to the next item
$('.ensuite').click(function() {
owl.trigger('next.owl.carousel');
})
// Go to the previous item
$('.avant').click(function() {
owl.trigger('prev.owl.carousel');
// owl.trigger('prev.owl.carousel', [100]);
})
function callback(event) {
var totalItems = $('.owl-item').length;
var firstitemactive = $('.owl-item.active').first().find('div').attr('data-item');
var lastitemactive = $('.owl-item.active').last().find('div').attr('data-item');
if (lastitemactive == totalItems) {
$('.ensuite').addClass('disabled');
}
if (lastitemactive < totalItems) {
$('.ensuite').removeClass('disabled');
}
if (firstitemactive == 1) {
$('.avant').addClass('disabled');
}
if (firstitemactive > 1) {
$('.avant').removeClass('disabled');
}
}
});
</script>
]
</div>
</B_selection>
<INCLURE{fond=inclure/liste/emissions-precedentes,ajax,env,nb=6,prochaine=#GET{prochaine}} />
[(#MODELE{bouton,lienobjet=rubrique,lienidobjet=1,class=center taille130,texte=Toutes les émissions})]

View File

@ -1,6 +1,6 @@
#CACHE{0}
<BOUCLE_emissions(RUBRIQUES){composition=emissions}><B_e><div class="liste articles emissions emissions_precedentes">#ANCRE_PAGINATION
<h2><:libreavous:emissions_precedentes:></h2>
<h2><:libreavous:emissions_diffusees:></h2>
<ul>
<BOUCLE_e(ARTICLES){id_rubrique}{id_article!=#ENV{prochaine}}{!par date}{date < #ENV{date}}{1,#ENV{nb,10000}}{pagination #ENV{parpage,10}}>
<li><INCLURE{fond=inclure/resume/emission,id_article} /></li>

View File

@ -1,8 +1,8 @@
<BOUCLE_chronique(CHAPITRES){id_chapitre}>
<BOUCLE_article(ARTICLES){id_article}>
<article class="emission-resume article-resume">
<article class="emission-resume article-resume" id="chronique#_chronique:ID_CHAPITRE">
<div class="texte_content">
<div class="cartouche">
<p class="article__infos">
<a href="#URL_ARTICLE" class="sansbordure"><span class="num_emission #EDIT{surtitre}">#[(#SURTITRE)]</span></a>
@ -10,9 +10,10 @@
[<span class="duree"> | <:libreavous:duree:> : (#DEBUT|libreavous_duree{#FIN}|libreavous_sanszeroh)</span>]]
<a href="#URL_ARTICLE" class="btn taille80 blanc"><:libreavous:page_de_l_emission:></a>
</p>
<h1 class="#EDIT{titre} h2">[(#_chronique:TITRE)]</h1>
<BOUCLE_postmeta(ARTICLES){id_article}>
[(#SESSION{id_auteur}|oui)[<small style="float: right;"><a href="(#URL_ECRIRE{chapitre}|parametre_url{id_chapitre,#ID_CHAPITRE})">modifier</a></small>]]
<h1 class="h2">[(#_chronique:TITRE)[ <a href="(#SELF|ancre_url{chronique#_chronique:ID_CHAPITRE})]"><i class="fas fa-link"></i></a>]</h1>
<div class="postmeta">
#MODELE{article_traductions}
<BOUCLE_groupes(GROUPES_MOTS){par titre}>
@ -25,14 +26,14 @@
</B_tags>
</BOUCLE_groupes>
</div>
</BOUCLE_postmeta>
</div>
[<div class="references_sujet #EDIT{references_sujet}">
(#REFERENCES_SUJET|propre)
</div>]
</div>
<div class="texte_aside">[
(#OGG|non)<:libreavous:le_podcast_sera_bientot_disponible:>][
(#OGG|oui)<ul class="telecharger">
@ -41,7 +42,7 @@
</ul>]
[<a href="(#PODCAST_TRANSCRIPTION)" class="btn taille80 blanc" target="_blank" rel="noreferrer noopener" title="Lien vers la transcription (nouvelle fenêtre)">Transcription</a>]
</div>
</article>
</BOUCLE_article>
</BOUCLE_chronique>

View File

@ -1,5 +1,5 @@
$(function() {
// $('.header_menu .abonnement label.btn').on('click', function(){
// $(this).siblings('#email').toggleClass('vu');
// $(this).parent().siblings('button').toggleClass('vu');

View File

@ -264,7 +264,8 @@ html .formulaire_spip input[type="text"] {
.texte_accueil {
.page_content > article&:not(.annonce) {
margin-bottom:0;
padding-right:2rem;
margin-top: 4rem;
padding-right:2rem;
}
background-color: white;
.main {
@ -881,6 +882,13 @@ a:hover .fab, a:hover .fas {
small {
display: inline-block;
}
a:hover .fa-link {
opacity: 1;
}
}
.fa-link {
font-size: 0.7em;
opacity: 0.2;
}
}
@ -974,6 +982,10 @@ a:hover .fab, a:hover .fas {
}
> h2 {
margin-bottom: 0.6rem;
@media (max-width:460px) {
margin-left: -2rem;
margin-right: -2rem;
}
}
> ul {
list-style: none;
@ -1013,6 +1025,96 @@ a:hover .fab, a:hover .fas {
padding: 1rem;
width: auto;
}
&.emissions_selectionaccueil {
position: relative;
.controlcarousel {
display: inline-block;
}
.avant {
@include triangle(left, white, 0.4em);
}
.ensuite {
@include triangle(right, white, 0.4em);
}
.avant, .ensuite {
display: inline-block;
margin: 0 0.2em;
cursor: pointer;
&.disabled {
opacity: 0.5;
cursor: default;
}
}
.owl-carousel {
margin: 0 -4rem;
width: auto;
@media (max-width:768px) {
margin: 0 -2rem;
}
article {
padding: 0 1rem;
h1 small, .texte_aside, .podcast, .sujets {
display: none;
opacity: 0;
}
&:hover {
.sujets, .btn.blanc {
/* display: block; */
/* opacity: 1; */
/*
position: absolute;
top: 100%;
background: white;*/
}
}
.article__infos {
margin: 0 0 1rem -1rem;
position: static;
.btn.blanc {
position: absolute;
bottom: 1rem;
right: 0;
}
}
.texte_content {
position: relative;
min-height: 320px;
}
}
.owl-nav {
font-size: 6rem;
button.owl-prev, button.owl-next {
color: white;
position: absolute;
top: -2rem;
right: -4rem;
line-height: 1;
background: none !important;
@media(max-width:768px) {
right: -2.5rem;
}
span {
display: block;
}
}
button.owl-prev {
left: -4rem;
@media(max-width:768px) {
left: -2.5rem;
}
}
}
}
}
.emission-resume.article-resume h1 {
margin-top: 0.8em;
margin-bottom: 1.5em;
small {
display: block;
}
}
}
.liste.emissions.chroniques {
> ul > li {
@ -1025,7 +1127,7 @@ a:hover .fab, a:hover .fas {
}
.emission_heroine.emission-resume.article-resume {
margin-bottom:4rem;
/* margin-bottom:4rem; */
padding-bottom: 2rem;
.article__infos {
margin: 0 0 0 -4rem;