Hacks:PN -> XOOPS 转换模板
发布者:Boobtoob于 2002/8/7 18:53:11 阅读量:5151好吧,你可能想知道什么是PN到XOOPS转换模板,好的,这个模板是复制从Postnuke 7.13x表到XOOPS RC 3.04表的核心数据。现在,这个模板可能有些复杂。我之所以称之为模板,是因为它不是一个完整的转换脚本,只是一个你可以在你的特定设置中轻松定制的“黑客”。这个脚本是为有良好SQL背景的新手(和有经验)的PHP开发者设计的。
永远不要在生产服务器上运行此脚本!!!!!我开发这个脚本是因为我最终忍受不了PN及其ADODB层(别忘了我是XOOPS团队的一员,哈),所以把这个东西翻了出来。现在,你知道它的大致作用了,这里介绍一下它不做的事情,即全面转换。它只是从源PN表复制数据并覆盖XOOPS表数据。这样做的原因是,像其他Nukes一样,PN通常进行了大量的定制,能转的数据有限,所以我把自己认为的核心数据复制到了目标db/表中。包括以下表:xoops_users、xoops_banner、xoops_bannerclient、xoops_bannerfinish、xoops_bb_categories、xoops_comments、xoops_xoopsfaq_categories、xoops_xoopsfaq_contents、xoops_mylinks_cat、xoops_mylinks_links、xoops_mylinks_votedata、xoops_mylinks_text、xoops_priv_msgs、xoops_seccont、xoops_sections、xoops_stories、xoops_topics。现在,有一些需要注意的事情是,这个脚本可能对你新的XOOPS 设置具有破坏性(但不会影响你的PN设置),所以,下面是从PN转换到XOOPS的步骤。1.备份一切!使用您喜欢的PHP脚本备份现有的PN表,或者跳转到命令行进行mysqldump。接下来,备份所有您的PN文件,将它们压缩或打包。2. 使用MySQL导出和您的PN备份在您不介意抹除的开发机器上创建一个网站(因为您会的)。3. 当您本地区域运行PN网站后,本地安装XOOPS RC3.04并让它也运行起来。如果您只有一个数据库(我有两个,在脚本中可以看到),您仍然可以,因为我强烈建议将XOOPS使用的不同表前缀与您的PN安装区分开。4. 在您喜欢的编辑器中打开pn_convert.php。5. 在本地加载您喜欢的PHP数据库管理脚本并打开数据库,以便查看表结构。6. 现在,在脚本顶部有一个内置的readme,其中包含了更多关于如何修改此脚本以使其正常工作的说明我知道,看起来很丑,但一旦解决了问题,效果极佳。我一次只让一个函数工作,意味着每次只移动一个表。此外,此脚本会删除目标XOOPS表的数据,因为,猜猜看,这不是我们想要的。我们正在将PN数据移至XOOPS,所以不要担心。现在,在移动用户表之前,使用您的数据库脚本来找到您的PN网站管理员/管理员UID。您需要一个用于设置XOOPS网站管理员权限。一旦您有了这个UID并且您可以从PN复制数据到XOOPS用户表,然后编辑xoops_groups_users_link表并修改UID为1的记录为您的PN UID(只修改UID,不修改GROUPID)。这样,当您使用PN管理员ID登录到XOOPS时,您现在就是XOOPS管理员,您可以自由设置东西。请不要通过电子邮件向我寻求支持,请使用论坛,我们都会尽力帮助您。记住,在开发机上使用此工具,而不是在生产机上。请勿通过电子邮件寻求支持,使用论坛,我们(XOOPS社区)都会尽力帮助您。记住,在开发机上使用此工具,而不是在生产机上。当您的本地XOOPS网站运行起来后,仅反转数据库和XOOPS目录的备份流程,并将其恢复到您的现场网站,记得设置任何缓存权限等,应该可以正常工作。如果它们无法工作,您仍然有一个完整的PN安装。