Externalisation du profil

Ce forum vous servira à trouver de l'aide uniquement en ce qui concerne le développement d'un de vos MODs, ou l'adaptation d'un MOD phpBB2 pour phpBB3.

Modérateur: Equipe

Externalisation du profil

Messagepar ludo » 31 Mai 2009 à 19:31

Bonjour à tous,

Je cherche un peu d'aide concernant le développement d'une fonctionnalité site/forum, j'espère que je poste dans la bonne section :?:

je suis actuellement en train d'externaliser la gestion des profils membres sur mon site, le but est ici d'avoir les pages de profil dans la partie "site" et non la partie forum, avec la possibilité de modifier ses infos bien sûr. Jusque là pas de problème j'ai réussi à faire à peu près tout ce que je voulais mais je bute sur la gestion des avatars et signatures. J'aurai souhaité savoir quelles fonctions utiliser au moment de l'envoi du formulaire d'avatar.

merci d'avance :mrgreen:
Dernière édition par ludo le 04 Juin 2009 à 18:50, édité 1 fois.
ludo
Posteur néophyte
Posteur néophyte
 
Messages: 8
Inscription: 25 Mai 2008 à 17:29

Re: Externalisation du profil

Messagepar ErnadoO » 03 Juin 2009 à 17:05

plop

C'est la fonction avatar_process_user() dans functions_users.php qui gère tout; elle est appelée à la soumission du formulaire dans le panneau utilisateur ;)
ErnadoO
 

Re: Externalisation du profil

Messagepar ludo » 04 Juin 2009 à 16:48

Merci beaucoup :mrgreen:

J'ai été un peu trompé par la fonction avatar_upload(), qui n'était pas suffisante à elle seule, finalement c'est vraiment ultra simple ! En revanche il y a dans le formulaire que j'ai récupérer un champs hidden "form_token" dont je ne connais pas du tout l'utilité, je ne sais pas quoi mettre dedans, même si tout fonctionne très bien en le laissant vide, je me posais la question :roll:

En revanche la manipulation paraît autrement plus complexe pour les signatures, car là il ne s'agit plus seulement de récupérer un formulaire simple et d'appliquer une fonction :roll: . Si quelqu'un pouvait m'éclairer sur ce sujet, à savoir par exemple comment afficher un fichier de template dans une page externe (comme ucp_profile_signature.html ou posting_editor.html), et si il existe une fonction pour enregistrer la signature en base. Merci d'avance :)
ludo
Posteur néophyte
Posteur néophyte
 
Messages: 8
Inscription: 25 Mai 2008 à 17:29

Re: Externalisation du profil

Messagepar ErnadoO » 04 Juin 2009 à 17:17

Là encore c'est très simple:
Code: Tout sélectionner
                        include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
                        include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

                        $signature        = utf8_normalize_nfc(request_var('signature', (string) $user->data['user_sig'], true));

                        $message_parser = new parse_message($signature);

                        // Allowing Quote BBCode
                        $message_parser->parse($enable_bbcode, $enable_urls, $enable_smilies, $config['allow_sig_img'], $config['allow_sig_flash'], true, $config['allow_sig_links'], true, 'sig');

                        if (sizeof($message_parser->warn_msg))
                        {
                            $error[] = implode('<br />', $message_parser->warn_msg);
                        }

                        if (!sizeof($error) && $submit)
                        {
                            $sql_ary = array(
                                'user_sig'                    => (string) $message_parser->message,
                                'user_sig_bbcode_uid'        => (string) $message_parser->bbcode_uid,
                                'user_sig_bbcode_bitfield'    => $message_parser->bbcode_bitfield
                            
);

                            $sql = 'UPDATE ' . USERS_TABLE . '
                                SET '
 . $db->sql_build_array('UPDATE', $sql_ary) . '
                                WHERE user_id = '
 . $user->data['user_id'];
                            $db->sql_query($sql); 
ErnadoO
 

Re: Externalisation du profil

Messagepar ludo » 04 Juin 2009 à 18:34

Après un rapide test, il semblerait qu'il manque encore quelques éléments.

Un include de la classe message_parser :
Code: Tout sélectionner
include($phpbb_root_path . 'includes/message_parser.' . $phpEx);


Les variables $enable_bbcode, $enable_urls, $enable_smilies n'existent pas, cela doit surement correspondre aux checkbox disable_bbcode, disable_smilies et disable_magic_url du formulaire. Tout comme la variable $submit, qui est censé enclencher l'exécution de la requête SQL, qui doit surement être la variable permettant de distinguer le mode enregistrement et le mode aperçu.

Il manque également une accolade pour fermer la dernière condition if, manquerait-il un bout de code à la fin?

En tout cas merci pour cette réponse rapide, je planche sur le code pour essayer de faire fonctionner tout ça et je vous tiens au courant :D
ludo
Posteur néophyte
Posteur néophyte
 
Messages: 8
Inscription: 25 Mai 2008 à 17:29

Re: Externalisation du profil

Messagepar ErnadoO » 04 Juin 2009 à 18:38

yep
ErnadoO
 

Re: Externalisation du profil

Messagepar ludo » 04 Juin 2009 à 18:49

Voilà ça marche :mrgreen: donc pour ceux que ça intéresse, il suffit de rajouter les lignes suivantes après les includes, et de rajouter une accolade "}" à la fin du code cité par ErnadoO

Code: Tout sélectionner
include($phpbb_root_path . 'includes/message_parser.' . $phpEx);
$enable_bbcode = (isset($_POST['disable_bbcode'])) ? false : true ;
$enable_urls = (isset($_POST['disable_magic_url'])) ? false : true ;
$enable_smilies = (isset($_POST['disable_smilies'])) ? false : true ;
$submit = (isset($_POST['submit'])) ? true : false ;


Plus qu'à mettre en forme le formulaire :D
Un grand merci pour m'avoir fait gagner un temps précieux !
ludo
Posteur néophyte
Posteur néophyte
 
Messages: 8
Inscription: 25 Mai 2008 à 17:29

Re: Externalisation du profil

Messagepar smougel » 07 Sep 2009 à 14:11

Bonjour

Je dois faire avec PHPBB une externalisation du profil presque similaire à la votre.
Je dois externaliser la gestion de l'avatar à partir de mon site.

Mon site possède déjà un formulaire d'upload et de resize de l'image de l'internaute.


Je voudrais que cette image soit pris en compte comme étant un avatar pour PHPBB.

Comment faire avec la fonction avatar_process_user() ou une autre fonction pour ?

    copier l'image de l'avatar dans le bon répertoire de PHPBB3
    que ça doit pris en compte en DB dans la table User et les autres tables ...

Je ne sais pas si la fonction avatar_process_user() permet de définir son avatar à partir d'un nom de fichier et un user_id ...
Apparement elle a l'air de fonctionner pour un upload... à partir d'un formulaire spécifique à PHPBB

Sinon, quelles sont les étapes minimales à faire pour que tout soit bien pris en compte en DB ?


Merci
smougel
Posteur néophyte
Posteur néophyte
 
Messages: 6
Inscription: 03 Sep 2009 à 13:13

Re: Externalisation du profil

Messagepar ErnadoO » 07 Sep 2009 à 14:39

Bonjour

Merci d'aller lire notre règlement, vous comprendrez en quoi votre demande est déplacée
ErnadoO
 


Retourner vers Aide au développement

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

Partenaires : phpBBHacks.com • phpBB-Seo.com • EzCom-fr.com • phpBB3 Styles • phpBB podpora • phpBB Portugal    Liens : Net Avenir • PromoBenef • Ticket Gagnant