Compare commits
2 commits
master
...
creer_visi
Author | SHA1 | Date | |
---|---|---|---|
|
e3124e532c | ||
|
58ea518b13 |
18 changed files with 38 additions and 348 deletions
|
@ -1,23 +0,0 @@
|
|||
<?php
|
||||
if (!defined('_ECRIRE_INC_VERSION')) return;
|
||||
|
||||
function action_changer_statut_message_dist(){
|
||||
include_spip('inc/autoriser');
|
||||
if (!autoriser("modifier","message")) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$securiser_action = charger_fonction('securiser_action', 'inc');
|
||||
$args = $securiser_action();
|
||||
|
||||
list($id_message, $statut) = explode('-', $args);
|
||||
if (!intval($id_message) || !in_array($statut, ['prepa', 'prop', 'publie', 'poubelle'])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
sql_updateq('spip_messages', ['statut' => $statut], ['id_message=' . $id_message]);
|
||||
|
||||
// Cache
|
||||
include_spip('inc/invalideur');
|
||||
suivre_invalideur("id='messages/$id_message'");
|
||||
}
|
|
@ -28,7 +28,6 @@ function gamucontact_declarer_tables_interfaces($interfaces) {
|
|||
*/
|
||||
function gamucontact_declarer_tables_objets_sql($tables) {
|
||||
$tables['spip_messages'] = [
|
||||
'type' => 'message',
|
||||
'principale' => 'oui',
|
||||
'field'=> [
|
||||
'id_message' => 'bigint(21) NOT NULL',
|
||||
|
@ -38,12 +37,11 @@ function gamucontact_declarer_tables_objets_sql($tables) {
|
|||
'nom' => "varchar(255) NOT NULL",
|
||||
'telephone' => "varchar(55) NOT NULL",
|
||||
'email_contact' => "varchar(255) NOT NULL",
|
||||
'origine' => "tinytext NOT NULL",
|
||||
'type' => "varchar(25) NOT NULL DEFAULT ''",
|
||||
'date_heure' => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
|
||||
'date_fin' => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
|
||||
'rv' => "varchar(3) NOT NULL DEFAULT ''",
|
||||
'statut' => "varchar(10) NOT NULL DEFAULT '0'",
|
||||
'statut' => "varchar(6) NOT NULL DEFAULT '0'",
|
||||
'id_auteur' => "bigint(21) NOT NULL DEFAULT '0'",
|
||||
'destinataires' => 'text NOT NULL',
|
||||
'ip' => "varchar(50) NOT NULL DEFAULT '0'",
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
#CACHE{0}
|
||||
[(#AUTORISER{modifier,message}|sinon_interdire_acces)]
|
||||
|
||||
<h2><:gamucontact:changer_statut_messages:></h2>
|
||||
<div class="ajax">
|
||||
[(#FORMULAIRE_CHANGER_STATUT_MESSAGES{#ENV*{data}})]
|
||||
</div>
|
|
@ -1,8 +0,0 @@
|
|||
[(#REM)
|
||||
si pas 0minirezo neutraliser l'accès aux messages créés par le formulaire de contact
|
||||
via le scaffolding pour ?page=message
|
||||
|
||||
|
||||
][(#AUTORISER{0minirezo}|non) <INCLURE{fond=content/404,env} />
|
||||
][(#AUTORISER{0minirezo}|oui) <INCLURE{fond=inclure/vue_message,env} />]
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
[(#REM)
|
||||
intégrer le gamutable de gestion des messages
|
||||
|
||||
]<div class="inner_fluid mrm mlm mr-2 ml-2">
|
||||
<INCLURE{fond=inclure/inc_messages,env}>
|
||||
</div>
|
|
@ -1,30 +0,0 @@
|
|||
<style type="text/css" media="screen">
|
||||
.editer_dateInter{
|
||||
text-align: center;
|
||||
}
|
||||
#champ_dateInter{
|
||||
width: 120px;
|
||||
}
|
||||
</style>
|
||||
<div class="formulaire_spip formulaire_#FORM">
|
||||
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
|
||||
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
|
||||
|
||||
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{error_data})</p>]
|
||||
|
||||
<form name="formulaire_#FORM" action="#ENV{action}" method="post">
|
||||
<div class="flex justify-between align-items-center">
|
||||
#ACTION_FORMULAIRE{#ENV{action}}
|
||||
|
||||
[(#REM) SAISIE{radio, statut, label=Statut, data=#ARRAY{}} ]
|
||||
|
||||
<div class="mt-3">
|
||||
<button name="statut" type="submit" class="btn" value="publie"><i class="fa fa-check verte"></i> <:gamucontact:publier:></button>
|
||||
</div>
|
||||
<div class="mt-3">
|
||||
<button name="statut" type="submit" class="btn" value="poubelle"><i class="fa fa-trash rouge"></i> <:gamucontact:poubelle:></button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
|
@ -1,50 +0,0 @@
|
|||
<?php
|
||||
if (!defined('_ECRIRE_INC_VERSION')) {
|
||||
return;
|
||||
}
|
||||
|
||||
function formulaires_changer_statut_messages_charger_dist($data, $redirect = '') {
|
||||
$valeurs = [];
|
||||
|
||||
$data = json_decode($data,true);
|
||||
if (empty($data)) {
|
||||
$valeurs['error_data'] = 'Il faut avoir sélectionné au moins 1 message';
|
||||
}
|
||||
|
||||
return $valeurs;
|
||||
}
|
||||
|
||||
function formulaires_changer_statut_messages_verifier_dist($data, $redirect = '') {
|
||||
$erreurs = [];
|
||||
|
||||
$data = json_decode($data, true);
|
||||
if (empty($data)) {
|
||||
$erreurs['message_erreur'] = "Il faut avoir sélectionné au moins 1 message";
|
||||
}
|
||||
|
||||
$statut = _request('statut');
|
||||
|
||||
if (!in_array($statut, ['prepa', 'prop', 'publie', 'poubelle'])) {
|
||||
$erreurs['message_erreur'] = "Le statut envoyé n'est pas valide";
|
||||
}
|
||||
|
||||
return $erreurs;
|
||||
}
|
||||
|
||||
function formulaires_changer_statut_messages_traiter_dist($data, $redirect = '') {
|
||||
$statut = _request('statut');
|
||||
$data = json_decode($data,true);
|
||||
|
||||
$sql_in = sql_in('id_message', $data);
|
||||
sql_updateq('spip_messages', ['statut' => $statut], $sql_in);
|
||||
|
||||
// Cache
|
||||
include_spip('inc/invalideur');
|
||||
suivre_invalideur("id='messages/$data[0]");
|
||||
|
||||
$retour = [];
|
||||
$retour['redirect'] = "";
|
||||
$retour['message_ok'] = gamutable_fermer_modalbox();
|
||||
|
||||
return $retour;
|
||||
}
|
|
@ -10,13 +10,13 @@
|
|||
#ACTION_FORMULAIRE
|
||||
<input type='submit' class='btn submit' value='<:bouton_enregistrer:>' style="display:none;"/>
|
||||
|
||||
<fieldset id="destinataires">
|
||||
<legend><:gamucontacts:destinataires:></legend>
|
||||
<div class="editer_groupe">
|
||||
#SAISIE{input, liste_id_auteur, label=Destinaires auteurs SPIP, explication=une liste d'id_auteur séparés par des ;}
|
||||
#SAISIE{textarea, liste_emails, label=Destinaires sans compte auteur, explication=une liste d'emails séparés par des ;, rows=3}
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset id="destinataires">
|
||||
<legend><:gamucontacts:destinataires:></legend>
|
||||
<div class="editer_groupe">
|
||||
#SAISIE{input, liste_id_auteur, label=Destinaires auteurs SPIP, explication=une liste d'id_auteur séparés par des ;}
|
||||
#SAISIE{textarea, liste_emails, label=Destinaires sans compte auteur, explication=une liste d'emails séparés par des ;, rows=3}
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset id="telephone">
|
||||
<legend><:gamucontacts:telephone:></legend>
|
||||
<div class="editer_groupe">
|
||||
|
@ -24,13 +24,6 @@
|
|||
#SAISIE{radio, telephone_obligatoire, label=Obligatoire ?, data=#ARRAY{oui,Oui, '',Non} }
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset id="destinataires">
|
||||
<legend><:gamucontacts:interface_messages:></legend>
|
||||
<div class="editer_groupe">
|
||||
#SAISIE{radio, gamutable_afficher_type, label=Afficher le type, data=#ARRAY{oui, Oui, '', Non}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset id="anti-spam">
|
||||
<legend><:gamucontacts:antispam:></legend>
|
||||
<div class="editer_groupe">
|
||||
|
@ -38,7 +31,6 @@
|
|||
#SAISIE{radio, verif_ip, defaut=oui, data=#ARRAY{oui,Oui,non,Non}, label=Utilisation de l'IP stocké pour détecter un robot spammeur }
|
||||
#SAISIE{input, temps_verif_ip, defaut=300, label=Durée maximale entre 2 messages provenant de la meme IP}
|
||||
#SAISIE{input, temps_hash_ip, defaut=24, label=Durée avant hashage de l'IP dans la bdd }
|
||||
#SAISIE{radio, supprimer_si_arobase, defaut=oui, data=#ARRAY{oui,Oui,non,Non}, label=Pas d'envoi si précense d'un @ dans le corps du message }
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
|
|
|
@ -58,10 +58,6 @@ function formulaires_gamucontact_verifier_dist($id_auteur = 0, $redirect = '') {
|
|||
$erreurs['texte'] = _T('nospam:erreur_spam');
|
||||
}
|
||||
}
|
||||
$supprimer_si_arobase = lire_config('gamucontact/supprimer_si_arobase');
|
||||
if ($supprimer_si_arobase !== 'non' && strrchr($texte, '@')) {
|
||||
$erreurs['texte'] = _T('nospam:erreur_spam');
|
||||
}
|
||||
}
|
||||
|
||||
if (count($erreurs)) {
|
||||
|
@ -114,6 +110,33 @@ function formulaires_gamucontact_traiter_dist($id_auteur = 0, $redirect = '') {
|
|||
$set[$champ] = _request($champ);
|
||||
}
|
||||
}
|
||||
|
||||
// Enregistrement de l'expéditaur si demandé par la config
|
||||
if (lire_config('gamucontact/sauvegarder_contacts')) {
|
||||
// Il s'agit d'un visiteur : on va donc l'enregistrer dans la table auteur pour garder son mail.
|
||||
// Sauf s'il existe déjà.
|
||||
$id_aut = sql_getfetsel(
|
||||
'id_auteur',
|
||||
'spip_auteurs',
|
||||
'email = '.sql_quote($set['email_contact'])
|
||||
);
|
||||
if (!$id_aut) {
|
||||
$nom_auteur = trim($set['nom']);
|
||||
if (!$nom_auteur) {
|
||||
$nom_auteur = $set['email_contact'];
|
||||
}
|
||||
$id_aut = sql_insertq(
|
||||
'spip_auteurs',
|
||||
array(
|
||||
'nom' => $nom_auteur,
|
||||
'email' => $set['email_contact'],
|
||||
'statut' => 'contact'
|
||||
)
|
||||
);
|
||||
}
|
||||
$set['id_auteur'] = $id_aut;
|
||||
}
|
||||
|
||||
$set['date_heure'] = date("Y-m-d H:i:s");
|
||||
$set['statut'] = 'publie';
|
||||
$set['titre'] = _T('gamucontact:formulaire_contact');
|
||||
|
|
|
@ -29,10 +29,6 @@ function gamucontact_upgrade($nom_meta_base_version, $version_cible) {
|
|||
$maj['create'] = array(array('maj_tables', array('spip_messages')));
|
||||
$maj['1.0.5'] = array(array('maj_tables', array('spip_messages')));
|
||||
$maj['1.0.6'] = array(array('maj_tables', array('spip_messages')));
|
||||
$maj['1.0.7'] = array(array('maj_tables', array('spip_messages')));
|
||||
$maj['1.0.8'] = array(
|
||||
array('sql_alter', "TABLE spip_messages CHANGE statut statut VARCHAR(10) NOT NULL DEFAULT '0'"),
|
||||
);
|
||||
|
||||
include_spip('base/upgrade');
|
||||
maj_plugin($nom_meta_base_version, $version_cible, $maj);
|
||||
|
|
|
@ -18,11 +18,3 @@ if (!defined('_ECRIRE_INC_VERSION')) {
|
|||
* @pipeline autoriser */
|
||||
function gamucontact_autoriser() {
|
||||
}
|
||||
|
||||
/**
|
||||
* autorisation pour voir les messages : par défaut 0minirezo
|
||||
*
|
||||
**/
|
||||
function gamucontact_autoriser_messages_voir_dist($faire, $type, $id, $qui, $opt) {
|
||||
return in_array($qui['statut'], ['0minirezo']);
|
||||
}
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
[(#AUTORISER{voir,messages}|sinon_interdire_acces)]
|
||||
|
||||
#SET{url,#URL_PAGE{json_messages.json}}
|
||||
[(#SET{titre_un, <i class="fa fa-send"></i> <:gamucontact:messages_envoyes_site:>})]
|
||||
<div class="">
|
||||
<div class="gamucontact-gamutable">
|
||||
<INCLURE{fond=inclure/gamutable,
|
||||
titregamutable=#GET{titre_un},
|
||||
apiuri=#GET{url},
|
||||
tparpage=[25,50,'Tous'],
|
||||
champcsv="search",
|
||||
delimitercsv=";",
|
||||
namecsv="messages.csv",
|
||||
id_gamutable="id_premier",
|
||||
env
|
||||
}>
|
||||
</div>
|
||||
<style type="text/css">
|
||||
.gamutable table .filtreColonne .statut,
|
||||
.gamutable table .filtreColonne .nom,
|
||||
.gamutable table .filtreColonne .objet {
|
||||
border-left: 1px solid rgb(184, 184, 184);
|
||||
}
|
||||
.gamutable table .filtreColonne button {
|
||||
padding: .2rem;
|
||||
display: inline-flex;
|
||||
background-color: #f5f5f5;
|
||||
border: 1px solid #cecece;
|
||||
border-radius: 5px;
|
||||
margin-left: .5rem;
|
||||
}
|
||||
.gamutable table .filtreColonne button::after {
|
||||
content: "Valider";
|
||||
}
|
||||
</style>
|
|
@ -1,28 +0,0 @@
|
|||
[(#REM)
|
||||
afficher le contenu d'un message de contact
|
||||
si ENV{message_seul} on affiche que le texte
|
||||
|
||||
]<div class="inner">
|
||||
<BOUCLE_message(MESSAGES){id_message}{tout}>
|
||||
[(#ENV{message_seul}|non)
|
||||
<h2>Message n°[(#ID_MESSAGE)] <small>reçu le [(#DATE|affdate{d/m/Y à H:i:s})]</small></h2>
|
||||
<div class="objet">
|
||||
<strong>Objet :</strong> [(#OBJET)]
|
||||
</div>
|
||||
<div class="origine">
|
||||
<strong>Origine :</strong> <a class="small nowrap" href="[(#ORIGINE)]" title="Accéder à la page d'origine du message">[(#ORIGINE|couper{35})...]</a>
|
||||
</div>
|
||||
[<div class="formulaire">
|
||||
<strong>Formulaire :</strong> (#TITRE|replace{Formulaire de, ''})
|
||||
</div>]
|
||||
<div class="expediteur">
|
||||
<strong>Expéditeur :</strong> [(#NOM)]
|
||||
[<br><strong>Email :</strong> (#EMAIL_CONTACT)]
|
||||
[<br><strong>Téléphone :</strong> (#TELEPHONE)]
|
||||
</div>
|
||||
]
|
||||
<div class="texte">
|
||||
<strong>Message :</strong> [(#TEXTE)]
|
||||
</div>
|
||||
</BOUCLE_message>
|
||||
</div>
|
|
@ -1,118 +0,0 @@
|
|||
#HTTP_HEADER{Content-Type: application/json; charset=#CHARSET}
|
||||
[(#AUTORISER{voir,messages}|sinon_interdire_acces)]
|
||||
|
||||
[(#ENV{id}|setenv{id_message})]
|
||||
[{
|
||||
"header_top":{
|
||||
"Infos": {"class":"header_infos", "colspan": 4},
|
||||
"Statut": {"class":"header_statut", "colspan" :3},
|
||||
"Expéditeur": {"class":"header_exp", "colspan": 3},
|
||||
"Message": {"class":"message", "colspan": 2}
|
||||
},
|
||||
"header":{
|
||||
"id": "_",
|
||||
"date": "Date",
|
||||
"origine": "Origine",
|
||||
"formulaire": "Formulaire",
|
||||
[(#CONFIG{gamucontact/gamutable_afficher_type}|oui)
|
||||
"type": "Type",
|
||||
]
|
||||
"statut": " ",
|
||||
"actions_masse": " ",
|
||||
"actions": " ",
|
||||
"nom": "Expéditeur",
|
||||
"email_contact": "Email",
|
||||
"telephone": "Tel",
|
||||
"objet": "Objet",
|
||||
"message": "Message"
|
||||
},
|
||||
"checkbox": {
|
||||
"actions_masse": [(#URL_PAGE{changer_statut_messages}|json_encode)]
|
||||
},
|
||||
"crayons": {},
|
||||
"ordreCol" : {
|
||||
"date": "desc"
|
||||
},
|
||||
"filtreCol" : {
|
||||
"statut": "select",
|
||||
"formulaire": "select",
|
||||
"nom": "input",
|
||||
[(#CONFIG{gamucontact/gamutable_afficher_type}|oui)
|
||||
"type": "select",
|
||||
]
|
||||
"email_contact" : "input"
|
||||
},
|
||||
"filtreColValeurs" : {},
|
||||
"classes": {
|
||||
"id": "w80p",
|
||||
"objet": "minw250p span_g",
|
||||
"statut": "minw140p span_g",
|
||||
"formulaire": "w150p",
|
||||
"nom": "span_g"
|
||||
}
|
||||
}
|
||||
<B_messages>
|
||||
,
|
||||
<BOUCLE_messages(MESSAGES){','}{!par date_heure}>
|
||||
[(#SET{message, <a class="modalbox" href="[(#URL_PAGE{message, id_message=#ID_MESSAGE}|parametre_url{message_seul, oui})]" title="Afficher le texte complet du message"><i class="gt-eye"></i> [(#TEXTE*|couper{100})]</a>})]
|
||||
#SET{statut, #LISTE{prepa,prop,publie,poubelle}|str_replace{#LISTE{Brouillon,Proposé,Publié,Poubelle}, #STATUT}}
|
||||
#SET{formulaire, #TITRE|replace{Formulaire de, ''}}
|
||||
[(#SET{origine, [<a class="nowrap" href="(#ORIGINE)" title="Accéder à la page d'origine du message"><i class="gt-lien"></i> <:gamucontact:acces_page:></a>]})]
|
||||
|
||||
#SET{args,#ID_MESSAGE}
|
||||
[(#STATUT|!={publie}|oui)
|
||||
#SET{args, #GET{args}|concat{-}|concat{publie}}
|
||||
[(#SET{actions,
|
||||
<a class="url_action" data-id="#ID_MESSAGE" href="[(#URL_ACTION_AUTEUR{changer_statut_message,#GET{args}})]">
|
||||
<i title="Publier le message" class="gt-check fa-2x grise" aria-hidden="true"></i>
|
||||
</a>
|
||||
})]
|
||||
][(#STATUT|=={publie}|oui)
|
||||
#SET{args, #GET{args}|concat{-}|concat{poubelle}}
|
||||
[(#SET{actions,
|
||||
<a class="url_action" data-id="#ID_MESSAGE" href="[(#URL_ACTION_AUTEUR{changer_statut_message,#GET{args}})]">
|
||||
<i title="Passer à la poubelle le message" class="gt-trash fa-2x rouge" aria-hidden="true"></i>
|
||||
</a>
|
||||
})]
|
||||
]
|
||||
[(#SET{actions_masse, dataid-#ID_MESSAGE})]
|
||||
|
||||
{
|
||||
"html": {
|
||||
"id": #ID_MESSAGE,
|
||||
"date": [(#DATE_HEURE|affdate{d/m/Y H:i:s}|json_encode)],
|
||||
"origine": [(#GET{origine}|json_encode)],
|
||||
"formulaire": [(#GET{formulaire}|json_encode)],
|
||||
[(#CONFIG{gamucontact/gamutable_afficher_type}|oui)
|
||||
"type": [(#TYPE|json_encode)],
|
||||
]
|
||||
"statut": [(#GET{statut}|json_encode)],
|
||||
"actions_masse": [(#GET{actions_masse}|json_encode)],
|
||||
"actions": [(#GET{actions}|json_encode)],
|
||||
"nom": [(#NOM|json_encode)],
|
||||
"email_contact": [(#EMAIL_CONTACT|json_encode)],
|
||||
"telephone": [(#TELEPHONE|json_encode)],
|
||||
"objet": [(#OBJET|json_encode)],
|
||||
"message": [(#GET{message}|json_encode)]
|
||||
},
|
||||
"search": {
|
||||
"id": #ID_MESSAGE,
|
||||
"date": [(#DATE_HEURE|affdate{Y-m-d H:i:s}|json_encode)],
|
||||
"origine": [(#ORIGINE|json_encode)],
|
||||
"formulaire": [(#GET{formulaire}|json_encode)],
|
||||
[(#CONFIG{gamucontact/gamutable_afficher_type}|oui)
|
||||
"type": [(#TYPE|json_encode)],
|
||||
]
|
||||
"statut": [(#STATUT|json_encode)],
|
||||
"actions_masse": "",
|
||||
"actions": "",
|
||||
"nom": [(#NOM|json_encode)],
|
||||
"email_contact": [(#EMAIL_CONTACT|json_encode)],
|
||||
"telephone": [(#TELEPHONE|json_encode)],
|
||||
"objet": [(#OBJET|json_encode)],
|
||||
"message": [(#GET{message}|json_encode)]
|
||||
}
|
||||
}
|
||||
</BOUCLE_messages>
|
||||
]
|
||||
|
|
@ -14,7 +14,6 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
|
|||
'cfg_exemple' => 'Example',
|
||||
'cfg_exemple_explication' => 'Explication de cet exemple',
|
||||
'cfg_titre_parametrages' => 'Parameters',
|
||||
'changer_statut_messages' => 'Modify the status of selected messages?',
|
||||
|
||||
// EE
|
||||
'envoyer' => "Send",
|
||||
|
@ -27,7 +26,6 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
|
|||
|
||||
// M
|
||||
'message' => 'Message',
|
||||
'messages_envoyes_site' => 'Messages sent on the website',
|
||||
|
||||
// N
|
||||
'nom' => 'Name',
|
||||
|
|
|
@ -14,7 +14,6 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
|
|||
'cfg_exemple' => 'Exemple',
|
||||
'cfg_exemple_explication' => 'Explication de cet exemple',
|
||||
'cfg_titre_parametrages' => 'Paramétrages',
|
||||
'changer_statut_messages' => 'Modifier le statut des messages sélectionnés ?',
|
||||
|
||||
// EE
|
||||
'envoyer' => "Envoyer",
|
||||
|
@ -27,7 +26,6 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
|
|||
|
||||
// M
|
||||
'message' => 'Message',
|
||||
'messages_envoyes_site' => 'Messages envoyés sur le site',
|
||||
|
||||
// N
|
||||
'nom' => 'Nom',
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
[<a href="tel:(#ENV{tel})" class="btn mt-5 mb-5 mtm mbm">
|
||||
<i class="fa fa-phone"></i>[ (#ENV{titre, Contactez nous})]
|
||||
</a>]
|
|
@ -1,12 +1,12 @@
|
|||
<paquet
|
||||
prefix="gamucontact"
|
||||
categorie="communication"
|
||||
version="1.0.9"
|
||||
version="1.0.7"
|
||||
etat="test"
|
||||
compatibilite="[3.2.10;4.*]"
|
||||
logo="./gamucontact-xx.svg"
|
||||
documentation=""
|
||||
schema="1.0.8"
|
||||
schema="1.0.6"
|
||||
>
|
||||
<nom>GamuContact</nom>
|
||||
|
||||
|
@ -21,4 +21,5 @@
|
|||
|
||||
<pipeline nom="declarer_tables_objets_sql" inclure="base/gamucontact.php" />
|
||||
<pipeline nom="declarer_tables_interfaces" inclure="base/gamucontact.php" />
|
||||
|
||||
</paquet>
|
||||
|
|
Loading…
Add table
Reference in a new issue