Darathor
Citation :
But : Permet de définir dans le panneau d'administration des couleurs remplaçant les couleurs "Administrateur" et "Modérateur" dans la liste des connectés et dans la page "Qui est en ligne ?" (contrairement à d'autres MODs similaires, celui-ci n'ajoute aucune requête SQL en dehors du panneau d'administration).
Prérequis :
- [Sous-MOD] Additional CSS (1.0)
Auteur : Darathor (darathor@free.fr)
Version : 2.0 TEST - A (07/10/2006)
Compatibilité phpBB : 2.0.21
Changements :
2.0 (30/09/2006) :
- utilisation du Sous-MOD Additionnal CSS.
1.1 (20/01/2006) :
- corrections orthographiques et arrangement des textes.
- ajout d'un bouton permettant de régénérer la feuille de style.
- refonte du code HTML de la partie admin en code valide XHTML 1.1.
- ajout d'un compteur dans le nom de la feuille de style évitant les problèmes de cache (côté navigateur) lors des mises à jour.
- nettoyage du message d'erreur lorsque l'enregistrement de la feuille de style échoue.
Requêtes SQL à exécuter pour une nouvelle installation :
Code :
CREATE TABLE `phpbb_color_qeel` (
`id` mediumint(8) NOT NULL auto_increment,
`nom` varchar(255) NOT NULL default '',
`couleur` varchar(6) NOT NULL default '',
`description` text NOT NULL,
`ordre` mediumint(8) NOT NULL default '0',
PRIMARY KEY (`id`)
);
ALTER TABLE `phpbb_users` ADD `user_qeel_color` MEDIUMINT( 8 ) DEFAULT '0' NOT NULL ;
Importation :
Code :
$imported_mods_data[] = array('mod_id' => '3', 'unique_id' => '1159033768_a12bd1a0f85d207a205c95d4d9029934b0c21a72b0e7a83737943d7dd4bd7063', 'mod_activated' => '1', 'mod_name' => '[MOD] Couleurs Qui est en ligne', 'mod_description' => 'Permet de gérer des groupes de couleurs dans la liste des connectés.', 'mod_version' => '2.0', 'mod_author' => 'Darathor', 'mod_author_email' => 'darathor@free.fr', 'mod_support' => 'http://admforum.edforum.net/');
$imported_files_data[] = array('file_id' => '2', 'unique_id' => '1159103591_7696e4d565e1efcc78d27d9ca5baeaf880ea47ba833657d742e5395ceb409299454cecc4829279e64d624cd8a8c9ddf1', 'file_name' => 'color_qeel', 'file_path' => 'generated_files/css/', 'file_extension' => '.css', 'file_all_themes' => '1', 'file_all_forums' => '1', 'file_function' => 'CoQE_generate_css', 'file_version' => '1', 'file_modified' => '0', 'file_mod' => '1159033768_a12bd1a0f85d207a205c95d4d9029934b0c21a72b0e7a83737943d7dd4bd7063');
$imported_files_associations_data[] = array('file_id' => '1159103591_7696e4d565e1efcc78d27d9ca5baeaf880ea47ba833657d742e5395ceb409299454cecc4829279e64d624cd8a8c9ddf1', 'group_id' => '1159103922_7696e4d565e1efcc78d27d9ca5baeaf874685f878fd5a0c7017342df6c5a64d328bda53c86d37e275a3ebfdc113b1f59');
Dans "includes/constants.php" :
Code :
#
# Trouver
#
?>
#
# Ajouter avant
#
// DEBUT MOD Couleurs Qui est en ligne
define('COLOR_QEEL_TABLE', $table_prefix.'color_qeel');
// FIN MOD Couleurs Qui est en ligne
Dans "wiewonline.php" :
Code :
#
# Trouver
#
//
// Get user list
//
#
# Ajouter après
#
// COMMENTAIRE MOD Couleurs Qui est en ligne : La requête qui suit a été modifiée.
// -- DEBUT Ajouté
// , u.user_qeel_color
// -- FIN Ajouté
#
# Trouver un ligne commençant par
#
$sql = "SELECT u.user_id, u.username, u.user_allow_viewonline, u.user_level
#
# Dans la ligne, ajouter après
#
, u.user_qeel_color
#
# Trouver
#
if ( $row['user_level'] == ADMIN )
{
$username = '<b style="color:#' . $theme['fontcolor3'] . '">' . $username . '</b>';
}
else if ( $row['user_level'] == MOD )
{
$username = '<b style="color:#' . $theme['fontcolor2'] . '">' . $username . '</b>';
}
#
# Remplacer par
#
// DEBUT MOD Couleurs Qui est en ligne
// -- DEBUT enlevé
// if ( $row['user_level'] == ADMIN )
// {
// $username = '<b style="color:#' . $theme['fontcolor3'] . '">' . $username . '</b>';
// }
// else if ( $row['user_level'] == MOD )
// {
// $username = '<b style="color:#' . $theme['fontcolor2'] . '">' . $username . '</b>';
// }
// -- FIN enlevé
if($row['user_qeel_color'] != 0)
{
$username = '<span class="color_qeel_' . $row['user_qeel_color'] . '">' . $username . '</span>';
}
// FIN MOD Couleurs Qui est en ligne
Dans "include/page_header.php" :
Code :
#
# Trouver
#
$user_forum_sql = ( !empty($forum_id) ) ? "AND s.session_page = " . intval($forum_id) : '';
#
# Ajouter après
#
// COMMENTAIRE MOD Couleurs Qui est en ligne : La requête qui suit a été modifiée.
// -- DEBUT Ajouté
// , u.user_qeel_color
// -- FIN Ajouté
#
# Trouver
#
$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level
#
# Dans la ligne, ajouter après
#
, u.user_qeel_color
#
# Trouver
#
if ( $row['user_level'] == ADMIN )
{
$row['username'] = '<b>' . $row['username'] . '</b>';
$style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
}
else if ( $row['user_level'] == MOD )
{
$row['username'] = '<b>' . $row['username'] . '</b>';
$style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
}
#
# Remplacer par
#
// DEBUT MOD Couleurs Qui est en ligne
// -- DEBUT enlevé
// if ( $row['user_level'] == ADMIN )
// {
// $row['username'] = '<b>' . $row['username'] . '</b>';
// $style_color = 'style="color:#' . $theme['fontcolor3'] . '"';
// }
// else if ( $row['user_level'] == MOD )
// {
// $row['username'] = '<b>' . $row['username'] . '</b>';
// $style_color = 'style="color:#' . $theme['fontcolor2'] . '"';
// }
// -- FIN enlevé
if($row['user_qeel_color'] != 0)
{
$style_color = 'class="color_qeel_' . $row['user_qeel_color'] . '"';
}
// FIN MOD Couleurs Qui est en ligne
#
# Trouver
#
'PRIVATE_MESSAGE_NEW_FLAG' => $s_privmsg_new,
#
# Ajouter après
#
// DEBUT MOD Couleurs Qui est en ligne
'COQE_CSS_NUMBER' => $board_config['CoQE_css_number'],
// FIN MOD Couleurs Qui est en ligne
Dans "subsilver/index_body.tpl" :
Code :
#
# Dans une ligne, trouver
#
[ {L_WHOSONLINE_ADMIN} ] [ {L_WHOSONLINE_MOD} ]
#
# Remplacer par
#
[<a href="{U_COLOR_QEEL_LEGENDE}">{L_COLOR_QEEL_LEGENDE}</a>]
Dans "lang_admin" :
Code :
#
# Trouver
#
?>
#
# Ajouter avant
#
// DEBUT MOD Couleurs Qui est en ligne
$lang['ColorQEEL'] = 'Couleurs Qui est en ligne'; // Entrée du menu admin.
$lang['CoQE_Must_select_group'] = 'Vous devez sélectionner un groupe.';
$lang['CoQE_Click_return_admin'] = 'Cliquez %sici%s pour revenir à l\'Administration des Groupes de couleurs dans qui est en ligne.';
$lang['CoQE_admin'] = 'Administration des couleurs dans Qui est en ligne';
$lang['CoQE_explain'] = 'Ici vous pouvez éditer le groupe sélectionné et changer ses caractéristiques.';
$lang['CoQE_list_explain'] = 'Ici vous pouvez gérer vos groupes de couleurs. Il s\'agit des couleurs à placer sur le pseudo dans la rubrique "Qui est en ligne ?" et dnas la liste des connectés.';
$lang['CoQE_nom'] = 'Nom';
$lang['CoQE_nom_explain'] = 'Ce nom sera indiqué dans la légende des couleurs.';
$lang['CoQE_couleur_explain'] = 'La couleur doit être au format exadécimal utilisé par CSS (sans #), soit à 6 chiffres (RRVVBB), soit à 3 chiffres (RVB).';
$lang['CoQE_description_explain'] = 'Cette description sera indiquée dans la légende des couleurs.';
$lang['CoQE_moved'] = 'Groupe déplacé avec succès';
$lang['CoQE_en_haut'] = 'Ce groupe est déjà en tête de liste.';
$lang['CoQE_en_bas'] = 'Ce groue est déjà en fin de liste.';
$lang['CoQE_User_Add'] = 'Ajouter cet utilisateur';
$lang['CoQE_Users_moved'] = '%s utilisateurs ont été déplacés avec succès vers un autre groupe.';
$lang['CoQE_User_moved'] = '1 utilisateur a été déplacé avec succès vers un autre groupe.';
$lang['CoQE_User_Suppressed'] = 'Cet utilisateur a été supprimé du groupe avec succès.';
$lang['CoQE_Move_maxup'] = 'Monter tout en haut';
$lang['CoQE_Move_maxdown'] = 'Descendre tout en bas';
$lang['CoQE_Erreur_enregistrement'] = 'Une erreur s\'est produite lors de l\'enregistrement de la nouvelle feuille de style.<br /><br />Vérifiez que vous avez bien créé le répertoire demandé et appliqué le <em>chmod</em>.';
$lang['CoQE_Add_user_to_group'] = 'Ajouter un utilisateur dans un groupe';
$lang['CoQE_Select_a_group'] = 'Sélectionnez un groupe';
$lang['CoQE_Mouve_members'] = 'Déplacer les utilisateurs sélectionnés';
$lang['CoQE_recap_members'] = 'Récapitulatif des appartenances aux groupes';
$lang['CoQE_Confirm_delete_group'] = 'Êtes-vous certain de vouloir supprimer ce groupe ?';
$lang['CoQE_suppress_member_help'] = 'Pour retirer leur couleur à des membres, il suffit de les déplacer vers le pseudo-groupe "Aucun".';
$lang['CoQE_regenerate_CSS'] = 'Feuille de style associée aux groupes';
$lang['CoQE_regenerate_CSS_explain'] = 'Vous pouvez ici régénérer la feuille de style CSS associée aux groupes de couleurs. Faites ceci si les couleurs ne s\'affichent pas ou si des modifications n\'ont pas été prises en compte.';
$lang['CoQE_regenerate_CSS_button'] = 'Régénérer la feuille de style';
$lang['CoQE_regenerate_CSS_success'] = 'La feuille de style associée aux groupes a été mise à jour avec succès.';
// FIN MOD Couleurs Qui est en ligne
Dans "language/lang_french/lang_main.php" :
Code :
#
# Trouver
#
?>
#
# Ajouter avant
#
// DEBUT MOD Couleurs Qui est en ligne
$lang['CoQE_couleur'] = 'Couleur';
$lang['CoQE_description'] = 'Description';
$lang['CoQE_Group_Members'] = 'Membres du groupe';
$lang['CoQE_Legende'] = 'Légende des couleurs';
// FIN MOD Couleurs Qui est en ligne
Dans "includes/functions_additional_files.php" :
Code :
#
# Trouver
#
/*************************************************************************************
* Fonctions de génération ajoutées par les mods.
*************************************************************************************/
#
# Ajouter après
#
// DEBUT MOD Couleurs Qui est en ligne
/**
* Génère le fichier CSS pour le MOD Couleurs Qui est en ligne.
*
* @param $file_data données associées au fichier récupéré via AdFi_get_file_data().
* @param $theme_id id du thème concerné ou -1 si un seul fichier est généré pour l'ensemble des thèmes.
*/
function CoQE_generate_css($file_data, $theme_id)
{
global $db, $template, $board_config, $userdata, $phpbb_root_path, $lang;
$file_name = AdFi_generate_file_name($file_data, $theme_id);
$template->set_filenames(array(
$file_name => 'admin/color_qeel_css.tpl')
);
$template->assign_vars(array(
'FORUM_NAME' => $board_config['sitename'],
'FORUM_ADRESS' => $board_config['server_name'],
'LAST_DATE' => create_date('d M Y H:i', time(), $board_config['board_timezone']),
'TIMEZONE' => $board_config['board_timezone'])
);
// Récupération des blocs.
$sql = "SELECT * FROM " . COLOR_QEEL_TABLE . "
ORDER BY ordre ASC";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Couldn't obtain color_qeel data", "", __LINE__, __FILE__, $sql);
}
// Parcours desgroupes.
while($row = $db->sql_fetchrow($result))
{
$template->assign_block_vars('group_bloc', array(
'DESCRIPTION' => $row['description'],
'NOM' => $row['nom'],
'ID' => $row['id'],
'COULEUR' => $row['couleur'])
);
}
// Génération du fichier.
$template->pparse_in_file($file_name, $file_name, $lang['CoQE_Erreur_enregistrement']);
}
// FIN MOD Couleurs Qui est en ligne
Uploader aux emplacements suivants les fichiers contenus dans ce zip :
- color_qeel_legende.php
- admin/admin_color_qeel.php
- templates/subSiver/color_qeel_legende_body.tpl
- templates/subSilver/admin/color_qeel_edit_body.tpl
- templates/subSilver/admin/color_qeel_list_body.tpl
- templates/subSilver/admin/color_qeel_css.tpl