close;
dexit();
} /*elseif($action == 'smilies' && $smileyinsert) {
$page = max(1, intval($page));
$spp = $smcols * $smrows;
$multipage = multi(count($_DCACHE['smilies_display']), $spp, $page, '###', 0, 4, 1, 'getSmilies');
$_DCACHE['smilies_display'] = arrayslice($_DCACHE['smilies_display'], $spp * ($page - 1), $spp);
include ajaxtemplate('post_smilies');
exit;
} elseif($forum['simple'] || $forum['redirect']) {
showmessage('forum_disablepost');
}*/
require_once DISCUZ_ROOT.'./include/discuzcode.func.php';
$editorid = 'posteditor';
$editoroptions = str_pad(decbin($editoroptions), 2, 0, STR_PAD_LEFT);
$editormode = $editormode == 2 ? $editoroptions{0} : $editormode;
$allowswitcheditor = $editoroptions{1};
$previewdisplay = !empty($previewpost) ? '' : 'none';
periodscheck('postbanperiods');
$allowpostattach = !empty($forum['allowpostattach']) || (!$forum['postattachperm'] && $allowpostattach) || ($forum['postattachperm'] && forumperm($forum['postattachperm']));
$attachextensions = $forum['attachextensions'] ? $forum['attachextensions'] : $attachextensions;
$allowanonymous = $forum['allowanonymous'] || $allowanonymous ? 1 : 0;
$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;
if(!empty($tid) && !empty($fid)) {
$query = $db->query("SELECT * FROM {$tablepre}threads WHERE tid='$tid'".($auditstatuson ? '' : " AND displayorder>='0'"));
$thread = $db->fetch_array($query);
$fid = $thread['fid'];
$navigation = "» $thread[subject]";
$navtitle = $thread['subject'].' - ';
/*
if($thread['readperm'] && $thread['readperm'] > $readaccess && !$forum['ismoderator'] && $thread['authorid'] != $discuz_uid) {
showmessage('thread_nopermission', NULL, 'NOPERM');
}
*/
}
$navigation = "» $forum[name] $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 = "» $fup[name] $navigation";
$navtitle = $navtitle.strip_tags($fup['name']).' - ';
}
if(empty($forum['allowview'])) {
if(!$forum['viewperm'] && !$readaccess) {
showmessage('group_nopermission', NULL, 'NOPERM');
} elseif($forum['viewperm'] && !forumperm($forum['viewperm'])) {
showmessage('forum_nopermission', NULL, 'NOPERM');
}
}
if(empty($bbcodeoff) && !$allowhidecode && preg_match("/\[hide=?\d*\].+?\[\/hide\]/is", preg_replace("/(\[code\](.+?)\[\/code\])/is", ' ', $message))) {
showmessage('post_hide_nopermission');
}
if(!$adminid && $newbiespan && (!$lastpost || $timestamp - $lastpost < $newbiespan * 3600)) {
$query = $db->query("SELECT regdate FROM {$tablepre}members WHERE uid='$discuz_uid'");
if($timestamp - ($db->result($query, 0)) < $newbiespan * 3600) {
showmessage('post_newbie_span');
}
}
*/
$extra = rawurlencode($extra);
$blogcheck = empty($isblog) && empty($addtoblog) ? '' : 'checked';
$notifycheck = empty($emailnotify) ? '' : 'checked';
$stickcheck = empty($sticktopic) ? '' : 'checked';
$digestcheck = empty($addtodigest) ? '' : 'checked';
/*
if(periodscheck('postmodperiods', 0)) {
$modnewthreads = $modnewreplies = 1;
} else {
$censormod = censormod($subject."\t".$message);
$modnewthreads = (!$allowdirectpost || $allowdirectpost == 1) && ($forum['modnewposts'] || $censormod) ? 1 : 0;
$modnewreplies = (!$allowdirectpost || $allowdirectpost == 2) && ($forum['modnewposts'] == 2 || $censormod) ? 1 : 0;
}*/
/* 格式化标题和正文等
$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 = '';
$enctype = $allowpostattach ? 'enctype="multipart/form-data"' : '';
$maxattachsize_kb = $maxattachsize / 1000;
//get secure code checking status (pos. -3)
$seccodecheck = substr(sprintf('%05b', $seccodestatus), -3, 1);
$secqaacheck = $secqaa['status'][2] && (!$secqaa['minposts'] || $posts < $secqaa['minposts']);
$iscircle = $supe['status'] && $supe['circlestatus'] && $forum['status'] == 2;
/*
if($action == 'newthread' && $forum['allowspecialonly'] && !isset($poll) && !isset($trade) && !isset($reward) && !isset($activity)) {
showmessage('post_allowspecialonly');
}
$allowpostpoll = $allowpost && $allowpostpoll && substr(sprintf('%04b', $forum['allowpostspecial']), -1, 1);
$allowposttrade = $allowpost && $allowposttrade && substr(sprintf('%04b', $forum['allowpostspecial']), -2, 1);
$allowpostreward = $allowpost && $allowpostreward && substr(sprintf('%04b', $forum['allowpostspecial']), -3, 1) && isset($extcredits[$creditstrans]);
$allowpostactivity = $allowpost && $allowpostactivity && substr(sprintf('%04b', $forum['allowpostspecial']), -4, 1);
*/
//if(!empty($previewpost) || (empty($previewpost) && empty($topicsubmit) && empty($replysubmit) && empty($editsubmit))) {
// $typeid = preg_replace("/.*typeid%3D(\d+).*/", "\\1", $extra);
/*
$smileyinsert = $smileyinsert && is_array($_DCACHE['smilies_display']) ? 1 : 0;
$smilies = '';
if($smileyinsert) {
$spp = $smcols * $smrows;
$smpage = max(1, intval($_COOKIE['smpage']));
$smiliesnum = count($_DCACHE['smilies_display']);
$smmultipage = $smiliesnum > $spp ? multi($smiliesnum, $spp, 1, '###', 0, 4, 1, 'getSmilies') : '';
$i = 0;
foreach($_DCACHE['smilies_display'] as $key => $smiley) {
if($i >= $spp) {
break;
}
$smilies .= !($i % $smcols) && $i ? '' : '';
$smilies .= !($i % $smcols) ? '
' : '';
$smilies .= ' | '."\n";
$i++;
}
$smilies .= '
';
}
if($discuz_uid && $sigstatus && !$usesigcheck) {
$usesigcheck = 'checked';
}
if(!empty($trade)) {
if(isset($seller)) {
$seller = dhtmlspecialchars(stripslashes($seller));
} else {
$query = $db->query("SELECT alipay FROM {$tablepre}memberfields WHERE uid='$discuz_uid'");
$alipay = $db->result($query, 0);
$seller = $alipay ? $alipay : $email;
}
$item_price = isset($item_price) ? (float)$item_price : '';
$item_name = isset($item_name) ? dhtmlspecialchars(stripslashes($item_name)) : '';
$item_quality = isset($item_quality) ? dhtmlspecialchars(stripslashes($item_quality)) : '';
$item_locus = isset($item_locus) ? dhtmlspecialchars(stripslashes($item_locus)) : '';
$postage_mail = isset($postage_mail) ? dhtmlspecialchars(stripslashes($postage_mail)) : '';
$postage_express = isset($postage_express) ? dhtmlspecialchars(stripslashes($postage_express)) : '';
$checktp = array((isset($transport) ? $transport : 'seller') => 'checked');
$postagedisabled = isset($transport) && $transport == 'buyer' ? '' : 'disabled';
}
$currtime = gmdate("$dateformat $timeformat", $timestamp + $timeoffset * 3600);
if(empty($previewpost)) {
$subject = $message = $polloptions = '';
} else {
$subject = stripslashes($subject);
$message = stripslashes($message);
if($editormode == 1 && !(isopera() && isopera() < 9)) {
$message_preview = $message = discuzcode($message, !empty($smileyoff), !empty($bbcodeoff), !empty($htmlon), $forum['allowsmilies'], $forum['allowbbcode'], $forum['allowimgcode'], $forum['allowhtml'], 0, 1);
} else {
$message_preview = discuzcode($message, !empty($smileyoff), !empty($bbcodeoff), !empty($htmlon), $forum['allowsmilies'], $forum['allowbbcode'], $forum['allowimgcode'], $forum['allowhtml'], 0, 1);
$message = dhtmlspecialchars($message);
}
$urloffcheck = !empty($parseurloff) ? 'checked' : '';
$usesigcheck = !empty($usesig) ? 'checked' : '';
$smileyoffcheck = !empty($smileyoff) ? 'checked' : '';
$codeoffcheck = !empty($bbcodeoff) ? 'checked' : '';
$htmloncheck = !empty($htmlon) ? 'checked' : '';
$emailcheck = !empty($emailnotify) ? 'checked' : '';
$topicsubmit = $replysubmit = $editsubmit = '';
}
} else { */
/*
if((!empty($topicsubmit) || !empty($replysubmit)) && (($seccodecheck && !isset($seccodeverify)) || ($secqaacheck && !isset($secanswer)))) {
if($seccodecheck) {
$seccode = random(6, 1) + $seccode{0} * 1000000;
}
if($secqaacheck) {
$seccode = random(1, 1) * 1000000 + substr($seccode, -6);
}
$request = array
(
'method' => $_SERVER['REQUEST_METHOD'],
'action' => $PHP_SELF,
'elements' => ''
);
$quesand = '?';
foreach($_GET as $key => $value) {
$request['action'] .= $quesand.rawurlencode($key).'='.rawurlencode($value);
$quesand = '&';
}
foreach($_POST as $key => $value) {
if(is_array($value)) {
foreach($value as $arraykey => $arrayvalue) {
$request['elements'] .= '';
}
} else {
$request['elements'] .= '';
}
}
include template('post_seccode');
dexit();
}
*/
//}
/*
if($forum['password'] && $forum['password'] != $_DCOOKIE['fidpw'.$fid]) {
dheader("Location: {$boardurl}forumdisplay.php?fid=$fid&sid=$sid");
}
*/
//取用户名
$discuz_user=$_POST['auth'];
$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('[err]无此用户[/err]');
$db->close;
dexit();
}
if ($discuz_pw<>md5($_POST['password'])){
echo('[err]密码不匹配[/err]');
$db->close;
dexit();
}
//以下为newthread.inc.php内容
if(!defined('IN_DISCUZ')) {
//exit('Access Denied');
echo('[err]discuz系统错误:Access Denied[/err]');
$db->close;
dexit();
}
$discuz_action = 11;
if(empty($forum['fid']) || $forum['type'] == 'group') {
echo('[err]未选择版块或版块不能发帖[/err]');
$db->close;
dexit();
//showmessage('forum_nonexistence');
}
/*朋友圈
$sgid = intval($sgid);
if($iscircle) {
$mycircles = array();
if($discuz_uid) {
supe_dbconnect();
$query = $supe['db']->query("SELECT gid, groupname FROM {$supe[tablepre]}groupuid WHERE uid='$discuz_uid' AND flag=1");
while($mycircle = $supe['db']->fetch_array($query)) {
$mycircles[$mycircle['gid']] = cutstr($mycircle['groupname'], 30);
}
}
if($sgid) {
supe_dbconnect();
$query = $supe['db']->query("SELECT g.groupname, gf.headerimage, gf.css FROM {$supe[tablepre]}groups g, {$supe[tablepre]}groupfields gf WHERE g.gid='$sgid' AND g.flag=1 AND g.gid=gf.gid");
$circle = $supe['db']->fetch_array($query);
if(!$discuz_uid || !$supe['db']->result($supe['db']->query("SELECT COUNT(*) FROM {$supe[tablepre]}groupuid WHERE uid='$discuz_uid' AND gid='$sgid' AND flag=1"), 0)) {
showmessage('circle_nopermission');
}
}
}
if(!$discuz_uid && !((!$forum['postperm'] && $allowpost) || ($forum['postperm'] && forumperm($forum['postperm'])))) {
showmessage('group_nopermission', NULL, 'NOPERM');
} elseif(empty($forum['allowpost'])) {
if(!$forum['postperm'] && !$allowpost) {
showmessage('group_nopermission', NULL, 'NOPERM');
} elseif($forum['postperm'] && !forumperm($forum['postperm'])) {
showmessage('post_forum_newthread_nopermission', NULL, 'HALTED');
}
}
*/
$isblog = empty($isblog) ? '' : 'yes';
if($isblog && (!$allowuseblog || !$forum['allowshare'])) {
echo('[err]不能关联个人空间[/err]');
$db->close;
dexit();
//showmessage('post_newthread_blog_invalid', NULL, 'HALT');
}
checklowerlimit($postcredits);
if(isset($poll)) {
$special = 1;
} elseif(isset($trade)) {
$special = 2;
} elseif(isset($reward)) {
$special = 3;
} elseif(isset($activity)) {
$special = 4;
} else {
$special = 0;
}
/* 检查来路
if(!submitcheck('topicsubmit', 0, $seccodecheck, $secqaacheck)) {
$typeselect = typeselect($typeid);
$icons = '';
if(is_array($_DCACHE['icons'])) {
$key = 1;
foreach($_DCACHE['icons'] as $id => $icon) {
$icons .= ' ';
$icons .= !(++$key % 10) ? '
' : '';
}
}
if($special == 2 && $allowposttrade) {
$expiration_7 = date('Y-m-d', $timestamp + 86400 * 7);
$expiration_14 = date('Y-m-d', $timestamp + 86400 * 14);
$expiration_month = date('Y-m-d', mktime(0, 0, 0, date('m')+1, date('d'), date('Y')));
}
include template($iscircle && $sgid ? 'supesite_post_newthread' : 'post_newthread');
} else {
*/
if($subject == '' || $message == '') {
echo('[err]标题或内容为空[/err]');
$db->close;
dexit();
//showmessage('post_sm_isnull');
}
if($post_invalid = checkpost()) {
echo('[err]标题或内容超过发帖限制[/err]');
$db->close;
dexit();
//showmessage($post_invalid);
}
/*灌水
if(checkflood()) {
showmessage('post_flood_ctrl');
}
*/
if($allowpostattach && is_array($_FILES['attach'])) {
foreach($_FILES['attach']['name'] as $attachname) {
if($attachname != '') {
checklowerlimit($postattachcredits);
break;
}
}
}
$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']) {
echo('[err]主题必须分类[/err]');
$db->close;
dexit();
//showmessage('post_type_isnull');
}
/*
if($price > 0 && floor($price * (1 - $creditstax)) == 0) {
showmessage('post_net_price_iszero');
}
if($special == 1 && $allowpostpoll && trim($polloptions)) {
$pollarray = array();
$polloptions = explode("\n", $polloptions);
foreach($polloptions as $key => $value) {
if(!trim($value)) {
unset($polloptions[$key]);
}
}
if(count($polloptions) > $maxpolloptions) {
showmessage('post_poll_option_toomany');
} elseif(count($polloptions) == 1) {
showmessage('post_poll_inputmore');
}
$maxchoices = $maxchoices >= count($polloptions) ? count($polloptions) : $maxchoices;
$pollarray['options'] = $polloptions;
$pollarray['multiple'] = !empty($multiplepoll);
$pollarray['visible'] = empty($visiblepoll);
if(preg_match("/^\d*$/", trim($maxchoices)) && preg_match("/^\d*$/", trim($expiration))) {
if(!$pollarray['multiple']) {
$pollarray['maxchoices'] = 1;
} elseif(empty($maxchoices)) {
$pollarray['maxchoices'] = 0;
} elseif($maxchoices == 1) {
$pollarray['multiple'] = 0;
$pollarray['maxchoices'] = $maxchoices;
} else {
$pollarray['maxchoices'] = $maxchoices;
}
if(empty($expiration)) {
$pollarray['expiration'] = 0;
} else {
$pollarray['expiration'] = $timestamp + 86400 * $expiration;
}
} else {
showmessage('poll_maxchoices_expiration_invalid');
}
} elseif($special == 2 && $allowposttrade) {
$item_price = floatval($item_price);
if(!trim($seller)) {
showmessage('trade_alipay_please');
} elseif(!trim($item_name)) {
showmessage('trade_please_name');
} elseif($maxtradeprice && ($mintradeprice > $item_price || $maxtradeprice < $item_price)) {
showmessage('trade_price_between');
} elseif(!$maxtradeprice && $mintradeprice > $item_price) {
showmessage('trade_price_more_than');
} elseif(!trim($item_locus)) {
showmessage('trade_please_locus');
} elseif($item_number < 1) {
showmessage('tread_please_number');
}
} elseif($special == 3 && $allowpostreward) {
$rewardprice = intval($rewardprice);
if(!$rewardprice) {
showmessage('reward_credits_please');
} elseif($rewardprice > 32767) {
showmessage('reward_credits_overflow');
} elseif($rewardprice < $minrewardprice || ($maxrewardprice > 0 && $rewardprice > $maxrewardprice)) {
showmessage('reward_credits_between');
} elseif(($realprice = $rewardprice + ceil($rewardprice * $creditstax)) > $_DSESSION["extcredits$creditstrans"]) {
showmessage('reward_credits_shortage');
}
$price = $rewardprice;
$db->query("UPDATE {$tablepre}members SET extcredits$creditstrans=extcredits$creditstrans-$realprice WHERE uid='$discuz_uid'");
} elseif($special == 4 && $allowpostactivity) {
if(empty($starttimefrom[$activitytime])) {
showmessage('activity_fromtime_please');
} elseif(strtotime($starttimefrom[$activitytime]) === -1 || strtotime($starttimefrom[$activitytime]) === FALSE) {
showmessage('activity_fromtime_error');
} elseif(strtotime($starttimefrom[$activitytime]) < $timestamp) {
showmessage('activity_smaller_current');
} elseif($activitytime && ((strtotime($starttimefrom) > strtotime($starttimeto) || !$starttimeto))) {
showmessage('activity_fromtime_error');
} elseif(!trim($activityclass)) {
showmessage('activity_sort_please');
} elseif(!trim($activityplace)) {
showmessage('activity_address_please');
} elseif(trim($activityexpiration) && (strtotime($activityexpiration) === -1 || strtotime($activityexpiration) === FALSE)) {
showmessage('activity_totime_error');
}
$activity = array();
$activity['class'] = dhtmlspecialchars(trim($activityclass));
$activity['starttimefrom'] = strtotime($starttimefrom[$activitytime]);
$activity['starttimeto'] = $activitytime ? strtotime($starttimeto) : 0;
$activity['place'] = dhtmlspecialchars(trim($activityplace));
$activity['cost'] = intval($cost);
$activity['gender'] = intval($gender);
$activity['number'] = intval($activitynumber);
if($activityexpiration) {
$activity['expiration'] = strtotime($activityexpiration);
} else {
$activity['expiration'] = 0;
}
if(trim($activitycity)) {
$subject .= '['.dhtmlspecialchars(trim($activitycity)).']';
}
}
*/
$author = $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');
}
/*
if($special == 2 && $allowposttrade && !empty($seller) && !empty($item_name) && !empty($item_price)) {
require_once DISCUZ_ROOT.'./api/tradeapi.php';
trade_create(array(
'tid' => $tid,
'item_expiration' => $item_expiration,
'thread' => $thread,
'discuz_uid' => $discuz_uid,
'author' => $author,
'seller' => $seller,
'item_name' => $item_name,
'item_price' => $item_price,
'item_number' => $item_number,
'item_quality' => $item_quality,
'item_locus' => $item_locus,
'transport' => $transport,
'postage_mail' => $postage_mail,
'postage_express' => $postage_express,
'postage_ems' => $postage_ems,
'item_type' => $item_type
));
} elseif($special == 3 && $allowpostreward) {
$db->query("INSERT INTO {$tablepre}rewardlog (tid, authorid, netamount, dateline) VALUES ('$tid', '$discuz_uid', $realprice, '$timestamp')");
}
*/
$db->query("REPLACE INTO {$tablepre}mythreads (uid, tid, dateline) VALUES ('$discuz_uid', '$tid', '$timestamp')", 'UNBUFFERED');
if($moderated) {
updatemodlog($tid, ($displayorder > 0 ? 'STK' : 'DIG'));
updatemodworks(($displayorder > 0 ? 'STK' : 'DIG'), 1);
}
/*
if($special == 1 && $allowpostpoll && trim($polloptions)) {
$db->query("INSERT INTO {$tablepre}polls (tid, multiple, visible, maxchoices, expiration)
VALUES ('$tid', '$pollarray[multiple]', '$pollarray[visible]', '$pollarray[maxchoices]', '$pollarray[expiration]')");
foreach($pollarray['options'] as $polloptvalue) {
$polloptvalue = dhtmlspecialchars(trim($polloptvalue));
$db->query("INSERT INTO {$tablepre}polloptions (tid, polloption) VALUES ('$tid', '$polloptvalue')");
}
} elseif($special == 4 && $allowpostactivity) {
$db->query("INSERT INTO {$tablepre}activities (tid, uid, cost, starttimefrom, starttimeto, place, class, gender, number, expiration)
VALUES ('$tid', '$discuz_uid', '$activity[cost]', '$activity[starttimefrom]', '$activity[starttimeto]', '$activity[place]', '$activity[class]', '$activity[gender]', '$activity[number]', '$activity[expiration]')");
}
*/
$bbcodeoff = checkbbcodes($message, !empty($bbcodeoff));
$smileyoff = checksmilies($message, !empty($smileyoff));
$parseurloff = !empty($parseurloff);
//$htmlon = $allowhtml && !empty($htmlon) ? 1 : 0;
//允许使用HTML
$htmlon=1;
$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', '$author', '$discuz_uid', '$subject', '$timestamp', '$message', '$onlineip', '$pinvisible', '$isanonymous', '$usesig', '$htmlon', '$bbcodeoff', '$smileyoff', '$parseurloff', '$attachment')");
$pid = $db->insert_id();
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($modnewthreads) {
$db->query("UPDATE {$tablepre}forums SET todayposts=todayposts+1 WHERE fid='$fid'", 'UNBUFFERED');
//$allowuseblog && $isblog && $blog ? showmessage('post_newthread_mod_blog_succeed', "blog.php?uid=$discuz_uid") : showmessage('post_newthread_mod_succeed', "forumdisplay.php?fid=$fid");
echo('1');
} else {
if($digest) {
foreach($digestcredits as $id => $addcredits) {
$postcredits[$id] = (isset($postcredits[$id]) ? $postcredits[$id] : 0) + $addcredits;
}
}
updatepostcredits('+', $discuz_uid, $postcredits);
$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');
}
if($allowuseblog && $isblog && $blog) {
echo('1');
//showmessage('post_newthread_blog_succeed', "blog.php?tid=$tid");
} else {
echo('1');
//showmessage('post_newthread_succeed', "viewthread.php?tid=$tid&extra=$extra");
}
}
//}
$db->close;
dexit();
?>