Chargement en cours formulaires/editer_squelette.html +41 −39 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -25,6 +25,7 @@ </div> ] [(#ENV{type}|=={img}|non) [ (#ENV{editable}|oui) [(#ENV{type}|=={txt}|et{#ENV{fichier}}|oui) <div class="search-replace-toolbar"> Chargement en cours Chargement en cours @@ -69,6 +70,7 @@ ] </div></form> ] ] [(#ENV{type}|=={img}|oui) <div class="image-viewer clearfix d-flex-col h-100"> <em class="infos"> Chargement en cours formulaires/upload_squelette.html +8 −8 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff <div class='formulaire_spip formulaire_editer formulaire_squelette formulaire_#FORM'> <div class='formulaire_spip formulaire_editer formulaire_squelette h-100 formulaire_#FORM'> [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>] [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] <div class="actions"> <div class="add"> [(#AUTORISER{creerdans,squelette,#ENV{path_base}}|oui) [(#AUTORISER{creerdans,squelette,#ENV{_path_base}}|oui) [(#BOUTON_ACTION{#CHEMIN_IMAGE{se-file-add-16.svg}|balise_img{new,picto,16x16}|concat{' ',<:skeleditor:action_nouveau:>},#URL_ECRIRE{skeleditor},btn btn_secondaire})] ] [(#AUTORISER{upload,squelette,#ENV{path_base}}|oui) [(#AUTORISER{upload,squelette,#ENV{_path_base}}|oui) [(#BOUTON_ACTION{#CHEMIN_IMAGE{se-upload-16.svg}|balise_svg{upload,picto,16x16}|concat{' ',<:skeleditor:action_upload:>},#URL_ECRIRE{skeleditor,upload=oui},btn btn_secondaire})] ] </div> Chargement en cours @@ -17,11 +17,11 @@ [(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ] #ACTION_FORMULAIRE{#ENV{action}} <div class="editer-groupe"> <div class="editer editer_file pleine_largeur[ (#ENV**{erreurs}|table_valeur{file}|oui)erreur]"> <label for="file"><:skeleditor:label_file:></label>[ <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{file})</span>] <input type="file" name='file' class='file' id='file' value="#ENV{file}" /> <div class="editer-groupe h-100"> <div class="editer editer_fichier_upload h-100 pleine_largeur[ (#ENV**{erreurs}|table_valeur{fichier_upload}|oui)erreur]"> <label for="fichier_upload"><:skeleditor:label_file:></label>[ <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{fichier_upload})</span>] <input type="file" name='fichier_upload' class='file' id='fichier_upload' value="#ENV{fichier_upload}" /> </div> </div> [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ] Chargement en cours formulaires/upload_squelette.php +48 −14 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -12,6 +12,27 @@ if (!defined('_ECRIRE_INC_VERSION')){ include_spip('inc/skeleditor'); /** * @param array $args * @param \Spip\Bigup\Formulaire $formulaire * @return \Spip\Bigup\Formulaire */ function inc_bigup_medias_formulaire_upload_squelette_dist($args, $formulaire) { $formulaire->preparer_input( 'fichier_upload', [ 'multiple' => false, 'previsualiser' => true, 'input_class' => 'bigup_simple', ] ); $formulaire->inserer_js('bigup.simples.js'); return $formulaire; } /** * Chargement du formulaire * 4 cas possibles : Chargement en cours @@ -28,21 +49,27 @@ include_spip('inc/skeleditor'); function formulaires_upload_squelette_charger_dist($path_base){ $valeurs = array( 'file' => '', 'path_base' => $path_base, 'editable' => true 'fichier_upload' => '', 'editable' => true, '_path_base' => $path_base, '_bigup_rechercher_fichiers' => true, '_multiple' => '', ); return $valeurs; } function formulaires_upload_squelette_verifier_dist($path_base){ $erreurs = []; $res = skeleditor_check_upload($path_base); if (is_string($res)){ $erreurs['file'] = $res; $erreurs['fichier_upload'] = $res; } elseif (!count($res)) { $erreurs['file'] = _T('skeleditor:erreur_fichier_inexistant'); $erreurs['fichier_upload'] = _T('skeleditor:erreur_fichier_inexistant'); } return $erreurs; } Chargement en cours @@ -50,16 +77,24 @@ function formulaires_upload_squelette_verifier_dist($path_base){ function formulaires_upload_squelette_traiter_dist($path_base){ $files = skeleditor_check_upload($path_base); $ok = true; //spip_log($files, 'skeleditor' . _LOG_DEBUG); $erreurs = []; include_spip('inc/documents'); foreach ($files as $file){ if (!move_uploaded_file($file['tmp_name'], $path_base . $file['name'])){ if (!deplacer_fichier_upload($file['tmp_name'], $path_base . $file['name'], true)){ $erreurs[] = "Erreur lors du deplacement du fichier " . $file['name'] . " dans $path_base"; $ok = false; } } if ($ok){ $res['message_ok'] = 'ok'; $res['redirect'] = parametre_url(parametre_url(self(), 'upload', ''), 'f', $path_base . $file['name']); } else { $res['message_erreur'] = 'erreur'; } else { $res['message_erreur'] = 'Erreur : ' . implode('<br />', $erreurs); } return $res; Chargement en cours Chargement en cours @@ -118,15 +153,14 @@ function skeleditor_upload_error($error){ break; default: /* autre */ break; } if (!$msg){ $msg = _T('pass_erreur') . ' ' . $error . '<br />' . propre("[->http://php.net/manual/fr/features.file-upload.errors.php]"); } break; } spip_log("erreur upload $error"); spip_log("erreur upload $error", 'skeleditor' . _LOG_ERREUR); return $msg; } prive/squelettes/contenu/skeleditor.html +3 −1 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -17,7 +17,9 @@ [(#GET{file}|non|et{#ENV{upload}|trim|oui}) <div class="d-flex-col-100"> <h1 class="grostitre"><:skeleditor:action_upload:></h1> <div class="ajax h-100"> #FORMULAIRE_UPLOAD_SQUELETTE{#GET{path}} </div> </div> ] #FILTRE{liens_absolus} No newline at end of file prive/style_prive_plugin_skeleditor.html +4 −0 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -59,6 +59,9 @@ flex-basis: 100%; max-height: calc(100% - 6em); } .d-flex-col-100 .ajax-form-container { height: 100%; } .skeleditor #page #contenu .d-flex-col { display: flex; Chargement en cours Chargement en cours @@ -106,6 +109,7 @@ .formulaire_editer_squelette .image-viewer .grid {display: flex;width: 100%;justify-content: center;align-items: center;background: url(#CHEMIN_IMAGE{fond-imgs.png}) center repeat;min-height:50vh;margin-bottom: 2rem;} .formulaire_editer_squelette .image-viewer .grid img {max-width: 100%;height: auto;border:1px solid #ccc;} .formulaire_upload_squelette .dropfile_fichier_upload { height: 95%; text-align: center;padding-top: 15%;} .skeleditor #file-browser .picto { width: 1em; Chargement en cours Chargement en cours
formulaires/editer_squelette.html +41 −39 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -25,6 +25,7 @@ </div> ] [(#ENV{type}|=={img}|non) [ (#ENV{editable}|oui) [(#ENV{type}|=={txt}|et{#ENV{fichier}}|oui) <div class="search-replace-toolbar"> Chargement en cours Chargement en cours @@ -69,6 +70,7 @@ ] </div></form> ] ] [(#ENV{type}|=={img}|oui) <div class="image-viewer clearfix d-flex-col h-100"> <em class="infos"> Chargement en cours
formulaires/upload_squelette.html +8 −8 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff <div class='formulaire_spip formulaire_editer formulaire_squelette formulaire_#FORM'> <div class='formulaire_spip formulaire_editer formulaire_squelette h-100 formulaire_#FORM'> [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>] [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>] <div class="actions"> <div class="add"> [(#AUTORISER{creerdans,squelette,#ENV{path_base}}|oui) [(#AUTORISER{creerdans,squelette,#ENV{_path_base}}|oui) [(#BOUTON_ACTION{#CHEMIN_IMAGE{se-file-add-16.svg}|balise_img{new,picto,16x16}|concat{' ',<:skeleditor:action_nouveau:>},#URL_ECRIRE{skeleditor},btn btn_secondaire})] ] [(#AUTORISER{upload,squelette,#ENV{path_base}}|oui) [(#AUTORISER{upload,squelette,#ENV{_path_base}}|oui) [(#BOUTON_ACTION{#CHEMIN_IMAGE{se-upload-16.svg}|balise_svg{upload,picto,16x16}|concat{' ',<:skeleditor:action_upload:>},#URL_ECRIRE{skeleditor,upload=oui},btn btn_secondaire})] ] </div> Chargement en cours @@ -17,11 +17,11 @@ [(#REM) declarer les hidden qui declencheront le service du formulaire parametre : url d'action ] #ACTION_FORMULAIRE{#ENV{action}} <div class="editer-groupe"> <div class="editer editer_file pleine_largeur[ (#ENV**{erreurs}|table_valeur{file}|oui)erreur]"> <label for="file"><:skeleditor:label_file:></label>[ <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{file})</span>] <input type="file" name='file' class='file' id='file' value="#ENV{file}" /> <div class="editer-groupe h-100"> <div class="editer editer_fichier_upload h-100 pleine_largeur[ (#ENV**{erreurs}|table_valeur{fichier_upload}|oui)erreur]"> <label for="fichier_upload"><:skeleditor:label_file:></label>[ <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{fichier_upload})</span>] <input type="file" name='fichier_upload' class='file' id='fichier_upload' value="#ENV{fichier_upload}" /> </div> </div> [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ] Chargement en cours
formulaires/upload_squelette.php +48 −14 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -12,6 +12,27 @@ if (!defined('_ECRIRE_INC_VERSION')){ include_spip('inc/skeleditor'); /** * @param array $args * @param \Spip\Bigup\Formulaire $formulaire * @return \Spip\Bigup\Formulaire */ function inc_bigup_medias_formulaire_upload_squelette_dist($args, $formulaire) { $formulaire->preparer_input( 'fichier_upload', [ 'multiple' => false, 'previsualiser' => true, 'input_class' => 'bigup_simple', ] ); $formulaire->inserer_js('bigup.simples.js'); return $formulaire; } /** * Chargement du formulaire * 4 cas possibles : Chargement en cours @@ -28,21 +49,27 @@ include_spip('inc/skeleditor'); function formulaires_upload_squelette_charger_dist($path_base){ $valeurs = array( 'file' => '', 'path_base' => $path_base, 'editable' => true 'fichier_upload' => '', 'editable' => true, '_path_base' => $path_base, '_bigup_rechercher_fichiers' => true, '_multiple' => '', ); return $valeurs; } function formulaires_upload_squelette_verifier_dist($path_base){ $erreurs = []; $res = skeleditor_check_upload($path_base); if (is_string($res)){ $erreurs['file'] = $res; $erreurs['fichier_upload'] = $res; } elseif (!count($res)) { $erreurs['file'] = _T('skeleditor:erreur_fichier_inexistant'); $erreurs['fichier_upload'] = _T('skeleditor:erreur_fichier_inexistant'); } return $erreurs; } Chargement en cours @@ -50,16 +77,24 @@ function formulaires_upload_squelette_verifier_dist($path_base){ function formulaires_upload_squelette_traiter_dist($path_base){ $files = skeleditor_check_upload($path_base); $ok = true; //spip_log($files, 'skeleditor' . _LOG_DEBUG); $erreurs = []; include_spip('inc/documents'); foreach ($files as $file){ if (!move_uploaded_file($file['tmp_name'], $path_base . $file['name'])){ if (!deplacer_fichier_upload($file['tmp_name'], $path_base . $file['name'], true)){ $erreurs[] = "Erreur lors du deplacement du fichier " . $file['name'] . " dans $path_base"; $ok = false; } } if ($ok){ $res['message_ok'] = 'ok'; $res['redirect'] = parametre_url(parametre_url(self(), 'upload', ''), 'f', $path_base . $file['name']); } else { $res['message_erreur'] = 'erreur'; } else { $res['message_erreur'] = 'Erreur : ' . implode('<br />', $erreurs); } return $res; Chargement en cours Chargement en cours @@ -118,15 +153,14 @@ function skeleditor_upload_error($error){ break; default: /* autre */ break; } if (!$msg){ $msg = _T('pass_erreur') . ' ' . $error . '<br />' . propre("[->http://php.net/manual/fr/features.file-upload.errors.php]"); } break; } spip_log("erreur upload $error"); spip_log("erreur upload $error", 'skeleditor' . _LOG_ERREUR); return $msg; }
prive/squelettes/contenu/skeleditor.html +3 −1 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -17,7 +17,9 @@ [(#GET{file}|non|et{#ENV{upload}|trim|oui}) <div class="d-flex-col-100"> <h1 class="grostitre"><:skeleditor:action_upload:></h1> <div class="ajax h-100"> #FORMULAIRE_UPLOAD_SQUELETTE{#GET{path}} </div> </div> ] #FILTRE{liens_absolus} No newline at end of file
prive/style_prive_plugin_skeleditor.html +4 −0 Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff Chargement en cours @@ -59,6 +59,9 @@ flex-basis: 100%; max-height: calc(100% - 6em); } .d-flex-col-100 .ajax-form-container { height: 100%; } .skeleditor #page #contenu .d-flex-col { display: flex; Chargement en cours Chargement en cours @@ -106,6 +109,7 @@ .formulaire_editer_squelette .image-viewer .grid {display: flex;width: 100%;justify-content: center;align-items: center;background: url(#CHEMIN_IMAGE{fond-imgs.png}) center repeat;min-height:50vh;margin-bottom: 2rem;} .formulaire_editer_squelette .image-viewer .grid img {max-width: 100%;height: auto;border:1px solid #ccc;} .formulaire_upload_squelette .dropfile_fichier_upload { height: 95%; text-align: center;padding-top: 15%;} .skeleditor #file-browser .picto { width: 1em; Chargement en cours