Affichage :
Le laboratoire de Darathor Index du Forum

Le laboratoire de Darathor

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

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 : 19 Oct 2005 17:55
Masquer ce messageAfficher ce message
Répondre en citantAjouter à liste des messages à citerRetirer de la liste des messages à citer
Note : Il y a de grosses modifs sur cette version qui n'ont pas été testée très en détails (mais qui ont l'air de marcher). Donc si vous n'avez pas besoin des nouveautés, inutile de mettre à jour.

MODs requis à installer impérativement avant :
- [Sous-MOD] Images utiles (DEV - C)
- [Sous-MOD] Reorder function (DEV - B)
- [Sous-MOD] Get table fields (DEV - A)
- [MOD] XHTML Validity (DEV - C) (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 - 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_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',
  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_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`)
);


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');
// 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 "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


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, $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
#
         $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
# 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}


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
- language/lang_french/lang_champs_suppl.php
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