火车采集器软件交流官方论坛

 找回密码
 加入会员
搜索
火车采集器V9版免费下载火车浏览器 - 可视采集,万能群发,全自动脚本工具
查看: 2140|回复: 0

(求助)请大家帮助,解决问题,感谢!

[复制链接]
发表于 2008-11-21 09:21:55 | 显示全部楼层 |阅读模式
第一个问题是
采集论坛后发布到网上,虽然的帖子标题和内容及回复都可以了,但发布到网上的每一个回复都再此显示一次
帖子的标题,然后才是回复的内容,请问该如何解决呢?



我用的发布文件代码是:
<?php
//error_reporting(E_ALL);
/*
火车采集器WEB发布接口文件 For Discuz6.0
请将该文件直接上传至论坛根目录
Modified On Post.php
Time:2007-09-29 02:26
Author:locoy
为防止别人恶意使用该文件,建议改名后使用,改名后同时更改模块内相应文件名位置
*/
$replyusers = "jackie|admin|春雨|先锋攀|毕村内富|小池|周文峰|小小女t|颠三倒四|情人日记";
define('CURSCRIPT', 'post');
define('NOROBOT', TRUE);
require_once './include/common.inc.php';
require_once DISCUZ_ROOT.'./include/post.func.php';
$_DTYPE = $checkoption = $optionlist = array();
if($typeid) {
threadtype_checkoption();
}
require_once DISCUZ_ROOT.'./include/discuzcode.func.php';

$navigation = $navtitle = $thread = '';
/*
if($action == 'edit' || $action == 'reply') {
$query = $db->query("SELECT * FROM {$tablepre}threads WHERE tid='$tid'".($auditstatuson ? '' : " AND displayorder>='0'"));
if($thread = $db->fetch_array($query)) {
  $navigation = "&raquo; <a href=\"viewthread.php?tid=$tid\">$thread[subject]</a>";
  $navtitle = $thread['subject'].' - ';
  if($thread['readperm'] && $thread['readperm'] > $readaccess && !$forum['ismoderator'] && $thread['authorid'] != $discuz_uid) {
   showmessage('thread_nopermission', NULL, 'NOPERM');
  }
  $fid = $thread['fid'];
  $special = $thread['special'];
} else {
  showmessage('thread_nonexistence');
}
}
*/
$navigation = "&raquo; <a href=\"forumdisplay.php?fid=$fid".($extra ? '&'.preg_replace("/^(&)*/", '', $extra) : '')."\">$forum[name]</a> $navigation";
$navtitle = $navtitle.strip_tags($forum['name']).' - ';
if($forum['type'] == 'sub') {
$query = $db->query("SELECT name, fid FROM {$tablepre}forums WHERE fid='$forum[fup]'");
$fup = $db->fetch_array($query);
$navigation = "&raquo; <a href=\"forumdisplay.php?fid=$fup[fid]\">$fup[name]</a> $navigation";
$navtitle = $navtitle.strip_tags($fup['name']).' - ';
}
$special = empty($special) || !is_numeric($special) || $special < 0 || $special > 6 ? 0 : intval($special);
$allowpostattach = !empty($forum['allowpostattach']) || (!$forum['postattachperm'] && $allowpostattach) || ($forum['postattachperm'] && forumperm($forum['postattachperm']));
$attachextensions = $forum['attachextensions'] ? $forum['attachextensions'] : $attachextensions;
$enctype = $allowpostattach ? 'enctype="multipart/form-data"' : '';
$maxattachsize_kb = $maxattachsize / 1000;
$postcredits = $forum['postcredits'] ? $forum['postcredits'] : $creditspolicy['post'];
$replycredits = $forum['replycredits'] ? $forum['replycredits'] : $creditspolicy['reply'];
$digestcredits = $forum['digestcredits'] ? $forum['digestcredits'] : $creditspolicy['digest'];
$postattachcredits = $forum['postattachcredits'] ? $forum['postattachcredits'] : $creditspolicy['postattach'];
$maxprice = isset($extcredits[$creditstrans]) ? $maxprice : 0;
$extra = rawurlencode($extra);
$blogcheck = empty($isblog) && empty($addtoblog) ? '' : 'checked="checked"';
$notifycheck = empty($emailnotify) ? '' : 'checked="checked"';
$stickcheck = empty($sticktopic) ? '' : 'checked="checked"';
$digestcheck = empty($addtodigest) ? '' : 'checked="checked"';
$subject = isset($subject) ? dhtmlspecialchars(censor(trim($subject))) : '';
$message = isset($message) ? censor(trim($message)) : '';
$readperm = isset($readperm) ? intval($readperm) : 0;
$price = isset($price) ? intval($price) : 0;
$urloffcheck = $usesigcheck = $smileyoffcheck = $codeoffcheck = $htmloncheck = $emailcheck = '';
$seccodecheck = ($seccodestatus & 4) && (!$seccodedata['minposts'] || $posts < $seccodedata['minposts']);
$secqaacheck = $secqaa['status'][2] && (!$secqaa['minposts'] || $posts < $secqaa['minposts']);
if($iscircle = $supe['status'] && $supe['circlestatus'] && $forum['status'] == 2) {
unset($forum['threadtypes']);
}
$allowpostpoll = $allowpost && $allowpostpoll && ($forum['allowpostspecial'] & 1);
$allowposttrade = $allowpost && $allowposttrade && ($forum['allowpostspecial'] & 2);
$allowpostreward = $allowpost && $allowpostreward && ($forum['allowpostspecial'] & 4) && isset($extcredits[$creditstrans]);
$allowpostactivity = $allowpost && $allowpostactivity && ($forum['allowpostspecial'] & 8);
$allowpostdebate = $allowpost && $allowpostdebate && ($forum['allowpostspecial'] & 16);
$allowpostvideo = $allowpost && $allowpostvideo && ($forum['allowpostspecial'] & 32) && $videoopen;
$allowanonymous = $forum['allowanonymous'] || $allowanonymous ? 1 : 0;
$editorid = 'posteditor';
$editoroptions = str_pad(decbin($editoroptions), 2, 0, STR_PAD_LEFT);
$editormode = $editormode == 2 ? $editoroptions{0} : $editormode;
$allowswitcheditor = $editoroptions{1};
$advanceeditor = $special ? 0 : 1;
$previewdisplay = !empty($previewpost) ? '' : 'none';

