Darathor
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.
Fichiers modifiés :
- admin/admin_users.php.
- les fichiers du zip.
- un nouveau Sous-MOD requis.
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
Requis :
- [Sous-MOD] Images utiles (DEV -B)
- [Sous-MOD] Reorder function (DEV - A)
- [Sous-MOD] Get table fields (DEV - A)
- [MOD] XHTML Validity (DEV - 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_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_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_DATE', 7);
// Ne pas oublier d'incrémenter cette valeur après avoir ajouté un type.
define('CHSU_NB_TYPES', 7);
// 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
#
$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('"', '"', $$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('"', '"', $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