PHP-Nuke France - Communauté Européenne: Forums

FAQFAQ  RechercherRechercher
Groupes d'utilisateursGroupes d'utilisateurs    Les rangsLes Rangs
ProfilProfil  Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés  ConnexionConnexion
*AVANT TOUT, consultez la charte de nos forums !

ATTENTION
En téléchargeant une version de PHP-Nuke autre que celle que nous proposons, vous prenez la décision de ne pouvoir prétendre à aucun support sur nos Forums.
Vous êtes libre de faire vos propres choix mais nous ne pouvons accepter de faire le travail des autres.
Par conséquent et en connaissance de cause, toute question relative à une autre version que celle que nous nous sommes engagé à supporter sera transférée à la corbeille.

 Prenez 2 minutes pour prendre connaissance plus en détails de notre fonctionnement

[CODE-HACK] phpBB vers PHP-Nuke (conversion)

Poster un nouveau sujet   Ce sujet est verrouillé, vous ne pouvez pas éditer les messages ou faire de réponses.    PHP-Nuke France - CE Index du Forum Tutoriels
Printer-friendly version
Voir le sujet précédent :: Voir le sujet suivant  

Ce tutoriel vous a t'il aidé ?
Oui
0%
 0%  [ 0 ]
Non
0%
 0%  [ 0 ]
Total des votes : 0

Auteur Message
JeanClaude




Administrateur Général
Administrateur Général



Inscrit le: 23 04 ,2003
Messages: 1559
Localisation: GAP

MessagePosté le: 05.03.2005, 12:38:38    Sujet du message: [CODE-HACK] phpBB vers PHP-Nuke (conversion) Répondre en citant

Informations :

Titre : Effectuer la conversion phpBB => PHP-Nuke
Auteur : Bobulum : http://bobulum.saintrochtree.net/
retranscrit pour PHP-Nuke France par liloute
Taille : 65 Kb
Présentation :

Le transfert d'un forum phpBB extérieur dans PHP-Nuke est souvent envisagé, mais peut être compliqué quand à la partie SQL. Voyons ensemble comment faire ca.

---------------------------------------------------

