[Doc] Plusieurs forums, une seule base d'utilisateurs

Découvrez ici une liste de documents concernant phpBB: son installation, sa mise à jour et enfin son utilisation.
En bref, apprenez ici à vous servir de phpBB2!

Modérateur : Équipe

Règles du forum
A lire impérativement sur notre page : Règlement
Verrouillé
ZoliveR
Floodeur universel
Floodeur universel
Messages : 13094
Enregistré le : 23 mai 2002 à 23:03
Localisation : Je mange du tiramisu ^^

[Doc] Plusieurs forums, une seule base d'utilisateurs

Message par ZoliveR »

» Plusieurs forums, une seule base d'utilisateurs
Il y a plusieurs façons de partager une base d'utilisateurs avec plusieurs forums. Notez que celle ci n'est qu'une méthode parmi tant d'autres, et qu'elle peut être altérée facilement dépendant de ce que vous voulez partager. Cette méthode permet de partager la liste de bannissement, l'interdiction de nom d'utilisateurs, les groupes, messages privés, rangs, sessions, smilies, thèmes et utilisateurs.
Je supposerai que vous venez juste d'installer votre forum, mais si ce n'est pas le cas, faites simplement le forum que vous avez actuellement celui que vous utilisez pour vous baser sur toutes les futures tables. Vérifiez que vous avez aussi installé une copie de phpMyAdmin.


Info
» (et vous pourrez partager aussi les avatars, les messages privés, les groupes et les thèmes)


