Fork me on GitHub






[Astuce]Migration de Newbbex vers D3forum via Newbb
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
Messages: 2331
Bonjour,
Je viens de réaliser un bidouillage... incroyable... et en plus, cela fonctionne terrible...

Vous l'avez compris, je n'ai pas trouvé la formulation de script nécessaire pour faire un transfert direct d3forum => newbbex, pourtant, d3forum à des fonctions d'import pour d'autres modules, mais pas newbbex.

si je savais le faire (j'ai essayé) il y a juste a reprendre, dans les fichiers concernés les même scripts que pour newbb et les adaptés pour newbbex, ils sont presque pareils.

Alors, je me suis débrouillé autrement.

Etape 1: Télécharge du modules newbb 1.16a et installation.

Etape 2: Faire l'opération inverse de cette méthode Migration de Newbb 3.08 vers Newbbex 1.16
C'est à dire, que vous migrer de Newbbex vers Newbb.

Etape 3: Vous êtes pr^t à importer toutes vos données (forums, sujets, commentaires etc) par les fonction d'import du module d3forum.

Etape 4: Supprimer newbbex et newbb après avoir tous vérifier.

Il ne vous reste plus qu'à revoir vos paramétrés et permissions... et le tour est joué...

Ben quoi... c'est pas de la débrouille çà???
... ok, c'est du "tires moi les cheveux)... mais cela fonctionne

Bon samedi à toutes et tous

Posté le : 13/06/2009 09:49

eparcyl... tranquille.
Partager Twitter Partagez cette article sur GG+
Re: [Astuce]Migration de Newbbex vers D3forum via Newbb
Xoops accro
Inscrit: 20/02/2008 20:27
De Belgium
Messages: 2708
Oui, faire et defaire, c'est toujours travailler!

Eparcyl, avez vous sauvee les commandes SQL pour aller de newbbex vers NewBB/CBB 3.08?

Posté le : 13/06/2009 21:11

Salutations, Gerard.
PS: Excusez mon mauvais français.
De la bonne manière de poser les questions
Partager Twitter Partagez cette article sur GG+
Re: [Astuce]Migration de Newbbex vers D3forum via Newbb
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
Messages: 2331
Bonjour à toutes et tous,
Bonjour Ghia,

Mince!!! tu as raison, j'aurai du faire une copie de ce que j'ai fais dans le sql pour le mettre en ligne

Bon, pour me faire pardonner, je vais continué à chercher comment ajouter dans d3forum l'intégration des tables de newbbex pour l'importation.

Et pourquoi pas aussi, trouver la combine pour "exporter" et intégrer les tables d'un forum en d3forum vers un autre forum de son choix... suprême réussite.. je deviendrai alors une icône chez nos amis les japonnais(e)s xoopsien(ne)s..

A suivre dans ce sujet... j'espère....

Bonne messe du dimanche ou bon apéro

Posté le : 14/06/2009 07:52

eparcyl... tranquille.
Partager Twitter Partagez cette article sur GG+
Re: [Astuce]Migration de Newbbex vers D3forum via Newbb
Xoops accro
Inscrit: 16/08/2005 19:46
De Nanterre
Messages: 2331
Re-bonjour,
Première étape:

Voici par exemple une ligne de codes dans le fichier xoops_trust_path\modules\d3forum\include\import_functions.php
Ce code reprend les noms des tables de newbb pour les importer dans les tables de d3forum.

function d3forum_import_from_newbb1$mydirname $import_mid )
{
    
$db =& Database::getInstance() ;
    
$from_prefix 'bb' ;

    
// get group_ids
    
$group_handler =& xoops_gethandler'group' ) ;
    
$group_objects $group_handler->getObjects() ;
    
$group_ids = array() ;
    foreach( 
$group_objects as $group_object ) {
        
$group_ids[] = $group_object->getVar('groupid') ;
    }

    
// categories
    
$table_name 'categories' ;
    
$to_table $db->prefix$mydirname.'_'.$table_name ) ;
    
$from_table $db->prefix$from_prefix.'_'.$table_name ) ;
    
$db->query"DELETE FROM `$to_table`" ) ;
    
$irs $db->query"INSERT INTO `$to_table` (cat_id,cat_title,cat_weight) SELECT cat_id,cat_title,cat_order FROM `$from_table`" ) ;
    if( ! 
$irs d3forum_import_errordie() ;

    
// category_access
    
$crs $db->query"SELECT cat_id FROM `$from_table`" ) ;
    
$table_name 'category_access' ;
    
$to_table $db->prefix$mydirname.'_'.$table_name ) ;
    
