Modification du mod [Add Field to Profile]

Ici sera assuré le support pour n'importe quel MOD non présent dans la base de données de phpBB-fr.

Modérateur: Equipe

Règles du forum
A lire impérativement sur notre page : Règlement

- Plus aucun support n'est délivré pour phpBB2 depuis le 1er janvier 2009

Modification du mod [Add Field to Profile]

Messagepar caeruleus » 19 Aoû 2008 à 16:38

Bonjour,

J'ai un forum phpbb 2.0.22 et j'ai rajouté le mod "Add Field to Profile" qui permet de rajouter un champ de saisie (music) dans le profil des membre.

voici le lien de téléchargement du mod : Add Field to Profile

Par contre je voudrais modifier le mod pour forcer lors de l'enregistrement d'un nouveau membre, à saisir le nom d'utilisateur (login) d'un membre déjà existant dans la base (sorte de parrainage), j'ai dèjà fait la modif pour rendre le champ obligatoire, mais je n'arrive pas à ce que le script vérifie que la saisie correspond bien à un nom de membre existant dans la base de donées.

j'ai pour le moement 2 pistes, mais sans parvenir à adapter les scripts.

la première piste, serais de récupérer la fonction qui empèche un nouveau membre de s'enregistrer avec le nom d'un membre déjà existant, mais en inversant le résultat, cad qu'au lieu de refuser l'inscription d'un nom existant, on vérifie que le nom saisie dans le champ "music" existe en tant que "username" dans la base, et on autorise si il existe ou on refuse s'il n'éxiste pas.

voici le code apparement à modifier (sauf erreur de ma part)

extrait de : includes/usercp_register.php
Code: Tout sélectionner
// Let's make sure the user isn't logged in while registering,
// and ensure that they were trying to register a second time
// (Prevents double registrations)
//
if ($mode == 'register' && ($userdata['session_logged_in'] || $username == $userdata['username']))
{
   message_die(GENERAL_MESSAGE, $lang['Username_taken'], '', __LINE__, __FILE__);
}


l'autre piste serais de récupérer le code qui envois un message d'erreur si on indique un nom de membre inexistant lorsque l'on veut envoyer un message privé à un membre, le code vérifie donc si le membre existe dans la base (pour lui envoyer le MP) et retourne un message d'erreur si le membre indiqué n'existe pas.

extrait de : privmsg.php
Code: Tout sélectionner
if ( $submit )
   {
      // session id check
      if ($sid == '' || $sid != $userdata['session_id'])
      {
         $error = true;
         $error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['Session_invalid'];
      }
      if ( !empty($HTTP_POST_VARS['username']) )
      {
         $to_username = phpbb_clean_username($HTTP_POST_VARS['username']);

         $sql = "SELECT user_id, user_notify_pm, user_email, user_lang, user_active
            FROM " . USERS_TABLE . "
            WHERE username = '" . str_replace("\'", "''", $to_username) . "'
               AND user_id <> " . ANONYMOUS;
         if ( !($result = $db->sql_query($sql)) )
         {
            $error = TRUE;
            $error_msg = $lang['No_such_user'];
         }

         if (!($to_userdata = $db->sql_fetchrow($result)))
         {
            $error = TRUE;
            $error_msg = $lang['No_such_user'];
         }
      }
      else
      {
         $error = TRUE;
         $error_msg .= ( ( !empty($error_msg) ) ? '<br />' : '' ) . $lang['No_to_user'];
      }
   }


cela fait plusieurs jours que je m'arrache les cheveux sur cette modif qui cette fois semble avoir atteint la limite de mes compétences.

Merci par avance. :lol:
caeruleus
Posteur néophyte
Posteur néophyte
 
Messages: 2
Enregistré le: 19 Aoû 2008 à 15:48

Re: Modification du mod [Add Field to Profile]

Messagepar Morgyanne » 03 Sep 2008 à 15:23

Salut,

Pourquoi ne pas utiliser les MODs de parrainage déjà existants ?
Parrainage v1.0.0
Invitation Only
Invitation Only U2U

@+
Morgyanne :)
« What a filthy job !
Could be worse.
How ?
Could be rainin'. »

From Young Frankenstein
Avatar de l’utilisateur
Morgyanne
Marvelous girl
Marvelous girl
 
Messages: 32249
Enregistré le: 21 Mar 2005 à 13:28
Localisation: Juste derrière toi...

Re: Modification du mod [Add Field to Profile]

Messagepar caeruleus » 03 Sep 2008 à 15:50

Bonjour,

Merci pour les 2 derniers MOD que je ne connaissais pas, je connaissais seulement le premier qui ne conviens pas pour mon utilisation car il affiche la liste des parrains dans un menu déroulant, et je veut justement faire le contraire, le nouveau inscrit doit connaître au préalable un utilisateur enregistré sans le choisir dans une liste.

les 2 derniers semblent éventuellement convenir, mais sous réserve que j'ai bien compris les désignations de ces 2 MOD car mon anglais est relativement limité, mais apprement ça devrais aller.

Je testerais ça et je vous tiendrais au courant.

Merci par avance.
caeruleus
Posteur néophyte
Posteur néophyte
 
Messages: 2
Enregistré le: 19 Aoû 2008 à 15:48