if($action == 'newthread') {


//复制newthread.inc.php

$discuz_action = 11;
if(empty($forum['fid']) || $forum['type'] == 'group') {
exit('未选择版块或版块不能发帖');
}
$isblog = empty($isblog) ? '' : 'yes';
/*
if(!submitcheck('topicsubmit', 0, $seccodecheck, $secqaacheck)) {
$special = !$allowspecialonly ? intval($special) : 'only';
$modelid = $modelid ? intval($modelid) : '';
$typeselect = typeselect($selecttypeid, $special, '', $modelid);
$icons = '';
if(!$special && is_array($_DCACHE['icons'])) {
  $key = 1;
  foreach($_DCACHE['icons'] as $id => $icon) {
   $icons .= ' <input class="radio" type="radio" name="iconid" value="'.$id.'" /><img src="images/icons/'.$icon.'" alt="" />';
   $icons .= !(++$key % 10) ? '<br />' : '';
  }
}
if($special == 2 && $allowposttrade) {
  $expiration_7days = date('Y-m-d', $timestamp + 86400 * 7);
  $expiration_14days = date('Y-m-d', $timestamp + 86400 * 14);
  $trade['expiration'] = $expiration_month = date('Y-m-d', mktime(0, 0, 0, date('m')+1, date('d'), date('Y')));
  $expiration_3months = date('Y-m-d', mktime(0, 0, 0, date('m')+3, date('d'), date('Y')));
  $expiration_halfyear = date('Y-m-d', mktime(0, 0, 0, date('m')+6, date('d'), date('Y')));
  $expiration_year = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d'), date('Y')+1));
  $tradetypeselect = '';
  $forum['tradetypes'] = $forum['tradetypes'] == '' ? -1 : unserialize($forum['tradetypes']);
  if($tradetypes && !empty($forum['tradetypes'])) {
   $tradetypeselect = '<select name="tradetypeid" ><option value="0"> </option>';
   foreach($tradetypes as $typeid => $name) {
    if($forum['tradetypes'] == -1 || @in_array($typeid, $forum['tradetypes'])) {
     $tradetypeselect .= '<option value="'.$typeid.'">'.strip_tags($name).'</option>';
    }
   }
   $tradetypeselect .= '</select><span id="threadtypeswait"></span>';
  }
} elseif($special == 6 && $allowpostvideo) {
  $query = $db->query("SELECT value FROM {$tablepre}settings WHERE variable='videoinfo'");
  $settings = unserialize($db->result($query, 0));
  $vclassesselect = "<style type=\"text/css\">#vclassesdiv {list-style: none;}\r\n";
  $vclassesselect .= "#vclassesdiv li{width: 80px; float: left;}\r\n";
  $vclassesselect .= '</style><ul id="vclassesdiv">';
  foreach($settings['vclasses'] as $key => $vclass) {
   if(in_array($key, $settings['vclassesable'])) {
    $vclassesselect .= '<li><input type="radio" class="radio" name="vclass" value="'.$key.'" '.$checked.'> '.$vclass.'</li>';
   }
  }
  $vclassesselect .= '</ul>';
}
if($special == 2) {
  include template('post_newthread_trade');
} elseif($special == 4) {
  $activitytypelist = $activitytype ? explode("\n", trim($activitytype)) : '';
  include template('post_newthread_activity');
} else {
  include template('post_newthread');
}
} else {
*/
if($subject == '' || $message == '') {
  exit('标题或内容为空');
}
if($post_invalid = checkpost()) {
  exit('标题或内容超过发帖限制');
}
if($allowpostattach && is_array($_FILES['attach'])) {
  foreach($_FILES['attach']['name'] as $attachname) {
   if($attachname != '') {
    checklowerlimit($postattachcredits);
    break;
   }
  }
}
$typeid = isset($typeid) && isset($forum['threadtypes']['types'][$typeid]) ? $typeid : 0;
$iconid = !empty($iconid) && isset($_DCACHE['icons'][$iconid]) ? $iconid : 0;
$displayorder = $modnewthreads ? -2 : (($forum['ismoderator'] && !empty($sticktopic)) ? 1 : 0);
$digest = ($forum['ismoderator'] && !empty($addtodigest)) ? 1 : 0;
$blog = $allowuseblog && $forum['allowshare'] && !empty($addtoblog) ? 1 : 0;
$readperm = $allowsetreadperm ? $readperm : 0;
$isanonymous = $isanonymous && $allowanonymous ? 1 : 0;
$price = intval($price);
$price = $maxprice && !$special ? ($price <= $maxprice ? $price : $maxprice) : 0;
if(!$typeid && $forum['threadtypes']['required'] && !$special) {
  exit('未填写主题分类');
}
$discuz_user=$_POST['username'];
$query =$db->query("SELECT uid,password,secques  FROM {$tablepre}members m WHERE m.username='$discuz_user'");
if ($rs=$db->fetch_row($query)){
list($discuz_uid,$discuz_pw, $discuz_secques ) =$rs;
}
else
{
exit('不存在的用户名'.$discuz_user);
}
$messages = explode("|||",$message);
$mc = count($messages);
$replycount = $mc -1;
$author = !$isanonymous ? $discuz_user : '';
$moderated = $digest || $displayorder > 0 ? 1 : 0;
$attachment = ($allowpostattach && $attachments = attach_upload()) ? 1 : 0;
$subscribed = !empty($emailnotify) && $discuz_uid ? 1 : 0;
$supe_pushstatus = $supe['status'] && $forum['supe_pushsetting']['status'] == 1 && !$modnewthreads ? '1' : '0';
$sgidadd1 = $sgidadd2 = '';
if($iscircle) {
  $sgidadd1 = ', sgid';
  $sgidadd2 = ", '$sgid'";
}
$db->query("INSERT INTO {$tablepre}threads (fid, readperm, price, iconid, typeid, author, authorid, subject, dateline, lastpost, lastposter, displayorder, digest, blog, special, attachment, subscribed, moderated, supe_pushstatus $sgidadd1)
  VALUES ('$fid', '$readperm', '$price', '$iconid', '$typeid', '$author', '$discuz_uid', '$subject', '$timestamp', '$timestamp', '$author', '$displayorder', '$digest', '$blog', '$special', '$attachment', '$subscribed', '$moderated', '$supe_pushstatus' $sgidadd2)");
$tid = $db->insert_id();
if($subscribed) {
  $db->query("REPLACE INTO {$tablepre}subscriptions (uid, tid, lastpost, lastnotify)
   VALUES ('$discuz_uid', '$tid', '$timestamp', '$timestamp')", 'UNBUFFERED');
}

$db->query("REPLACE INTO {$tablepre}mythreads (uid, tid, dateline, special) VALUES ('$discuz_uid', '$tid', '$timestamp', '$special')", 'UNBUFFERED');
if($moderated) {
  updatemodlog($tid, ($displayorder > 0 ? 'STK' : 'DIG'));
  updatemodworks(($displayorder > 0 ? 'STK' : 'DIG'), 1);
}
if($forum['threadtypes']['special'][$typeid] && $optiondata && is_array($optiondata)) {
  foreach($optiondata as $optionid => $value) {
   $db->query("INSERT INTO {$tablepre}typeoptionvars (typeid, tid, optionid, value, expiration)
    VALUES ('$typeid', '$tid', '$optionid', '$value', '".($typeexpiration ? $timestamp + $typeexpiration : 0)."')");
  }
}
$bbcodeoff = checkbbcodes($message, !empty($bbcodeoff));
$smileyoff = checksmilies($message, !empty($smileyoff));
$parseurloff = !empty($parseurloff);
$htmlon = bindec(($tagstatus && !empty($tagoff) ? 1 : 0).($allowhtml && !empty($htmlon) ? 1 : 0));
$pinvisible = $modnewthreads ? -2 : 0;
$db->query("INSERT INTO {$tablepre}posts (fid, tid, first, author, authorid, subject, dateline, message, useip, invisible, anonymous, usesig, htmlon, bbcodeoff, smileyoff, parseurloff, attachment)
  VALUES ('$fid', '$tid', '1', '$discuz_user', '$discuz_uid', '$subject', '$timestamp', '".$messages[0]."', '$onlineip', '$pinvisible', '$isanonymous', '$usesig', '$htmlon', '$bbcodeoff', '$smileyoff', '$parseurloff', '$attachment')");
$pid = $db->insert_id();
if($tagstatus && $tags != '') {
  $tags = str_replace(array(chr(0xa1).chr(0xa1), chr(0xa1).chr(0x40), chr(0xe3).chr(0x80).chr(0x80)), ' ', $tags);
  $tagarray = array_unique(explode(' ', censor($tags)));
  $tagcount = 0;
  foreach($tagarray as $tagname) {
   $tagname = trim($tagname);
   if(preg_match('/^([\x7f-\xff_-]|\w){3,20}$/', $tagname)) {
    $query = $db->query("SELECT closed FROM {$tablepre}tags WHERE tagname='$tagname'");
    if($db->num_rows($query)) {
     if(!$tagstatus = $db->result($query, 0)) {
      $db->query("UPDATE {$tablepre}tags SET total=total+1 WHERE tagname='$tagname'", 'UNBUFFERED');
     }
    } else {
     $db->query("INSERT INTO {$tablepre}tags (tagname, closed, total)
      VALUES ('$tagname', 0, 1)", 'UNBUFFERED');
     $tagstatus = 0;
    }
    if(!$tagstatus) {
     $db->query("INSERT {$tablepre}threadtags (tagname, tid) VALUES ('$tagname', $tid)", 'UNBUFFERED');
    }
    $tagcount++;
    if($tagcount > 4) {
     unset($tagarray);
     break;
    }
   }
  }
}
$tradeaid = 0;
if($attachment) {
  $searcharray = $pregarray = $replacearray = array();
  foreach($attachments as $key => $attach) {
   $db->query("INSERT INTO {$tablepre}attachments (tid, pid, dateline, readperm, price, filename, description, filetype, filesize, attachment, downloads, isimage, uid, thumb, remote)
    VALUES ('$tid', '$pid', '$timestamp', '$attach[perm]', '$attach[price]', '$attach[name]', '$attach[description]', '$attach[type]', '$attach[size]', '$attach[attachment]', '0', '$attach[isimage]', '$attach[uid]', '$attach[thumb]', '$attach[remote]')");
   $searcharray[] = '[local]'.$localid[$key].'[/local]';
   $pregarray[] = '/\[localimg=(\d{1,3}),(\d{1,3})\]'.$localid[$key].'\[\/localimg\]/is';
   $replacearray[] = '[attach]'.$db->insert_id().'[/attach]';
  }
  $message = str_replace($searcharray, $replacearray, preg_replace($pregarray, $replacearray, $message));
  $db->query("UPDATE {$tablepre}posts SET message='$message' WHERE pid='$pid'");
  updatecredits($discuz_uid, $postattachcredits, count($attachments));
}
if($iscircle && $sgid) {
  supe_dbconnect();
  $query = $supe['db']->query("UPDATE {$supe[tablepre]}groups SET lastpost='$timestamp' WHERE gid='$sgid'", 'SILENT');
}
if($modnewthreads) {
  $db->query("UPDATE {$tablepre}forums SET todayposts=todayposts+1 WHERE fid='$fid'", 'UNBUFFERED');
} else {
  if($digest) {
   foreach($digestcredits as $id => $addcredits) {
    $postcredits[$id] = (isset($postcredits[$id]) ? $postcredits[$id] : 0) + $addcredits;
   }
  }
  updatepostcredits('+', $discuz_uid, $postcredits);
  $subject = str_replace("\t", ' ', $subject);
  $lastpost = "$tid\t$subject\t$timestamp\t$author";
  $db->query("UPDATE {$tablepre}forums SET lastpost='$lastpost', threads=threads+1, posts=posts+1, todayposts=todayposts+1 WHERE fid='$fid'", 'UNBUFFERED');
  if($forum['type'] == 'sub') {
   $db->query("UPDATE {$tablepre}forums SET lastpost='$lastpost' WHERE fid='$forum[fup]'", 'UNBUFFERED');
  }
}
echo("成功|".$tid);
}
if($replycount)
{
//开始发布回复

$discuz_action = 12;
require_once DISCUZ_ROOT.'./include/forum.func.php';
print_r($replyuser);
$replyusers = explode("|",$replyusers);
$reusercount = count($replyusers);
for($re=1;$re<=$replycount;$re++)
{
  $index = $re-1/$reusercount;
  $discuz_user = $replyusers[$index];
  
  $query =$db->query("SELECT uid,password,secques  FROM {$tablepre}members m WHERE m.username='$discuz_user'");
if ($rs=$db->fetch_row($query)){
list($discuz_uid,$discuz_pw, $discuz_secques ) =$rs;
}
else
{
echo('不存在的用户名'.$discuz_user);
continue;
}
  
$attachnum = 0;
if($allowpostattach && !empty($_FILES['attach']) && is_array($_FILES['attach'])) {
  foreach($_FILES['attach']['name'] as $attachname) {
   if($attachname != '') {
    $attachnum ++;
   }
  }
  $attachnum && checklowerlimit($postattachcredits, $attachnum);
} else {
  $_FILES = array();
}
$attachments = $attachnum ? attach_upload() : array();
$attachment = empty($attachments) ? 0 : 1;
$subscribed = $thread['subscribed'] && $timestamp - $thread['lastpost'] < 7776000;
$newsubscribed = !empty($emailnotify) && $discuz_uid;
if($subscribed && !$modnewreplies) {
  $db->query("UPDATE {$tablepre}subscriptions SET lastpost='$timestamp' WHERE tid='$tid' AND uid<>'$discuz_uid'", 'UNBUFFERED');
}
if($newsubscribed) {
  $db->query("REPLACE INTO {$tablepre}subscriptions (uid, tid, lastpost, lastnotify)
   VALUES ('$discuz_uid', '$tid', '".($modnewreplies ? $thread['lastpost'] : $timestamp)."', '$timestamp')", 'UNBUFFERED');
}
$bbcodeoff = checkbbcodes($message, !empty($bbcodeoff));
$smileyoff = checksmilies($message, !empty($smileyoff));
$parseurloff = !empty($parseurloff);
$htmlon = $allowhtml && !empty($htmlon) ? 1 : 0;
$usesig = !empty($usesig) ? 1 : 0;
$isanonymous = $allowanonymous && !empty($isanonymous)? 1 : 0;
$author = empty($isanonymous) ? $discuz_user : '';
$pinvisible = $modnewreplies ? -2 : 0;
$db->query("INSERT INTO {$tablepre}posts (fid, tid, first, author, authorid, subject, dateline, message, useip, invisible, anonymous, usesig, htmlon, bbcodeoff, smileyoff, parseurloff, attachment)
   VALUES ('$fid', '$tid', '0', '$discuz_user', '$discuz_uid', '$subject', '$timestamp', '".$messages[$re]."', '$onlineip', '$pinvisible', '$isanonymous', '$usesig', '$htmlon', '$bbcodeoff', '$smileyoff', '$parseurloff', '$attachment')");
$pid = $db->insert_id();
$db->query("REPLACE INTO {$tablepre}myposts (uid, tid, pid, position, dateline, special) VALUES ('$discuz_uid', '$tid', '$pid', '".($thread['replies'] + 1)."', '$timestamp', '$special')", 'UNBUFFERED');

$tradeaid = 0;
if($attachment) {
  $searcharray = $pregarray = $replacearray = array();
  foreach($attachments as $key => $attach) {
   $db->query("INSERT INTO {$tablepre}attachments (tid, pid, dateline, readperm, price, filename, description, filetype, filesize, attachment, downloads, isimage, uid, thumb, remote)
    VALUES ('$tid', '$pid', '$timestamp', '$attach[perm]', '$attach[price]', '$attach[name]', '$attach[description]', '$attach[type]', '$attach[size]', '$attach[attachment]', '0', '$attach[isimage]', '$attach[uid]', '$attach[thumb]', '$attach[remote]')");
   $searcharray[] = '[local]'.$localid[$key].'[/local]';
   $pregarray[] = '/\[localimg=(\d{1,3}),(\d{1,3})\]'.$localid[$key].'\[\/localimg\]/is';
   $insertid = $db->insert_id();
   $replacearray[] = '[attach]'.$insertid.'[/attach]';
  }
  if(!empty($trade) && $thread['special'] == 2 && !empty($_FILES['tradeattach']['tmp_name'][0])) {
   $tradeaid = $insertid;
  }
  $message = str_replace($searcharray, $replacearray, preg_replace($pregarray, $replacearray, $message));
  $db->query("UPDATE {$tablepre}posts SET message='$message' WHERE pid='$pid'");
  updatecredits($discuz_uid, $postattachcredits, count($attachments));
}



if($modnewreplies) {
  $db->query("UPDATE {$tablepre}forums SET todayposts=todayposts+1 WHERE fid='$fid'", 'UNBUFFERED');
  if($newsubscribed) {
   $db->query("UPDATE {$tablepre}threads SET subscribed='1' WHERE tid='$tid'", 'UNBUFFERED');
  }
  
} else {
  $db->query("UPDATE {$tablepre}threads SET lastposter='$author', lastpost='$timestamp', replies=replies+1 ".($attachment ? ', attachment=\'1\'' : '').", subscribed='".($subscribed || $newsubscribed ? 1 : 0)."' WHERE tid='$tid'", 'UNBUFFERED');
  updatepostcredits('+', $discuz_uid, $replycredits);
  $lastpost = "$thread[tid]\t".addslashes($thread['subject'])."\t$timestamp\t$author";
  $db->query("UPDATE {$tablepre}forums SET lastpost='$lastpost', posts=posts+1, todayposts=todayposts+1 WHERE fid='$fid'", 'UNBUFFERED');
  if($forum['type'] == 'sub') {
   $db->query("UPDATE {$tablepre}forums SET lastpost='$lastpost' WHERE fid='$forum[fup]'", 'UNBUFFERED');
  }  
}
echo "成功回复";
}
}
//}
/*elseif($action == 'reply') {
require_once DISCUZ_ROOT.'./include/newreply.inc.php';
} elseif($action == 'edit') {
require_once DISCUZ_ROOT.'./include/editpost.inc.php';
} elseif($action == 'import') {
require_once DISCUZ_ROOT.'./include/supesite_import.inc.php';
} elseif($action == 'newtrade') {
require_once DISCUZ_ROOT.'./include/newtrade.inc.php';
}
*/
?>
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

QQ|手机版|Archiver|火车采集器官方站 ( 皖ICP备06000549 )

GMT+8, 2024-11-18 18:49

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表