$from_table $db->prefix$from_prefix.'_'.$table_name ) ;
    
$db->query"DELETE FROM `$to_table`" ) ;
    while( list( 
$cat_id ) = $db->fetchRow$crs ) ) {
        foreach( 
$group_ids as $groupid ) {
            
$irs $db->query"INSERT INTO `$to_table` VALUES ($cat_id,null,$groupid,1,1,1,1,0,0)" ) ;
            if( ! 
$irs d3forum_import_errordie() ;
        }
    }

    
// forums
    
$table_name 'forums' ;
    
$to_table $db->prefix$mydirname.'_'.$table_name ) ;
    
$from_table $db->prefix$from_prefix.'_'.$table_name ) ;
    
$db->query"DELETE FROM `$to_table`" ) ;
    
$irs $db->query"INSERT INTO `$to_table` (forum_id,forum_title,forum_desc,forum_weight,cat_id) SELECT forum_id,forum_name,forum_desc,0,cat_id FROM `$from_table`" ) ;
    if( ! 
$irs d3forum_import_errordie() ;

    
// forum_access
    
$frs $db->query"SELECT forum_id,forum_access,forum_type FROM `$from_table`" ) ;
    
$table_name 'forum_access' ;
    
$to_table $db->prefix$mydirname.'_'.$table_name ) ;
    
$from_table $db->prefix$from_prefix.'_'.$table_name ) ;
    
$from_mods_table $db->prefix$from_prefix.'_'.'forum_mods' ) ;
    
$db->query"DELETE FROM `$to_table`" ) ;
    while( list( 
$forum_id $forum_access $forum_type ) = $db->fetchRow$frs ) ) {
        
// moderator by uid
        
$mrs $db->query"SELECT user_id FROM `$from_mods_table` WHERE forum_id=$forum_id) ;
        while( list( 
$uid ) = $db->fetchRow$mrs ) ) {
            
$irs $db->query"INSERT INTO `$to_table` VALUES ($forum_id,$uid,null,1,1,1,1,1)" ) ;
            if( ! 
$irs d3forum_import_errordie() ;
        }
        
// users on forum_access (ignore duplicate id error)
        
$irs $db->query"INSERT INTO `$to_table` (forum_id,uid,can_post) SELECT forum_id,user_id,can_post FROM `$from_table` WHERE forum_id=$forum_id) ;
        
// groups on forum_access
        
foreach( $group_ids as $groupid ) {
            if( 
$forum_type ) {
                
/* @list( $can_read , $can_post ) = $db->fetchRow( $db->query( "SELECT groupid,can_post FROM `$from_table` WHERE user_id IS NULL AND forum_id=$forum_id AND groupid=$groupid" ) ) ;
                if( ! empty( $can_read ) ) {
                    $irs = $db->query( "INSERT INTO `$to_table` VALUES ($forum_id,null,$groupid,$can_post,1,1,1,0)" ) ;
                    if( ! $irs ) d3forum_import_errordie() ;
                } */
            
} else {
                
$can_post ;
                if( ( 
$groupid == && $forum_access == ) || $forum_access == ) {
                    
$can_post ;
                }
                
$irs $db->query"INSERT INTO `$to_table` VALUES ($forum_id,null,$groupid,$can_post,$can_post,$can_post,1,0)" ) ;
                if( ! 
$irs d3forum_import_errordie() ;
            }
        }
    }

    
// topics
    
$table_name 'topics' ;
    
$to_table $db->prefix$mydirname.'_'.$table_name ) ;
    
$from_table $db->prefix$from_prefix.'_'.$table_name ) ;
    
$db->query"DELETE FROM `$to_table`" ) ;
    
$irs $db->query"INSERT INTO `$to_table` (topic_id,topic_title,topic_views,forum_id,topic_locked,topic_sticky,topic_solved) SELECT topic_id,topic_title,topic_views,forum_id,topic_status,topic_sticky,1 FROM `$from_table`" ) ;
    if( ! 
$irs d3forum_import_errordie() ;

    
// posts
    
$table_name 'posts' ;
    
$to_table $db->prefix$mydirname.'_'.$table_name ) ;
    
$from_table $db->prefix$from_prefix.'_'.$table_name ) ;
    
$from_text_table $db->prefix$from_prefix.'_'.'posts_text') ;
    
$db->query"DELETE FROM `$to_table`" ) ;
    
