Fork me on GitHub




(1) 2 3 »


Conversion phpBB 2.0.20 -> CBB 3.04RC2
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Bonjour à tous.
Je me suis lancé hier dans la conversion d'un forum phpBB 2.0.20 vers la version actuelle de CBB (3.0.4rc2).

(script dispo tout à la fin de ce post)

Après quelques aménagements d'un script existant, je suis arrivé à obtenir une bonne partie ce que je voulais.

A savoir, récupérer les membres du forum phpBB (23), et les intégrer en tant qu'utilisateur Xoops.
Et récupérer tous les sujets du forum.

Ces aménagements portaient sur la suppression de 2 espaces dans des requêtes qui plantaient le script, d'ajout de la fonction 'addslashes' à certains endroits, pour gérer notamment les signatures des membres qui comportant des apostrophes.

Et l'ajout d'une ligne de code, pour corriger le cas où un membre de phpBB n'avait pas de rang assigné.

if( $row["user_rank"] == "" ){$row["user_rank"] = 0;}


J'ai donc effectué une installation neuve de xoops 2.0.13.2.
Installé CBB 3.0.4rc2, puis exécuté ce script.
J'ai ensuite affecté les bons droits dans l'administration du forum, et j'ai pu rapidement accéder au forum et à ses sujets.