Notes préalables :

  • Lors de la conversion, l'interaction SQL/PHP n'est plus optimale. Il en résulte donc des problèmes possibles à court, moyen ou long terme et une baisse possible de la sécurité de votre CMS. Nous vous conseillons donc de mettre à jour constament votre site et d'appliquer les protections données.

  • Ne touchez pas aux fichiers php!

  • Attention :l'import d'un forum phpBB sur PHP-Nuke ne peut se faire que si le site PHP-Nuke ne comporte aucun utilisateur et aucun message dans son forum! Dans le cas contraire, tout les utilisateurs et messages de PHP-Nuke seront supprimés!



  • Durée de l'opération : 1h-1h30 (varie selon la taille de la base de données)
    Outils : phpMyAdmin, Wordpad

  • 1. Sauvegarde de la base de données


  • La première chose à faire est évidement des faire une sauvegarde de votre base de données PHP-Nuke. Allez dans "Exporter", cochez "Structure et données" et "Transmettre". Vous avez un fichier SQL, faites-en plusieurs copies.


  • 2. Import des tables phpbb simples


  • Ouvrez un de vos fichiers de sauvegarde SQL avec WordPad. Nous allons nous occuper uniquement des tables nuke_bbXXX.

    On va opérez table par table. Copier les lignes INSERT INTO de la table choisie et collez-les dans un fichier Wordpad vierge. Dans ce dernier, utilisez la fonction "Remplacer" pour changer "phpbb_" en "nuke_bb".

    Ensuite rendez-vous dans votre base de données déjà exisitante pour PHP-Nuke et videz la table nuke_bbXXX dans laquelle vous allez copier le contenu.

    Copiez les lignes ainsi transformées et collez-les dans l'onglet SQL de phpMyAdmin.

    Le contenu des tables devrait s'ajouter dans celles-ci.

    Ne touchez pas à la table phpbb_users pour le moment.

  • 3. Import de phpbb_users


  • Voilà un gros morceau. Cette table contient vos utilisateurs, mais son architecture est différente selon PHP-Nuke ou phpBB.

    Supprimez votre ancienne table nuke_users, et à l'aide des lignes CREATE TABLE et INSERT INTO, mettez votre table phpbb_users sur votre base de données PHP-Nuke. Allez ensuite dans cette table, et cliquez sur l'onglet "Opérations". Renommez ensuite la table en nuke_users.

    Exécutez les requêtes suivantes afin de mettre à jour cette table :

    Code:

        ALTER TABLE nuke_users CHANGE user_id user_id int(11) NOT NULL auto_increment;
        ALTER TABLE nuke_users ADD name varchar(60) NOT NULL default '';
        ALTER TABLE nuke_users CHANGE username username varchar(25) NOT NULL default '';
        ALTER TABLE nuke_users CHANGE user_email user_email varchar(255) NOT NULL default '';
        ALTER TABLE nuke_users ADD femail varchar(255) NOT NULL default '';
        ALTER TABLE nuke_users CHANGE user_website user_website varchar(255) NOT NULL default '';
        ALTER TABLE nuke_users CHANGE user_avatar user_avatar varchar(255) NOT NULL default '';

        ALTER TABLE nuke_users CHANGE user_regdate user_regdate varchar(20) NOT NULL default '';
        ALTER TABLE nuke_users CHANGE user_icq user_icq varchar(15) default NULL;
        ALTER TABLE nuke_users CHANGE user_occ user_occ varchar(100) default NULL;
        ALTER TABLE nuke_users CHANGE user_from user_from varchar(100) default NULL;
        ALTER TABLE nuke_users CHANGE user_interests user_interests varchar(150) NOT NULL default '';
        ALTER TABLE nuke_users CHANGE user_sig user_sig varchar(255) default NULL;
        ALTER TABLE nuke_users CHANGE user_viewemail user_viewemail tinyint(2) default NULL;
        ALTER TABLE nuke_users ADD user_theme int(3) default NULL;
        ALTER TABLE nuke_users CHANGE user_aim user_aim varchar(18) default NULL;
        ALTER TABLE nuke_users CHANGE user_yim user_yim varchar(25) default NULL;
        ALTER TABLE nuke_users CHANGE user_msnm user_msnm varchar(25) default NULL;
        ALTER TABLE nuke_users CHANGE user_password user_password varchar(40) NOT NULL default '';
        ALTER TABLE nuke_users ADD storynum tinyint(4) NOT NULL default '10';
        ALTER TABLE nuke_users ADD umode varchar(10) NOT NULL default '';
        ALTER TABLE nuke_users ADD uorder tinyint(1) NOT NULL default '0';
        ALTER TABLE nuke_users ADD thold tinyint(1) NOT NULL default '0';
        ALTER TABLE nuke_users ADD noscore tinyint(1) NOT NULL default '0';
        ALTER TABLE nuke_users ADD bio tinytext NOT NULL;
        ALTER TABLE nuke_users ADD ublockon tinyint(1) NOT NULL default '0';
        ALTER TABLE nuke_users ADD ublock tinytext NOT NULL;
        ALTER TABLE nuke_users ADD theme varchar(255) NOT NULL default '';
        ALTER TABLE nuke_users ADD commentmax int(11) NOT NULL default '4096';
        ALTER TABLE nuke_users ADD counter int(11) NOT NULL default '0';
        ALTER TABLE nuke_users ADD newsletter int(1) NOT NULL default '0';
        ALTER TABLE nuke_users CHANGE user_posts user_posts int(10) NOT NULL default '0';
        ALTER TABLE nuke_users CHANGE user_attachsig user_attachsig int(2) NOT NULL default '0';
        ALTER TABLE nuke_users CHANGE user_rank user_rank int(10) NOT NULL default '0';
        ALTER TABLE nuke_users CHANGE user_level user_level int(10) NOT NULL default '1';
        ALTER TABLE nuke_users ADD broadcast tinyint(1) NOT NULL default '1';
        ALTER TABLE nuke_users ADD popmeson tinyint(1) NOT NULL default '0';
        ALTER TABLE nuke_users CHANGE user_active user_active tinyint(1) default '1';
        ALTER TABLE nuke_users CHANGE user_session_time user_session_time int(11) NOT NULL default '0';
        ALTER TABLE nuke_users CHANGE user_session_page user_session_page smallint(5) NOT NULL default '0';
        ALTER TABLE nuke_users CHANGE user_lastvisit user_lastvisit int(11) NOT NULL default '0';
        ALTER TABLE nuke_users CHANGE user_timezone user_timezone tinyint(4) NOT NULL default '1';
        ALTER TABLE nuke_users CHANGE user_style user_style tinyint(4) default NULL;
        ALTER TABLE nuke_users CHANGE user_lang user_lang varchar(255) NOT NULL default 'french';
        ALTER TABLE nuke_users CHANGE user_dateformat user_dateformat varchar(14) NOT NULL default 'd M Y, G:i';
        ALTER TABLE nuke_users CHANGE user_new_privmsg user_new_privmsg smallint(5) unsigned NOT NULL default '0';
        ALTER TABLE nuke_users CHANGE user_unread_privmsg user_unread_privmsg smallint(5) unsigned NOT NULL default '0';
        ALTER TABLE nuke_users CHANGE user_last_privmsg user_last_privmsg int(11) NOT NULL default '0';
        ALTER TABLE nuke_users CHANGE user_emailtime user_emailtime int(11) default NULL;
        ALTER TABLE nuke_users CHANGE user_allowhtml user_allowhtml tinyint(1) default '1';
        ALTER TABLE nuke_users CHANGE user_allowbbcode user_allowbbcode tinyint(1) default '1';
        ALTER TABLE nuke_users CHANGE user_allowsmile user_allowsmile tinyint(1) default '1';
        ALTER TABLE nuke_users CHANGE user_allowavatar user_allowavatar tinyint(1) NOT NULL default '1';
        ALTER TABLE nuke_users CHANGE user_allow_pm user_allow_pm tinyint(1) NOT NULL default '1';
        ALTER TABLE nuke_users CHANGE user_allow_viewonline user_allow_viewonline tinyint(1) NOT NULL default '1';
        ALTER TABLE nuke_users CHANGE user_notify user_notify tinyint(1) NOT NULL default '0';
        ALTER TABLE nuke_users CHANGE user_notify_pm user_notify_pm tinyint(1) NOT NULL default '0';
        ALTER TABLE nuke_users CHANGE user_popup_pm user_popup_pm tinyint(1) NOT NULL default '0';
        ALTER TABLE nuke_users CHANGE user_avatar_type user_avatar_type tinyint(4) NOT NULL default '3';
        ALTER TABLE nuke_users CHANGE user_sig_bbcode_uid user_sig_bbcode_uid varchar(10) default NULL;
        ALTER TABLE nuke_users CHANGE user_actkey user_actkey varchar(32) default NULL;
        ALTER TABLE nuke_users CHANGE user_newpasswd user_newpasswd varchar(32) default NULL;
        ALTER TABLE nuke_users ADD points int(10) default '0';
        ALTER TABLE nuke_users ADD last_ip varchar(15) NOT NULL default '0';


  • 4. Modifications de nuke-users


  • Si vous allez sur votre forum, vous verrez que tous les membres ont le statut d'administrateur, ce qui est embêtant.

    Exécutez la requête suivante

    Code:
     UPDATE nuke_users SET user_level=1;


    Et rendez-vous dans la table nuke_users pour changer l'user_level de l'admin. Mettez-le à 2.

    Il faut ensuite changez les dates d'inscription. En effet, le format date de PHP-Nuke est différent que celui de phpBB. Malheureusement, la solution pour changer les dates d'inscription en masse n'est pas encore stable, il faut donc les changer une par une.

    Grâce au script suivant, effectuez la conversion et collez le résultat dans le champ user_regdate de l'utilisateur :

    http://bobulum.saintrochtree.net/docs/time.php

    Cette opération étant lourde pour des forums ayant un grand nombre d'utilisateurs, regardez nos notes complémentaires.

  • 5. Import des fichiers


  • Maintenant on va importer les fichiers images, tels les avatars, rangs et smilies.

    Copier/coller le contenu de images/avatars, images/smilies, images/ranks dans le dossier modules/Forums/images/avatars, modules/Forums/images/smilies, modules/Forums/images/ranks.


  • 6. Tests


  • Avant de mettre en ligne votre version, il est indispensable que vous testiez si l'implémentation est correcte. Faites-donc les tests suivants :

    o Enregistrement d'un utilisateur
    o Post d'un nouveau message, réponse à un message
    o Propostion et publication d'articles
    o Propostion et publication de liens
    o Propostion et publication de téléchargements
    o Pièces jointes
    o Envois de mails

    Une fois ces tests faits, il ne vous reste plus qu'à profiter de votre nouveau forum! Wink

    Notes complémentaires :

  • La conversion de la date peu poser problème si le forum a un grand nombre d'enregistrés.


  • Pensez-donc à faire un tri des utilisateurs actifs/inactifs. En effet, beaucoup entrent une fausse adresse mail, n'ont donc jamais accès au forum et n'y viendront jamais avec ce compte ;

    Code:
     DELETE FROM nuke_users WHERE user_active='0'


    Vous pouvez également supprimer les utilisateurs n'ayant jamais posté de messages :

    Code:
    DELETE FROM nuke_users WHERE user_posts='0'


  • Ces opérations sont définitives, faites donc des sauvegardes des tables modifiées.


  • N'oubliez pas de mettre à jour votre forum pour éviter les failles de sécurité.

  • _________________
    Merci de consulter attentivement les règles de nos Forums
    Revenir en haut
    Deconnecte    Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
    Montrer les messages depuis:   
    Printer-friendly version
    Poster un nouveau sujetCe sujet est verrouillé, vous ne pouvez pas éditer les messages ou faire de réponses.    PHP-Nuke France - CE Index du Forum Tutoriels Toutes les heures sont au format GMT + 2 Heures
    Page 1 sur 1

     
    Sauter vers:  
    Vous ne pouvez pas poster de nouveaux sujets dans ce forum
    Vous ne pouvez pas répondre aux sujets dans ce forum
    Vous ne pouvez pas éditer vos messages dans ce forum
    Vous ne pouvez pas supprimer vos messages dans ce forum
    Vous ne pouvez pas voter dans les sondages de ce forum
    Vous ne pouvez pas joindre des fichiers dans ce forum
    Vous ne pouvez pas télécharger des fichiers dans ce forum

    :: Powered by phpBB © 2001, 2005 phpBB Group ::

    Site motorisé par PHP-Nuke en version Française distribuée par PHP-Nuke France - CE
    PHP-Nuke © 2004 by Francisco BURZI
    Logiciel gratuit que vous pouvez redistribuer librement en respectant la licence GPL
    Tout le contenu du site est copyright PHP-Nuke France - CE
    Site déclaré à la C.N.I.L sous le n° de dossier 865996
    Noms de domaines, hébergement et site propriété de RondPoint Médias Services - Jean-Claude GIRAUD
    Design RMS - Création RondPoint Médias Services   RondPoint Médias Services - © 2005 / 2006
    Réseau : Etxe Ama - Ovalie - PHP-Nuke France : CE - RondPoint Médias Services - La Vallouise