Affichage :
Le laboratoire de Darathor Index du Forum

Le laboratoire de Darathor

Ressources diverses, principalement sur les fourms phpBB
[MOD] Extended profile (DEV - A)

Ce forum est verrouillé, vous ne pouvez pas poster, ni répondre, ni éditer les sujets. Ce sujet est verrouillé, vous ne pouvez pas éditer les messages ou faire de réponses.

Rechercher dans ce sujet :
Messages
Darathor Sexe : Masculin
Site Admin
Membre

Inscrit le : 02 Nov 2003
Messages : 1101
Localisation : Strasbourg
MessagePosté le : 24 Juil 2005 19:09
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Requis :
- [Sous-MOD] Images utiles
- [Sous-MOD] Reorder function

Requêtes SQL :
Code :
CREATE TABLE `phpbb_champs_supl_desc` (
  `champ_id` mediumint(8) unsigned NOT NULL auto_increment,
  `champ_position` mediumint(8) unsigned NOT NULL default '1',
  `champ_type` mediumint(8) NOT NULL default '0',
  `champ_nom` varchar(50) NOT NULL default '',
  `champ_desc` text NOT NULL,
  `champ_obligatoire` enum('oui','non') NOT NULL default 'non',
  `visible_membre` enum('oui','non') NOT NULL default 'oui',
  `visible_public` enum('oui','non') NOT NULL default 'oui',
  `visible_post` enum('oui','non') NOT NULL default 'non',
  PRIMARY KEY  (`champ_id`),
  KEY `champ_position` (`champ_position`)
);

CREATE TABLE `phpbb_champs_supl_valeurs` (
`rep_id` MEDIUMINT( 8 ) UNSIGNED DEFAULT '1' NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`champ_id` MEDIUMINT( 8 ) UNSIGNED NOT NULL ,
`rep_nom` VARCHAR( 255 ) NOT NULL ,
`rep_desc` TEXT NOT NULL,
`rep_default` enum('oui','non') DEFAULT 'non'
);


Dans "include/constants.php" :
Code :
#
# Trouver
#
?>

#
# Ajouter avant
#
// DEBUT MOD Extended Profile
define('CHAMPS_SUPL_DESC_TABLE', $table_prefix.'champs_supl_desc');
define('CHAMPS_SUPL_VALEURS_TABLE', $table_prefix.'champs_supl_valeurs');

define('CHSU_BOOLEAN', 1);
define('CHSU_MULTIPLE', 2);
define('CHSU_SMALLTEXT', 3);
define('CHSU_TEXT', 4);
// FIN MOD Extended Profile


Dans "lang_admin.php" :
Code :
#
# Trouver
#
$lang['Restore_DB'] = 'Restaurer la base de données';

#
# Ajouter après
#
// DEBUT MOD Champs supplémentaires
$lang['ChampsSupl'] = 'Profils avancés';
// FIN MOD Champs supplémentaires

#
# Trouver
#
?>

#
# Ajouter avant
#
// DEBUT MOD Extended Profile
$lang['ChSu_admin'] = 'Administration des champs supplémentaires';
$lang['ChSu_explain'] = 'Ici vous pouvez ajouter des champs dans le profil et définir les valeurs qu\'ils peuvent avoir.';
$lang['ChSu_Click_return_admin'] = 'Cliquez %sici%s pour revenir à l\'administration des champs supplémentaires.';

