image de saison
  • La page microblogging du PhareRouge.fr
  • La page microblogging du PhareRouge.fr
Tutoriaux  > phpBB 3
phpBB 3

08

Sep

2009

Réorganiser mon forum phpBB3 PDF Imprimer Envoyer
( 1 - Vote des lecteurs )
Tutoriaux
Écrit par Raoul   

Que faire lorsque tous mes forums sont mélangés ?

ordinateur

J'ai voulu modifier quelques forums, les déplacer, changer les permissions, et mon forum s'affiche étrangement, avec des catégories vides, des forums sans message, ou des messages sans forum. Bref, tout est mélangé, et j'ai l'impression que ma base de données est totalement corrompue.

Il n'y a rien de dramatique. En fait votre forum phpBB3 s'est un peu mélangé les pinceaux avec vos titres de forums et de catégories. Heureusement il n'est pas nécessaire d'intervenir manuellement dans la base de données, sans quoi vous y perdriez votre php latin. Il existe pour cela un script qui va régler pour vous ce problème.

• Mise en place du script de ré-arrangement

Copier et coller le code suivant dans un fichier que vous nommerez par exemple fixtree.php

<?php
 /**
 *
 * @package phpBB3
 * @version $Id: index.php,v 1.176 2007/10/05 14:30:06 acydburn Exp $
 * @copyright (c) 2005 phpBB Group
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 *
 */

 /**
 */

 /**
 * @ignore
 */
 define('IN_PHPBB', true);
 $phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
 $phpEx = substr(strrchr(__FILE__, '.'), 1);
 include($phpbb_root_path . 'common.' . $phpEx);
 include($phpbb_root_path . 'includes/functions_admin.' . $phpEx);

 // Start session management
 $user->session_begin();
 $auth->acl($user->data);
 $user->setup('viewforum');

 recalc_btree('forum_id' , FORUMS_TABLE);
 echo "Done";

 function recalc_btree($sql_id, $sql_table, $module_class = '')
 {
 global $db;

 if (!$sql_id || !$sql_table)
 {
 return;
 }

 $sql_where = ($module_class) ? " WHERE module_class = '" . $db->sql_escape($module_class) . "'" : '';

 // Reset to minimum possible left and right id
 $sql = "SELECT MIN(left_id) as min_left_id, MIN(right_id) as min_right_id
 FROM $sql_table
 $sql_where";
 $result = $db->sql_query($sql);
 $row = $db->sql_fetchrow($result);
 $db->sql_freeresult($result);

 $substract = (int) (min($row['min_left_id'], $row['min_right_id']) - 1);

 if ($substract > 0)
 {
 $sql = "UPDATE $sql_table
 SET left_id = left_id - $substract, right_id = right_id - $substract
 $sql_where";
 $db->sql_query($sql);
 }

 $sql = "SELECT $sql_id, parent_id, left_id, right_id
 FROM $sql_table
 $sql_where
 ORDER BY left_id ASC, parent_id ASC, $sql_id ASC";
 $f_result = $db->sql_query($sql);

 while ($item_data = $db->sql_fetchrow($f_result))
 {
 if ($item_data['parent_id'])
 {
 $sql = "SELECT left_id, right_id
 FROM $sql_table
 $sql_where " . (($sql_where) ? 'AND' : 'WHERE') . "
 $sql_id = {$item_data['parent_id']}";
 $result = $db->sql_query($sql);

 if (!$row = $db->sql_fetchrow($result))
 {
 $sql = "UPDATE $sql_table SET parent_id = 0 WHERE $sql_id = " . $item_data[$sql_id];
 $db->sql_query($sql);

 continue;   
 }
 $db->sql_freeresult($result);

 $sql = "UPDATE $sql_table
 SET left_id = left_id + 2, right_id = right_id + 2
 $sql_where " . (($sql_where) ? 'AND' : 'WHERE') . "
 left_id > {$row['right_id']}";
 $db->sql_query($sql);

 $sql = "UPDATE $sql_table
 SET right_id = right_id + 2
 $sql_where " . (($sql_where) ? 'AND' : 'WHERE') . "
 {$row['left_id']} BETWEEN left_id AND right_id";
 $db->sql_query($sql);

 $item_data['left_id'] = $row['right_id'];
 $item_data['right_id'] = $row['right_id'] + 1;
 }
 else
 {
 $sql = "SELECT MAX(right_id) AS right_id
 FROM $sql_table
 $sql_where";
 $result = $db->sql_query($sql);
 $row = $db->sql_fetchrow($result);
 $db->sql_freeresult($result);

 $item_data['left_id'] = $row['right_id'] + 1;
 $item_data['right_id'] = $row['right_id'] + 2;
 }
 
 $sql = "UPDATE $sql_table
 SET left_id = {$item_data['left_id']}, right_id = {$item_data['right_id']}
 WHERE $sql_id = " . $item_data[$sql_id];
 $db->sql_query($sql);
 }
 $db->sql_freeresult($f_result);
 }

 ?>

