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) {
|
||||
$tables['spip_messages'] = [
|
||||
'type' => 'message',
|
||||
'principale' => 'oui',
|
||||
'field'=> [
|
||||
'id_message' => 'bigint(21) NOT NULL',
|
||||
|
@ -37,6 +38,7 @@ 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 DEFAULT ""',
|
||||
'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'",
|
||||
|
|
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
|
||||
<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,6 +24,13 @@
|
|||
#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">
|
||||
|
|
|
@ -29,6 +29,7 @@ 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')));
|
||||
|
||||
include_spip('base/upgrade');
|
||||
maj_plugin($nom_meta_base_version, $version_cible, $maj);
|
||||
|
|
|
@ -18,3 +18,12 @@ 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']);
|
||||
}
|
||||
|
||||
|
|
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
|
||||
prefix="gamucontact"
|
||||
categorie="communication"
|
||||
version="1.0.7"
|
||||
version="1.0.8"
|
||||
etat="test"
|
||||
compatibilite="[3.2.10;4.*]"
|
||||
logo="./gamucontact-xx.svg"
|
||||
documentation=""
|
||||
schema="1.0.6"
|
||||
schema="1.0.8"
|
||||
>
|
||||
<nom>GamuContact</nom>
|
||||
|
||||
|
@ -21,5 +21,4 @@
|
|||
|
||||
<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