Previous Thread
Next Thread
Print Thread
Rate Thread
Joined: Oct 2001
Posts: 213
Member
Member
Offline
Joined: Oct 2001
Posts: 213
6.4.2

We'd like to be able to apply filters to specific forums. For example, in the badwords filter, I'd like to have a site-wide badword list then perhaps another list that is exclusive to Forums 2, 4, 6 but none of the others.

Anyone have ideas on how to do this?

Thanks.

Sponsored Links
Joined: Aug 2000
Posts: 1,609
Addict
Addict
Offline
Joined: Aug 2000
Posts: 1,609
Quick and dirty.

Make a copy of your badwords file and name it badwordsextra or whatever you like. Put the different list of words in there and then upload it into the folder with your badwords file.

Edit addpost.php:

Find:
Code
<br />// ---------------------------------------------------------------------<br />// Substitute any filters/badwords with the $config[censored] variable<br />   $words[0] = "";<br />   if ($config['censored']) {<br />      $badwords = @file("{$config['path']}/filters/badwords");<br />      if (!is_array($badwords)) {<br />         $badwords = @file ("{$config['phpurl']}/filters/badwords");<br />      }<br />      while (list($linenum,$line) = each($badwords) ) {<br />         $line = chop($line);<br />         if ( (preg_match("/^\r/",$line)) || (preg_match("/^\n/",$line)) ) {<br />            continue;<br />         }<br />         $islines = 1;<br />         $words[count($words)] = $line;<br />         // PHP4 ONLY<br />         // array_push ($words, $line);<br />      }<br />      if ($islines) {<br />         $badwords = join("|", $words);<br />         $badwords = preg_replace("/^\|/","",$badwords);<br /><br />         $Subject = preg_replace("/\b($badwords)\b/i",$config['censored'],$Subject);<br />         $Body = preg_replace("/\b($badwords)\b/i",$config['censored'],$Body);<br />      }<br />   }<br />

Replace with:
Code
<br />// ---------------------------------------------------------------------<br />// Substitute any filters/badwords with the $config[censored] variable<br />   $words[0] = "";<br /><br />if ( ($Board == "KeywordTwo") || ($Board == "KeywordFour") || ($Board == "KeywordSix") ) {<br />	$badwordfile="badwordsextra";<br />} else {<br />	$badwordfile="badwords";<br />}<br /><br />   if ($config['censored']) {<br />      $badwords = @file("{$config['path']}/filters/$badwordfile");<br />      if (!is_array($badwords)) {<br />         $badwords = @file ("{$config['phpurl']}/filters/$badwordfile");<br />      }<br />      while (list($linenum,$line) = each($badwords) ) {<br />         $line = chop($line);<br />         if ( (preg_match("/^\r/",$line)) || (preg_match("/^\n/",$line)) ) {<br />            continue;<br />         }<br />         $islines = 1;<br />         $words[count($words)] = $line;<br />         // PHP4 ONLY<br />         // array_push ($words, $line);<br />      }<br />      if ($islines) {<br />         $badwords = join("|", $words);<br />         $badwords = preg_replace("/^\|/","",$badwords);<br /><br />         $Subject = preg_replace("/\b($badwords)\b/i",$config['censored'],$Subject);<br />         $Body = preg_replace("/\b($badwords)\b/i",$config['censored'],$Body);<br />      }<br />   }<br />

Joined: Aug 2000
Posts: 1,609
Addict
Addict
Offline
Joined: Aug 2000
Posts: 1,609
If you want to make it editable from admin:

In admin/menu.php find:
Code
<br />           <a href="{$config['phpurl']}/admin/editfilters.php?Cat=$Cat&filter=badwords" target="mainFrame"><br />           {$ubbt_lang['BADWORD']} <br />           </a><br />           <br><br />

replace with:
Code
<br />           <a href="{$config['phpurl']}/admin/editfilters.php?Cat=$Cat&filter=badwords" target="mainFrame"><br />           {$ubbt_lang['BADWORD']} <br />           </a><br />           <br><br />           <a href="{$config['phpurl']}/admin/editfilters.php?Cat=$Cat&filter=badwordextra" target="mainFrame"><br />           {$ubbt_lang['BADWORDEXTRA']} <br />           </a><br />           <br><br />


In admin/editfilters.php find:
Code
<br />   elseif ($filter == "badwords") {<br />      echo "{$ubbt_lang['BADWORDS']}";<br />   }<br />

relace with:
Code
<br />   elseif ($filter == "badwords") {<br />      echo "{$ubbt_lang['BADWORDS']}";<br />   }<br />   elseif ($filter == "badwordextra") {<br />      echo "{$ubbt_lang['BADWORDEXTRA']}";<br />   }<br />


In your admin/menu.php language file, append this:
Code
<br />$ubbt_lang['BADWORDEXTRA'] = "Edit extra bad words";<br />


In your admin/editfilters.php language file, append this:
Code
<br />$ubbt_lang['BADWORDEXTRA'] = "This filter holds a list of words that will be replaced by the censored value in your config file in your specified boards, if you have censoring turned on.";<br />

Joined: Aug 2000
Posts: 1,609
Addict
Addict
Offline
Joined: Aug 2000
Posts: 1,609
*Remember to make BADWORDEXTRAS world-writable.

Joined: Oct 2001
Posts: 213
Member
Member
Offline
Joined: Oct 2001
Posts: 213
Very cool, many thanks for your time on this. I will give it a shot this weekend and see what happens.

Sponsored Links

Link Copied to Clipboard
Donate Today!
Donate via PayPal

Donate to UBBDev today to help aid in Operational, Server and Script Maintenance, and Development costs.

Please also see our parent organization VNC Web Services if you're in the need of a new UBB.threads Install or Upgrade, Site/Server Migrations, or Security and Coding Services.
Recommended Hosts
We have personally worked with and recommend the following Web Hosts:
Stable Host
bluehost
InterServer
Visit us on Facebook
Member Spotlight
Gizmo
Gizmo
Portland, OR, USA
Posts: 5,833
Joined: January 2000
Forum Statistics
Forums63
Topics37,573
Posts293,925
Members13,849
Most Online5,166
Sep 15th, 2019
Today's Statistics
Currently Online
Topics Created
Posts Made
Users Online
Birthdays
Top Posters
AllenAyres 21,079
JoshPet 10,369
LK 7,394
Lord Dexter 6,708
Gizmo 5,833
Greg Hard 4,625
Top Posters(30 Days)
Top Likes Received
isaac 82
Gizmo 20
Brett 7
WebGuy 2
Morgan 2
Top Likes Received (30 Days)
None yet
The UBB.Developers Network (UBB.Dev/Threads.Dev) is ©2000-2024 VNC Web Services

 
Powered by UBB.threads™ PHP Forum Software 8.0.0
(Preview build 20221218)