Re: Modification du mod [Add Field to Profile]

Messagepar The bargeots » 25 Oct 2008 à 00:11

Bonjour je profites de ce post pour poser une question au sujet de ce mod.

Je l'ai instalé, tout marche nikel.
J'ai mis l'addon text field qui permet d'ajouter du bbcode, html ou autre dans le champ aditionel.

Ensuite j'ai voulu que ce champ s'afiche dans la liste des membres, mais voila... l'affichage ne marche pas, le bbcode n'est pas reconu, du coup j'ai les balises URL du bbcode + l'url + le texte de l'url, bref ça fait un peu long...

Voici le code pour le memberlist:

Code: Tout sélectionner
#########################################################################################
## 
## Hack Title:    Display a (new) field in memberlist
## Author:        Acid
##
## Description:   If you want to display a (new) field in memberlist and if you
##		  want to sort it..
##		  If you want to add several (new) fields to the memberlist duplicate
##		  the following steps and change "info" (be aware of the spelling).
##		  The field "info" is just an example.
##
## Files to edit: 2
##		  memberlist.php
##                templates/xxx/memberlist_body.tpl
##
#########################################################################################
## 
## Installation/Author Notes: 
## First always backup the files that you're going to edit. 
## 
#########################################################################################
# 
#-----[ OPEN ]------------------------------------------
#  
# memberlist.php
# 
#-----[ FIND (just a quote) ]---------------------------------------------------
# 
$mode_types_text = array(
$mode_types = array(

# 
#-----[ IN-LINE FIND ]---------------------------------------------------
# 
$lang['Sort_Location']

# 
#-----[ IN-LINE ADD ]---------------------------------------------------
# 
, $lang['Info']

# 
#-----[ IN-LINE FIND ]---------------------------------------------------
# 
'location'

# 
#-----[ IN-LINE ADD ]---------------------------------------------------
# 
, 'info'

# 
#-----[ FIND ]---------------------------------------------------
# 
	'L_FROM' => $lang['Location'],

# 
#-----[ BELOW ADD ]---------------------------------------------------
# 
	'L_INFO' => $lang['Info'],

# 
#-----[ FIND ]---------------------------------------------------
# 
		case 'location':
			$order_by = "user_from $sort_order LIMIT $start, " . $board_config['topics_per_page'];
			break;

# 
#-----[ BELOW ADD ]---------------------------------------------------
# 
		case 'info':
			$order_by = "user_info $sort_order LIMIT $start, " . $board_config['topics_per_page'];
			break;

# 
#-----[ FIND (just a quote) ]---------------------------------------------------
# 
$sql = "SELECT 
	FROM " . USERS_TABLE . "

# 
#-----[ IN-LINE FIND ]---------------------------------------------------
# 
user_from

# 
#-----[ IN-LINE ADD ]---------------------------------------------------
# 
, user_info

# 
#-----[ FIND ]---------------------------------------------------
# 
		$from = ( !empty($row['user_from']) ) ? $row['user_from'] : '&nbsp;';

# 
#-----[ BELOW ADD ]---------------------------------------------------
# 
		// only if you´re using an option field (delete // before the next line)
		// $info = ( $row['user_info'] == '0' ) ? $lang['No'] : $lang['Yes'];
		// and uncomment the next line (add // before)
		$info = ( !empty($row['user_info']) ) ? $row['user_info'] : '&nbsp;';

# 
#-----[ FIND ]---------------------------------------------------
# 
			'FROM' => $from,

# 
#-----[ BELOW ADD ]---------------------------------------------------
# 
			'INFO' => $info,


# 
#-----[ OPEN ]------------------------------------------
#  
# templates/xxx/memberlist_body.tpl
# 
#-----[ FIND ]---------------------------------------------------
# 
	  <th class="thTop" nowrap="nowrap">{L_FROM}</th>

# 
#-----[ BELOW ADD ]---------------------------------------------------
# 
	  <th class="thTop" nowrap="nowrap">{L_INFO}</th>

# 
#-----[ FIND ]---------------------------------------------------
# 
	  <td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gen">{memberrow.FROM}</span></td>

# 
#-----[ BELOW ADD ]---------------------------------------------------
# 
	  <td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gen">{memberrow.INFO}</span></td>

# 
#-----[ FIND ]---------------------------------------------------
# 
# Increase the colspan-value. If you´ve added one new column the value should be "9",
# but if you´ve added several columns you have to increase the value accordingly with
# the amount of columns you´ve added.

	  <td class="catbottom" colspan="8" height="28">&nbsp;</td>

#########################################################################################
#########################################################################################
#########################################################################################


Quel modif doit ton ajouter pour avoir un lien cliquable fonctionnant avec les balises bbcode?
Merci. :wink:
The bargeots
Posteur néophyte
Posteur néophyte
 
Messages: 76
Enregistré le: 28 Juil 2007 à 18:48

Re: Modification du mod [Add Field to Profile]

Messagepar The bargeots » 29 Oct 2008 à 22:50

Bonjour personne n'a une petite idée la dessus? :oops:
The bargeots
Posteur néophyte
Posteur néophyte
 
Messages: 76
Enregistré le: 28 Juil 2007 à 18:48


Retourner vers MODs indépendants de la base

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

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

cron