$lang['ChSu_Must_select_champ'] = 'Vous devez sélectionner un champ';
$lang['ChSu_CHamp_Exist'] = 'Ce champ existe déjà';
$lang['ChSu_EditChamp'] = 'Éditer le champ';
$lang['ChSu_nom'] = 'Nom';
$lang['ChSu_desc'] = 'Description';
$lang['ChSu_Type'] = 'Type de champ';
$lang['ChSu_Type_boolean'] = 'Booléen (oui/non)';
$lang['ChSu_Type_multiple'] = 'Multiple';
$lang['ChSu_Type_smalltext'] = 'Texte court (max 255)';
$lang['ChSu_Type_text'] = 'Texte long';
$lang['ChSu_obligatoire'] = 'Champ obligatoire ?';
$lang['ChSu_obligatoire_t'] = 'Obligatoire';
$lang['ChSu_visible_membre'] = 'Champ visible et éditable par le membre ?';
$lang['ChSu_visible_membre_t'] = 'Membre';
$lang['ChSu_visible_public'] = 'Champ visible dans les profils publics ?';
$lang['ChSu_visible_public_t'] = 'Publique';
$lang['ChSu_visible_post'] = 'Champ visible dans les posts ?';
$lang['ChSu_visible_post_t'] = 'Posts';
$lang['ChSu_Champ_Updated'] = 'Champ mis à jour avec succès';
$lang['ChSu_Champ_Added'] = 'Champ ajouté avec succès';
$lang['ChSu_Deleted_champ'] = 'Champ supprimé avec succès';
$lang['ChSu_Moved_champ'] = 'Champ déplacé avec succès';
$lang['ChSu_New_champ'] = 'Ajouter un camp';

$lang['ChSu_Must_select_choix'] = 'Vous devez sélectionner un choix';
$lang['ChSu_EditChoix'] = 'Éditer le choix';
$lang['ChSu_default'] = 'Ce choix est-il le choix par défaut pour ce champ ?';
$lang['ChSu_Choix_Added'] = 'Choix ajoutée avec succès';
$lang['ChSu_Choix_Updated'] = 'Choix mis à jour avec succès';
$lang['ChSu_Choix_Select'] = 'Vous devez donner un nom à ce choix';
$lang['ChSu_Choix_Suppressed'] = 'Ce choix a été supprimé avec succès';
$lang['ChSu_New_choix'] = 'Ajouter un choix';

$lang['ChSu_Move_maxup'] = 'Monter en haut de la liste';
$lang['ChSu_Move_maxdown'] = 'Descendre en habas de la liste';
// FIN MOD Extended Profile


Dans "lang_main.php" :
Code :
#
# Trouver
#
?>

#
# Ajouter avant
#
// DEBUT MOD Extended Profile
$lang['ChSu_Advanced_profile'] = 'Profil avancé';
$lang['ChSu_Advanced'] = 'Avancé';
$lang['ChSu_Not_allowed_to_edit'] = 'Vous n\'êtes pas autorisé à éditer ce profil.';
$lang['ChSu_Edit_successfull'] = 'Profil avancé édité avec succès.';
$lang['ChSU_field_required'] = 'Vous devez renseigner le champ %s.';
// FIN MOD Extended Profile


Dans "admin/admin_users.php" :
Code :
#
# Trouver
#
require($phpbb_root_path . 'includes/functions_validate.'.$phpEx);

#
# Ajouter après
#
// DEBUT MOD Extended Profile
include_once($phpbb_root_path . 'includes/functions_champs_suppl.' . $phpEx);
// FIN MOD Extended Profile

#
# Trouver
#
      //
      // Update entry in DB
      //

#
# Ajouter avant
#
      // DEBUT MOD Extended Profile
      $sql_liste_champs = get_champs_sql_update('all', $error, $error_msg);
      // FIN MOD Extended Profile

#
# Trouver
#
         $sql = "UPDATE " . USERS_TABLE . "

#
# Ajouter avant
#
         // DEBUT MOD Extended Profile
         $sql_liste_champs = get_champs_sql_update('visible_membre', $error, $error_msg);
         $sql_champs_suppl = $sql_liste_champs[0];
         // FIN MOD Extended Profile
         // COMMENTAIRE MOD Extended Profile : La requête qui suit a été modifiée.
         // -- DEBUT Ajouté
         //  $sql_champs_suppl
         // -- FIN Ajouté          

#
# Trouver une ligne commençant par
#
            SET " . $username_sql . $passwd_sql

