diff --git a/README.md b/README.md index 9950c76..7ffacb5 100644 --- a/README.md +++ b/README.md @@ -38,5 +38,8 @@ function ma_super_fonction($id_auteur, $champ, $valeur){ ``` La gestion du mot de passe est deja géré, pas besoin de l'ajouter dans l'array des saisies +### Modification du logo de l'auteur +1. Il faut l'autoriser dans la configuration du plugin +2. Il ne faut pas l'ajouter dans une saisie, le plugin s'en charge diff --git a/comptespip_pipelines.php b/comptespip_pipelines.php index dadaa99..9d0a9a5 100644 --- a/comptespip_pipelines.php +++ b/comptespip_pipelines.php @@ -12,3 +12,15 @@ if (!defined('_ECRIRE_INC_VERSION')) { return; } + +/** + * Charger des styles CSS + * + * @pipeline insert_head_css + * @param string $flux Code html des styles CSS à charger + * @return string Code html complété + **/ +function comptespip_insert_head_css($flux){ + $flux .= '' . "\n"; + return $flux; +} diff --git a/css/comptespip.css b/css/comptespip.css new file mode 100644 index 0000000..37ff1ab --- /dev/null +++ b/css/comptespip.css @@ -0,0 +1,7 @@ +.comptespip_logo_auteur { + display: flex; + align-items: center; +} +.formulaire_spip .comptespip_logo_auteur .editer_logo { + margin-left: 1rem; +} diff --git a/formulaires/configurer_comptespip.html b/formulaires/configurer_comptespip.html index 30e6328..356933b 100644 --- a/formulaires/configurer_comptespip.html +++ b/formulaires/configurer_comptespip.html @@ -10,7 +10,26 @@ #ACTION_FORMULAIRE
- <:comptespip:conf_formulaire_inscription:> +

<:comptespip:conf_formulaire_general:>

+
+ #SET{name,unicite_email} + #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} +
+ +
+ + +
+
+ + +
+
+
+
+ +
+

<:comptespip:conf_formulaire_inscription:>

#SET{name,id_presentation} #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} @@ -32,23 +51,6 @@
-
- #SET{name,unicite_email} - #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} -
- -
- - -
-
- - -
-
-
- - [(#PLUGIN{auted}|oui)
#SET{name,aut_modele} @@ -104,6 +106,27 @@
+
+

<:comptespip:conf_formulaire_edition:>

+
+ #SET{name,modif_logo_auteur} + #SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}} +
+ +
+ + +
+
+ + +
+
+
+ +
+ + diff --git a/formulaires/editer_compte_spip.html b/formulaires/editer_compte_spip.html index 7010e1b..b7e6222 100644 --- a/formulaires/editer_compte_spip.html +++ b/formulaires/editer_compte_spip.html @@ -6,7 +6,20 @@
#ACTION_FORMULAIRE{#ENV{action}} - #GENERER_SAISIES{#ENV{_saisies}} +
+ + + [(#ENV{_bigup_rechercher_fichiers}|oui) + [(#SAISIE{bigup, logo, form, formulaire_args} + {previsualiser=oui} + {accept=image/*} + )] + ] +
+ +
+ #GENERER_SAISIES{#ENV{_saisies}} +
Mot de passe diff --git a/formulaires/editer_compte_spip.php b/formulaires/editer_compte_spip.php index a52daa4..4664a57 100644 --- a/formulaires/editer_compte_spip.php +++ b/formulaires/editer_compte_spip.php @@ -12,12 +12,16 @@ function formulaires_editer_compte_spip_charger_dist($id_auteur = 'new', $redir $valeurs['password'] = ''; $valeurs['password_confirmation'] = ''; - + if (lire_config('comptespip/modif_logo_auteur')) { + $valeurs['_bigup_rechercher_fichiers'] = 'true'; + $valeurs['logo'] = ''; + } return $valeurs; } function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redirect = ''){ + $id_auteur = session_get('id_auteur'); $erreurs = array(); $mode = lire_config('comptespip/statut'); @@ -69,7 +73,10 @@ function formulaires_editer_compte_spip_verifier_dist($id_auteur = 'new', $redi if ($row = sql_fetsel( 'statut, id_auteur, login, email', 'spip_auteurs', - 'email=' . sql_quote($declaration['email']) + [ + 'email=' . sql_quote($declaration['email']), + 'id_auteur!='.intval($id_auteur) + ] )) { if (($row['statut'] == '5poubelle') and empty($declaration['pass'])) { // irrecuperable @@ -103,10 +110,9 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir $set = []; foreach ($saisies as $saisie) { $champ = $saisie['options']['nom']; - $f = $saisie['options']['fonction']; if (isset($f) and !empty($f)) { $f($id_auteur, $champ, _request($champ)); - }else { + } else { $set[$champ] = _request($champ); } } @@ -130,6 +136,10 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir ]; auteur_instituer($id_auteur, $set_instituer); + if (lire_config('comptespip/modif_logo_auteur')) { + comptespip_save_logo_auteur($id_auteur); + } + include_spip('inc/invalideur'); suivre_invalideur("id='id_auteur/$id_auteur'"); @@ -145,3 +155,16 @@ function formulaires_editer_compte_spip_traiter_dist($id_auteur = 'new', $redir return $retour; } + +function comptespip_save_logo_auteur($id_auteur){ + include_spip('inc/joindre_document'); + set_request('joindre_upload','ok'); + + $files = joindre_trouver_fichier_envoye(); + if (is_array($files)) { + include_spip('action/editer_logo'); + logo_supprimer('auteur', $id_auteur, 'on'); + $ajouter_document = charger_fonction('ajouter_documents', 'action'); + $ajouter_document('new', $files, "auteur", $id_auteur, 'logoon'); + } +} diff --git a/inclure/logo_auteur.html b/inclure/logo_auteur.html new file mode 100644 index 0000000..caef695 --- /dev/null +++ b/inclure/logo_auteur.html @@ -0,0 +1,5 @@ +
+ + [(#LOGO_AUTEUR|image_reduire{220, 220})] + +
diff --git a/lang/comptespip_fr.php b/lang/comptespip_fr.php index 57e21ae..ab91da2 100644 --- a/lang/comptespip_fr.php +++ b/lang/comptespip_fr.php @@ -24,6 +24,9 @@ $GLOBALS[$GLOBALS['idx_lang']] = array( 'conf_label_connexion_auto' => "Connexion automatique après l'inscription", 'conf_label_page_redirection' => "Nom de la page de redirection", 'conf_label_page_redirection_expl' => "Si vide, page sommaire", + 'conf_formulaire_general' => "Configuration générale", + 'conf_formulaire_edition' => "Configuration du formulaire d'édition", + 'conf_label_logo_auteur' => "Autoriser la modification du logo de l'auteur", // MM diff --git a/paquet.xml b/paquet.xml index 1989619..477acb4 100644 --- a/paquet.xml +++ b/paquet.xml @@ -10,15 +10,14 @@ CompteSPIP - tofulm GNU/GPL - +