refonte de ce plugin jamais utiliser pour essayer de fabriquer des
formulaire et des pages gamutable pour gerer des configurations de facons semi automatique
This commit is contained in:
parent
6949141e7e
commit
36622355fb
17 changed files with 154 additions and 586 deletions
|
@ -1,41 +0,0 @@
|
||||||
<?php
|
|
||||||
/**
|
|
||||||
* Utilisation de l'action supprimer pour l'objet gamuform
|
|
||||||
*
|
|
||||||
* @plugin GamuForm
|
|
||||||
* @copyright 2020
|
|
||||||
* @author tofulm
|
|
||||||
* @licence GNU/GPL
|
|
||||||
* @package SPIP\Gamuform\Action
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (!defined('_ECRIRE_INC_VERSION')) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Action pour supprimer un·e gamuform
|
|
||||||
*
|
|
||||||
* Vérifier l'autorisation avant d'appeler l'action.
|
|
||||||
*
|
|
||||||
* @param null|int $arg
|
|
||||||
* Identifiant à supprimer.
|
|
||||||
* En absence de id utilise l'argument de l'action sécurisée.
|
|
||||||
**/
|
|
||||||
function action_supprimer_gamuform_dist($arg=null) {
|
|
||||||
if (is_null($arg)){
|
|
||||||
$securiser_action = charger_fonction('securiser_action', 'inc');
|
|
||||||
$arg = $securiser_action();
|
|
||||||
}
|
|
||||||
$arg = intval($arg);
|
|
||||||
|
|
||||||
// cas suppression
|
|
||||||
if ($arg) {
|
|
||||||
sql_delete('spip_gamuforms', 'id_gamuform=' . sql_quote($arg));
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
spip_log("action_supprimer_gamuform_dist $arg pas compris");
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -25,7 +25,7 @@ if (!defined('_ECRIRE_INC_VERSION')) {
|
||||||
*/
|
*/
|
||||||
function gamuform_declarer_tables_interfaces($interfaces) {
|
function gamuform_declarer_tables_interfaces($interfaces) {
|
||||||
|
|
||||||
$interfaces['table_des_tables']['gamuforms'] = 'gamuforms';
|
// $interfaces['table_des_tables']['gamuforms'] = 'gamuforms';
|
||||||
|
|
||||||
return $interfaces;
|
return $interfaces;
|
||||||
}
|
}
|
||||||
|
@ -42,52 +42,6 @@ function gamuform_declarer_tables_interfaces($interfaces) {
|
||||||
*/
|
*/
|
||||||
function gamuform_declarer_tables_objets_sql($tables) {
|
function gamuform_declarer_tables_objets_sql($tables) {
|
||||||
|
|
||||||
$tables['spip_gamuforms'] = array(
|
|
||||||
'type' => 'gamuform',
|
|
||||||
'principale' => 'oui',
|
|
||||||
'field'=> array(
|
|
||||||
'id_gamuform' => 'bigint(21) NOT NULL',
|
|
||||||
'objet' => 'VARCHAR(25) DEFAULT "" NOT NULL',
|
|
||||||
'titre' => 'varchar(255) NOT NULL DEFAULT ""',
|
|
||||||
'label' => 'varchar(255) NOT NULL DEFAULT ""',
|
|
||||||
'type' => 'varchar(255) NOT NULL DEFAULT ""',
|
|
||||||
'class_container' => 'varchar(255) NOT NULL DEFAULT ""',
|
|
||||||
'class' => 'varchar(255) NOT NULL DEFAULT ""',
|
|
||||||
'choix' => "text NOT NULL",
|
|
||||||
'defaut' => 'varchar(255) NOT NULL DEFAULT ""',
|
|
||||||
'statut' => 'varchar(20) DEFAULT "0" NOT NULL',
|
|
||||||
'date' => 'datetime NOT NULL DEFAULT "0000-00-00 00:00:00"',
|
|
||||||
'rang' => 'tinyint(4) NOT NULL',
|
|
||||||
'maj' => 'TIMESTAMP'
|
|
||||||
),
|
|
||||||
'key' => array(
|
|
||||||
'PRIMARY KEY' => 'id_gamuform',
|
|
||||||
'KEY objet' => 'objet',
|
|
||||||
'KEY statut' => 'statut',
|
|
||||||
),
|
|
||||||
'titre' => 'titre AS titre, "" AS lang',
|
|
||||||
'date' => 'date',
|
|
||||||
//'champs_editables' => array('titre'),
|
|
||||||
//'champs_versionnes' => array('titre'),
|
|
||||||
//'rechercher_champs' => array(),
|
|
||||||
'tables_jointures' => array('spip_gamuforms_valeurs'),
|
|
||||||
'statut_textes_instituer' => array(
|
|
||||||
'prepa' => 'texte_statut_en_cours_redaction',
|
|
||||||
'publie' => 'texte_statut_publie',
|
|
||||||
'poubelle' => 'texte_statut_poubelle',
|
|
||||||
),
|
|
||||||
'statut'=> array(
|
|
||||||
array(
|
|
||||||
'champ' => 'statut',
|
|
||||||
'publie' => 'publie',
|
|
||||||
'exception' => array('statut','tout')
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'texte_changer_statut' => 'gamuform:texte_changer_statut_gamuform',
|
|
||||||
|
|
||||||
|
|
||||||
);
|
|
||||||
|
|
||||||
return $tables;
|
return $tables;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -103,18 +57,5 @@ function gamuform_declarer_tables_objets_sql($tables) {
|
||||||
*/
|
*/
|
||||||
function gamuform_declarer_tables_auxiliaires($tables) {
|
function gamuform_declarer_tables_auxiliaires($tables) {
|
||||||
|
|
||||||
$tables['spip_gamuforms_valeurs'] = array(
|
|
||||||
'field' => array(
|
|
||||||
'id_gamuform' => 'bigint(21) DEFAULT "0" NOT NULL',
|
|
||||||
'id_objet' => 'bigint(21) DEFAULT "0" NOT NULL',
|
|
||||||
'objet' => 'VARCHAR(25) DEFAULT "" NOT NULL',
|
|
||||||
'valeur' => "text NOT NULL",
|
|
||||||
),
|
|
||||||
'key' => array(
|
|
||||||
'PRIMARY KEY' => 'id_gamuform,id_objet,objet',
|
|
||||||
'KEY id_gamuform' => 'id_gamuform',
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
return $tables;
|
return $tables;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
<div class="inner">
|
|
||||||
<h1>creer formulaire pour les clients</h1>
|
|
||||||
|
|
||||||
<INCLURE{fond=inclure/creer_gamuform,objet=app_client,env}>
|
|
||||||
|
|
||||||
</div>
|
|
1
content/editer_gamuform.html
Normal file
1
content/editer_gamuform.html
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<INCLURE{fond=inclure/editer_gamuform,env}>
|
|
@ -1,7 +0,0 @@
|
||||||
diff -r -x . -x .. -x fabrique_diff.diff -x fabrique_gamuform.php ../tmp/cache/fabrique/.backup/gamuform/paquet.xml ../tmp/cache/fabrique/gamuform/paquet.xml
|
|
||||||
8a9
|
|
||||||
> schema="1.0.0"
|
|
||||||
11c12
|
|
||||||
< Paquet généré le 2020-03-30 14:52:00
|
|
||||||
---
|
|
||||||
> Paquet généré le 2020-03-30 14:54:11
|
|
File diff suppressed because one or more lines are too long
|
@ -2,19 +2,13 @@
|
||||||
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
|
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
|
||||||
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
|
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
|
||||||
|
|
||||||
[(#ENV{editable})
|
|
||||||
<form method="post" action="#ENV{action}"><div>
|
<form method="post" action="#ENV{action}"><div>
|
||||||
#ACTION_FORMULAIRE
|
#ACTION_FORMULAIRE
|
||||||
<input type="hidden" name="id_gamuform" value="#ENV{id_gamuform}" />
|
|
||||||
<div class="editer-groupe">
|
|
||||||
|
|
||||||
|
<div class="editer_groupe">
|
||||||
|
#GENERER_SAISIES{#ENV{_saisies}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<INCLURE{fond=inclure/gamuform,env,ajax}>
|
|
||||||
|
|
||||||
[(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
|
|
||||||
<!--extra-->
|
|
||||||
<p class="boutons"><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p>
|
<p class="boutons"><input type="submit" class="submit" value="<:bouton_enregistrer:>" /></p>
|
||||||
</div></form>
|
</div></form>
|
||||||
]
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,124 +1,92 @@
|
||||||
<?php
|
<?php
|
||||||
/**
|
|
||||||
* Gestion du formulaire de d'édition de gamuform
|
|
||||||
*
|
|
||||||
* @plugin GamuForm
|
|
||||||
* @copyright 2020
|
|
||||||
* @author tofulm
|
|
||||||
* @licence GNU/GPL
|
|
||||||
* @package SPIP\Gamuform\Formulaires
|
|
||||||
*/
|
|
||||||
|
|
||||||
if (!defined('_ECRIRE_INC_VERSION')) {
|
if (!defined('_ECRIRE_INC_VERSION')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
include_spip('inc/actions');
|
|
||||||
include_spip('inc/editer');
|
|
||||||
|
|
||||||
|
function formulaires_editer_gamuform_saisies_dist($id_objet = 0, $objet = '', $redirect = '') {
|
||||||
/**
|
$saisies = false;
|
||||||
* Identifier le formulaire en faisant abstraction des paramètres qui ne représentent pas l'objet edité
|
if (gamuform_objet_autoriser($objet)) {
|
||||||
*
|
$saisies = $GLOBALS['gamuform_'.$objet];
|
||||||
* @param int|string $id_gamuform
|
}
|
||||||
* Identifiant du gamuform. 'new' pour un nouveau gamuform.
|
return $saisies;
|
||||||
* @param string $retour
|
|
||||||
* URL de redirection après le traitement
|
|
||||||
* @param int $lier_trad
|
|
||||||
* Identifiant éventuel d'un gamuform source d'une traduction
|
|
||||||
* @param string $config_fonc
|
|
||||||
* Nom de la fonction ajoutant des configurations particulières au formulaire
|
|
||||||
* @param array $row
|
|
||||||
* Valeurs de la ligne SQL du gamuform, si connu
|
|
||||||
* @param string $hidden
|
|
||||||
* Contenu HTML ajouté en même temps que les champs cachés du formulaire.
|
|
||||||
* @return string
|
|
||||||
* Hash du formulaire
|
|
||||||
*/
|
|
||||||
function formulaires_editer_gamuform_identifier_dist($id_gamuform = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
|
|
||||||
return serialize(array(intval($id_gamuform)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
function formulaires_editer_gamuform_charger_dist($id_objet = 0, $objet = '', $redirect = '') {
|
||||||
* Chargement du formulaire d'édition de gamuform
|
|
||||||
*
|
$table = table_objet_sql($objet);
|
||||||
* Déclarer les champs postés et y intégrer les valeurs par défaut
|
$id = id_table_objet($objet);
|
||||||
*
|
$s = gamuform_recup_champ($objet);
|
||||||
* @uses formulaires_editer_objet_charger()
|
|
||||||
*
|
$valeurs = sql_fetsel($s, $table, "$id=".intval($id_objet));
|
||||||
* @param int|string $id_gamuform
|
|
||||||
* Identifiant du gamuform. 'new' pour un nouveau gamuform.
|
|
||||||
* @param string $retour
|
|
||||||
* URL de redirection après le traitement
|
|
||||||
* @param int $lier_trad
|
|
||||||
* Identifiant éventuel d'un gamuform source d'une traduction
|
|
||||||
* @param string $config_fonc
|
|
||||||
* Nom de la fonction ajoutant des configurations particulières au formulaire
|
|
||||||
* @param array $row
|
|
||||||
* Valeurs de la ligne SQL du gamuform, si connu
|
|
||||||
* @param string $hidden
|
|
||||||
* Contenu HTML ajouté en même temps que les champs cachés du formulaire.
|
|
||||||
* @return array
|
|
||||||
* Environnement du formulaire
|
|
||||||
*/
|
|
||||||
function formulaires_editer_gamuform_charger_dist($id_gamuform = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
|
|
||||||
$valeurs = formulaires_editer_objet_charger('gamuform', $id_gamuform, '', $lier_trad, $retour, $config_fonc, $row, $hidden);
|
|
||||||
return $valeurs;
|
return $valeurs;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
function formulaires_editer_gamuform_verifier_dist($id_objet = 0, $objet = '', $redirect = '') {
|
||||||
* Vérifications du formulaire d'édition de gamuform
|
|
||||||
*
|
|
||||||
* Vérifier les champs postés et signaler d'éventuelles erreurs
|
|
||||||
*
|
|
||||||
* @uses formulaires_editer_objet_verifier()
|
|
||||||
*
|
|
||||||
* @param int|string $id_gamuform
|
|
||||||
* Identifiant du gamuform. 'new' pour un nouveau gamuform.
|
|
||||||
* @param string $retour
|
|
||||||
* URL de redirection après le traitement
|
|
||||||
* @param int $lier_trad
|
|
||||||
* Identifiant éventuel d'un gamuform source d'une traduction
|
|
||||||
* @param string $config_fonc
|
|
||||||
* Nom de la fonction ajoutant des configurations particulières au formulaire
|
|
||||||
* @param array $row
|
|
||||||
* Valeurs de la ligne SQL du gamuform, si connu
|
|
||||||
* @param string $hidden
|
|
||||||
* Contenu HTML ajouté en même temps que les champs cachés du formulaire.
|
|
||||||
* @return array
|
|
||||||
* Tableau des erreurs
|
|
||||||
*/
|
|
||||||
function formulaires_editer_gamuform_verifier_dist($id_gamuform = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
|
|
||||||
$erreurs = array();
|
$erreurs = array();
|
||||||
|
|
||||||
$erreurs = formulaires_editer_objet_verifier('gamuform', $id_gamuform);
|
|
||||||
|
|
||||||
return $erreurs;
|
return $erreurs;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
function formulaires_editer_gamuform_traiter_dist($id_objet = 0, $objet = '', $redirect = '') {
|
||||||
* Traitement du formulaire d'édition de gamuform
|
|
||||||
*
|
$saisies = $GLOBALS['gamuform_'.$objet];
|
||||||
* Traiter les champs postés
|
$table = table_objet_sql($objet);
|
||||||
*
|
$id = id_table_objet($objet);
|
||||||
* @uses formulaires_editer_objet_traiter()
|
|
||||||
*
|
$update = true;
|
||||||
* @param int|string $id_gamuform
|
if (!intval($id_objet)) {
|
||||||
* Identifiant du gamuform. 'new' pour un nouveau gamuform.
|
$id_objet = sql_insertq($table, []);
|
||||||
* @param string $retour
|
$update = false;
|
||||||
* URL de redirection après le traitement
|
}
|
||||||
* @param int $lier_trad
|
|
||||||
* Identifiant éventuel d'un gamuform source d'une traduction
|
$set = [];
|
||||||
* @param string $config_fonc
|
if (!empty($saisies)) {
|
||||||
* Nom de la fonction ajoutant des configurations particulières au formulaire
|
foreach ($saisies as $saisie) {
|
||||||
* @param array $row
|
$champ = $saisie['options']['nom'];
|
||||||
* Valeurs de la ligne SQL du gamuform, si connu
|
if (
|
||||||
* @param string $hidden
|
isset($saisies['options']['fonction'])
|
||||||
* Contenu HTML ajouté en même temps que les champs cachés du formulaire.
|
and $f = $saisies['options']['fonction']
|
||||||
* @return array
|
) {
|
||||||
* Retours des traitements
|
$f($id_objet, $objet, $champ, _request($champ));
|
||||||
*/
|
} elseif (
|
||||||
function formulaires_editer_gamuform_traiter_dist($id_gamuform = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') {
|
isset($saisies['options']['modifier'])
|
||||||
$retours = formulaires_editer_objet_traiter('gamuform', $id_gamuform, '', $lier_trad, $retour, $config_fonc, $row, $hidden);
|
and $m = $saisies['options']['modifier']
|
||||||
return $retours;
|
) {
|
||||||
|
$set[$champ] = $m($champ, _request($champ));
|
||||||
|
} else {
|
||||||
|
$set[$champ] = _request($champ);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (count($set)) {
|
||||||
|
$set = pipeline(
|
||||||
|
'pre_edition',
|
||||||
|
array(
|
||||||
|
'args' => array(
|
||||||
|
'table' => $table,
|
||||||
|
'id_objet' => $id_objet,
|
||||||
|
'action' => 'gamuform',
|
||||||
|
'update' => $update
|
||||||
|
),
|
||||||
|
'data' => $set
|
||||||
|
)
|
||||||
|
);
|
||||||
|
sql_updateq('spip_auteurs', $set, "$id=".intval($id_objet));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$retour = [];
|
||||||
|
if ($redirect === 'gamutable') {
|
||||||
|
$retour['redirect'] = '';
|
||||||
|
if ($update) {
|
||||||
|
$retour['message_ok'] = gamutable_fermer_modalbox($id_objet);
|
||||||
|
} else {
|
||||||
|
$retour['message_ok'] = gamutable_fermer_modalbox();
|
||||||
|
}
|
||||||
|
} else if ($redirect) {
|
||||||
|
$retour['redirect'] = $redirect;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $retour;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ if (!defined('_ECRIRE_INC_VERSION')) {
|
||||||
function gamuform_upgrade($nom_meta_base_version, $version_cible) {
|
function gamuform_upgrade($nom_meta_base_version, $version_cible) {
|
||||||
$maj = array();
|
$maj = array();
|
||||||
|
|
||||||
$maj['create'] = array(array('maj_tables', array('spip_gamuforms', 'spip_gamuforms_valeurs')));
|
// $maj['create'] = array(array('maj_tables', array('spip_gamuforms', 'spip_gamuforms_valeurs')));
|
||||||
|
|
||||||
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);
|
||||||
|
@ -41,18 +41,5 @@ function gamuform_upgrade($nom_meta_base_version, $version_cible) {
|
||||||
* @return void
|
* @return void
|
||||||
**/
|
**/
|
||||||
function gamuform_vider_tables($nom_meta_base_version) {
|
function gamuform_vider_tables($nom_meta_base_version) {
|
||||||
|
|
||||||
sql_drop_table('spip_gamuforms');
|
|
||||||
sql_drop_table('spip_gamuforms_valeurs');
|
|
||||||
|
|
||||||
# Nettoyer les liens courants (le génie optimiser_base_disparus se chargera de nettoyer toutes les tables de liens)
|
|
||||||
sql_delete('spip_documents_liens', sql_in('objet', array('gamuform')));
|
|
||||||
sql_delete('spip_mots_liens', sql_in('objet', array('gamuform')));
|
|
||||||
sql_delete('spip_auteurs_liens', sql_in('objet', array('gamuform')));
|
|
||||||
# Nettoyer les versionnages et forums
|
|
||||||
sql_delete('spip_versions', sql_in('objet', array('gamuform')));
|
|
||||||
sql_delete('spip_versions_fragments', sql_in('objet', array('gamuform')));
|
|
||||||
sql_delete('spip_forum', sql_in('objet', array('gamuform')));
|
|
||||||
|
|
||||||
effacer_meta($nom_meta_base_version);
|
effacer_meta($nom_meta_base_version);
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,81 +20,9 @@ if (!defined('_ECRIRE_INC_VERSION')) {
|
||||||
function gamuform_autoriser() {
|
function gamuform_autoriser() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// -----------------
|
|
||||||
// Objet gamuforms
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Autorisation de créer (gamuform)
|
|
||||||
*
|
|
||||||
* @param string $faire Action demandée
|
|
||||||
* @param string $type Type d'objet sur lequel appliquer l'action
|
|
||||||
* @param int $id Identifiant de l'objet
|
|
||||||
* @param array $qui Description de l'auteur demandant l'autorisation
|
|
||||||
* @param array $opt Options de cette autorisation
|
|
||||||
* @return bool true s'il a le droit, false sinon
|
|
||||||
**/
|
|
||||||
function autoriser_gamuform_creer_dist($faire, $type, $id, $qui, $opt) {
|
|
||||||
return in_array($qui['statut'], array('0minirezo', '1comite'));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Autorisation de voir (gamuform)
|
|
||||||
*
|
|
||||||
* @param string $faire Action demandée
|
|
||||||
* @param string $type Type d'objet sur lequel appliquer l'action
|
|
||||||
* @param int $id Identifiant de l'objet
|
|
||||||
* @param array $qui Description de l'auteur demandant l'autorisation
|
|
||||||
* @param array $opt Options de cette autorisation
|
|
||||||
* @return bool true s'il a le droit, false sinon
|
|
||||||
**/
|
|
||||||
function autoriser_gamuform_voir_dist($faire, $type, $id, $qui, $opt) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Autorisation de modifier (gamuform)
|
|
||||||
*
|
|
||||||
* @param string $faire Action demandée
|
|
||||||
* @param string $type Type d'objet sur lequel appliquer l'action
|
|
||||||
* @param int $id Identifiant de l'objet
|
|
||||||
* @param array $qui Description de l'auteur demandant l'autorisation
|
|
||||||
* @param array $opt Options de cette autorisation
|
|
||||||
* @return bool true s'il a le droit, false sinon
|
|
||||||
**/
|
|
||||||
function autoriser_gamuform_modifier_dist($faire, $type, $id, $qui, $opt) {
|
function autoriser_gamuform_modifier_dist($faire, $type, $id, $qui, $opt) {
|
||||||
return in_array($qui['statut'], array('0minirezo', '1comite'));
|
return in_array($qui['statut'], array('0minirezo'));
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Autorisation de supprimer (gamuform)
|
|
||||||
*
|
|
||||||
* @param string $faire Action demandée
|
|
||||||
* @param string $type Type d'objet sur lequel appliquer l'action
|
|
||||||
* @param int $id Identifiant de l'objet
|
|
||||||
* @param array $qui Description de l'auteur demandant l'autorisation
|
|
||||||
* @param array $opt Options de cette autorisation
|
|
||||||
* @return bool true s'il a le droit, false sinon
|
|
||||||
**/
|
|
||||||
function autoriser_gamuform_supprimer_dist($faire, $type, $id, $qui, $opt) {
|
|
||||||
return $qui['statut'] == '0minirezo' and !$qui['restreint'];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Autorisation de lier/délier l'élément (gamuforms)
|
|
||||||
*
|
|
||||||
* @param string $faire Action demandée
|
|
||||||
* @param string $type Type d'objet sur lequel appliquer l'action
|
|
||||||
* @param int $id Identifiant de l'objet
|
|
||||||
* @param array $qui Description de l'auteur demandant l'autorisation
|
|
||||||
* @param array $opt Options de cette autorisation
|
|
||||||
* @return bool true s'il a le droit, false sinon
|
|
||||||
**/
|
|
||||||
function autoriser_associergamuforms_dist($faire, $type, $id, $qui, $opt) {
|
|
||||||
return $qui['statut'] == '0minirezo' and !$qui['restreint'];
|
|
||||||
}
|
|
||||||
|
|
|
@ -12,3 +12,28 @@
|
||||||
if (!defined('_ECRIRE_INC_VERSION')) {
|
if (!defined('_ECRIRE_INC_VERSION')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function gamuform_objet_autoriser(string $objet):bool {
|
||||||
|
if (
|
||||||
|
!empty($GLOBALS['gamuform_objets'])
|
||||||
|
and !empty($objet)
|
||||||
|
and in_array($objet, $GLOBALS['gamuform_objets'])
|
||||||
|
) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function gamuform_recup_champ($objet) {
|
||||||
|
$c = [];
|
||||||
|
|
||||||
|
if (gamuform_objet_autoriser($objet)) {
|
||||||
|
$T = $GLOBALS['gamuform_'.$objet];
|
||||||
|
if (!empty($T)) {
|
||||||
|
foreach ($T as $s) {
|
||||||
|
$c[] = $s['options']['nom'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $c;
|
||||||
|
}
|
||||||
|
|
|
@ -12,3 +12,36 @@
|
||||||
if (!defined('_ECRIRE_INC_VERSION')) {
|
if (!defined('_ECRIRE_INC_VERSION')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$GLOBALS['gamuform_objets'] = [ 'auteur'];
|
||||||
|
|
||||||
|
|
||||||
|
$GLOBALS['gamuform_auteur'] = [
|
||||||
|
[
|
||||||
|
'saisie' => 'input',
|
||||||
|
'options' => array(
|
||||||
|
'nom' => 'nom',
|
||||||
|
'label' => 'Votre Nom',
|
||||||
|
'obligatoire' => 'oui',
|
||||||
|
//'fonction' => 'ma_super_fonction'
|
||||||
|
//'modifier' => 'ma_super_fonction_pour_modifier'
|
||||||
|
)
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'saisie' => 'input',
|
||||||
|
'options' => array(
|
||||||
|
'nom' => 'bio',
|
||||||
|
'label' => 'Votre BIO',
|
||||||
|
'obligatoire' => 'oui',
|
||||||
|
//'fonction' => 'ma_super_fonction'
|
||||||
|
)
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'saisie' => 'input',
|
||||||
|
'options' => array(
|
||||||
|
'nom' => 'nom_site',
|
||||||
|
'label' => 'Votre site perso',
|
||||||
|
)
|
||||||
|
]
|
||||||
|
];
|
||||||
|
|
|
@ -13,26 +13,3 @@ if (!defined('_ECRIRE_INC_VERSION')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Optimiser la base de données
|
|
||||||
*
|
|
||||||
* Supprime les liens orphelins de l'objet vers quelqu'un et de quelqu'un vers l'objet.
|
|
||||||
* Supprime les objets à la poubelle.
|
|
||||||
*
|
|
||||||
* @pipeline optimiser_base_disparus
|
|
||||||
* @param array $flux Données du pipeline
|
|
||||||
* @return array Données du pipeline
|
|
||||||
*/
|
|
||||||
function gamuform_optimiser_base_disparus($flux) {
|
|
||||||
|
|
||||||
include_spip('action/editer_liens');
|
|
||||||
$flux['data'] += objet_optimiser_liens(array('gamuform'=>'*'), '*');
|
|
||||||
|
|
||||||
sql_delete('spip_gamuforms', "statut='poubelle' AND maj < " . $flux['args']['date']);
|
|
||||||
|
|
||||||
return $flux;
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
<style type="text/css" media="screen">
|
|
||||||
#INCLURE{css/icons.css}
|
|
||||||
.icone {
|
|
||||||
width: 30px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
objet = #ENV{objet}
|
|
||||||
|
|
||||||
<div class="creer_gamuform[ (#ENV{objet})]">
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th class="icone">
|
|
||||||
<a class="ajax nohistory nocache" href="[(#URL_ACTION_AUTEUR{creer_gamuform,#ENV{objet},#SELF})]">
|
|
||||||
#ICON{plus,icon-lg}
|
|
||||||
</a>
|
|
||||||
</th>
|
|
||||||
<th></th>
|
|
||||||
<th class="icone">
|
|
||||||
#ICON{move,icon-lg,Rechercher}
|
|
||||||
</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<BOUCLE_gamuform(GAMUFORMS){id_objet}{objet}{tout}>
|
|
||||||
|
|
||||||
</BOUCLE_gamuform>
|
|
||||||
</tbody>
|
|
||||||
<tr>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</div>
|
|
8
inclure/editer_gamuform.html
Normal file
8
inclure/editer_gamuform.html
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
#CACHE{0}
|
||||||
|
[(#AUTORISER{modifier,gamuform,#ENV{objet}}|sinon_interdire_acces)]
|
||||||
|
|
||||||
|
<div class="inner">
|
||||||
|
<div class="ajax">
|
||||||
|
[(#FORMULAIRE_EDITER_GAMUFORM{#ENV{id}, #ENV{objet}, #ENV{redirect}})]
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -1,2 +0,0 @@
|
||||||
[<pre>(#ENV**|unserialize|print_r{1})</pre>]
|
|
||||||
|
|
|
@ -3,12 +3,12 @@
|
||||||
categorie="outil"
|
categorie="outil"
|
||||||
version="1.0.0"
|
version="1.0.0"
|
||||||
etat="dev"
|
etat="dev"
|
||||||
compatibilite="[3.3.0-dev;3.3.*]"
|
compatibilite="[4.0.0;4.0.*]"
|
||||||
logo="prive/themes/spip/images/gamuform-xx.svg"
|
logo="prive/themes/spip/images/gamuform-xx.svg"
|
||||||
documentation=""
|
documentation=""
|
||||||
schema="1.0.0"
|
|
||||||
>
|
>
|
||||||
<!--
|
<!--
|
||||||
|
schema="1.0.0"
|
||||||
Paquet généré le 2020-03-30 14:54:11
|
Paquet généré le 2020-03-30 14:54:11
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
@ -24,9 +24,5 @@
|
||||||
|
|
||||||
<pipeline nom="autoriser" inclure="gamuform_autorisations.php" />
|
<pipeline nom="autoriser" inclure="gamuform_autorisations.php" />
|
||||||
|
|
||||||
<pipeline nom="declarer_tables_objets_sql" inclure="base/gamuform.php" />
|
|
||||||
<pipeline nom="declarer_tables_interfaces" inclure="base/gamuform.php" />
|
|
||||||
<pipeline nom="declarer_tables_auxiliaires" inclure="base/gamuform.php" />
|
|
||||||
<pipeline nom="optimiser_base_disparus" inclure="gamuform_pipelines.php" />
|
|
||||||
|
|
||||||
</paquet>
|
</paquet>
|
||||||
|
|
Loading…
Add table
Reference in a new issue