Supesite7.0 转换导入phpcms 2008 sp3的方法

前些天,写了一个php脚本用于supesite7.0导入phpcms2008:

<?php
/*
supesite7.0导入phpcms 2008 sp3 导入脚本
warran@qq.com
http://www.veryhuo.com
*/
header(Content-Type: text/html;charset=utf-8);
set_time_limit(0);
define('IN_ADMIN',TRUE);
define('IN_PHPCMS',TRUE);
require_once '../include/common.inc.php';
require_once '../include/admin/process.class.php';
require '../include/priv_role.class.php';
require_once '../include/attachment.class.php';
require_once '../include/admin/content.class.php';
//数据库连接
//conn1为supesite数据库
//conn2为phpcms数据库
$conn1=mysql_connect(localhost,root,);
mysql_select_db(site,$conn1);
$conn2=mysql_connect(localhost,);
mysql_select_db(phpcms,$conn2);
//清空phpcms 文章和评论数据
if($_GET[action]=='clean'){
mysql_query(delete from phpcms_content where 1=1,$conn2);
mysql_query(delete from phpcms_content_count where 1=1,$conn2);
mysql_query(delete from phpcms_c_news where 1=1,$conn2);
mysql_query(delete from phpcms_content_tag where 1=1,$conn2);
mysql_query(delete from phpcms_keyword where 1=1,$conn2);
mysql_query(delete from phpcms_member_group_priv where 1=1,$conn2);
mysql_query(delete from phpcms_comment where 1=1,$conn2);
exit(清空完成);
}
if($_GET[action]=='test'){
echo hasuser(warran);
exit();
}
//读取分类表
$result=mysql_query(select catid,catname from phpcms_category,$conn2);
while($row=mysql_fetch_array($result)){
$cat[$row[catname]]=$row[catid];
}
$_roleid = cache_read('admin_role_'.$_userid.'.php');
$priv_role = new priv_role();
$c = new content();
$tmp=0;
//添加文章
$result=mysql_query(select supe_spaceitems.*,supe_categories.name as catname from supe_spaceitems,supe_categories where supe_spaceitems.catid=supe_categories.catid and supe_spaceitems.folder=1,$conn1);
while($row=mysql_fetch_array($result)){
//使用phpcms自带的类,添加内容
$data[catid]=$cat[$row[catname]];
$attachment = new attachment(phpcms,$data[catid]);
$data[title]=addslashes($row[subject]);
$data[style]=;
$data[thumb]=;
$res=mysql_query(select * from supe_spacenews where itemid=$row[itemid],$conn1);
$includetags=;
$message=;
while($rs=mysql_fetch_array($res)){
$message.=$rs[message];
if($rs[includetags]!=''){
$includetags.= .$rs[includetags];
}
}
$data[keywords]=addslashes($includetags);
$data[author]=addslashes($row[username]);
$data[copyfrom]=addslashes($row[newsauthor]);
$data[description]=;
$data[content]=addslashes($message);
$data[paginationtype]=0;
$data[maxcharperpage]=10000;
$data[titleintact]=addslashes($row[short_subject]);
$data[islink]=99;
$time_tmp=date(Y-m-d h:i:s);
$data[inputtime]=$time_tmp;
$data[posids]=-99;
$data[groupids_view]=array(-99);
$data[readpoint]=;
$data[prefix]=;
$data[template]=show;
$data[status]=99;
$data[updatetime]=$time_tmp;
$contentid=$c->add($data,,1);

//添加评论
$res=mysql_query(select * from supe_spacecomments where itemid=$row[itemid] and rates=0,$conn1);
$comment_num=0;
while($rs=mysql_fetch_array($res)){
$comment[keyid]=phpcms-content-title-.$contentid;
if($rs[authorid]==0){
$comment[username]=游客;
$comment[userid]=0;
}else{
$comment[username]=addslashes($rs[author]);
$hasuser=hasuser($rs[author]);
if($hasuser==0){
$userinfo[username]=addslashes($rs[author]);
$userinfo[password]=82790085228cf8a1e3bac41f45271e5f;
$userinfo[touserid]=$rs[authorid];
$userinfo[email]=;
$comment[userid]=adduser($userinfo);
}else{
$comment[userid]=$hasuser;
}

}
$comment[content]=$rs[message];
$comment[ip]=$rs[ip];
$comment[addtime]=$rs[dateline];
if(mysql_query(insert into phpcms_comment(keyid,userid,username,content,ip,addtime,status) values('$comment[keyid]',$comment[userid],'$comment[username]','$comment[content]','$comment[ip]',$comment[addtime],1),$conn2)){
$comment_num+=1;
}
}
mysql_query(update phpcms_content_count set comments=$comment_num,comments_checked=$comment_num where contentid=$contentid);
}
function dump($vars,$label = '',$return = false)
{
if (ini_get('html_errors')) {
$content = <pre>;
if ($label != '') {
$content .= <b>{$label} :</b>;
}
$content .= htmlspecialchars(print_r($vars,true));
$content .= </pre>;
} else {
$content = $label . : . print_r($vars,true);
}
if ($return) { return $content; }
echo $content;
return null;
}
/*
向phpcms中添加用户
*/
function adduser($userinfo){
global $conn2;
mysql_query(insert into phpcms_member(username,password,groupid,touserid,email) values('$userinfo[username]','$userinfo[password]',6,$userinfo[touserid],'$userinfo[email]'),$conn2);
$userid=mysql_insert_id();
mysql_query(insert into phpcms_member_cache(username,$conn2);
return $userid;
}
/*
判断phpcms中是否有此用户
*/
function hasuser($username)
{
global $conn2;
$res=mysql_query(select userid from phpcms_member where username='.$username.',$conn2);
$row=mysql_fetch_array($res);
if($row[0]){
//有用户
return $row[0];
}else{
//没用户
return 0;
}
}
?>

需要的可以试用一下

完成了如下功能:
1、文章导入
2、评论导入
3、关键字导入
4、如果supesite中某个用户做了评论,则在phpcms中建立相应的帐号,并将评论和其绑定

使用方法:
1、因为没有导入分类,要在phpcms中手动建立同名分类,因为管理是根据分类名称关联的
2、修改conn1和conn2数据库地址、库名、用户、密码
3、将代码存为conv.php,放到phpcms根目录的 temp 文件夹中
4、以管理员身份登录phpcms
5、浏览器中运行localhost/temp/conv.php

需要说明的是:
1、数据库连接要改成自己的
2、代码中有些目录结构,表名要注意,可能你的环境和我的不一样
3、当运行conv.php?action=clean的时候,可以清空phpcms中的文章、评论、关键字等数据
4、function dump可以用更美观的形式打印array数组,用以调试
5、附件手动复制到相应的目录下就可以了,按supesite的结构复制过来attachments/***
6、因为我的phpcms是和ucenter整合的,所以导过来的用户在phpcms中,密码是什么无所谓的,以后的注册和登录验证都是走ucenter那边
7、只导入了supesite中已发表的文章,未审核通过和垃圾箱的都没有导入。评论也是只有审核过的

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读483次。dedecms织梦频道模板中调用栏目分类并排序:{dede:channelartlist}栏目排序:{dede:global runphp='yes' name=itemindex}@me;{/dede:global}<a href=”{dede:field name='typeurl' /}”>点击进入{dede:field name='typename' /}列表>></a>{/dede:channelartlist}织梦channel标签.._织梦 调取排序
文章浏览阅读284次。我们在用织梦建站的过程中,难免会遇到各种问题,有时候由于主机或者服务器无法支持某些函数或者不够稳定等,需要更换空间或服务器。这个时候我们如何完整地把织梦网站数据转移到新的空间或者服务器上,这是织梦站长必须掌握的技能之一。当然,网站搬家来说,方法是很多的,但是万变不离其宗,说到底就是程序文件和数据文件的备份转移。织梦DedeCMS网站转移主机或者服务器时最常见的转移方式,来说明一下网站搬家的过程。首先是织梦DedeCMS网站程序的数据库备份,方法是进入织梦Dedecms的后台,系统–> 数据库备_dede后台转主机需要修改哪些哪些东西
文章浏览阅读152次。seo专题是seo优化必不可少的一环,对于网站优化的意义重大,因为一些用内容页做不上去的关键词都可以尝试用专题形式来做。相对于一般性的网页来说,专题页面具有内容丰富性、多样性、用户体验好的特征,百度官方也在最近说了专题优化的好处。但是,专题对seo是好的,但是对于做专题的人来说却并不好做,因为他非常的繁琐和耗费功夫。从原理来说,一般性的网页(栏目、内容页)都是通过统一的模板进行映射的网页,这些网页的构成都非常的简单,虽然有些可以利用内容模型和自定义列表进行参数提取,这样让内容非常的丰富,但是这个丰富_织梦专题
文章浏览阅读142次。在Dedecms中,在列表页调用文章摘要的方法主要有:1:[field:info /]2:[field:description /]3:[field:info function="cn_substr(@me,字符数)"/]4:[field:description function="cn_substr(@me,字符数)"/]第1、2种方法是直接调用文章摘要,在调用的字数问题上,当使用[field:info /]时,可以在{dede:arclist infolen=' ' }{/dede:arcli_dede 内容摘要 字数
文章浏览阅读234次。织梦DedeCMS文章内容发布时可以选择“头条”、“推荐”、“特荐”等文档属性,我们可以利用这些条件加一个判断的标签,然后给文章列表加一个推荐的印戳图标,这样大大提高了页面的友好程度。文字推荐方法:[field:flag runphp='yes'] if(stristr(@me,"c")) @me = "[推荐]";else @me = '';[/field:flag][field:flag runphp='yes'] if(stristr(@me,"a")) @me = "[特荐]";else _dede 列表页 调用推荐文章
文章浏览阅读701次。虽然织梦DedeCMS因为安全问题被人所诟病,但瑕不掩瑜,无论从用户群数量还是时间等各方面,织梦DedeCMS都是国内排名前几的CMS建站程序。如果你想学习CMS的二次开发,织梦DedeCMS是必须需要研究的。对织梦DedeCMS的二次开发来说,了解织梦的目录构成、文件、函数则是必备的功课。今天整理一篇关于Dedecms目录介绍的文章,对织梦DedeCMS的目录结构、核心文件、模板文件等做一个简单的介绍。为使版面美观,就借用下php程序的注释,//符合后面为该文件的作用。由于版本的原因,有一_织梦默认模板目录
文章浏览阅读375次。dede是目前cms中使用最广泛的,也是中小网站中seo优化最好的(默认模板而言),所以很多的企业都会选择采用dede作为做站的首选,因此学seo了解些织梦seo优化的技巧和方面是有必要的。焦大曾经做过多年的织梦seo优化,以个人经验所知,觉得以下几个方面的seo最为重要:第一,url设置与栏目分开。我们看到目前90%以上的dede建站者的文章url都是类似域名/栏目名/文章ID,或者域名/a/日期/栏目/文章ID,其中第一种在企业站最常见,第二种在新闻资讯网站中常见。个人觉得这么设置会出._dede seo
文章浏览阅读189次。dedecms的arclist循环中,判断如果是第一个li,则添加固定的css,否则不加写法如下: 1 2 3 4 {dede:arclist row=4 flag='p'} <li [field:global name=autoindex runphp="yes"](@me==1)? @me="class=on":@me="";[/field:global]>[field:global.autoindex/]<.._dedecms arclist
文章浏览阅读227次。字段要想在任何位置任何模版中调用,需要特殊设置。自定义字段自定义的织梦如何添加自定义字段的频道模型,这里以图片集频道举例注意:创建字段可以在列表的底层模板中获得”这个必须勾选在字段中添加(价格属性)在基本设置里》列表附加调用)二,调用自定义调用{dede:list pagesize='5' addfields='jiage' channelid='2'}<P>标题:[field:title/]</P><P>价格:[field:jiage/]&_织梦列表调用自定义字段
本教程操作系统:Windows10系统、DedeCMS 5.7.109版本、Dell G3电脑。 织梦CMS是一个使用PHP语言开发的网站建设管理系统,因此在安装过程中需要安装数据库以存储网站内容和数据。
在Dedecms织梦列表页中是肯定要使用pagelist标签的,但是有的时候也会因为一些css格式的问题会出现排列顺序的问题,所以也要知道怎么样修改pagelist标签?
今天分享织梦网站怎么搬家,个人感觉织梦的搬家比其他的程序的都简单。1、网站备份登录织梦后台,【系统】-【数据库备份/还原】-【提交】,织梦程序开始自动备份数据库,等待即可。
织梦(dede)程序不安全是公认的,同样是建站,使用织梦程序被黑的风险更大,所以,一些安全设置是非常有必要的。织梦网站安全设置的4个主要操作
使用xemu、爱站工具包、尖叫青蛙等制作网站地图,每次生成sitemap还需要再上传到服务器,还是比较麻烦的,不过有些网站程序可以通过插件完成网站地图的自动更新,比如wordpress。但是织梦一直都不行,今天就用插件+代
分享织梦自动生成网站sitemap,但是需要安装插件,今天分享,织梦如何不使用插件,制作网站xml地图。
织梦自定义表单没有全选/取消全选功能,有时候想要全选全,需要一个一个选择比较麻烦,如果网站有大量的恶意留言,想要删除更麻烦。虽然可以使用sql命令删除恶意留言,但不是很灵活,今天就给织梦自定义表单添加全选
前几天百度公开课说了,api推送的优先级比较高,所以在没有快速收录的情况下,api提交必须要有,那么织梦要如何实现api主动推送呢?
dede定时主动推送,虽然也很方便,但只能固定时间推送,实时性不高,今天小编分享如何发布文章后实时api推送至百度?
dede当前位置标签代码方法一:{dede:fieldname='position'/}dede当前位置标签代码方法二:{dede:fieldname='position'runphp='yes'}$a=mb_strlen(@me);//计算字符串的长度@me=cn_substr(@me,$a-2,-1);//截取字符{/dede:field}(这是去掉“去掉>”得得方法)dede当前位置
织梦DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法在用织梦做一些项目时,时常会碰到需要在当前页面调用顶级栏目名称的时候,织梦默认{dede:fieldname='typename'/}可以获取当前栏目页上一级栏目的名称,而不是当前栏目顶级栏目名称。下面拓展出一个方法来实现这个效果: 方