#
# Ajouter à la fin de la ligne
#
 $sql_champs_suppl

#
# Trouver
#
         $s_hidden_fields .= '<input type="hidden" name="user_rank" value="' . $user_rank . '" />';

#
# Ajouter après
#
         // DEBUT MOD Extended Profile
         $s_hidden_fields .= get_champs_values('all', 'hidden_fields');
         // FIN MOD Extended Profile

#
# Trouver
#
         'S_PROFILE_ACTION' => append_sid("admin_users.$phpEx"))
      );

#
# Ajouter après
#
      // DEBUT MOD Extended Profile
      champs_supl_edit($this_userdata, 'all');
      // FIN MOD Extended Profile


Dans "subsilver/admin/user_edit_body.tpl" :
Code :
#
# Trouver
#
      <input class="post" type="text" name="dateformat" value="{DATE_FORMAT}" maxlength="16" />
     </td>
   </tr>   

#
# Ajouter après
#
   <!-- DEBUT MOD Extended Profile -->
   <tr>
     <td class="catSides" colspan="2" height="28">&nbsp;</td>
   </tr>
   <tr>
   <th class="thHead" colspan="2" height="25" valign="middle">{L_ADVANCED_PROFILE}</th>
   </tr>
   <!-- BEGIN champrow -->
   <tr>
      <td class="row1" valign="top"><span class="gen">{champrow.NOM} : </span><br /><span class="gensmall">{champrow.DESC}</span></td>
      <td class="row2">
         <!-- BEGIN boolrow -->
         <span class="gen"><input type="radio" name="{champrow.VAR}" value="1" {champrow.boolrow.CHECKED_YES} />{L_YES} &nbsp; <input type="radio" name="{champrow.VAR}" value="0" {champrow.boolrow.CHECKED_NO} />{L_NO}</span>
         <!-- END boolrow -->
         <!-- BEGIN reprow -->
         <span class="gen"><input type="radio" name="{champrow.VAR}" value="{champrow.reprow.REP_ID}" {champrow.reprow.CHECKED} /> {champrow.reprow.TEXT}</span><br />
         <!-- END reprow -->
         <!-- BEGIN smalltextrow -->
         <span class="gen"><input class="post" type="text" name="{champrow.VAR}" style="width:400px;" maxlength="100" value="{champrow.smalltextrow.TEXT}" /></span>
         <!-- END smalltextrow -->
         <!-- BEGIN textrow -->
         <span class="gen"><textarea wrap="virtual" name="{champrow.VAR}" class="post" style="width:400px;" rows="3" cols="80">{champrow.textrow.TEXT}</textarea></span>
         <!-- END textrow -->
      </td>
   </tr>
   <!-- END champrow -->   
   <!-- FIN MOD Extended Profile -->


Dans "includes/usercp_register.php" :
Code :
#
# Trouver
#
//
// Check and initialize some variables if needed
//

#
# Ajouter après
#
// DEBUT MOD Extended Profile
include_once($phpbb_root_path . 'includes/functions_champs_suppl.' . $phpEx);
// FIN MOD Extended Profile

