Multi Forum

Forum consacré à phpBB lui même. Comment tirer le meilleur de ce puissant forum.
Veuillez noter que ce forum n'est pas un forum de support officiel, il s'agit ici plus de partager que de demander.

Modérateur: Modérateurs

Multi Forum

Messagede linkmat » Mar Déc 02, 2008 10:42 pm

Salut je voulais savoir si cetais possible de Faire des multi Forum sous la meme BDD sous phpbb3
linkmat
 
Messages: 20
Inscription: Mar Aoû 26, 2008 3:24 am

Publicité

Messagede SeO » Mer Déc 03, 2008 10:06 am

SeO
Admin
Admin
 
Messages: 6334
Inscription: Mer Mar 15, 2006 9:41 pm

re

Messagede reseauchat » Dim Déc 14, 2008 5:54 pm

bon voila jai commencer a faire mes multi forum mais des que j'install mon deuxieme forum sur le web ca me donne ca

[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1824: utf8_clean_string(./../includes/utf/data/confusables.php) [function.utf8-clean-string]: failed to open stream: No such file or directory
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1824: utf8_clean_string(./../includes/utf/data/confusables.php) [function.utf8-clean-string]: failed to open stream: No such file or directory
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1824: utf8_clean_string() [function.include]: Failed opening './../includes/utf/data/confusables.php' for inclusion (include_path='.:/usr/local/php4/lib/php')
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1042: utf8_case_fold(./../includes/utf/data/case_fold_c.php) [function.utf8-case-fold]: failed to open stream: No such file or directory
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1042: utf8_case_fold(./../includes/utf/data/case_fold_c.php) [function.utf8-case-fold]: failed to open stream: No such file or directory
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1042: utf8_case_fold() [function.include]: Failed opening './../includes/utf/data/case_fold_c.php' for inclusion (include_path='.:/usr/local/php4/lib/php')
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1048: utf8_case_fold(./../includes/utf/data/case_fold_f.php) [function.utf8-case-fold]: failed to open stream: No such file or directory
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1048: utf8_case_fold(./../includes/utf/data/case_fold_f.php) [function.utf8-case-fold]: failed to open stream: No such file or directory
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1048: utf8_case_fold() [function.include]: Failed opening './../includes/utf/data/case_fold_f.php' for inclusion (include_path='.:/usr/local/php4/lib/php')
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1058: strtr() [function.strtr]: The second argument is not an array.
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1063: strtr() [function.strtr]: The second argument is not an array.
[phpBB Debug] PHP Notice: in file /includes/utf/utf_tools.php on line 1828: strtr() [function.strtr]: The second argument is not an array.
[phpBB Debug] PHP Notice: in file /install/index.php on line 438: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3003)
[phpBB Debug] PHP Notice: in file /install/index.php on line 439: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3003)
[phpBB Debug] PHP Notice: in file /install/index.php on line 440: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3003)
[phpBB Debug] PHP Notice: in file /install/index.php on line 441: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3003)

