Compare commits

..

No commits in common. "master" and "v2.5.9" have entirely different histories.

22 changed files with 350 additions and 288 deletions

View File

@ -18,7 +18,6 @@ $GLOBALS['z_blocs'] = array(
'aside',
'connex',
'footer',
'head_js',
);
define('_CONTENT_WIDTH', 990);

View File

@ -1,8 +1,8 @@
#CACHE{0}
<div class="formulaire_spip formulaire_#FORM" id="formulaire_#FORM[_(#ENV{id_abomailman})]">
[<div class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</div>]
[<div class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</div>]
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
[(#ENV*{editable}|oui)
<form method='post' action='#ENV{action}'>

View File

@ -1,106 +1,94 @@
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
include_spip('base/abstract_sql');
// chargement des valeurs par defaut des champs du formulaire
function formulaires_abomailman_mini_une_liste_charger_dist($id_abomailman = ""){
//initialise les variables d'environnement pas defaut
$valeurs = array('email');
// On verifie que la liste est bien accessible
if (! sql_getfetsel('id_abomailman','spip_abomailmans','id_abomailman ='.intval($id_abomailman).' AND desactive = 0')) {
spip_log("Le numero de liste n'est pas valable : $id_abomailman","abomailmans");
$valeurs['message_erreur'] = _T("abomailmans:liste_non_existante");
}
return $valeurs;
}
function formulaires_abomailman_mini_une_liste_verifier_dist($id_abomailman = ""){
//initialise le tableau des erreurs
$erreurs = array();
// Faire une fonction de verif sur le mail pour validite
$email = _request('email');
if($email == ''){
$erreurs['erreur_email'] = _T("abomailmans:email_oublie");
spip_log("Aucun email n'est insere","abomailmans");
}
else{
include_spip('inc/filtres'); # pour email_valide()
if (!email_valide($email)){
$erreurs['erreur_email'] = _T("abomailmans:email_valide");
spip_log("Email non valide $email","abomailmans");
}
else{
spip_log("Email = $email;","abomailmans");
}
}
//message d'erreur
if (count($erreurs)) {
$erreurs['message_erreur'] .= _T('abomailmans:verifier_formulaire');
}
return $erreurs; // si c'est vide, traiter sera appele, sinon le formulaire sera resoumis
}
function formulaires_abomailman_mini_une_liste_traiter_dist($id_abomailman = ""){
include_spip('inc/abomailmans');
function baz_april_abo() {
$nom = _request('nom');
$email = _request('email');
// Antispam basique :
// si l'input invisible a ete renseigne, ca ne peut etre qu'un bot
if (strlen(_request('nobot'))){
return array('message_erreur'=>_T('abomailmans:erreur_nobot'));
}
$message = null;
// on initialise l'envoi
// on traite chaque liste via une fonction reutilisable ailleurs
// on passe abonnement a true d'office
$traiter = abomailman_traiter_abonnement($id_abomailman,true);
$titre = $traiter[0];
$proprio_email = $traiter[1];
$liste_email = $traiter[2];
$sujet = $traiter[3];
$body = "$nom - $email ".$traiter[4];
$headers = $traiter[5];
if (abomailman_mail($nom, $email, $proprio_email, $liste_email, $sujet, $body, $headers)){
$message_listes .= "<p><strong>$titre</strong><p>";
} else {
$message_listes .= "<p><strong>". _T('pass_erreur_probleme_technique')."</strong></p>";
$probleme=true;
}
$message .= "<p>" . _T("abomailmans:message_confirm_suite") . "</p>";
if ($probleme==false) {
return array('message_ok' => $message);
} else {
return array('message_erreur' => $message_listes);
}
}
// conditionner l'action au rechargement de la page
// https://contrib.spip.net/NoSPAM#S-assurer-que-l-internaute-recharge-la-page-avant-de-lancer-l-action
include_spip('inc/nospam');
if (function_exists('nospam_confirm_action_html')) {
$html_confirm = nospam_confirm_action_html("baz_april_abo", "action abomailmans", $args);
$res['message_ok'] .= $html_confirm;
}
else {
// ICI lancer normalement mafonction()
baz_april_abo();
}
}
<?php
if (!defined("_ECRIRE_INC_VERSION")) return;
include_spip('base/abstract_sql');
// chargement des valeurs par defaut des champs du formulaire
function formulaires_abomailman_mini_une_liste_charger_dist($id_abomailman = ""){
//initialise les variables d'environnement pas defaut
$valeurs = array('email');
// On verifie que la liste est bien accessible
if (! sql_getfetsel('id_abomailman','spip_abomailmans','id_abomailman ='.intval($id_abomailman).' AND desactive = 0')) {
spip_log("Le numero de liste n'est pas valable : $id_abomailman","abomailmans");
$valeurs['message_erreur'] = _T("abomailmans:liste_non_existante");
}
return $valeurs;
}
function formulaires_abomailman_mini_une_liste_verifier_dist($id_abomailman = ""){
//initialise le tableau des erreurs
$erreurs = array();
// Faire une fonction de verif sur le mail pour validite
$email = _request('email');
if($email == ''){
$erreurs['erreur_email'] = _T("abomailmans:email_oublie");
spip_log("Aucun email n'est insere","abomailmans");
}
else{
include_spip('inc/filtres'); # pour email_valide()
if (!email_valide($email)){
$erreurs['erreur_email'] = _T("abomailmans:email_valide");
spip_log("Email non valide $email","abomailmans");
}
else{
spip_log("Email = $email;","abomailmans");
}
}
//message d'erreur
if (count($erreurs)) {
$erreurs['message_erreur'] .= _T('abomailmans:verifier_formulaire');
}
return $erreurs; // si c'est vide, traiter sera appele, sinon le formulaire sera resoumis
}
function formulaires_abomailman_mini_une_liste_traiter_dist($id_abomailman = ""){
include_spip('inc/abomailmans');
$nom = _request('nom');
$email = _request('email');
// Antispam basique :
// si l'input invisible a ete renseigne, ca ne peut etre qu'un bot
if (strlen(_request('nobot'))){
return array('message_erreur'=>_T('abomailmans:erreur_nobot'));
}
$message = null;
// on initialise l'envoi
// on traite chaque liste via une fonction reutilisable ailleurs
// on passe abonnement a true d'office
$traiter=abomailman_traiter_abonnement($id_abomailman,true);
$titre = $traiter[0];
$proprio_email=$traiter[1];
$liste_email=$traiter[2];
$sujet=$traiter[3];
$body="$nom - $email ".$traiter[4];
$headers=$traiter[5];
if (abomailman_mail($nom, $email, $proprio_email,$liste_email, $sujet, $body,$headers)){
$message_listes .= "<p><strong>$titre</strong><p>";
}else{
$message_listes .= "<p><strong>". _T('pass_erreur_probleme_technique')."</strong></p>";
$probleme=true;
}
$message .= $body."". _T("abomailmans:message_confirmation_unique_a");
$message .= $message_listes;
$message .= "<p>" . _T("abomailmans:message_confirm_suite") . "</p>";
if ($probleme==false)
return $message;
else
return $message_listes;
}
?>

View File

@ -11,20 +11,20 @@ $GLOBALS[ $GLOBALS['idx_lang'] ] = array(
'source' => 'Source',
'media_d_origine' => 'Média dorigine',
'lire' => 'Lire',
// C
'baz_april_titre' => 'baz april',
// T
'titre_page_configurer_baz_april' => 'Configuration',
'cfg_baz_april' => 'Configuration du jeu de squelettes<br />
'cfg_baz_april' => 'Configuration du jeu de squelettes<br />
APRIL - base',
'site_april' => 'Sites April ...',
'des_initiatives_april' => 'Des initiatives de lApril',
'actualites' => 'Actualités',
'archives' => 'Archives',
'articles_recents_du_site' => 'Articles publiés récemment sur ce site',
@ -32,22 +32,22 @@ $GLOBALS[ $GLOBALS['idx_lang'] ] = array(
'aucun_article_dans_cette_periode' => 'Aucun article durant cette période',
'tags' => 'Tags',
'tri_periodique' => 'Tri périodique',
'references' => 'Références',
'signaler_une_erreur' => 'Signaler une erreur, poser une question',
'memes_themes' => 'Transcriptions sur les mêmes thèmes :',
'memes_personnes' => 'Transcriptions avec les mêmes personnes :',
'ne_manquez_pas_les_infos' => 'Ne manquez pas les actus !',
'rechercher' => 'Rechercher dans le site',
's_inscrire_a_la_lettre_d_information' => 'Votre adresse courriel',
'commenter' => 'Commenter',
'configurer_explication' => '
<br />
<h3>Notes dutilisation et paramétrage de baz_april</h3>
@ -78,7 +78,7 @@ Pour les logos et cest valable pour tous les documents partout dans le site :
Le logo de "Libre à vous" est le document n°659 : dans lencart du logo en haut de la colonne gauche, faire ajouter un document "depuis la médiathèque" et taper "659" et valider.
{{Recadrage}} : il est possible de choisir le centre dintérêt dune image qui doit être recadrée : il y a une petite croix sur les vignettes dans lespace privé, il faut juste déplacé cette petite croix et le recadrage se fera autour de cet emplacement.
Donc limage peut bien être verticale ou horizontale, le recadrage carré sera centré sur lemplacement de la petite croix.
Donc limage peut bien être verticale ou horizontale, le recadrage carré sera centré sur lemplacement de la petite croix.
<hr />
@ -98,7 +98,5 @@ Par défaut, les résumés darticles sont composés des 180 premiers caractè
<h4>Page 404</h4>
Elle est gérée par une page unique.
',
'votre_recherche' => 'Votre recherche',
);

View File

@ -47,7 +47,7 @@ switch (_SERVEUR_MODE) {
ini_set('display_errors', 1);
define('_DEBUG_AUTORISER', true);
define('_LOG_FILTRE_GRAVITE', 8);
define('_TEST_EMAIL_DEST', 'courriel@domain.tld');
define('_TEST_EMAIL_DEST', 'nd@dataetic.fr');
define('_SCSS_SOURCE_MAP', true);
break;
case 'PROD':

View File

@ -1,10 +1,10 @@
<paquet
prefix="baz_april"
categorie="squelette"
version="2.5.14"
version="2.5.9"
schema="1.0.1"
etat="stable"
compatibilite="[3.2.0;4.2.*]"
compatibilite="[3.2.0;4.0.*]"
logo="prive/themes/spip/images/baz_april-64.png"
documentation=""
>
@ -13,19 +13,19 @@
<!-- base mutualisée des sites SPIP -->
<auteur>chankalan</auteur>
<auteur>Nicolas Dorigny (zboot)</auteur>
<licence>GNU/GPL</licence>
<credit lien="https://sasscss.org/#license-faqs">Sass CSS</credit>
<credit lien="https://fontawesome.io/license/">Font Awesome</credit>
<necessite nom="bigup"/>
<necessite nom="crayons"/>
<!-- <necessite nom="rang"/> -->
<necessite nom="tri_par_rubrique"/>
<necessite nom="scssphp"/>
<necessite nom="zcore"/>
<!-- <necessite nom="adaptive_images" /> -->
<necessite nom="adaptive_images" />
<necessite nom="centre_image"/>
<necessite nom="pages" />
<necessite nom="porte_plume_intertitres" />
@ -53,7 +53,7 @@
<chemin path="squelettes"/>
<chemin path="squelettes/scss"/>
<chemin path=""/>
<menu nom="configurer_baz_april" titre="baz_april:options" parent="menu_squelette" icone="images/baz_april-16.png" />
</paquet>

View File

@ -1,2 +1,60 @@
Base de squelettes pour les sites de l'APRIL
à partir de zboot : https://git.spip.net/spip-contrib-squelettes/zboot
Nécessite :
git clone https://git.spip.net/spip-contrib-extensions/z-core.git
git clone https://git.spip.net/spip-contrib-extensions/facteur.git
git clone https://git.spip.net/spip-contrib-extensions/saisies.git
git clone https://git.spip.net/spip-contrib-extensions/nospam.git
git clone https://git.spip.net/spip-contrib-extensions/scssphp.git
git clone https://git.spip.net/spip-contrib-extensions/cache.git
git clone https://git.spip.net/spip-contrib-extensions/crayons.git
git clone https://git.spip.net/spip-contrib-extensions/porte_plume_partout.git
git clone https://git.spip.net/spip-contrib-extensions/basicone.git
git clone https://git.spip.net/spip-contrib-extensions/mailcrypt.git
git clone https://git.spip.net/spip-contrib-extensions/feuillederoute.git
git clone https://git.spip.net/spip-contrib-extensions/compositions.git
git clone https://git.spip.net/spip-contrib-extensions/pages.git
git clone https://github.com/mistergraphx/porte_plume_intertitres.git
git clone https://git.spip.net/spip-contrib-extensions/tri_par_rubrique.git
git clone https://git.spip.net/spip-contrib-extensions/roles_documents.git
git clone https://git.spip.net/spip-contrib-extensions/menus.git
git clone https://git.spip.net/spip-contrib-extensions/sociaux.git
git clone https://git.spip.net/spip-contrib-extensions/centre_image.git
git clone https://git.spip.net/spip-contrib-extensions/yaml.git
git clone https://git.spip.net/spip-contrib-extensions/court-circuit.git
git clone https://git.spip.net/spip/bigup.git
git clone https://git.spip.net/spip-contrib-extensions/rang.git
git clone https://git.spip.net/spip-contrib-extensions/champs_extras_core.git
git clone https://git.spip.net/spip-contrib-extensions/sommaire.git
git clone https://git.spip.net/spip-contrib-extensions/abomailmans.git
git clone https://git.spip.net/spip-contrib-extensions/formidable.git
git clone https://git.spip.net/spip-contrib-extensions/fulltext.git

View File

@ -1,3 +0,0 @@
<BOUCLE_principale_article(ARTICLES){page=quatrecentquatre}>
<INCLURE{fond=structure,env,id_article,id_rubrique,id_secteur,type-page=article,composition=#COMPOSITION} />
</BOUCLE_principale_article>

View File

@ -4,9 +4,9 @@
[<div class="ps">
<div class="#EDIT{ps} article__ps">(#PS|image_reduire{#CONST{_CONTENT_WIDTH},0})</div>
</div>]
[(#REM) Articles dans la meme rubrique ]
<INCLURE{fond=inclure/liste/articles-resume, env, ajax, parpage=5, debut_articlesdate=@#ID_ARTICLE, debut_articles=@#ID_ARTICLE} />
<INCLURE{fond=inclure/liste/articles-resume,env,ajax,parpage=5} />
[(#PS|ou{#GET{plusdun}|=={oui}}|oui)</aside>]
</BOUCLE_article>

View File

@ -11,18 +11,7 @@
<aside>
[(#REM) Articles lies au mot-cle ]
<B_articles>
<div class="liste articles">#ANCRE_PAGINATION
<h2 class="h2"><:baz_april:articles_lies:></h2>
<ul class="liste-items">
<BOUCLE_articles(ARTICLES){id_mot}{lang}{!par date}{pagination 10}>
<li class="item"><INCLURE{fond=inclure/resume/article, id_article, env, h=h3, expose=#EXPOSE} /></li>
</BOUCLE_articles>
</ul>
[<nav class="pagination" role="pagination">(#PAGINATION{page})</nav>]
</div>
</B_articles>
<INCLURE{fond=inclure/liste/articles-resume,env,ajax,id_mot,titre=<:baz_april:articles_lies:>} />
[(#REM) Rubriques liees au mot-cle ]
<B_rubriques>

View File

@ -9,11 +9,33 @@
<div class="main">
[<div class="#EDIT{texte} chapo">(#TEXTE|adaptive_images{#CONST{_CONTENT_WIDTH}})</div>]
[(#REM) inclure en ajax la liste des articles]
<INCLURE{fond=inclure/liste/articles-blog, env, ajax} />
#SET{'debut_mois', (#ENV{datetri}|baz_moisdecal{0,'Y-m-d'})}
#SET{'fin_mois', (#ENV{datetri}|baz_moisdecal{1,'Y-m-d'})}
<B_articlesdate>
<div class="liste articles blog">
[<h2 class="h2[ (#ENV{datetri}|oui)date]">(#ENV{datetri}|affdate{nom_mois})[(#ENV{datetri}|affdate{Y}|!={[(#VAL{Y}|date)]}|oui)[ (#ENV{datetri}|affdate{Y})]]</h2>]
<ul class="liste-items">
<BOUCLE_articlesdate(ARTICLES){si #ENV{datetri}|?{' '}}{date < #GET{fin_mois}}{date >= #GET{debut_mois}}{id_rubrique}{tri_rubrique}>
<li class="item clearfix">#INCLURE{fond=inclure/resume/article,id_article,env,composition=blog,h=h3,pagination=oui}</li>
</BOUCLE_articlesdate>
</ul>
</div>
</B_articlesdate>
<div class="liste articles blog">
[<h2 class="h2[ (#ENV{datetri}|oui)date]"><:baz_april:aucun_article_dans_cette_periode:> : (#ENV{datetri}|affdate{nom_mois})[(#ENV{datetri}|affdate{Y}|!={[(#VAL{Y}|date)]}|oui)[ (#ENV{datetri}|affdate{Y})]]</h2>]
<B_articles>#ANCRE_PAGINATION
<ul class="liste-items">
<BOUCLE_articles(ARTICLES){id_rubrique}{lang}{tri_rubrique}{pagination 10}>
<li class="item clearfix">#INCLURE{fond=inclure/resume/article,id_article,env,composition=blog,h=h3,pagination=oui}</li>
</BOUCLE_articles>
</ul>
[<div class="pagination">(#PAGINATION)</div>]
</B_articles>
</div>
<//B_articlesdate>
[(#REM) pour les sous-rubriques, on utilise le modele <rubriqueXX|rubriques> dans le texte si on veut]
</div><!-- .main -->
<aside>

View File

@ -1,4 +0,0 @@
[(#REM)
Ce bloc permet l'insertion de JS specifiques a une page
]

View File

@ -1,26 +0,0 @@
<BOUCLE_rubrique(RUBRIQUES){id_rubrique}>
#SET{'debut_mois', (#ENV{datetri}|baz_moisdecal{0,'Y-m-d'})}
#SET{'fin_mois', (#ENV{datetri}|baz_moisdecal{1,'Y-m-d'})}
<B_articlesdate>
<div class="liste articles blog">
[<h2 class="h2[ (#ENV{datetri}|oui)date]">(#ENV{datetri}|affdate{nom_mois})[(#ENV{datetri}|affdate{Y}|!={[(#VAL{Y}|date)]}|oui)[ (#ENV{datetri}|affdate{Y})]]</h2>]
<ul class="liste-items">
<BOUCLE_articlesdate(ARTICLES){si #ENV{datetri}|?{' '}}{date < #GET{fin_mois}}{date >= #GET{debut_mois}}{id_rubrique}{tri_rubrique}>
<li class="item clearfix">#INCLURE{fond=inclure/resume/article,id_article,env,composition=blog,h=h3,pagination=oui}</li>
</BOUCLE_articlesdate>
</ul>
</div>
</B_articlesdate>
<div class="liste articles blog">
[<h2 class="h2[ (#ENV{datetri}|oui)date]"><:baz_april:aucun_article_dans_cette_periode:> : (#ENV{datetri}|affdate{nom_mois})[(#ENV{datetri}|affdate{Y}|!={[(#VAL{Y}|date)]}|oui)[ (#ENV{datetri}|affdate{Y})]]</h2>]
<B_articles>#ANCRE_PAGINATION
<ul class="liste-items">
<BOUCLE_articles(ARTICLES){id_rubrique}{lang}{tri_rubrique}{pagination 10}>
<li class="item clearfix">#INCLURE{fond=inclure/resume/article,id_article,env,composition=blog,h=h3,pagination=oui}</li>
</BOUCLE_articles>
</ul>
[<nav class="pagination">(#PAGINATION)</nav>]
</B_articles>
</div>
<//B_articlesdate>
</BOUCLE_rubrique>

View File

@ -1,12 +1,12 @@
<B_articles>
<div class="liste articles">#ANCRE_PAGINATION
<div class="liste_articles">#ANCRE_PAGINATION
[(#ENV{titre}|!={non}|oui)[<h2 class="h2">(#ENV{titre})</h2>]]
<ul class="liste-items[ (#ENV{liste_class})]">
<BOUCLE_articles(ARTICLES){id_rubrique!=-1}{id_rubrique?}{id_secteur?}{id_mot?}{lang}{tri_rubrique}{! par date}{0,#ENV{nb,1001}}{pagination #ENV{parpage,10}}>
<li class="item"><INCLURE{fond=inclure/resume/article, id_article, env, couper=#ENV{couper}, compteur=#COMPTEUR_BOUCLE, h=h3,pagination=oui,expose=#EXPOSE} /></li>
</BOUCLE_articles>
</ul>
[<nav class="pagination" role="pagination">(#PAGINATION{page})</nav>]
[<nav class="pagination" role="pagination">(#PAGINATION{page_precedent_suivant})</nav>]
[(#ENV{voirtous}|oui)#MODELE{bouton,lienobjet=#ENV{lienobjet}|sinon{rubrique},lienidobjet=#ENV{lienidobjet}|sinon{#ENV{id_rubrique}}|sinon{#ENV{id_secteur}},align=#ENV{align,right},class=voirtous #ENV{class},icone=#ENV{icone},texte=#ENV{voirtous}}]
</div>
</B_articles>

View File

@ -8,6 +8,6 @@
<li class="item clearfix"><INCLURE{fond=inclure/resume/rubrique,id_rubrique,recherche=#ENV{recherche},composition,env} /></li>
</BOUCLE_rubriques>
</ul>
[<nav class="pagination">(#PAGINATION)</nav>]
[<div class="pagination">(#PAGINATION)</div>]
</div>
</B_rubriques>

View File

@ -12,7 +12,7 @@
]
[(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui)</a>][(#LOGO_ARTICLE_NORMAL|oui)</div>]
<div class="article-resume__texte">
<[(#ENV{h,h2})] class="article-resume__titre"><a href="#URL_ARTICLE" class="[(#ENV{hero}|=={oui}|oui)[(#ENV{compteur}|=={1}|non)block-link]][(#ENV{hero}|=={oui}|non)block-link][ (#ENV{class_link})][ (#ENV{expose})]">#TITRE</a></[(#ENV{h,h2})]>
<[(#ENV{h,h2})] class="article-resume__titre"><a href="[(#ENV{pagination}|=={oui}|oui)[(#URL_ARTICLE|parametre_url{debut_articles,@#ID_ARTICLE})]][(#ENV{pagination}|!={oui}|oui)#URL_ARTICLE]" class="[(#ENV{hero}|=={oui}|oui)[(#ENV{compteur}|=={1}|non)block-link]][(#ENV{hero}|=={oui}|non)block-link][ (#ENV{class_link})][ (#ENV{expose})]">#TITRE</a></[(#ENV{h,h2})]>
[<p class="article-resume__soustitre">(#SOUSTITRE)</p>][(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui)[(#COMPOSITION|=={blog}|non)
<a href="#URL_ARTICLE" class="btn[ (#ENV{class_link})][ (#EXPOSE)]"><:baz_april:lire:></a>]]
[(#GET{date}|=={oui}|oui)<div class="article-resume__infos">

View File

@ -0,0 +1,36 @@
<BOUCLE_articles(ARTICLES) {id_article}>#SET{date,non}#SET{intro,non}[
(#COMPOSITION|=={blog}|oui)#SET{date,oui}#SET{intro,oui}][
(#COMPOSITION|=={blog}|non)#SET{date,non}#SET{intro,non}][
(#ENV{date}|=={oui}|oui)#SET{date,oui}][
(#ENV{intro}|=={oui}|oui)#SET{intro,oui}]
<article class="article-resume[ article-resume--(#ENV{class})] block-link-parent[(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui) hero]">
[(#LOGO_ARTICLE_NORMAL|oui)<div class="article-resume__logo">][(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui)<a href="#URL_ARTICLE" title="#TITRE">]
[(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui)
[(#LOGO_ARTICLE_NORMAL|sinon{#CHEMIN{images/nologo.png}}|image_recadre{#CONST{_IMAGE_RATIO}, -, focus}|image_reduire{240})]
][(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|non)
[(#LOGO_ARTICLE_NORMAL|sinon{#CHEMIN{images/nologo.png}}|image_recadre{#CONST{_IMAGE_RATIO}, -, focus}|image_reduire{140})]
]
[(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui)</a>][(#LOGO_ARTICLE_NORMAL|oui)</div>]
<div class="article-resume__texte">
<[(#ENV{h,h2})] class="article-resume__titre"><a href="[(#ENV{pagination}|=={oui}|oui)[(#URL_ARTICLE|parametre_url{debut_articles,@#ID_ARTICLE})]][(#ENV{pagination}|!={oui}|oui)#URL_ARTICLE]" class="[(#ENV{hero}|=={oui}|oui)[(#ENV{compteur}|=={1}|non)block-link]][(#ENV{hero}|=={oui}|non)block-link][ (#ENV{class_link})][ (#ENV{expose})]">#TITRE</a></[(#ENV{h,h2})]>
[<p class="article-resume__soustitre">(#SOUSTITRE)</p>][(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui)[(#COMPOSITION|=={blog}|non)
<a href="#URL_ARTICLE" class="btn[ (#ENV{class_link})][ (#EXPOSE)]"><:baz_april:lire:></a>]]
[(#GET{date}|=={oui}|oui)<div class="article-resume__infos">
[<span class="article-resume__date">(#DATE|nom_jour|ucfirst) [(#DATE|affdate)]</span>]
</div>][(#GET{intro}|=={oui}|oui)
<div class="article-resume__intro">
[(#INTRODUCTION{#ENV{longueur,180}}|PtoBR)]
</div>][(#ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|ou{#COMPOSITION|=={blog}}|non|et{#ENV{lire}|=={oui}|oui})
<a href="#URL_ARTICLE" class="tp"><:baz_april:lire:></a>]
<BOUCLE_groupes(GROUPES_MOTS){si #ENV{compteur}|=={1}|et{#ENV{hero}|=={oui}}|oui}{par titre}>
<B_tags>
<p class="mots">
#TITRE <BOUCLE_tags(MOTS){id_article}{id_groupe}>
<a href="#URL_MOT">#TITRE</a>
</BOUCLE_tags>
</p>
</B_tags>
</BOUCLE_groupes>
</div>
</article>
</BOUCLE_articles>

View File

@ -1,43 +1,43 @@
.page_footer {
padding: ($spacer*1.5) 0;
color: white;
background-color: $couleurPrincipale;
padding:($spacer*1.5) 0;
color:white;
background-color:$couleurPrincipale;
p {
font-size: 0.8rem;
font-size:0.8rem;
}
a {
display: inline-block;
margin: 0 0.4em;
border: 0;
color: white;
display:inline-block;
margin:0 0.4em;
border:0;
color:white;
}
.page_connexplus {
@include clearfix;
padding-bottom: ($spacer*1.5);
padding-bottom:($spacer*1.5);
a {
color: $grayDark;
color:$grayDark;
}
}
.menus_footer {
@include flex;
justify-content: space-between;
font-size: 0.8em;
justify-content: space-between;
font-size:0.8em;
.menu-liste {
flex-basis: 18%;
margin: 0 0 ($spacer*2);
list-style: none;
flex-basis:18%;
margin:0 0 ($spacer*2);
list-style:none;
.h4 {
margin: $spacer 0 0;
font-size: 1.15em;
color: $white;
margin:$spacer 0 0;
font-size:1.15em;
color:$white;
}
a { margin: 0; }
a { margin:0; }
}
}
.formulaire_spip.formulaire_recherche {
max-width: 100%;
margin-top: $spacer;
max-width:100%;
margin-top:$spacer;
input.placeholder,
textarea.placeholder {
color: $couleurPrincipale;
@ -57,28 +57,28 @@
}
}
.april { // logo april
float: right;
width: 80px;
margin-left: ($spacer*2);
float:right;
width:80px;
margin-left:($spacer*2);
}
.sociaux {
a {
display: inline-block;
font-size: 0.8em;
display:inline-block;
font-size:0.8em;
.socicon {
background: transparent;
background:transparent;
}
.name {
display: inline;
display:inline;
@include visuallyhidden;
}
}
}
.colophon {
.menu-liste {
display: inline;
display:inline;
.menu-entree {
display: inline;
display:inline;
}
}
}

View File

@ -31,7 +31,6 @@
display: flex;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
.on {
color: #FFF;
background-color: $couleur-lien;
@ -52,12 +51,19 @@
color: #838383;
}
@include media($bp-small) {
.pages .lien_pagination,
.pages .tbc {
display: none;
}
}
}
.pagination_ancre {
@include visuallyhidden;
padding: 0 !important;
margin: 0 !important;
padding:0 !important;
margin:0 !important;
}
.col .prev,
@ -69,31 +75,31 @@
.pagination, .aside .nav .pagination {
margin: 2em 0;
.pagination-items {
display: flex;
justify-content: center;
flex-wrap: wrap;
list-style: none;
display:flex;
justify-content:center;
flex-wrap:wrap;
list-style:none;
}
.pagination-item {
padding: 0;
background: none;
margin: 0 0.15em 0.5em;
padding:0;
background:none;
margin:0 0.15em 0.5em;
}
.pagination-items a, .pagination-items span.on {
display: inline-block;
text-decoration: none;
border: none;
padding: 0.5em;
display:inline-block;
text-decoration:none;
border:none;
padding:0.5em;
@include vendor-prefix(border-radius,0.25em);
font-size: 1em;
font-weight: 700;
line-height: 1.5;
color: $couleur-lien;
font-size:1em;
font-weight:700;
line-height:1.5;
color:$couleur-lien;
}
.pagination-items a:hover, .pagination-items span.on {
background: $grayLighter !important;
color: $couleur-lien-hover;
text-decoration: none;
background:$grayLighter !important;
color:$couleur-lien-hover;
text-decoration:none;
}
.tbc {
line-height: 2.4;

View File

@ -24,7 +24,7 @@
padding:0;
}
li {
display: inline;
display:inline;
line-height:1.2;
}
a {
@ -38,7 +38,7 @@
font-weight:400;
padding:0.5em;
margin:0.1rem 0.4rem;
color: white;
color:white;
border:0;
@include media($bp-medium) {
padding:0.8rem;
@ -65,27 +65,27 @@
top: 0px;
width: 100%;
height: 100%;
background: transparent;
background:transparent;
z-index:8;
cursor: pointer;
&.cache { display: block;}
cursor:pointer;
&.cache { display:block;}
}
// menu smart cf js/script.js
// ----------------------------------------
.btn-nav {
position: absolute;
position:absolute;
z-index:10;
right:$spacer;
top:0;
padding:0.4rem;
border:none;
background:$couleurPrincipale;
color: white;
color:white;
font-size:0.9em;
outline: none !important;
display: none;
outline:none !important;
display:none;
@media ($bp-medium) {
display: block;
display:block;
}
&.actif {
color:$couleurPrincipaleDowner;
@ -95,30 +95,30 @@
/* header = nav-principale */
.page_header > .page_container {
.nav {
padding-top: ($spacer/2);
padding-top:($spacer/2);
font-size:0.95rem;
@include media($bp-medium-up) {
position: relative;
position:relative;
}
> ul {
text-align: right;
text-align:right;
@include vendor-prefix(transition,all 0.3s ease-in-out);
@media ($bp-medium) {
position: absolute;
position:absolute;
background:$couleurPrincipale;
width:100%;
top:36px;
left:-100%;
padding:$spacer/2 $spacer;
text-align: center;
text-align:center;
z-index:10;
&.ouvert{
left:0;
}
a {
color: white;
color:white;
border:0;
display: block;
display:block;
margin:0;
padding:0.5rem;
&:hover, &:focus, &.on {
@ -126,20 +126,20 @@
}
}
li {
display: block;
display:block;
}
.loupe {
.fas {
color: white;
color:white;
}
.formulaire_recherche.vu {
right:50%;
margin-right:-160px;
max-width: 320px;
max-width:320px;
form {
padding:0.5rem;
&:before {
display: none;
display:none;
}
}
}
@ -147,18 +147,18 @@
}
.loupe {
position: relative;
display: inline-block !important;
position:relative;
display:inline-block !important;
/* width: em(26px); */
/* height: em(26px); */
span {
@include visuallyhidden;
}
a {
display: inline;
display:inline;
padding:0;
border:0;
background: none;
background:none;
&:hover i.fa-search, &:focus i.fa-search {
background-color:$couleurSecondaire;
}
@ -171,12 +171,12 @@
color:white;
}
.formulaire_recherche {
position: absolute;
height: auto;
width: em(350px);
max-width: em(350px);
position:absolute;
height:auto;
width:em(350px);
max-width:em(350px);
top:-1000px;
left: auto;
left:auto;
right:0;
border-radius: $spacer/2;
z-index:2;
@ -205,7 +205,7 @@
.nav {
padding:0;
li {
display: block;
display:block;
}
a {
width:100%;
@ -245,22 +245,22 @@
color:white;
z-index:9;
.btn-initiatives {
font-size: 0.8rem;
display: none;
padding: 0.5rem;
font-size:0.8rem;
display:none;
padding:0.5rem;
margin-left:-$spacer;
background:$couleurPrincipale;
color:white;
@media ($bp-medium) {
display: block;
display:block;
}
}
.nav {
font-size:0.8rem;
background:$couleurPrincipale;
@media ($bp-medium) {
position: absolute;
width: 100%;
position:absolute;
width:100%;
top:36px;
left:-100%;
@include vendor-prefix(transition,all 0.3s ease-in-out);
@ -268,7 +268,7 @@
left:0;
}
ul, .initiatives {
display: inline;
display:inline;
}
li {
margin:0;
@ -287,7 +287,7 @@
float:right;
padding:0.5em;
@media ($bp-medium) {
display: none;
display:none;
}
}
.initiatives_april {
@ -295,20 +295,20 @@
}
// un sous-menu dans initiatives : .menu-entree.sousinitiatives > .menu-items__lien.sousinitiatives
.menu-entree.sousinitiatives {
position: relative;
position:relative;
> ul {
@include media($bp-medium-up) {
position: absolute;
position:absolute;
top:-999em;
left:0;
width:150px;
&.ouvert {
top:23px;
li {
display: block;
display:block;
background:$couleurPrincipale;
a {
display: block;
display:block;
}
}
}
@ -316,7 +316,7 @@
}
@include media($bp-medium) {
.menu-items__lien.sousinitiatives {
display: none;
display:none;
}
}
}

View File

@ -272,7 +272,7 @@
@error "Direction must be either `top`, `right`, `bottom` or `left`.";
}
display: block;
display:block;
width: 0;
height: 0;
content: '';

View File

@ -6,7 +6,6 @@
<meta http-equiv="Content-Type" content="text/html; charset=#CHARSET" />
<INCLURE{fond=head/#ENV{type-page},env}>
<INCLURE{fond=inclure/head}>
<INCLURE{fond=head_js/#ENV{type-page},env}>
</head>
<INCLURE{fond=body,env}>
</html>