Puis dans un second temps, uploader ce fichier sur votre ftp, à la racine de votre forum.

• Action !

Appelez depuis votre navigateur habituel votre fichier ainsi créé, par exemple http://votreadresseduforum/fixtree.php
Vous aurez ensuite une nouvelle fenêtre blanche, avec simplement marqué done.
Effacez ensuite le fichier fixtree.php que vous avez placé sur votre serveur.

Vérifiez que votre forum est à nouveau tout bien organisé. Le tour est joué !
Pensez néanmoins à toujours créer une sauvegarde d'une part de vos fichiers placés sur le ftp, mais surtout de votre base de données !

Mise à jour le Mardi, 08 Septembre 2009 13:33
 

25

Jui

2008

Un programme pour fichier SQL PDF Imprimer Envoyer
Tutoriaux
Écrit par Raoul   

SQLDumpSplitter

Voici un petit soft gratuit absolument génial pour ceux qui veulent transférer des bases SQL avec PHPMyadmin.
En effet, si votre base de données est importante (quelques Mo) vous ne pourrez transférer par paquets  que 2048 Ko maximum. Alors plutôt que de faire ça à la main avec des copier-coller, SQLDumpSplitter le fait pour vous en générant des fichiers fragmentés comme vous le voulez.

Super efficace, et sans bogues connus.


Fichier à télécharger:

Neutre Le mot de passe est : multipass

Mise à jour le Mercredi, 13 Août 2008 15:44
 

29

Nov

2007

Des miniatures sur son forum phpBB3 PDF Imprimer Envoyer
( 1 - Vote des lecteurs )
Tutoriaux
Écrit par Raoul   
Comment permettre la création de miniatures pour une image trop grande sur mon forum phpBB3 ?
Ainsi lorsque je veux afficher une image trouvée sur un autre site, bien qu'elle soit grande, je devrais pouvoir le faire sans qu'elle déforme tout le design de mon forum.

Principe

On va utiliser un code javascript, en se fondant sur le travail open-source ThickBox. Ce code on va l'adapter pour phpBB3, et on l'appelera par une fonction bbcode que l'on va donc créer pour l'occasion.
Ainsi lorsqu'on voudra insérer une image distante sur le forum, une miniature sera créé, on lorsqu'on cliquera dessus, l'image d'origine apparaîtra.

Téléchargez,  installez et modifiez

Comme d'habitude nous n'utiliserons que des créations open-source et donc gratuites. Il vous faudra télécharger un fichier pour la feuille de style, un second fichier javascript, et un troisième également javascript. Télécharger le fichier CSS , puis le premier fichier JAVA et le troisième .(ces fichiers sont sûrs, ils sont sur mon site - ils vont s'ouvrir sur votre navigateur, vous aurez simplement à les sauvegarder).Puis téléchargez ces deux images 1 et 2
Installez ensuite les trois premiers fichiers dans un dossier que vous nommerez tb à la racine de votre forum sur le ftp.
Les deux images, vous pouvez les installer dans votre dossier images à la racine de votre forum.

Mise à jour le Jeudi, 10 Septembre 2009 00:01
Lire la suite...
 

28

Nov

2007

Mettre de la musique sur phpBB 3 PDF Imprimer Envoyer
( 2 - Vote des lecteurs )
Tutoriaux
Écrit par Raoul   
Comment mettre de la musique mp3 sur son forum phpBB 3 et la faire partager (légalement).
A condition d'avoir de quoi héberger un titre musical, sans que l'on puisse le télécharger. Sinon c'est de la diffusion sans copyright.

Principe

On va utiliser du flash, et les fonctions d'édition des balises bbCode dans l'administration phpBB de votre forum.
Ensuite il faudra avoir un lien sur un titre mp3 et le mettre entre les nouvelles balises crées dans votre forum. Un lecteur apparaîtra, et vous pourrez écouter de la musique.

Téléchargez et installez

Comme d'habitude nous n'utiliserons que des créations open-source et donc gratuites. Prévoyez l'accès au ftp de votre forum.
Image Télécharger le lecteur flash Dewplayer
Puis placer le fichier .swf à la racine de votre forum. (vous pouvez le mettre ailleurs, dans ce cas pensez à modifier le code proposé ci après)

Dans l'administration de phpBB

Retrouvez l'onglet messages / bbcode comme sur l'image (cliquez pour agrandir):

Mise à jour le Mardi, 02 Septembre 2008 20:43
Lire la suite...
 


is_stick joomla_stick opensource_stick webind_stick h_stick ff_stick audit de site Opquast
Creative Commons License
© 2003-2010 Le Phare Rouge.fr (ex honorgate.net) portail familial Admin - Raoul Burdet - version 5.5 - Déclaration CNIL n°893015 - Mentions légales | Contact | Plan du site
"Agir les uns envers les autres dans un esprit de fraternité"
rss