pourtent j'ai fait plusieur essai en local et ca fonctionne tres bien :'(
reseauchat
 
Messages: 13
Inscription: Dim Nov 30, 2008 7:46 pm

Messagede dcz » Dim Déc 21, 2008 9:41 am

L'erreur indique qu'il manque des fichiers.
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21376
Inscription: Ven Avr 28, 2006 9:03 pm

re

Messagede reseauchat » Lun Déc 22, 2008 3:57 pm

Code: Tout sélectionner
$sql = 'SELECT COUNT(p.post_id) AS num_posts, u.user_id
                            FROM ' . USERS_TABLE . ' u
                            LEFT JOIN  ' . POSTS_TABLE . ' p ON (u.user_id = p.poster_id AND p.post_postcount = 1)
                            GROUP BY u.user_id';

                        $result = $db->sql_query($sql);
                        $user_data = array();
                        while ($row = $db->sql_fetchrow($result))
                        {
                            $user_data[$row['user_id']] = (int) $row['num_posts'];
                        }
                        $db->sql_freeresult($result);
                        $sql = 'SELECT COUNT(p.post_id) AS num_posts, u.user_id
                            FROM ' . USERS_TABLE . ' u
                            LEFT JOIN  properprefix_posts p ON (u.user_id = p.poster_id AND p.post_postcount = 1)
                            GROUP BY u.user_id';

                        $result = $db->sql_query($sql);

                        while ($row = $db->sql_fetchrow($result))
                        {
                            if (!empty($user_data[$row['user_id']]))
                            {
                                $row['num_posts'] += $user_data[$row['user_id']];
                            }
                            $db->sql_query('UPDATE ' . USERS_TABLE . " SET user_posts = {$row['num_posts']} WHERE user_id = {$row['user_id']}");
                        }
                        $db->sql_freeresult($result);



ici je croit que ce script est fait pour 2 Forum mais comme moi que jai 4 forum comment je pourais l,adapter pour qu'il fonctionne
reseauchat
 
Messages: 13
Inscription: Dim Nov 30, 2008 7:46 pm

Messagede dcz » Mar Déc 23, 2008 10:55 am

Et le code à changé depuis, sur la 3.0.4, il faudrait remplacer :
Code: Tout sélectionner
                  // Resync post counts
                  $start = $max_post_id = 0;

                  // Find the maximum post ID, we can only stop the cycle when we've reached it
                  $sql = 'SELECT MAX(forum_last_post_id) as max_post_id
                     FROM ' . FORUMS_TABLE;
                  $result = $db->sql_query($sql);
                  $max_post_id = (int) $db->sql_fetchfield('max_post_id');
                  $db->sql_freeresult($result);

                  // No maximum post id? :o
                  if (!$max_post_id)
                  {
                     $sql = 'SELECT MAX(post_id)
                        FROM ' . POSTS_TABLE;
                     $result = $db->sql_query($sql);
                     $max_post_id = (int) $db->sql_fetchfield('max_post_id');
                     $db->sql_freeresult($result);
                  }

                  // Still no maximum post id? Then we are finished
                  if (!$max_post_id)
                  {
                     add_log('admin', 'LOG_RESYNC_POSTCOUNTS');
                     break;
                  }

                  $step = ($config['num_posts']) ? (max((int) ($config['num_posts'] / 5), 20000)) : 20000;

                  $db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_posts = 0');

                  while ($start < $max_post_id)
                  {
                     $sql = 'SELECT COUNT(post_id) AS num_posts, poster_id
                        FROM ' . POSTS_TABLE . '
                        WHERE post_id BETWEEN ' . ($start + 1) . ' AND ' . ($start + $step) . '
                           AND post_postcount = 1 AND post_approved = 1
                        GROUP BY poster_id';
                     $result = $db->sql_query($sql);

                     if ($row = $db->sql_fetchrow($result))
                     {
                        do
                        {
                           $sql = 'UPDATE ' . USERS_TABLE . " SET user_posts = user_posts + {$row['num_posts']} WHERE user_id = {$row['poster_id']}";
                           $db->sql_query($sql);
                        }
                        while ($row = $db->sql_fetchrow($result));
                     }
                     $db->sql_freeresult($result);

                     $start += $step;
                  }


Par :
Code: Tout sélectionner
                  // Resync post counts
                  $user_count_data = array();
                  $step = ($config['num_posts']) ? (max((int) ($config['num_posts'] / 5), 20000)) : 20000;

                  $db->sql_query('UPDATE ' . USERS_TABLE . ' SET user_posts = 0');
                  $_xdb_def = array('forum1' => array('prefix' => 'phpbb_'), 'forum2' => array('prefix' => 'slavebb_'),);
                  foreach ($_xdb_def as $_local_def) {
                     $start = $max_post_id = 0;
                     // Find the maximum post ID, we can only stop the cycle when we've reached it
                     $sql = 'SELECT MAX(forum_last_post_id) as max_post_id
                        FROM ' . $_local_def['prefix'] . 'forums';
                     $result = $db->sql_query($sql);
                     $max_post_id = (int) $db->sql_fetchfield('max_post_id');
                     $db->sql_freeresult($result);

                     // No maximum post id? :o
                     if (!$max_post_id)
                     {
                        $sql = 'SELECT MAX(post_id)
                           FROM ' . $_local_def['prefix'] . 'posts';
                        $result = $db->sql_query($sql);
                        $max_post_id = (int) $db->sql_fetchfield('max_post_id');
                        $db->sql_freeresult($result);
                     }

                     // Still no maximum post id? Then we are finished
                     if (!$max_post_id)
                     {
                        add_log('admin', 'LOG_RESYNC_POSTCOUNTS');
                        continue;
                     }
                     while ($start < $max_post_id)
                     {
                        $sql = 'SELECT COUNT(post_id) AS num_posts, poster_id
                           FROM ' . $_local_def['prefix'] . 'posts
                           WHERE post_id BETWEEN ' . ($start + 1) . ' AND ' . ($start + $step) . '
                              AND post_postcount = 1 AND post_approved = 1
                           GROUP BY poster_id';
                        $result = $db->sql_query($sql);

                        if ($row = $db->sql_fetchrow($result))
                        {
                           do
                           {
                              $user_count_data[$row['poster_id']] = !empty($user_count_data[$row['poster_id']]) ? (int) ($user_count_data[$row['poster_id']] + $row['num_posts']) : (int) $row['num_posts'];
                           }
                           while ($row = $db->sql_fetchrow($result));
                        }
                        $db->sql_freeresult($result);

                        $start += $step;
                     }
                  }
                  foreach ($user_count_data as $user_id => $post_count) {
                     $db->sql_query('UPDATE ' . USERS_TABLE . " SET user_posts = $post_count WHERE user_id = $user_id");
                  }

dans includes/acp/acp_main.php.
Avec ce code, tu n'as qu'a renseigné le tableau $_xdb_def :
Code: Tout sélectionner
$_xdb_def = array('forum1' => array('prefix' => 'phpbb_'), 'forum2' => array('prefix' => 'slavebb_'),);


Tu peux remplacer cette ligne par :
global $_xdb_def;
et initialiser le tbleau dans config.php par exemple, pour centraliser le code et le rendre réutilisable.
Dans includes/acp/acp_main.php, on a just besoin de la liste des préfixes de chaque forum.

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21376
Inscription: Ven Avr 28, 2006 9:03 pm

re

Messagede reseauchat » Mar Déc 23, 2008 11:20 am

je te Remercie Beaucoup Dcz de ton Aide elle est tres precieuse
reseauchat
 
Messages: 13
Inscription: Dim Nov 30, 2008 7:46 pm

Messagede dcz » Mar Déc 23, 2008 11:43 am

De rien, je suis en plein dedans avec la conversion de phpBB SEO ;)

++
Useful links :
SEO Forum || SEO Directory || SEO phpBB || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Recherche
dcz
Admin
Admin
 
Messages: 21376
Inscription: Ven Avr 28, 2006 9:03 pm

re

Messagede reseauchat » Ven Déc 26, 2008 2:38 am

et Moi je tente quelque chose de assez special mais j'espere que cela Va fonctionnez car pour le moment la conversion a c'est bien passer les 4 forum cote de la bdd ce son bien passer.
mais la javais le probleme des Stats :S

et le cache mais le plus gros probleme je sais pas si ta deja rencontrer ce probleme.

il a Certain Forum qui Perdre Leur permission ? :S je ne comprend pas cela.

Merci d'avance avec votre Aide
reseauchat
 
Messages: 13
Inscription: Dim Nov 30, 2008 7:46 pm


Retourner vers Le Forum phpBB

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 15 invités