Par défaut, tous les membres du forums sont passés dans le groupe 'utilisateurs enregistrés' sur Xoops. (j'ai supprimé la partie gérant les groupes dans le script, car ça mettait un souk pas possible).

Et ça me convient très bien comme ça. Quitte à basculer certains membres dans d'autres groupes ensuite.

j'ai eu cependant quelques changements à faire à l'aide d'un éditeur de texte.
Pour une raison que je n'ai pas encore trouvée, mes balises CODE, QUOTE, IMG, U, B, I étaient mal interprétées.

Mais ça a pris juste 5 minutes avec un éditeur de texte pour les remettre d'aplomb (changement de masse avec une expression régulière). A voir quand même pourquoi ça a foiré à ce niveau.

A voir aussi la gestion des smileys. Forcément mes raccourcis de smileys, et les smileys eux-mêmes n'étaient pas gérés.
J'ai commencé à ajouter manuellement les smileys dans xoops, avec les bons codes, pour les retrouver dans CBB.

Puis je me suis ravisé. Je vais plutôt remplacer (par script) tous les smileys de xoops par ceux de phpBB.
Partie de script à faire.

Là où j'aurai éventuellement besoin d'aide, c'est pour la gestion de la recherche sur CBB.

En effet, si je fais une recherche sur des mots-clés, j'ai bien des résultats, mais je n'ai pas de liens pour accéder directement aux posts concernés.

Open in new window

C'est dû au fait, que dans la base de données, le champs 'subject' de la table xoops_bb_posts n'est pas renseigné à chaque fois.
Ce champs est renseigné seulement pour le premier post du sujet.

Open in new window

Je cherche donc un moyen, de compléter automatiquement ce champs lorsqu'il est vide, avec le contenu du sujet principal.
De cette façon, lors d'une recherche, nous aurons bien les liens accessibles vers le sujet.

si on y arrive pas, tant pis, je mettrai un titre par défaut à tous les posts n'ayant pas de sujet indiqué.
avec phpmyadmin ça ne posera pas de problèmes.

Sachant que pour tous les nouveaux sujets ou les nouvelles réponses, ce problème ne se posera pas.
C'est uniquement pour les données importées de phpBB.

Le script que j'ai utilisé :

http://www.valentinois.net/forums/frx ... 4026-forum5/phpbb2cbb.txt

copier le contenu dans un fichier .php, remplir les données au début du script, et l'exécuter.
bien penser à faire des sauvegardes de vos données avant.

Posté le : 19/05/2006 09:37

Edité par blueteen sur 19/05/2006 15:23:06
Edité par blueteen sur 19/05/2006 17:18:39
Edité par blueteen sur 27/01/2007 17:55:56
Edité par blueteen sur 27/01/2007 17:56:48
Partager Twitter Partagez cette article sur GG+
Re: Conversion phpBB 2.0.20 -> CBB 3.04RC2
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
voilà l'idée générale pour attribuer un sujet à tous les posts.
(par défaut, lorsqu'on répond sur le forum, on retrouve : Re:TITRE DU SUJET)

base du script php à mon avis :
connexion à la base de données
récupération de tous les identifiants uniques, numéros de posts et sujets.

SELECT post_idtopic_idsubject FROM `f7cph_bb_postsORDER BY `topic_idASC;


pour chaque numéros de posts (topic_id), je récupère la valeur du sujet correspondant au plus petit post_id de ce sujet (identifiant unique, incrémenté à chaque nouveau post, peut importe le sujet).
je récupère ainsi le titre initial du sujet.

ensuite, pour tous les id_topic identiques, si le sujet correspondant est vide, j'applique la valeur : "RE+titre trouvé"

(seulement si le sujet est vide, car même sous phpBB, les posteurs pouvaient donner un sujet spécial à leur réponse, donc on la conserve si c'est le cas).
Mais on peut aussi écraser tous les sujets si on le souhaite.

Posté le : 19/05/2006 10:58

Edité par blueteen sur 19/05/2006 11:19:37
Partager Twitter Partagez cette article sur GG+
Re: Conversion phpBB 2.0.20 -> CBB 3.04RC2
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Je viens de mettre à jour le script, il gère à présent les smileys.
Il supprime les smileys d'origine de xoops, et intègre dans la base de données ceux de mon foum phpBB.

ces smileys sont bien entendus utilisables dans les autres modules de xoops.
il faut penser envoyer les fichiers de smileys dans le dossier /uploads/ de votre site.

Open in new window

Posté le : 19/05/2006 14:50

Edité par blueteen sur 19/05/2006 15:22:27
Edité par blueteen sur 27/01/2007 17:59:37
Partager Twitter Partagez cette article sur GG+
Re: Conversion phpBB 2.0.20 -> CBB 3.04RC2
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
du changement dans le script.
on a désormais le décompte des données supprimées, ajoutée, modifiées.

Open in new window

Posté le : 19/05/2006 15:20
Partager Twitter Partagez cette article sur GG+
Re: Conversion phpBB 2.0.20 -> CBB 3.04RC2
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
une modification de plus :

en attendant d'arriver à faire le bon script pour corriger la recherche, j'ai modifié le script pour qu'il note : Re:... sur tous les posts qui n'avait pas de sujets.

de cette façon, en cas de recherche sur les posts importés, on peut accéder au post, même si du coup, le titre n'est pas très parlant.

Open in new window


Open in new window

Posté le : 19/05/2006 17:14
Partager Twitter Partagez cette article sur GG+
Re: Conversion phpBB 2.0.20 -> CBB 3.04RC2
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
Concernant la gestion des images, citations et autres code dans les posts, j'avais donc un souci lors du passage de phpBB à CBB.

en fait, si on regarde comment phpBB exploite ces données, on retrouve :

[quote:4a86601085="blueteen"];)
c'est vrai que ce serait sympa aussi :)
mais pas à ma portée en tout cas :p[/quote:4a86601085]


donc finalement, ce n'était pas un bug, lorsque j'ai retrouvé ces valeurs dans mon CBB.

Il faut donc rajouter une moulinette sur les posts, avec des expressions régulières pour transformer ces valeurs avant injection dans la base de CBB. (histoire de tout automatiser, car avec un éditeur de texte ça va quand même vite).
à suivre !

ps : en fait ce script me convient presque parfaitement, mais je n'ai aucune idée du rendu sur une base plus lourde.

Posté le : 19/05/2006 17:27
Partager Twitter Partagez cette article sur GG+
Re: Conversion phpBB 2.0.20 -> CBB 3.04RC2
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
voilà, à mon niveau, et pour mes besoins,j'ai fini ce que je voulais.
j'ai donc fini le petit script qui me permet de corriger certaines portions de code de phpBB pour que ce soit pris en compte sous CBB 3.04.

http://www.valentinois.net/forums/frx ... _id14026-forum5/regex.txt

une fois les étapes précédentes terminées, j'exporte ma table : xoops_bb_posts_text vers backup.sql par exemple

je place ce fichier et le script (fichier txt renommé en php) dans un même dossier.
je change les préfixes de tables dans le script, en fonction de ce que j'ai réellement.

puis je lance le script qui va me créer un fichier backup_clean.sql
et je pourrai injecter ce fichier dans ma base de données pour remplacer la table xoops_bb_posts_text.

on retrouvera alors un forum lisible, avec les balises : quote, code, img, b, i, u, size corrigées.

attention, cette étape est à faire plutôt en local. (en fait, l'idéal étant d'avoir sur son pc, une copie du forum, et l'installation fraîche de xoops, pour ensuite, lorsque tout est fini, l'injecter sur le vrai site sur le net).

on peut ensuite importer tranquillement le fichier généré.
étant donné la tâche du script et la quantité des données, ça va prendre plusieurs minutes.
le temps maximum de php sera dépassé sur la plupart des serveurs mutualisés (sans compter la surcharge processeur créée).
c'est pourquoi je procède en local, et j'ai fait appel à la fonction : set_time_limit(30) (vous pouvez aussi désactiver la limitation du temps d'exécution dans votre php.ini en local)

c'est pourquoi aussi j'ai volontairement laissé le traitement des données se faire en plusieurs étapes, pour pouvoir gérer le temps d'exécution entre 2 boucles.

un dernier détail, concernant les citations.
j'avais attaqué une approche pour la gestion des citations, que j'ai laissé tomber pour ne garder que la mention : Citation:

je n'ai donc plus : Tel membre a écrit:

ça devenait un peu trop usine à gaz à gérer.
mais ce n'est pas infaisable j'ai l'impression.

pour conclure, avec les 2 scripts présentés dans ce sujet, j'importe en quelques minutes mon forum phpBB vers CBB.
(bon évidement c'est le truc qui ne va servir qu'une fois dans mon cas, mais bon la recherche était intéressante).

ps : puisque de toute façon, je dois exporter ma table en format texte, avec un éditeur de texte, l'ensemble de ces modifs se ferait en moins de 2 minutes.

Posté le : 23/05/2006 09:13

Edité par blueteen sur 27/01/2007 18:00:11
Partager Twitter Partagez cette article sur GG+
Re: Conversion phpBB 2.0.20 -> CBB 3.04RC2
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
un petit complément :
je me suis aperçu que les PM n'étaient pas traités.

voici le script que j'ai modifié pour récupérer les PMs de phpbb vers cbb.

http://www.valentinois.net/forums/frx ... pic_id14026-forum5/pm.txt

grosso-modo :
les messages sont copiés vers cbb, puis je créé une table de structure identique dans laquelle je colle les pm dédoublonnés. (certains étaient en double, j'ignore pourquoi).
et je rapatrie le tout dans ma table d'origine.

hop, tout le monde retrouve ses PM sous xoops.
testé avec une centaine de PM.

Posté le : 30/05/2006 09:41

Edité par blueteen sur 27/01/2007 18:00:40
Partager Twitter Partagez cette article sur GG+
Re: Conversion phpBB 2.0.20 -> CBB 3.04RC2
Aspirant
Inscrit: 20/12/2005 15:51
Messages: 40
Bonjour,

Ton script m'interesse (bien que mon phpbb de départ soit en 2.0.6 et mon cbb en 3.0.8) mais tes liens sont mort.

peu tu les reposter ?

Posté le : 27/01/2007 10:42
Partager Twitter Partagez cette article sur GG+
Re: Conversion phpBB 2.0.20 -> CBB 3.04RC2
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
salut,
j'ai corrigé les liens.
en espérant que ça te serve de base (les versions n'étant pas les mêmes, il n'est pas garanti que ça fonctionne).

Posté le : 27/01/2007 18:03
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 3 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

36 Personne(s) en ligne (24 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 36 | Plus ...