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 .= ''.$smiley['code'].''."\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(); ?>