Affichage :
Le laboratoire de Darathor Index du Forum

Le laboratoire de Darathor

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

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 : 06 Nov 2005 16:00
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
MODs réquis à installer impérativement avant :
- [Sous-MOD] Images utiles (1.0)
- [Sous-MOD] Reorder functions (DEV - C)
- [Sous-MOD] Get table fields (DEV - A)
- [Sous-MOD] Définitions CSS complémentaires (1.0) (ce dernier n'est pas absolument necessaire, il ne fait qu'améliorer quelque détails d'affichage)

Citation :
Changements par rapport à la version DEV - J :
- gestion des champs multiples où l'on peut choisir plusieurs valeurs simultanées.
- choix du mode de selection des champs multiples (cases à cocher, boutons radio ou menu déroulant).
- réorganisation de la partie admin.
Fichiers modifiés :
- les fichiers du zip (dont l'ajout de plusieurs fichiers)
- suppression du fichier admin/admin_champs_supl.php qui était dans la zip des versions précédentes.
- languages/lang_french/lang_admin.php (toutes les modifications sontsupprimmées)
- admin/index.php (modification ajoutée)

Citation :
Changements par rapport à la version DEV - I :
- Meilleure gestion des bbcodes dans les champs de type texte (qui était assez buguée). Cependant, les champs antérieurs à cette mise à jour auront besoin d'être nettoyés de leurs bbcode_uid.
- Les flèches de montée/descente de champs et choix sont désactivées quand le champ/choix est déjà en haut ou en bas.
- Possibilité d'attacher des champs à des MODs. Ceci les protège contre l'effacement.
- Possibilité de configurer les formats de date.
Fichiers modifiés :
- les fichiers du zip.
- admin/admin_users.php
- includes/usercp_register.php
- lang_admin.php
- templates/subSilver/memberlist_body.tpl
- [Sous-MOD] Images utiles
- Ajout d'une table et modification d'une autre :
Code :
CREATE TABLE `phpbb_champs_supl_attachments` (
  `attachment_id` mediumint(8) unsigned NOT NULL auto_increment,
  `champ_id` mediumint(8) unsigned NOT NULL default '0',
  `mod_name` varchar(150) NOT NULL default '',
  PRIMARY KEY  (`attachment_id`)
);

ALTER TABLE `phpbb_champs_supl_desc` ADD `champ_config` VARCHAR( 255 ) NOT NULL AFTER `champ_type`;

Citation :
Changements par rapport à la version DEV - H :
- Gestion propre des types multiples en références.
- Ordonnacement des choix dans les champs multiples.
- Affichage dans la liste des membres.
Fichiers modifiés :
- les fichiers du zip.
- memberlist.php
- templates/subSilver/memberlist_body.tpl
- modification des deux tables. La requête suivante peut être exécutée pour mettre à jour la table :
Code :
ALTER TABLE `phpbb_champs_supl_valeurs`
ADD `rep_valeur_interne` VARCHAR( 40 ) NOT NULL AFTER `champ_id` ,
ADD `rep_position` MEDIUMINT( 8 ) UNSIGNED DEFAULT '1' NOT NULL AFTER `champ_id`;

ALTER TABLE `phpbb_champs_supl_desc` ADD `visible_memberlist` ENUM( 'oui', 'non' ) DEFAULT 'non' NOT NULL AFTER `visible_post`;

Citation :
Changements par rapport à la version DEV - G :
- Ajout du type date J/M/A (éditable) mais le format de la date n'est pas encore modifiable.
- Ajout du type "référence personnalisée".
Fichiers modifiés :
- les fichiers du zip.
- include/constants.php
- modification d'une des deux tables. La requête suivante peut être exécutée pour mettre à jour la table :
Code :
ALTER TABLE `phpbb_champs_supl_desc`
ADD `champ_texte` TEXT DEFAULT '' NOT NULL AFTER `champ_desc_lang` ,
ADD `champ_texte_lang` ENUM( 'oui', 'non' ) DEFAULT 'non' NOT NULL AFTER `champ_texte`;

Citation :
Changements par rapport à la version DEV - F :
- amélioration de l'affichage.
- ajout de textes explicatifs.
- demande de confirmation pour les suppressions.
Fichiers modifiés :
- les fichiers du zip.
- certains des sous-mods requis.

Citation :
Changements par rapport à la version DEV - E :
- correction d'un bug dans admin_users.php.
- les alias de champs de type références sont maintenant sélectionnables depuis un menu déroulant plutôt que saisis à la main.

Citation :
Changements par rapport à la version DEV - D :
- champs de type date (en référence seulement).
- les champs texte et lien dont le contenu se limite à une chaine vide, ne sont plus affichés.
- on peut maintenant spécifier une variable de langue comme nom ou description de champ ou de choix plutôt qu'une chaine fixe.
Fichiers modifiés :
- include/constants.php.
- les fichiers du zip.

Citation :
Changements par rapport à la version DEV - C :
- Corrections de bugs et ajout de textes explicatifs.
- Ajout de champs références.
(Modifications dans les fichiers inclus et dans certains autres)

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


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_config` varchar(255) NOT NULL default '',
  `champ_reference` enum('oui','non') NOT NULL default 'non',
  `champ_alias` varchar(60) default NULL,
  `champ_nom` varchar(50) NOT NULL default '',
  `champ_nom_lang` enum('oui','non') NOT NULL default 'non',
  `champ_desc` text NOT NULL,
  `champ_desc_lang` enum('oui','non') NOT NULL default 'non',
  `champ_texte` text NOT NULL,
  `champ_texte_lang` enum('oui','non') NOT NULL default 'non',
  `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',
  `visible_memberlist` 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_position` mediumint(8) unsigned NOT NULL default '1',
  `rep_valeur_interne` varchar(40) NOT NULL default '',
  `rep_nom` varchar(255) NOT NULL default '',
  `rep_nom_lang` enum('oui','non') NOT NULL default 'non',
  `rep_desc` text NOT NULL,
  `rep_desc_lang` enum('oui','non') NOT NULL default 'non',
  `rep_default` enum('oui','non') default 'non',
  PRIMARY KEY  (`rep_id`)
);

CREATE TABLE `phpbb_champs_supl_attachments` (
  `attachment_id` mediumint(8) unsigned NOT NULL auto_increment,
  `champ_id` mediumint(8) unsigned NOT NULL default '0',
  `mod_name` varchar(150) NOT NULL default '',
  PRIMARY KEY  (`attachment_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_ATTACHMENTS_TABLE', $table_prefix.'champs_supl_attachments');
define('CHAMPS_SUPL_VALEURS_TABLE', $table_prefix.'champs_supl_valeurs');
// Les valeurs des types de champs doivent être consécutives et commencer à 1.
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);
define('CHSU_DATE1', 7);
define('CHSU_DATE2', 8);
define('CHSU_CUSTOM', 9);
// Ne pas oublier d'incrémenter cette valeur après avoir ajouté un type.
define('CHSU_NB_TYPES', 9);
// FIN MOD Extended Profile


Dans "admin/index.php" :
Code :
#
# Trouver
#
   include('./page_header_admin.'.$phpEx);

#
# Ajouter après
#
   // DEBUT MOD Champs supplémentaires
   include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_champs_suppl.' . $phpEx);
   // FIN MOD Champs supplémentaires


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_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);
   // 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