$irs $db->query"INSERT INTO `$to_table` (post_id,pid,topic_id,post_time,modified_time,uid,poster_ip,modifier_ip,subject,html,smiley,xcode,br,number_entity,special_entity,icon,attachsig,invisible,approval,post_text) SELECT p.post_id,pid,topic_id,post_time,post_time,uid,poster_ip,poster_ip,subject,!nohtml,!nosmiley,1,1,1,1,IF(SUBSTRING(icon,5,1),SUBSTRING(icon,5,1),1),attachsig,0,1,pt.post_text FROM `$from_table` p LEFT JOIN `$from_text_table` pt ON p.post_id=pt.post_id" ) ;
    if( ! 
$irs d3forum_import_errordie() ;

    
// users2topics
    
$table_name 'users2topics' ;
    
$to_table $db->prefix$mydirname.'_'.$table_name ) ;
    
$from_table $db->prefix$from_prefix.'_'.$table_name ) ;
    
$db->query"DELETE FROM `$to_table`" ) ;
    
/*$irs = $db->query( "INSERT INTO `$to_table` (uid,topic_id,u2t_time,u2t_marked,u2t_rsv) SELECT uid,topic_id,u2t_time,u2t_marked,u2t_rsv FROM `$from_table`" ) ;
    if( ! $irs ) d3forum_import_errordie() ;*/
}


Et voici les noms des tables de newbbex et d3forum à mettre en remplacement de celles de newbb ci-dessus:
============ NEWBBEX ==========================

TABLE NEWBBEX bbex_categories:
cat_idcat_titlecat_order,

TABLE NEWBBEX bbex_forum_access:
forum_iduser_idcan_post

TABLE NEWBBEX bbex_forum_mods
:
forum_iduser_id

TABLE NEWBBEX bbex_forums
:
forum_idforum_nameforum_descforum_accessforum_moderatorforum_topicsforum_postsforum_last_post_idcat_idforum_typeallow_htmlallow_sigposts_per_pagehot_thresholdtopics_per_pageshow_nameshow_icons_panelshow_smilies_panelallow_upload,

TABLE NEWBBEX bbex_posts:
post_idpidtopic_idforum_idpost_timeuidposter_ipsubjectnohtmlnosmileyiconattachsig,

TABLE NEWBBEX bbex_posts_text:
post_idpost_text,

TABLE NEWBBEX bbex_topics:
topic_idtopic_titletopic_postertopic_timetopic_viewstopic_repliestopic_last_post_idforum_idtopic_statustopic_sticky,

TABLE NEWBBEX bbex_files:
fileidfilerealnamepost_iddatemimetypedownloadnamecounter,

============ 
D3FORUM ==========================

TABLE D3FORUM category_access:
cat_iduidgroupidcan_postcan_editcan_deletepost_auto_approvedcan_makeforumis_moderator,

TABLE D3FORUM forum_access:
forum_iduidgroupidcan_postcan_editcan_deletepost_auto_approvedis_moderator,

TABLE D3FORUM categories:
cat_idpidcat_titlecat_desccat_topics_countcat_posts_countcat_last_post_idcat_last_post_timecat_topics_count_in_treecat_posts_count_in_treecat_last_post_id_in_treecat_last_post_time_in_treecat_depth_in_treecat_order_in_treecat_path_in_treecat_unique_pathcat_weightcat_options,

TABLE D3FORUM forums:
forum_idcat_idforum_external_link_formatforum_titleforum_descforum_topics_countforum_posts_countforum_last_post_idforum_last_post_timeforum_weightforum_options,

TABLE D3FORUM topics:
topic_idforum_idtopic_external_link_idtopic_titletopic_first_uidtopic_first_post_idtopic_first_post_timetopic_last_uidtopic_last_post_idtopic_last_post_timetopic_viewstopic_posts_counttopic_lockedtopic_stickytopic_solvedtopic_invisibletopic_votes_sumtopic_votes_count,

TABLE D3FORUM posts:
post_idpidtopic_idpost_timemodified_timeuiduid_hiddenposter_ipmodifier_ipsubjectsubject_waitinghtmlsmileyxcodebrnumber_entityspecial_entityiconattachsiginvisibleapprovalvotes_sumvotes_countdepth_in_treeorder_in_treepath_in_treeunique_pathguest_nameguest_emailguest_urlguest_pass_md5guest_trippost_textpost_text_waiting,

TABLE D3FORUM users2topics:
uidtopic_idu2t_timeu2t_markedu2t_rsv,

TABLE D3FORUM post_votes:
vote_idpost_iduidvote_pointvote_timevote_ip,

TABLE D3FORUM post_histories:
history_idpost_idhistory_timedata,

Si quelqu'un a une inspiration lumineuse.. en ce jour du seigneur... ce serai chouette

Bon dimanche

Posté le : 14/06/2009 09:58

eparcyl... tranquille.
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



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

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