#
# Trouver
#
   if ( !$error )
   {
      if ( $avatar_sql == '' )

#
# Ajouter avant
#
   // DEBUT MOD Extended Profile
   $sql_liste_champs = get_champs_sql_update('visible_membre', $error, $error_msg);
   // FIN MOD Extended Profile

#
# Trouver
#
         $sql = "UPDATE " . USERS_TABLE . "

#
# Ajouter avant
#
         // DEBUT MOD Extended Profile
         $sql_champs_suppl = $sql_liste_champs[0];
         // FIN MOD Extended Profile
         // COMMENTAIRE MOD Extended Profile : La requête qui suit a été modifiée.
         // -- DEBUT Ajouté
         //  $sql_champs_suppl
         // -- FIN Ajouté

#
# Trouver une ligne commençant par
#
            SET " . $username_sql . $passwd_sql

#
# Ajouter à la fin de la ligne
#
 $sql_champs_suppl

#
# Trouver
#
         //
         // Get current date
         //

#
# Ajouter après
#
         // DEBUT MOD Extended Profile
         $sql_champs_suppl_1 = $sql_liste_champs[1];
         $sql_champs_suppl_2 = $sql_liste_champs[2];
         // FIN MOD Extended Profile
         // COMMENTAIRE MOD Extended Profile : La requête qui suit a été modifiée.
         // -- DEBUT Ajouté
         //  $sql_champs_suppl_1
         //  $sql_champs_suppl_2
         // -- FIN Ajouté

#
# Dans une ligne, trouver
#
, user_active, user_actkey

#
# Dans la ligne, ajouter avant
#
 $sql_champs_suppl_1

#
# Dans la ligne qui suit, trouver
#
, ";

#
# Dans cette ligne, ajouter avant
#
 $sql_champs_suppl_2

#
# Trouver
#
   $allowviewonline = !$allowviewonline;

#
# Ajouter après
#
   // DEBUT MOD Extended Profile
   $champs_suppl_tableau = get_champs_values('visible_membre', 'tableau');
   // FIN MOD Extended Profile
   // COMMENTAIRE MOD Extended Profile : La ligne qui suit a été modifiée.
   // -- DEBUT Ajouté
   // $champs_suppl_tableau,
   // -- FIN Ajouté

#
# Dans une ligne, trouver
#
display_avatar_gallery(

#
# Dans la ligne, ajouter après
#
$champs_suppl_tableau,

#
# Trouver
#
      'S_PROFILE_ACTION' => append_sid("profile.$phpEx"))
   );

#
# Ajouter après
#
   // DEBUT MOD Extended Profile
   champs_supl_edit($userdata, 'visible_membre');
   // FIN MOD Extended Profile


Dans "includes/usercp_avatar.php" :
Code :
#
# Trouver une ligne commençant par
#
function display_avatar_gallery(

#
# Remplacer ce début de ligne par
#
// COMMENTAIRE MOD Extended Profile : La luigne qui suit a été modifiée.
// -- DEBUT Ajouté
// $champs_suppl_tableau,
// -- FIN Ajouté
function display_avatar_gallery($champs_suppl_tableau,

#
# Trouver
#
   for($i = 0; $i < count($params); $i++)
   {
      $s_hidden_vars .= '<input type="hidden" name="' . $params[$i] . '" value="' . str_replace('"', '&quot;', $$params[$i]) . '" />';
   }
   
#
# Ajouter après
#
   // DEBUT MOD Extended Profile
   foreach($champs_suppl_tableau as $key => $value)
   {
      $s_hidden_vars .= '<input type="hidden" name="' . $key . '" value="' . str_replace('"', '&quot;', $value) . '" />';
   }
   // FIN MOD Extended Profile


Dans "subsilver/profile_add_body.tpl" :
Code :
#
# Trouver
#
   <!-- BEGIN switch_avatar_block -->

#
# Ajouter avant
#
   <!-- DEBUT MOD Extended Profile -->
   <tr>
     <td class="catSides" colspan="2" height="28">&nbsp;</td>
   </tr>
   <tr>
      <th class="thHead" colspan="2" height="25" valign="middle">{L_ADVANCED_PROFILE}</th>
   </tr>
   <!-- BEGIN champrow -->
   <tr>
      <td class="row1" valign="top"><span class="gen">{champrow.NOM} : </span><br /><span class="gensmall">{champrow.DESC}</span></td>
      <td class="row2">
         <!-- BEGIN boolrow -->
         <span class="gen"><input type="radio" name="{champrow.VAR}" value="1" {champrow.boolrow.CHECKED_YES} />{L_YES} &nbsp; <input type="radio" name="{champrow.VAR}" value="0" {champrow.boolrow.CHECKED_NO} />{L_NO}</span>
         <!-- END boolrow -->
         <!-- BEGIN reprow -->
         <span class="gen"><input type="radio" name="{champrow.VAR}" value="{champrow.reprow.REP_ID}" {champrow.reprow.CHECKED} /> {champrow.reprow.TEXT}</span><br />
         <!-- END reprow -->
         <!-- BEGIN smalltextrow -->
         <span class="gen"><input class="post" type="text" name="{champrow.VAR}" style="width:400px;" maxlength="100" value="{champrow.smalltextrow.TEXT}" /></span>
         <!-- END smalltextrow -->
         <!-- BEGIN textrow -->
         <span class="gen"><textarea wrap="virtual" name="{champrow.VAR}" class="post" style="width:400px;" rows="3" cols="80">{champrow.textrow.TEXT}</textarea></span>
         <!-- END textrow -->
      </td>
   </tr>
   <!-- END champrow -->   
   <!-- FIN MOD Extended Profile -->


Dans "include/usercp_viewprofile.php" :
Code :
#
# Trouver
#
   'S_PROFILE_ACTION' => append_sid("profile.$phpEx"))
);