# Attention à bien ajouter comme indiqué (il doit y avoir un espace et pas de virgule avant cette portion).
#
 $sql_champs_suppl_1

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


#
# Dans cette ligne, ajouter avant
# Attention à bien ajouter comme indiqué (il doit y avoir un espace et pas de virgule avant cette portion).
#
 $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
      'ADVANCED_BLOC' => 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}


Dans "memberlist.php"
Code :
#
# Trouver
#
   'S_MODE_ACTION' => append_sid("memberlist.$phpEx"))
);

#
# Ajouter après
#
// DEBUT MOD Extended Profile
include_once($phpbb_root_path . 'includes/functions_champs_suppl.' . $phpEx);
$nb_champs_suppl = champs_supl_memberlist_header('visible_memberlist');
$template->assign_vars(array(
   'COLSPAN_VALUE' => 9 + $nb_champs_suppl)
);
// FIN MOD Extended Profile

#
# Trouver une ligne commençant par
#
$sql = "SELECT username, user_id, user_viewemail, user_posts,

#
# Remplacer TOUTE la ligne par
#
// COMMENTAIRE MOD Extended Profile : La requête qui suit a été modifiée.
// -- DEBUT Enlevé
// username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website, user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type, user_allowavatar
// -- FIN Enlevé
// -- DEBUT Remplacé par
// *
// -- FIN Remplacé par
$sql = "SELECT *

#
# Trouver
#
         'U_VIEWPROFILE' => append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . "=$user_id"))
      );

#
# Ajouter après
#
      // DEBUT MOD Extended Profile
      champs_supl_memberlist_affiche($row, 'visible_memberlist', 'memberrow.');
      // FIN MOD Extended Profile


Dans "template/subSilver/memberlist_body.tpl" :
Code :
#
# Trouver
#
     <th class="thCornerR" nowrap="nowrap">{L_WEBSITE}</th>

#
# Ajouter avant
#
     <!-- BEGIN champ_head_row -->
     <th class="thTop" nowrap="nowrap">{champ_head_row.L_CHAMP}</th>
     <!-- END champ_head_row -->

#
# Trouver
#
     <td class="{memberrow.ROW_CLASS}" align="center">&nbsp;{memberrow.WWW_IMG}&nbsp;</td>

#
# Ajouter avant
#
     <!-- BEGIN champ_row -->
     <td class="{memberrow.ROW_CLASS}" align="center"><span class="gensmall">{memberrow.champ_row.CHAMP}</span></td>
     <!-- END champ_row -->

#
# Trouver
# Note : suivant les mods installé, la valeur du colspan peut avoir changé.
#
     <td class="catBottom" colspan="8" height="28">&nbsp;</td>

#
# Remplacer par
#
     <td class="catBottom" colspan="{COLSPAN_VALUE}" height="28">&nbsp;</td>


Uploader les fichiers suivants :
- admin/admin_champs_supl_list.php
- admin/admin_champs_supl_add.php
- admin/admin_champs_supl_attachement.php
- admin/admin_champs_supl_multiples.php
- includes/functions_champs_suppl.php
- language/lang_french/lang_champs_suppl.php
- subsilver/profile_advanced_bloc.tpl
- subsilver/profile_advanced_help_blocs.tpl
- subsilver/admin/champ_supl_list_body.tpl
- subsilver/admin/champ_supl_attach_list_body.tpl
- subsilver/admin/champ_supl_valeur_edit_body.tpl
- subsilver/admin/champ_supl_desc_edit_body.tpl
- subsilver/admin/champ_supl_multiples_list_body.tpl
- subsilver/admin/champ_supl_add_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