WIP : ajout d'un Gamutable pour administrer les messages de contact et assimilés
This commit is contained in:
parent
5465c0c6b0
commit
5bcf3af1bd
8 changed files with 138 additions and 10 deletions
|
@ -28,6 +28,7 @@ function gamucontact_declarer_tables_interfaces($interfaces) {
|
||||||
*/
|
*/
|
||||||
function gamucontact_declarer_tables_objets_sql($tables) {
|
function gamucontact_declarer_tables_objets_sql($tables) {
|
||||||
$tables['spip_messages'] = [
|
$tables['spip_messages'] = [
|
||||||
|
'type' => 'message',
|
||||||
'principale' => 'oui',
|
'principale' => 'oui',
|
||||||
'field'=> [
|
'field'=> [
|
||||||
'id_message' => 'bigint(21) NOT NULL',
|
'id_message' => 'bigint(21) NOT NULL',
|
||||||
|
@ -37,6 +38,7 @@ function gamucontact_declarer_tables_objets_sql($tables) {
|
||||||
'nom' => "varchar(255) NOT NULL",
|
'nom' => "varchar(255) NOT NULL",
|
||||||
'telephone' => "varchar(55) NOT NULL",
|
'telephone' => "varchar(55) NOT NULL",
|
||||||
'email_contact' => "varchar(255) NOT NULL",
|
'email_contact' => "varchar(255) NOT NULL",
|
||||||
|
'origine' => 'tinytext NOT NULL DEFAULT ""',
|
||||||
'type' => "varchar(25) NOT NULL DEFAULT ''",
|
'type' => "varchar(25) NOT NULL DEFAULT ''",
|
||||||
'date_heure' => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
|
'date_heure' => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
|
||||||
'date_fin' => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
|
'date_fin' => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
|
||||||
|
|
6
content/messages.html
Normal file
6
content/messages.html
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
[(#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>
|
|
@ -10,13 +10,13 @@
|
||||||
#ACTION_FORMULAIRE
|
#ACTION_FORMULAIRE
|
||||||
<input type='submit' class='btn submit' value='<:bouton_enregistrer:>' style="display:none;"/>
|
<input type='submit' class='btn submit' value='<:bouton_enregistrer:>' style="display:none;"/>
|
||||||
|
|
||||||
<fieldset id="destinataires">
|
<fieldset id="destinataires">
|
||||||
<legend><:gamucontacts:destinataires:></legend>
|
<legend><:gamucontacts:destinataires:></legend>
|
||||||
<div class="editer_groupe">
|
<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{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}
|
#SAISIE{textarea, liste_emails, label=Destinaires sans compte auteur, explication=une liste d'emails séparés par des ;, rows=3}
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset id="telephone">
|
<fieldset id="telephone">
|
||||||
<legend><:gamucontacts:telephone:></legend>
|
<legend><:gamucontacts:telephone:></legend>
|
||||||
<div class="editer_groupe">
|
<div class="editer_groupe">
|
||||||
|
@ -24,6 +24,13 @@
|
||||||
#SAISIE{radio, telephone_obligatoire, label=Obligatoire ?, data=#ARRAY{oui,Oui, '',Non} }
|
#SAISIE{radio, telephone_obligatoire, label=Obligatoire ?, data=#ARRAY{oui,Oui, '',Non} }
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</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">
|
<fieldset id="anti-spam">
|
||||||
<legend><:gamucontacts:antispam:></legend>
|
<legend><:gamucontacts:antispam:></legend>
|
||||||
<div class="editer_groupe">
|
<div class="editer_groupe">
|
||||||
|
|
|
@ -29,6 +29,7 @@ function gamucontact_upgrade($nom_meta_base_version, $version_cible) {
|
||||||
$maj['create'] = array(array('maj_tables', array('spip_messages')));
|
$maj['create'] = array(array('maj_tables', array('spip_messages')));
|
||||||
$maj['1.0.5'] = 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.6'] = array(array('maj_tables', array('spip_messages')));
|
||||||
|
$maj['1.0.7'] = array(array('maj_tables', array('spip_messages')));
|
||||||
|
|
||||||
include_spip('base/upgrade');
|
include_spip('base/upgrade');
|
||||||
maj_plugin($nom_meta_base_version, $version_cible, $maj);
|
maj_plugin($nom_meta_base_version, $version_cible, $maj);
|
||||||
|
|
|
@ -18,3 +18,12 @@ if (!defined('_ECRIRE_INC_VERSION')) {
|
||||||
* @pipeline autoriser */
|
* @pipeline autoriser */
|
||||||
function gamucontact_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']);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
18
inclure/inc_messages.html
Normal file
18
inclure/inc_messages.html
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
[(#AUTORISER{voir,messages}|sinon_interdire_acces)]
|
||||||
|
|
||||||
|
#SET{url,#URL_PAGE{json_messages.json}}
|
||||||
|
<div class="">
|
||||||
|
[(#SET{titre_un,<i class="fa fa-send"></i> Messages envoyés sur le site})]
|
||||||
|
|
||||||
|
<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>
|
86
json_messages.json.html
Normal file
86
json_messages.json.html
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
#HTTP_HEADER{Content-Type: application/json; charset=#CHARSET}
|
||||||
|
[(#AUTORISER{voir,messages}|sinon_interdire_acces)]
|
||||||
|
|
||||||
|
[(#ENV{id}|setenv{id_message})]
|
||||||
|
[{
|
||||||
|
"header":{
|
||||||
|
"id": "_",
|
||||||
|
"date": "Date",
|
||||||
|
"formulaire": "Formulaire",
|
||||||
|
[(#CONFIG{gamucontact/gamutable_afficher_type}|oui)
|
||||||
|
"type": "Type",
|
||||||
|
]
|
||||||
|
"objet": "Objet",
|
||||||
|
"statut": "Statut",
|
||||||
|
"nom": "Expéditeur",
|
||||||
|
"email_contact": "Email",
|
||||||
|
"telephone": "Tel",
|
||||||
|
"message": "Message"
|
||||||
|
},
|
||||||
|
"crayons":{
|
||||||
|
"statut": ""
|
||||||
|
},
|
||||||
|
"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": "minw150p",
|
||||||
|
"statut": "minw80p",
|
||||||
|
"formulaire": "w150p"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
<B_messages>
|
||||||
|
,
|
||||||
|
<BOUCLE_messages(MESSAGES){statut?}{','}{!par date_heure}>
|
||||||
|
[(#SET{message, <div class="aff_masq" data-aff_masq="[(#ID_MESSAGE)]">[(#TEXTE*|couper{150})]</div>
|
||||||
|
<div class="message_complet js-hidden" id="message_[(#ID_MESSAGE)]">
|
||||||
|
[(#TEXTE*)]
|
||||||
|
</div>
|
||||||
|
})]
|
||||||
|
#SET{statut, #LISTE{prepa,prop,publie,poubelle}|str_replace{#LISTE{Brouillon,Proposé,Publié,Poubelle}, #STATUT}}
|
||||||
|
#SET{formulaire, #TITRE|replace{Formulaire de, ''}}
|
||||||
|
|
||||||
|
{
|
||||||
|
"html": {
|
||||||
|
"id": #ID_MESSAGE,
|
||||||
|
"date": [(#DATE_HEURE|affdate{d/m/Y H:i:s}|json_encode)],
|
||||||
|
"formulaire": [(#GET{formulaire}|json_encode)],
|
||||||
|
[(#CONFIG{gamucontact/gamutable_afficher_type}|oui)
|
||||||
|
"type": [(#TYPE|json_encode)],
|
||||||
|
]
|
||||||
|
"objet": [(#OBJET|json_encode)],
|
||||||
|
"statut": [(#GET{statut}|json_encode)],
|
||||||
|
"nom": [(#NOM|json_encode)],
|
||||||
|
"email_contact": [(#EMAIL_CONTACT|json_encode)],
|
||||||
|
"telephone": [(#TELEPHONE|json_encode)],
|
||||||
|
"message": [(#GET{message}|json_encode)]
|
||||||
|
},
|
||||||
|
"search": {
|
||||||
|
"id": #ID_MESSAGE,
|
||||||
|
"date": [(#DATE_HEURE|affdate{Y-m-d H:i:s}|json_encode)],
|
||||||
|
"formulaire": [(#GET{formulaire}|json_encode)],
|
||||||
|
[(#CONFIG{gamucontact/gamutable_afficher_type}|oui)
|
||||||
|
"type": [(#TYPE|json_encode)],
|
||||||
|
]
|
||||||
|
"objet": [(#OBJET|json_encode)],
|
||||||
|
"statut": [(#GET{statut}|json_encode)],
|
||||||
|
"nom": [(#NOM|json_encode)],
|
||||||
|
"email_contact": [(#EMAIL_CONTACT|json_encode)],
|
||||||
|
"telephone": [(#TELEPHONE|json_encode)],
|
||||||
|
"message": [(#GET{message}|json_encode)]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</BOUCLE_messages>
|
||||||
|
]
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
<paquet
|
<paquet
|
||||||
prefix="gamucontact"
|
prefix="gamucontact"
|
||||||
categorie="communication"
|
categorie="communication"
|
||||||
version="1.0.7"
|
version="1.0.8"
|
||||||
etat="test"
|
etat="test"
|
||||||
compatibilite="[3.2.10;4.*]"
|
compatibilite="[3.2.10;4.*]"
|
||||||
logo="./gamucontact-xx.svg"
|
logo="./gamucontact-xx.svg"
|
||||||
documentation=""
|
documentation=""
|
||||||
schema="1.0.6"
|
schema="1.0.8"
|
||||||
>
|
>
|
||||||
<nom>GamuContact</nom>
|
<nom>GamuContact</nom>
|
||||||
|
|
||||||
|
@ -21,5 +21,4 @@
|
||||||
|
|
||||||
<pipeline nom="declarer_tables_objets_sql" inclure="base/gamucontact.php" />
|
<pipeline nom="declarer_tables_objets_sql" inclure="base/gamucontact.php" />
|
||||||
<pipeline nom="declarer_tables_interfaces" inclure="base/gamucontact.php" />
|
<pipeline nom="declarer_tables_interfaces" inclure="base/gamucontact.php" />
|
||||||
|
|
||||||
</paquet>
|
</paquet>
|
||||||
|
|
Loading…
Add table
Reference in a new issue