當前位置:編程學習大全網 - 源碼下載 - discuz 3.2板塊標題重復,有些好著,有些重復

discuz 3.2板塊標題重復,有些好著,有些重復

為了避免發布重復的帖子,我們可以手動修改壹下Discuz!的源代碼來實現:

1、打開 include\newthread.inc.php

2、查找:

復制代碼

3、在後面壹行添加:

if($subject == '' || $message == '') {

showmessage('post_sm_isnull');}

復制代碼

* 添加提示信息(可選擇加與不加,加了後當發重復的帖子的時候會有溫馨提示增加用戶體驗)

1、打開:templates\default\messages.lang.php

2、查找:

//Refuse repeated post. Code by KaijuanStudio , Optimization by phytist

$repeated = 4; //設置防範重復發貼的級別,0=關閉,1=防範相同ID發布相同標題的新主題,2=防範發布相同標題的新主題,3=防範發布相同標題且內容部分相同的新主題,4=防止內容壹致或標題和部分內容相同的主題。

if($repeated == 1) {

$query = $db->query("SELECT tid, subject FROM {$tablepre}threads WHERE authorid='$discuz_uid' AND subject='$subject'");

if($db->num_rows($query)) {

$repeat = $db->fetch_array($query);

showmessage('post_repeated', 'index.php');

}

} elseif ($repeated == 2) {

$query = $db->query("SELECT tid, subject FROM {$tablepre}threads WHERE subject='$subject'");

if($db->num_rows($query)) {

$repeat = $db->fetch_array($query);

showmessage('post_repeated', 'index.php');

}

} elseif ($repeated == 3) {

$query = $db->query("SELECT tid, authorid, subject, message FROM {$tablepre}posts WHERE first='1' AND subject='$subject'");

if($db->num_rows($query)) {

$repeat = $db->fetch_array($query);

if($repeat['authorid'] == $discuz_uid) {

showmessage('post_repeated', 'index.php');

}

function SubString($str, $start, $len = 0xFFFFFFFF) {

if($start < 0) {

$start = strlen($str) + $start;

}

if($len < 0) {

$len = strlen($str) - $start + $len;

}

$tmp = '';

$result = '';

$strlen = strlen($str);

$begin = 0;

$subLen = 0;

for($i = 0; $i < $start + $len && $i < $strlen; $i++) {

if($i < $start) {

if(ord($str[$i]) >= 161 && ord($str[$i]) <= 247 && ord($str[$i+1]) >= 161 && ord($str[$i+1]) <= 254) $i++;

} else {

$begin=$i;

for(; $i<$start+$len && $i<$strlen; $i++) {

if(ord($str[$i]) >= 161 && ord($str[$i]) <= 247 && ord($str[$i+1])>=161 && ord($str[$i+1])<=254) $i++;

}

return substr($str,$begin,$i-$begin);

}

}

}

if(strlen($message) > 60) {

if(SubString($message, -100) == SubString($repeat['message'], -100) || SubString($message, 50, 100) == SubString($repeat['message'], 50, 100)) {

showmessage('post_repeated', 'index.php');

}

} else {

if($message == SubString($repeat['message'], 0, 60)) {

showmessage('post_repeated', 'index.php');

}

}

}

}elseif ($repeated == 4) {

$query = $db->query("SELECT tid, authorid, subject, message FROM {$tablepre}posts WHERE first='1' AND (subject='$subject' OR message='$message')");

if($db->num_rows($query)) {

$repeat = $db->fetch_array($query);

if($repeat['authorid'] == $discuz_uid) {

showmessage('post_repeated', 'index.php');

}

function SubString($str, $start, $len = 0xFFFFFFFF) {

if($start < 0) {

$start = strlen($str) + $start;

}

if($len < 0) {

$len = strlen($str) - $start + $len;

}

$tmp = '';

$result = '';

$strlen = strlen($str);

$begin = 0;

$subLen = 0;

for($i = 0; $i < $start + $len && $i < $strlen; $i++) {

if($i < $start) {

if(ord($str[$i]) >= 161 && ord($str[$i]) <= 247 && ord($str[$i+1]) >= 161 && ord($str[$i+1]) <= 254) $i++;

} else {

$begin=$i;

for(; $i<$start+$len && $i<$strlen; $i++) {

if(ord($str[$i]) >= 161 && ord($str[$i]) <= 247 && ord($str[$i+1])>=161 && ord($str[$i+1])<=254) $i++;

}

return substr($str,$begin,$i-$begin);

}

}

}

if(strlen($message) > 60) {

if(SubString($message, -100) == SubString($repeat['message'], -100) || SubString($message, 50, 100) == SubString($repeat['message'], 50, 100)) {

showmessage('post_repeated', 'index.php');

}

} else {

if($message == SubString($repeat['message'], 0, 60)) {

showmessage('post_repeated', 'index.php');

}

}

}

}

//Refuse repeated post. Code End

復制代碼

'post_net_price_iszero' => '您的主題售價扣除積分交易稅後為 0,請返回修改。',

復制代碼

3、在後面壹行添加

復制代碼

'post_repeated' => '您所發布的主題或內容已存在:《<a href=\"viewthread.php?tid=$repeat[tid]\" target=\"_blank\">$repeat[subject]</a>》請勿重復發布。',

  • 上一篇:易語言如何制作3D遊戲,快點.或者源碼,可以修改的.後給分了.手頭緊.
  • 下一篇:2019年房地產營業稅稅率確認為11%。
  • copyright 2024編程學習大全網