» Instructions
  • » Installez une nouvelle copie de phpBB, comme d'habitude avec n'importe quel préfixe

    » Ouvrir phpMyAdmin et enlevez le préfixe pour les tables suivantes:
    banlist
    disallow
    groups
    privmsgs
    privmsgs_text
    ranks
    sessions
    sessions_keys
    smilies
    themes
    themes_name
    user_group
    users
    words
    » Installez une nouvelle copie de phpBB dans la même database avec un nouveau préfixe

    » Ouvrir le fichier includes/constants.php du premier forum installé et remplacez
    Code original

    Code : Tout sélectionner

    // Table names
    define('CONFIRM_TABLE', $table_prefix.'confirm');
    define('AUTH_ACCESS_TABLE', $table_prefix.'auth_access');
    define('BANLIST_TABLE', $table_prefix.'banlist');
    define('CATEGORIES_TABLE', $table_prefix.'categories');
    define('CONFIG_TABLE', $table_prefix.'config');
    define('DISALLOW_TABLE', $table_prefix.'disallow');
    define('FORUMS_TABLE', $table_prefix.'forums');
    define('GROUPS_TABLE', $table_prefix.'groups');
    define('POSTS_TABLE', $table_prefix.'posts');
    define('POSTS_TEXT_TABLE', $table_prefix.'posts_text');
    define('PRIVMSGS_TABLE', $table_prefix.'privmsgs');
    define('PRIVMSGS_TEXT_TABLE', $table_prefix.'privmsgs_text');
    define('PRIVMSGS_IGNORE_TABLE', $table_prefix.'privmsgs_ignore');
    define('PRUNE_TABLE', $table_prefix.'forum_prune');
    define('RANKS_TABLE', $table_prefix.'ranks');
    define('SEARCH_TABLE', $table_prefix.'search_results');
    define('SEARCH_WORD_TABLE', $table_prefix.'search_wordlist');
    define('SEARCH_MATCH_TABLE', $table_prefix.'search_wordmatch');
    define('SESSIONS_TABLE', $table_prefix.'sessions');
    define('SESSIONS_KEYS_TABLE', $table_prefix.'sessions_keys');
    define('SMILIES_TABLE', $table_prefix.'smilies');
    define('THEMES_TABLE', $table_prefix.'themes');
    define('THEMES_NAME_TABLE', $table_prefix.'themes_name');
    define('TOPICS_TABLE', $table_prefix.'topics');
    define('TOPICS_WATCH_TABLE', $table_prefix.'topics_watch');
    define('USER_GROUP_TABLE', $table_prefix.'user_group');
    define('USERS_TABLE', $table_prefix.'users');
    define('WORDS_TABLE', $table_prefix.'words');
    define('VOTE_DESC_TABLE', $table_prefix.'vote_desc');
    define('VOTE_RESULTS_TABLE', $table_prefix.'vote_results');
    define('VOTE_USERS_TABLE', $table_prefix.'vote_voters');
    par
    code de remplacement

    Code : Tout sélectionner

    // Table names
    define('CONFIRM_TABLE', $table_prefix.'confirm');
    define('AUTH_ACCESS_TABLE', $table_prefix.'auth_access');
    define('BANLIST_TABLE', 'banlist');
    define('CATEGORIES_TABLE', $table_prefix.'categories');
    define('CONFIG_TABLE', $table_prefix.'config');
    define('DISALLOW_TABLE', 'disallow');
    define('FORUMS_TABLE', $table_prefix.'forums');
    define('GROUPS_TABLE', 'groups');
    define('POSTS_TABLE', $table_prefix.'posts');
    define('POSTS_TEXT_TABLE', $table_prefix.'posts_text');
    define('PRIVMSGS_TABLE', 'privmsgs');
    define('PRIVMSGS_TEXT_TABLE', 'privmsgs_text');
    define('PRIVMSGS_IGNORE_TABLE', $table_prefix.'privmsgs_ignore');
    define('PRUNE_TABLE', $table_prefix.'forum_prune');
    define('RANKS_TABLE', 'ranks');
    define('SEARCH_TABLE', $table_prefix.'search_results');
    define('SEARCH_WORD_TABLE', $table_prefix.'search_wordlist');
    define('SEARCH_MATCH_TABLE', $table_prefix.'search_wordmatch');
    define('SESSIONS_TABLE', 'sessions');
    define('SESSIONS_KEYS_TABLE', 'sessions_keys');
    define('SMILIES_TABLE', 'smilies');
    define('THEMES_TABLE', 'themes');
    define('THEMES_NAME_TABLE', 'themes_name');
    define('TOPICS_TABLE', $table_prefix.'topics');
    define('TOPICS_WATCH_TABLE', $table_prefix.'topics_watch');
    define('USER_GROUP_TABLE', 'user_group');
    define('USERS_TABLE', 'users');
    define('WORDS_TABLE', 'words');
    define('VOTE_DESC_TABLE', $table_prefix.'vote_desc');
    define('VOTE_RESULTS_TABLE', $table_prefix.'vote_results');
    define('VOTE_USERS_TABLE', $table_prefix.'vote_voters');
    » Répétez cette dernière instruction pour le second forum.

    » Configurez le premier forum (rendez vous dans le panneau d'administration) et faites pareil pour le second forum, en étant sur que les deux ont les mêmes paramètres cookie. Puisque les forums ne partagent pas la même configuration, vous pouvez donner, à chacun, des paramètres différents et régler le thème par défaut pour chacun des forums pour un seul thème et écraser les préférences des utilisateurs ( que les infos des utilisateurs sont partagés, les thèmes seront pareils). Vous n'aurez aussi qu'à transférer un dossier avatar au lieu de deux si vous spécifiez correctement les liens vers le répertoire des avatars, cela vous permettra d'économiser de la place ;)

    » Cela devrait marcher maintenant. Enregistrez un nouvel utilisateur dans un forum, et ensuite allez dans l'autre forum pour voir si l'utilisateur existe là aussi. Si c'est le cas alors ca marche.
    • Image Si vous le voulez, vous pouvez maintenant retourner dans la base de données et enlever toutes les tables superflues. Celles-ci sont dans le point 2). Cependant ce serait plus facile de simplement les laisser là. Soyez sur que vous n'enlevez pas les tables sans le préfixe (elles sont nécessaires)
--------------------------------
[Dernière mise à jour le 16-05-2007 par Cheval-furtif]
A force de trop serrer la ceinture, je suis parti
Plus de temps futile perdu, au revoir les "amis"
Verrouillé

Retourner vers « [phpBB 2.0.x] Forum de documentation »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité