version pour SPIP >= 41
This commit is contained in:
commit
fc05287781
11 changed files with 96 additions and 35 deletions
|
@ -10,10 +10,14 @@
|
|||
#FORMULAIRE_BIGFORM{objet, id_objet, mode, args (array)}
|
||||
```
|
||||
- `mode` (facultatif) : le type d'image si besoin. Valeurs possibles : `auto | logoon | logooff`
|
||||
- `args` (facultatif) : un array d'options. Pour l'instant la seule supportée est `redirect` qui permet de renvoyer sur la page passée en argument.
|
||||
- `args` (facultatif) : un array d'options.
|
||||
- `redirect` qui permet de renvoyer sur la page passée en argument.
|
||||
- `obfusquer`
|
||||
- `proteger`
|
||||
- `charger_js_titre` oui par defaut => permet de ne pas charger le js d'ajout de l'input titre
|
||||
Exemple pour revenir à la page principale "equipe" avec un bigform appelé dans une popin :
|
||||
```
|
||||
#FORMULAIRE_BIGFORM{article, #ID_ARTICLE, logoon, #ARRAY{redirect, #URL_PAGE{equipe}}}
|
||||
#FORMULAIRE_BIGFORM{article, #ID_ARTICLE, logoon, #ARRAY{redirect, #URL_PAGE{equipe}, obfusquer, oui}}
|
||||
```
|
||||
|
||||
## Usage 2 : en inclure dans un formulaire
|
||||
|
@ -21,6 +25,7 @@ Exemple pour revenir à la page principale "equipe" avec un bigform appelé dans
|
|||
1. dans le formulaire html:
|
||||
```html
|
||||
<INCLURE{fond=inclure/bigform,env}>
|
||||
arg: suffix_liste_fichiers=toto qui permet de charger le fichier :inc-bigup_liste_fichiers_toto.html
|
||||
```
|
||||
cet inclure peut accepter 3 arguments facultatifs :
|
||||
* `accept=#LISTE{image/*, application/pdf}` ou `accept="image/*"` par défaut tous les fichiers
|
||||
|
|
|
@ -3,17 +3,8 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
|
|||
|
||||
function action_charger_document_dist($arg=null){
|
||||
|
||||
if (is_null($arg)) {
|
||||
// DEMI sécurité : s'il y a un hash, on teste la sécurité
|
||||
if (_request('hash')) {
|
||||
$securiser_action = charger_fonction('securiser_action', 'inc');
|
||||
$arg = $securiser_action();
|
||||
}
|
||||
// Sinon, on prend l'arg direct
|
||||
else {
|
||||
$arg = _request('arg');
|
||||
}
|
||||
}
|
||||
$securiser_action = charger_fonction('securiser_action', 'inc');
|
||||
$arg = $securiser_action();
|
||||
|
||||
include_spip('inc/autoriser');
|
||||
if (! autoriser("charger","document")) {
|
||||
|
|
|
@ -26,9 +26,7 @@ function autoriser_document_charger_dist($faire, $type, $id, $qui, $opt) {
|
|||
}
|
||||
|
||||
function autoriser_document_dissociersupprimer_dist($faire, $type, $id, $qui, $opt) {
|
||||
if (!intval($id)
|
||||
or !$qui['id_auteur']
|
||||
) {
|
||||
if (!intval($id) or !intval($qui['id_auteur'])) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,10 @@ if (!defined('_ECRIRE_INC_VERSION')) {
|
|||
return;
|
||||
}
|
||||
|
||||
function urls_generer_url_document($id_document, $args = '', $ancre = '', $public = null, $connect = '') {
|
||||
$f = charger_fonction('bigform_generer_url_document', 'inc');
|
||||
return $f($id_document, $args, $ancre, $public, $connect);
|
||||
}
|
||||
|
||||
// https://code.spip.net/@urls_propres2_dist
|
||||
function urls_propres2($i, &$entite, $args = '', $ancre = '') {
|
||||
|
|
|
@ -34,10 +34,11 @@ function bigform_post_edition($flux){
|
|||
and lire_config('bigform/retailler_image') === 'oui'
|
||||
) {
|
||||
$url = generer_url_public("retailler_img", [
|
||||
"id_document" =>intval($id_document),
|
||||
"largeur" => $flux['data']['largeur'],
|
||||
"hauteur" => $flux['data']['hauteur'],
|
||||
"taille" => $flux['data']['taille'],
|
||||
"id_document" => intval($id_document),
|
||||
"largeur" => $flux['data']['largeur'],
|
||||
"hauteur" => $flux['data']['hauteur'],
|
||||
"taille" => $flux['data']['taille'],
|
||||
"id_auteur" => session_get('id_auteur')
|
||||
], true, false);
|
||||
|
||||
$ch = curl_init($url);
|
||||
|
|
|
@ -3,14 +3,14 @@ if (!defined('_ECRIRE_INC_VERSION')){
|
|||
return;
|
||||
}
|
||||
|
||||
include_spip('inc/cvtupload');
|
||||
|
||||
|
||||
function formulaires_bigform_charger_dist($objet, $id_objet, $mode = 'auto', $args = array()) {
|
||||
function formulaires_bigform_charger_dist($objet, $id_objet, $mode = 'auto', $args = []) {
|
||||
$charger_js_titre = $args['charger_js_titre'] ?? 'oui';
|
||||
$valeurs = [
|
||||
'_bigup_rechercher_fichiers' => true,
|
||||
'id_objet' => $id_objet,
|
||||
'objet' => $objet
|
||||
'objet' => $objet,
|
||||
'charger_js_titre' => $charger_js_titre === 'oui' ? 'oui' : 'non'
|
||||
];
|
||||
|
||||
$valeurs['objet_ok'] = '';
|
||||
|
@ -22,17 +22,48 @@ function formulaires_bigform_charger_dist($objet, $id_objet, $mode = 'auto', $ar
|
|||
return $valeurs;
|
||||
}
|
||||
|
||||
function formulaires_bigform_verifier_dist($objet, $id_objet, $mode = 'auto', $args = array()) {
|
||||
$erreurs = array();
|
||||
function formulaires_bigform_verifier_dist($objet, $id_objet, $mode = 'auto', $args = []) {
|
||||
$erreurs = [];
|
||||
|
||||
$options = pipeline('bigform_verifier', [
|
||||
'args' => [
|
||||
'id_objet' => $id_objet,
|
||||
'objet' => $objet,
|
||||
'mode' => $mode,
|
||||
'args' => $args
|
||||
],
|
||||
'data' => []
|
||||
]);
|
||||
|
||||
$bigform = charger_fonction('bigform_verifier','inc');
|
||||
$bigform($options,$erreurs);
|
||||
|
||||
return $erreurs;
|
||||
}
|
||||
|
||||
function formulaires_bigform_traiter_dist($objet = 'article', $id_objet = 0, $mode = 'auto', $args = array()) {
|
||||
function formulaires_bigform_traiter_dist($objet = 'article', $id_objet = 0, $mode = 'auto', $args = []) {
|
||||
|
||||
$options_secu = [];
|
||||
if (array_key_exists('proteger', $args)) {
|
||||
$options_secu['proteger'] = true;
|
||||
}
|
||||
if (array_key_exists('obfusquer', $args)) {
|
||||
$options_secu['obfusquer'] = true;
|
||||
}
|
||||
|
||||
$bigform = charger_fonction('bigform_traiter','inc');
|
||||
$T = $bigform($id_objet,$objet,$mode, $options_secu);
|
||||
|
||||
pipeline('bigform_post_insertion', [
|
||||
'args' => [
|
||||
'id_objet' => $id_objet,
|
||||
'objet' => $objet,
|
||||
'mode' => $mode,
|
||||
'args' => $args,
|
||||
'tId_doc' => $T
|
||||
]
|
||||
]);
|
||||
|
||||
//return [];
|
||||
$T = $bigform($id_objet,$objet,$mode);
|
||||
if (!empty($args) and !empty($args['redirect'])) {
|
||||
return ['redirect' => $args['redirect']];
|
||||
} else {
|
||||
|
|
17
inc/bigform_generer_url_document.php
Normal file
17
inc/bigform_generer_url_document.php
Normal file
|
@ -0,0 +1,17 @@
|
|||
<?php
|
||||
if (!defined('_ECRIRE_INC_VERSION')){
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
function inc_bigform_generer_url_document_dist($id_document, $args = '', $ancre = '', $public = null, $connect = '') {
|
||||
if (sql_countsel('spip_documents',['id_document='.$id_document, 'protected="oui"'])) {
|
||||
//return generer_url_action('charger_document','id_document='.$id_document);
|
||||
include_spip('inc/securiser_action');
|
||||
return securiser_action_auteur('charger_document',$id_document);
|
||||
}
|
||||
|
||||
include_spip('inc/documents');
|
||||
return generer_url_document_dist($id_document, $args, $ancre);
|
||||
}
|
|
@ -14,7 +14,11 @@
|
|||
[(#SET{multiple,#ENV{multiple,oui}})]
|
||||
[(#SET{accept,#ENV{accept}|bigform_tab_accept})]
|
||||
|
||||
<INCLURE{fond=inclure/inc-bigup_liste_fichiers,
|
||||
[(#SET{inclure,inc-bigup_liste_fichiers})]
|
||||
[(#ENV{suffix_liste_fichiers}|oui)
|
||||
[(#SET{inclure,#GET{inclure}|concat{_}|concat{#ENV{suffix_liste_fichiers}}})]
|
||||
]
|
||||
<INCLURE{fond=inclure/#GET{inclure},
|
||||
nom=fichiers,
|
||||
multiple=oui,
|
||||
fichiers=#ENV{_bigup_fichiers}
|
||||
|
@ -26,5 +30,7 @@
|
|||
{accept=#GET{accept}}
|
||||
)]
|
||||
|
||||
<INCLURE{fond=js/bigform.js,env}>
|
||||
[(#ENV{charger_js_titre}|!={non}|oui)
|
||||
<INCLURE{fond=js/bigform.js,env}>
|
||||
]
|
||||
|
||||
|
|
|
@ -52,4 +52,3 @@
|
|||
</BOUCLE_fichiers>
|
||||
</div>
|
||||
</B_fichiers>
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<paquet
|
||||
prefix="bigform"
|
||||
categorie="edition"
|
||||
version="1.2.3"
|
||||
version="1.4.0"
|
||||
etat="dev"
|
||||
compatibilite="[3.2.5;4.2.*]"
|
||||
compatibilite="[4.1.0;4.2.*]"
|
||||
logo="prive/themes/spip/images/bigform-64.png"
|
||||
documentation=""
|
||||
schema="1.0.5"
|
||||
|
@ -23,5 +23,7 @@
|
|||
|
||||
<pipeline nom="post_edition" inclure="bigform_pipelines.php" />
|
||||
|
||||
<pipeline nom="bigform_verifier" action='' />
|
||||
<pipeline nom="bigform_post_insertion" action='' />
|
||||
|
||||
</paquet>
|
||||
|
|
|
@ -1,4 +1,11 @@
|
|||
<BOUCLE_documents(DOCUMENTS){id_document}{largeur}{hauteur}{taille}{tout}>
|
||||
<BOUCLE_documents(DOCUMENTS)
|
||||
{si #CONFIG{bigform/retailler_image}|=={oui}}
|
||||
{si #SESSION{id_auteur}}
|
||||
{si #ENV{id_auteur}|=={#SESSION{id_auteur}}}
|
||||
{protected=""}
|
||||
{id_document}
|
||||
{largeur}{hauteur}{taille}
|
||||
{tout}>
|
||||
[(#FICHIER|image_recadre{3072:1800,-,focus}|adaptive_images{3072})]
|
||||
[(#FICHIER|image_recadre{2048:1200,-,focus}|adaptive_images{2048})]
|
||||
[(#FICHIER|image_recadre{1024:600,-,focus}|adaptive_images{1024})]
|
||||
|
|
Loading…
Add table
Reference in a new issue