#
# Ajouter après
#
// DEBUT MOD Extended Profile
include_once($phpbb_root_path . 'includes/functions_champs_suppl.' . $phpEx);
champs_supl_affiche($profiledata, 'visible_public', 'table');
// FIN MOD Extended Profile


Dans "subsilver/profile_view_body.tpl" :
Code :
#
# Trouver
#
      <tr>
        <td valign="top" align="right" nowrap="nowrap"><span class="gen">{L_INTERESTS}:</span></td>
        <td><b><span class="gen">{INTERESTS}</span></b></td>
      </tr>

#
# Ajouter après
#
      <!-- DEBUT MOD Extended Profile -->
      <!-- BEGIN champrow -->
      <tr>
        <td valign="top" align="right" nowrap="nowrap"><span class="gen">{champrow.NOM}:</span></td>
        <td><b><span class="gen">{champrow.VALEUR}</span></b></td>
      </tr>
      <!-- END champrow -->
      <!-- FIN MOD Extended Profile -->


Dans "viewtopic.php" :
Code :
#
# Trouver
#
//
// Go ahead and pull all data for this topic
//

#
# Ajouter après
#
// DEBUT MOD Extended Profile
include_once($phpbb_root_path . 'includes/functions_champs_suppl.' . $phpEx);
$sql_champs_spl = get_champs_sql_select('visible_post', 'u');
// FIN MOD Extended Profile
// COMMENTAIRE MOD Extended Profile : La requête qui suit a été modifiée.
// -- DEBUT Ajouté
//  $sql_champs_spl
// -- FIN Ajouté

#
# Dans une ligne, trouver
#
pt.bbcode_uid

#
# Dans la ligne, ajouter après
#
 $sql_champs_spl

#
# Trouver
#
      'POSTER_FROM' => $poster_from,

#
# Ajouter après
#
      // DEBUT MOD Extended Profile
      'POSTER_CHAMPS_SUPL' => champs_supl_affiche($postrow[$i], 'visible_post', 'list'),
      // FIN MOD Extended Profile


Dans "subsilver/viewtopic.tpl" :
Code :
#
# Dans une ligne, trouver
#
{postrow.POSTER_FROM}

#
# Dans la ligne, ajouter après
#
<br />{postrow.POSTER_CHAMPS_SUPL}


Uploader les fichiers suivants :
- admin/admin_champs_supl.php
- includes/functions_champs_suppl.php
- subsilver/admin/champ_supl_list_body.tpl
- subsilver/admin/champ_supl_valeur_edit_body.tpl
- subsilver/admin/champ_supl_desc_edit_body.tpl
Revenir en haut Aller en bas
Hors ligne | Profil | MP | E-mail | Site web
Dernière édition par Darathor le 24 Juil 2005 19:15; édité 1 fois
  Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum