Compare commits
No commits in common. "master" and "v2.5.12" have entirely different histories.
|
@ -1,106 +1,92 @@
|
|||
<?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 .= "<p>" . _T("abomailmans:message_confirm_suite") . "</p>";
|
||||
|
||||
if ($probleme==false) {
|
||||
return array('message_ok' => $message);
|
||||
} else {
|
||||
return array('message_erreur' => $message_listes);
|
||||
}
|
||||
}
|
|
@ -1,10 +1,10 @@
|
|||
<paquet
|
||||
prefix="baz_april"
|
||||
categorie="squelette"
|
||||
version="2.5.14"
|
||||
version="2.5.12"
|
||||
schema="1.0.1"
|
||||
etat="stable"
|
||||
compatibilite="[3.2.0;4.2.*]"
|
||||
compatibilite="[3.2.0;4.1.*]"
|
||||
logo="prive/themes/spip/images/baz_april-64.png"
|
||||
documentation=""
|
||||
>
|
||||
|
@ -25,7 +25,7 @@
|
|||
<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" />
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
[<nav class="pagination">(#PAGINATION)</nav>]
|
||||
</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>
|
||||
|
|
|
@ -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>
|
|
@ -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>
|
||||
|
|
|
@ -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)]][(#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">
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue