|
Joined: Oct 2001
Posts: 213
Member
|
Member
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.
|
|
|
|
Joined: Aug 2000
Posts: 1,609
Addict
|
Addict
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: <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: <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
Joined: Aug 2000
Posts: 1,609 |
If you want to make it editable from admin: In admin/menu.php find: <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: <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: <br /> elseif ($filter == "badwords") {<br /> echo "{$ubbt_lang['BADWORDS']}";<br /> }<br /> relace with: <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: <br />$ubbt_lang['BADWORDEXTRA'] = "Edit extra bad words";<br /> In your admin/editfilters.php language file, append this: <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
Joined: Aug 2000
Posts: 1,609 |
*Remember to make BADWORDEXTRAS world-writable.
|
|
|
|
Joined: Oct 2001
Posts: 213
Member
|
Member
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.
|
|
|
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.
|
|
Posts: 1,157
Joined: July 2001
|
|
Forums63
Topics37,575
Posts293,931
Members13,823
|
Most Online6,139 Sep 21st, 2024
|
|
Currently Online
Topics Created
Posts Made
Users Online
Birthdays
|
|
|
|