返回列表 回复 发帖

小黑采集器发帖插件参数接口标准(可以用来2次开发)

将小黑采集器 与 其他平台结合,使其他平台具有采集发布功能

 

参考以下PHP平台发帖插件参数说明文件

 

 

 

 

<?

 

/*
[Discuz!] (C)2001-2006 Comsenz Inc.
This is NOT a freeware, use is subject to license terms

$RCSfile: logging.php,v $
$Revision: 1.11.2.1 $
$Date: 2006/09/01 06:15:00 $

修改:楚笑云
以下内容只需要修改一个地方找代码 if($Actionpass == 'xuxuxuka') 将其中的 xuxuxuka 改为其他密码,跟程序中发帖密码保持一致!
将此文件修改后上传于论坛根目录,修改文件名,已保证安全
贴探小黑程序中的发帖网址就是你上传后本文件的网址

主要参数公布,以下是小黑程序提交到该插件程序的参数列表
$Actionpass 发帖密码,发帖成功的关键,用于保障论坛安全,set.ini文件第2行
$topic 帖子主题
$nnn 发帖人名字
$hitts 文章点击次数
$bn 是该主题有多少页,这些会变成多楼层的形式发布出来
$uuid 是发帖人ID
$Body 帖子内容,这里注意,参数是大写字母B
$boardid 版块ID
$bbody[$i] 变量,如果采集时是多页内容的,多页数据将被封装到变量里提交,开始参数是1
就这么些了,高手可以参考一下,制作其他论坛系统的发帖插件!甚至可以制作其他asp,php

*/

require_once './include/common.inc.php';
require_once DISCUZ_ROOT.'./include/misc.func.php';
require_once './forumdata/cache/cache_forums.php';

//此功能尚未启用
if($Actionpass == 'clear') {
//此处不用修改 ! clearcookies();
}

if($Actionpass == 'xuxuxuka') {
//修改上面的 xuxuxuxuka 为你自己的发帖密码,发帖密码是一道安全保障,只有这里的发帖密码跟set.ini文件中第二行一致,才可以发布成功,这样不知道密码,别人无法往你论坛发帖

//增加纪录
$ttime=time(now); //取得时间,这是发帖时间

//下面这条语句是增加帖子了,参数有$topic是主题 $ttime是发帖时间 $nnn是发帖人名字 $hitts 是阅读次数 $bn是回帖数
$query = $db->query("insert into cdb_threads(fid,author,authorid,subject,dateline,lastpost,lastposter,views,replies) values ('$boardid','$nnn',$uuid,'$topic','$ttime','$ttime','$nnn',$hitts,$bn-1)");
$query = $db->query("select tid from cdb_threads where dateline=$ttime");

//取帖子编号,为了增加帖子的内容
while($styleinfo = $db->fetch_array($query)) {
$tbh = "$styleinfo[tid]";//取得帖子编号
}
//参数说明 $uuid 是发帖人ID $Body 是具体的帖子内容
$db->query("insert into cdb_posts(fid,tid,first,author,authorid,subject,dateline,message,useip,htmlon) values ('$boardid','$tbh',1,'$nnn',$uuid,'$topic','$ttime','$Body','127.0.0.1',1)");

//发布分页回帖,$bn 是回帖个数,也就是分楼层发帖的个数,采集时的第2页第3页扽
for ($i=1;$i<$bn;$i++)
{
//参数说明$boardid 版块ID,$bbody[$i]变量,是采集的多页内容,这用循环,发布多楼层帖子
$db->query("insert into cdb_posts(fid,tid,first,author,authorid,subject,dateline,message,useip,htmlon) values ('$boardid','$tbh',0,'$nnn',$uuid,' ','$ttime','$bbody[$i]','127.0.0.1',1)");
}

//更新版块和用户发帖数积分金钱等,详细参数见DZ论坛积分设置
$db->query("update cdb_members set posts=posts+$bn,extcredits1=extcredits1+3,extcredits3=extcredits3+8,extcredits4=extcredits4+3 where uid=$uuid");

//更新版块,发帖数,主题数都增加,以及最后回复
$db->query("update cdb_forums set threads=threads+1,posts=posts+$bn,todayposts=todayposts+$bn,lastpost='$tbh $topic $ttime $nnn' where fid=$boardid");

}

//此处是用来列版块列表的,用户小黑程序中选择发帖版块,其他论坛请参照设计
if($Actionpass == 'listboard') {
//列出板块列表
$forums = $subforums = array();
$categories = array(0 => array('fid' => 0, 'name' => $_DCACHE['settings']['bbname']));

foreach($_DCACHE['forums'] as $forum) {
// if(forumperm($forum['viewperm'])) {
if($forum['type'] == 'group') {
$categories[] = $forum;
} else {
$forum['type'] == 'sub' ? $subforums[$forum['fup']][] = $forum : $forums[$forum['fup']][] = $forum;
}
// }
}

// echo "--";
$category = $db->query("SELECT * FROM cdb_forums");

foreach($categories as $category) {
if(isset($forums[$category['fid']])) {
//echo "$category[name]\n";
foreach($forums[$category[fid]] as $forum) {
print "$forum[name]\n";
print " $forum[fid]\n";
if(isset($subforums[$forum['fid']])) {
//echo "--";
foreach($subforums[$forum['fid']] as $subforum) {
print "----$subforum[name]\n";
print " $subforum[fid]\n";
}
//echo "\n";
}
}
//echo "\n";
}
}

}

?>

 

 

有问题请跟帖~

 

 

 

返回列表