|
  
- 帖子
- 76
- 威望
- 0
- 阅读权限
- 200
|
1#
发表于 2008-9-18 17:47
| 只看该作者
小黑采集器发帖插件参数接口标准(可以用来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"; } }
}
?>
有问题请跟帖~
|
|