Affichage :
Le laboratoire de Darathor Index du Forum

Le laboratoire de Darathor

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

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 : 29 Juil 2005 15:57
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Citation :
Changements par rapport à la version DEV - B :
Pas de modification dans les requêtes mais dans quasiment tout le reste.


Citation :
Changements par rapport à la version DEV - A :
- Modifié : 2e requête SQL
- Modifié : lang_french/lang_admin.php
- Modifié : subsilver/profile_add_body.tpl
- Modifié : subsilver/admin/user_edit_body.tpl
- Modifié : includes/functions_champs_suppl.php
- Ajouté : subsilver/profile_advanced_bloc.tpl


Requis :
- [Sous-MOD] Images utiles (B)
- [Sous-MOD] Reorder function (A)

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 NOT NULL auto_increment,
  `champ_id` mediumint(8) unsigned NOT NULL default '0',
  `rep_nom` varchar(255) NOT NULL default '',
  `rep_desc` text NOT NULL,
  `rep_default` enum('oui','non') default 'non',
  PRIMARY KEY  (`rep_id`)
);


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);
define('CHSU_EXTENDED_BOOLEAN', 5);
define('CHSU_LINK', 6);
// 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_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 champ';

$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';

$lang['ChSu_Type'] = 'Type de champ';
$lang['ChSu_Type_boolean_nom'] = 'Booléen (oui/non)';
$lang['ChSu_Type_boolean_desc'] = 'Champ pouvant prendre 2 valeurs différenctes : oui et non.';
$lang['ChSu_Type_extended_boolean_nom'] = 'Booléen étendu (oui/non/non-spécifié)';
$lang['ChSu_Type_extended_boolean_desc'] = 'Champ pouvant prendre 3 valeurs différenctes : oui, non et non-spécifié (ce dernier cas sera considéré comme une abscence de réponse et non-affiché dans les posts et le profil public).';
$lang['ChSu_Type_multiple_nom'] = 'Multiple';
$lang['ChSu_Type_multiple_desc'] = 'Champ pouvant prendre un nombre fini de valeurs prédéfinies.';
$lang['ChSu_Type_smalltext_nom'] = 'Texte court (max 100)';
$lang['ChSu_Type_smalltext_desc'] = 'Texte ne dépassant pas 100 caractères. Les smileys, BBcodes, balises HTML, etc ne sont pas traités pour ces champs.';
$lang['ChSu_Type_link_nom'] = 'Lien';
$lang['ChSu_Type_link_desc'] = 'Lien vers une page web.';
$lang['ChSu_Type_text_nom'] = 'Texte long';
$lang['ChSu_Type_text_desc'] = 'Texte long où les smileys, BBcodes, etc. sont traités comme dans les posts.';
//$lang['ChSu_Type_reference'] = 'Référence à un autre champ';
//$lang['ChSu_Type_reference'] = 'Référence à un autre champ de la table des membres. Un champ de type référence ne créera pas de champ d\'édition dans le profil. Créer un champ de type référence sert juste à afficher un champ préexitant dans le profil public ou dans les posts.';
// 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.';
$lang['ChSu_Not_specified'] = 'Non spécifié';
$lang['ChSu_Link'] = 'Lien';
// 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 -->
   {ADVANCED_BLOC}
   <!-- 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, $signature_bbcode_uid);
   // 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 -->
   {ADVANCED_BLOC}
   <!-- 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', 'advanced_affiche_table_bloc');
// 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 -->
      {ADVANCED_BLOC}
      <!-- 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'),
      // FIN MOD Extended Profile


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

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


Uploader les fichiers suivants :
- admin/admin_champs_supl.php
- includes/functions_champs_suppl.php
- subsilver/profile_advanced_bloc.tpl
- 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
  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