Connectix Boards

Bienvenue, vous n'êtes pas connecté. ( Se connecter - S'enregistrer )

Dernière version sortie: 0.8.4!
Venez tester la version 1.0 beta :)

Connectix Boards > Zone développement > Programmation > modif: champ supplémentaire en profil

RSS >  modif: champ supplémentaire en profil, +affichage en forum avec avatar etc...
kristoch #1 04/09/2009 - 20h21

Groupe : Acharné
Messages : 342
Enregistré le : 05/08/2009

Hors ligne Site Web

ai pris exemple d'un champ "citation" en profil entre "site" et "présentation"
(également dans l'affichage du profil utilisateur) en informations générales.
et apparaissant dans le forum entre "enregistré le" et "connecté,MP, mail, site"

c'est un espace de texte acceptant signes et alphanumérique (lettres et chiffres) ça peut être "jeu favori ou préféré" ou ce que vous voudrez!

attention cette modification nécessite un ajout dans la base de données:
le champ "usr_citation" dans la table "cb_users" par exemple entre
"cb_avatars" et "cb_signature" il suffit de copier le champs "usr_place".

liste des fichiers modifiés:
part.userprofile.php (include/parts/)
part.userprofile (template/official/)
general.lang (lang/fr/) voir message suivant
userprofile.lang (lang/fr/) voir message suivant
part_showtopic.php (include/parts/) voir message suivant
part_showtopic.php (template/official/) voir message suivant

part.userprofile.php en include: ligne 277
   if ( isset($_POST['msn'],$_POST['icq'],$_POST['aim'],$_POST['yahoo'],$_POST['publicemail'],$_POST['place'],$_POST['citation'],$_POST['presentation'], etc...
ajout entre place et présentation de:
$_POST['citation'],

idem ligne 295 entre place et présentation:
       usr_citation=\''.clean($_POST['citation']).'\',

idem ligne 347: insérer entre
   $return=$GLOBALS['cb_db']->query('SELECT usr_name,usr_id,IF(usr_publicemail,usr_email,\'\') AS usr_email_ok,usr_gender,usr_birthdate,usr_realname,usr_lastconnect,usr_website,usr_registertime,usr_nbmess,usr_class,gr_name,gr_status,gr_color,usr_website,usr_msn,usr_icq,usr_aim,usr_yahoo,usr_place,usr_citation,usr_presentation,usr_ etc...

idem ligne 382:
       'u_place'             => ((!empty($userpr['usr_place']))?$userpr['usr_place']:''),
       'u_citation'         => ((!empty($userpr['usr_citation']))?$userpr['usr_citation']:''),
       'u_pres'             => ((!empty($userpr['usr_presentation']))?$userpr['usr_presentation']:''),


idem ligne 442:
           'u_place' => $userpr['usr_place'],
           'u_citation' => $userpr['usr_citation'],
           'u_pres' => unClean($userpr['usr_presentation']),


part.userprofile.php en template: ligne 14
          <strong><?php echo lang('usr_place'); ?></strong> : <?php if (!empty($u_place)):  echo $u_place;  else: ?><span class="i"><?php echo lang('usr_noinfo'); ?></span><?php endif; ?><br />
           <strong><?php echo lang('usr_citation'); ?></strong> : <?php if (!empty($u_citation)):  echo $u_citation;  else: ?><span class="i"><?php echo lang('usr_noinfo'); ?></span><?php endif; ?><br />
           <strong><?php echo lang('usr_presentation'); ?></strong> : <?php if (!empty($u_pres)):  echo '<br /><span class="presentation">'.$u_pres.'</span>';  else: ?><span class="i"><?php echo lang('usr_noinfo'); ?></span><?php endif; ?>
       </p>


ligne 95, toujours même principe, entre "place","website" et "presentation":
           <p>
               <label><strong><?php echo lang('usr_citation'); ?></strong> : <br />
               <input type="text" name="citation" size="60" value="<?php echo $u_citation; ?>" /></label>
           </p>    

ajoutez ce bloc.

suite sur message suivant
Ce message a été édité par kristoch le 12/09/2009 à 23h31.
un de mes blogs : chachacha
kristoch #2 12/09/2009 - 17h20

Groupe : Acharné
Messages : 342
Enregistré le : 05/08/2009

Hors ligne Site Web

en fichier lang general: par ex. vers ligne 50, inserez entre:
   'avatar' => 'Avatar',    
   'citation' => '<strong>Citation</strong>:<br>',
   'signature' => 'Signature',

on le met où on veut! là il y a 2 triches en HTML
c'est mis en caractères gras, avec donc les ":" suivis d'un saut de ligne.
si vous n'en voulez pas, ne laisser que le texte et les ":" ôtés ailleurs!

en fichier lang userprofile par ex vers ligne 60 ajoutez:
   'usr_citation' => 'Citation ou Devise',    

le "citation" apparaitra en forum, le "citation ou devise" en profil.

en part.showtopic du template: vers ligne 145...
           <p class="userinfos">
               <?php if (!empty($message['mess_userinfo_group_img'])): ?>
               <?php echo $message['mess_userinfo_group_img']; ?><br />
               <?php endif; ?>
               <?php echo lang('class'); ?> : <?php echo $message['mess_userinfo_group']; ?> <br />
               <?php echo lang('posts'); ?> : <?php echo $message['mess_userinfo_posts']; ?> <br />
               <?php echo lang('registered'); ?> : <?php echo $message['mess_userinfo_registered']; ?><br>
               <?php echo ($message['mess_userinfo_citation'] ? '<br />'.lang('citation').' '.$message['mess_userinfo_citation'] : ''); ?>
           </p>

on l'a ajouté tout à la fin, après "enregistré le", avant "connecté/MP/mail/site"

en part.showtopic de l'include: vers ligne 260
$return4 = $GLOBALS['cb_db']->query('SELECT
       msg_id,msg_timestamp,msg_userid,msg_guest,msg_userip,msg_message,msg_modified,msg_modifieduser,
       con_timestamp,
       nu.usr_registertime AS normregtime,nu.usr_name AS messcleanusername,nu.usr_avatar AS messavatar,nu.usr_website AS messwebsite,nu.usr_citation AS messcitation,
etc...
on l'insère dans la longue liste!

puis vers L315 après:
   // Données du message relatives au membre considéré
   if ($msgs['msg_userid']) {
       require_once(CB_PATH.'include/lib/lib.moderators.php');
       $msg = array_merge($msg,array(

on l'ajoute avant l'icône (si connecté ou pas)
           'mess_userinfo_citation'  => $msgs['messcitation'],
           'mess_mpicon'                => ('<a href="' etc...



Voilà! merci de me dire si j'ai oublié quelque chose! c'est possible.
testé: créer, effacer, modifier/modérer, long texte/+d'1 ligne...
sur mon site ça fonctionne parfaitement sans aucun soucis.
Ce message a été édité par kristoch le 12/09/2009 à 23h30.
un de mes blogs : chachacha
Ishimaru Chiaki #3 12/09/2009 - 22h29

Groupe : Doc-rédacteur
Messages : 800
Enregistré le : 12/03/2008

Hors ligne Site Web

Les balises <b></b> sont dépréciées en XHTML 1.0 Strict.  Utilise plutôt <strong></strong>.
Besoin de volontaires pour les tests du support IPv6 dans la future version 0.8.5 !
Plus d'informations ici

Mon fil Twitter
kristoch #4 12/09/2009 - 23h29

Groupe : Acharné
Messages : 342
Enregistré le : 05/08/2009

Hors ligne Site Web

Ishimaru Chiaki @ 12/09/2009 - 22h29 a dit:

Les balises <b></b> sont dépréciées en XHTML 1.0 Strict.  Utilise plutôt <strong></strong>.


oui tu as raison, je suis d'autant plus impardonnable que j'avais pensé dans une autre modif spécifique au profil de chez moi à ôter le /" de fin d'une image inserée pour mettre un alt=" " toujours par comptatibilité
même si ça n'a aucun rapport

je modifie du coup: j'édite de suite.

et je vais préciser de foutre plutôt un varchar avec valeur
comme "place" plutôt que copier "signature" en Text!

graaaaaah


les finitions prennent toujours le plus de temps
ou les réglages... ;)


merci à toi!
Ce message a été édité par kristoch le 12/09/2009 à 23h34.
un de mes blogs : chachacha
aimak #5 06/04/2010 - 20h47

Groupe : Nouveau
Messages : 18
Enregistré le : 18/01/2006

Hors ligne

Bonjour !

Cette fonctionnalité m'intéresse beaucoup pour CyManager.net et j'aurais voulu savoir si celle présentée sur ce topic était recommandée par CB.

Merci d'avance,
aimak
kristoch #6 10/04/2010 - 11h54

Groupe : Acharné
Messages : 342
Enregistré le : 05/08/2009

Hors ligne Site Web

désolé pour la réponse tardive car j'étais absent!

oui c'est garanti sans bug car testé sur mon site depuis que mis ici
mais c'est que la reprise du programme existant en copié/collé hein
donc je ne vois pas trop comment ça pourrait vraiment bog/buguer!
un de mes blogs : chachacha

 >  Réponse rapide

Composez votre message

Connectix Boards > Zone développement > Programmation > modif: champ supplémentaire en profil

 >  Informations du forum

1 personne(s) présente(s) durant une période de 15 minutes (0 membre(s) et 1 invité(s)).