OSDN Git Service

Small update added restricted word filter. :)
authorKazuki Przyborowski <kazuki.przyborowski@gmail.com>
Fri, 14 Dec 2007 07:16:20 +0000 (07:16 +0000)
committerKazuki Przyborowski <kazuki.przyborowski@gmail.com>
Fri, 14 Dec 2007 07:16:20 +0000 (07:16 +0000)
git-svn-id: svn://svn.code.sf.net/p/intdb/svn/trunk@136 2b68903e-0b30-0410-9a39-a2e4f3c5be39

inc/events.php
inc/members.php
inc/misc/utf8.php
inc/pm.php
inc/replys.php
inc/topics.php
inc/versioninfo.php

index af4610c..bb179d6 100644 (file)
@@ -11,7 +11,7 @@
     Copyright 2004-2007 Cool Dude 2k - http://intdb.sourceforge.net/
     Copyright 2004-2007 Game Maker 2k - http://upload.idb.s1.jcink.com/
 
-    $FileInfo: events.php - Last Update: 12/13/2007 SVN 135 - Author: cooldude2k $
+    $FileInfo: events.php - Last Update: 12/14/2007 SVN 136 - Author: cooldude2k $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="events.php"||$File3Name=="/events.php") {
@@ -374,6 +374,50 @@ $_POST['EventText'] = preg_replace("/".$Filter."/", $Replace, $_POST['EventText'
 if($CaseInsensitive=="yes"&&$WholeWord!="yes") {
 $_POST['EventText'] = preg_replace("/".$Filter."/i", $Replace, $_POST['EventText']); }
 ++$katarzynas; } @mysql_free_result($katarzynart);
+$lonewolfqy=query("SELECT * FROM `".$Settings['sqltable']."restrictedwords` WHERE `RestrictedEventName`='yes' or `RestrictedUserName`='yes'", array(null));
+$lonewolfrt=mysql_query($lonewolfqy);
+$lonewolfnm=mysql_num_rows($lonewolfrt);
+$lonewolfs=0; $RMatches = null;
+while ($lonewolfs < $lonewolfnm) {
+$RWord=mysql_result($lonewolfrt,$lonewolfs,"Word");
+$RCaseInsensitive=mysql_result($lonewolfrt,$lonewolfs,"CaseInsensitive");
+if($RCaseInsensitive=="on") { $RCaseInsensitive = "yes"; }
+if($RCaseInsensitive=="off") { $RCaseInsensitive = "no"; }
+if($RCaseInsensitive!="yes"||$RCaseInsensitive!="no") { $RCaseInsensitive = "no"; }
+$RWholeWord=mysql_result($lonewolfrt,$lonewolfs,"WholeWord");
+if($RWholeWord=="on") { $RWholeWord = "yes"; }
+if($RWholeWord=="off") { $RWholeWord = "no"; }
+if($RWholeWord!="yes"||$RWholeWord!="no") { $RWholeWord = "no"; }
+$RestrictedEventName=mysql_result($lonewolfrt,$lonewolfs,"RestrictedEventName");
+if($RestrictedEventName=="on") { $RestrictedEventName = "yes"; }
+if($RestrictedEventName=="off") { $RestrictedEventName = "no"; }
+if($RestrictedEventName!="yes"||$RestrictedEventName!="no") { $RestrictedEventName = "no"; }
+$RestrictedUserName=mysql_result($lonewolfrt,$lonewolfs,"RestrictedUserName");
+if($RestrictedUserName=="on") { $RestrictedUserName = "yes"; }
+if($RestrictedUserName=="off") { $RestrictedUserName = "no"; }
+if($RestrictedUserName!="yes"||$RestrictedUserName!="no") { $RestrictedUserName = "no"; }
+$RWord = preg_quote($RWord, "/");
+if($RCaseInsensitive!="yes"&&$RWholeWord=="yes") {
+if($RestrictedEventName=="yes") {
+$RMatches = preg_match("/\b(".$RWord.")\b/", $_POST['EventName']); }
+if($RestrictedUserName=="yes") {
+$RGMatches = preg_match("/\b(".$RWord.")\b/", $_POST['GuestName']); } }
+if($RCaseInsensitive=="yes"&&$RWholeWord=="yes") {
+if($RestrictedEventName=="yes") {
+$RMatches = preg_match("/\b(".$RWord.")\b/i", $_POST['EventName']); }
+if($RestrictedUserName=="yes") {
+$RGMatches = preg_match("/\b(".$RWord.")\b/i", $_POST['GuestName']); } }
+if($RCaseInsensitive!="yes"&&$RWholeWord!="yes") {
+if($RestrictedEventName=="yes") {
+$RMatches = preg_match("/".$RWord."/", $_POST['EventName']); }
+if($RestrictedUserName=="yes") {
+$RGMatches = preg_match("/".$RWord."/", $_POST['GuestName']); } }
+if($RCaseInsensitive=="yes"&&$RWholeWord!="yes") {
+if($RestrictedEventName=="yes") {
+$RMatches = preg_match("/".$RWord."/i", $_POST['EventName']); }
+if($RestrictedUserName=="yes") {
+$RGMatches = preg_match("/".$RWord."/i", $_POST['GuestName']); } }
+++$lonewolfs; } @mysql_free_result($lonewolfrt);
 if ($_POST['EventName']==null) { $Error="Yes"; ?>
 <tr style="text-align: center;">
        <td style="text-align: center;"><span class="TableMessage">
@@ -441,12 +485,25 @@ if ($_POST['EventName']==null) { $Error="Yes"; ?>
        <br />You need to enter a Guest Name.<br />
        </span></td>
 </tr>
+<?php } if($_SESSION['UserGroup']==$Settings['GuestGroup']&&
+       $RGMatches==true) { $Error="Yes"; ?>
+<tr>
+       <td><span class="TableMessage">
+       <br />This Guest Name is restricted to use.<br />
+       </span></td>
+</tr>
 <?php } if($GroupInfo['CanAddEvents']=="no") { $Error="Yes"; ?>
 <tr style="text-align: center;">
        <td style="text-align: center;"><span class="TableMessage">
        <br />You do not have permission to make a event here.<br />
        </span></td>
 </tr>
+<?php } if($RMatches==true) { $Error="Yes"; ?>
+<tr>
+       <td><span class="TableMessage">
+       <br />This User Name is restricted to use.<br />
+       </span></td>
+</tr>
 <?php } if ($Error=="Yes") {
 @redirect("refresh",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false),"4"); }
 if ($Error!="Yes") { 
index 1497b06..10d5970 100644 (file)
@@ -11,7 +11,7 @@
     Copyright 2004-2007 Cool Dude 2k - http://intdb.sourceforge.net/
     Copyright 2004-2007 Game Maker 2k - http://upload.idb.s1.jcink.com/
 
-    $FileInfo: members.php - Last Update: 12/11/2007 SVN 134 - Author: cooldude2k $
+    $FileInfo: members.php - Last Update: 12/14/2007 SVN 136 - Author: cooldude2k $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="members.php"||$File3Name=="/members.php") {
@@ -655,6 +655,30 @@ if(!isset($_POST['TOS'])) { $_POST['TOS'] = null; }
 $Name = stripcslashes(htmlspecialchars($_POST['Name'], ENT_QUOTES, $Settings['charset']));
 //$Name = preg_replace("/&amp;#(x[a-f0-9]+|[0-9]+);/i", "&#$1;", $Name);
 $Name = @remove_spaces($Name);
+$lonewolfqy=query("SELECT * FROM `".$Settings['sqltable']."restrictedwords` WHERE `RestrictedUserName`='yes'", array(null));
+$lonewolfrt=mysql_query($lonewolfqy);
+$lonewolfnm=mysql_num_rows($lonewolfrt);
+$lonewolfs=0; $RMatches = null;
+while ($lonewolfs < $lonewolfnm) {
+$RWord=mysql_result($lonewolfrt,$lonewolfs,"Word");
+$RCaseInsensitive=mysql_result($lonewolfrt,$lonewolfs,"CaseInsensitive");
+if($RCaseInsensitive=="on") { $RCaseInsensitive = "yes"; }
+if($RCaseInsensitive=="off") { $RCaseInsensitive = "no"; }
+if($RCaseInsensitive!="yes"||$RCaseInsensitive!="no") { $RCaseInsensitive = "no"; }
+$RWholeWord=mysql_result($lonewolfrt,$lonewolfs,"WholeWord");
+if($RWholeWord=="on") { $RWholeWord = "yes"; }
+if($RWholeWord=="off") { $RWholeWord = "no"; }
+if($RWholeWord!="yes"||$RWholeWord!="no") { $RWholeWord = "no"; }
+$RWord = preg_quote($RWord, "/");
+if($RCaseInsensitive!="yes"&&$RWholeWord=="yes") {
+$RMatches = preg_match("/\b(".$RWord.")\b/", $Name); }
+if($RCaseInsensitive=="yes"&&$RWholeWord=="yes") {
+$RMatches = preg_match("/\b(".$RWord.")\b/i", $Name); }
+if($RCaseInsensitive!="yes"&&$RWholeWord!="yes") {
+$RMatches = preg_match("/".$RWord."/", $Name); }
+if($RCaseInsensitive=="yes"&&$RWholeWord!="yes") {
+$RMatches = preg_match("/".$RWord."/i", $Name); }
+++$lonewolfs; } @mysql_free_result($lonewolfrt);
 $sql_email_check = mysql_query(query("SELECT `Email` FROM `".$Settings['sqltable']."members` WHERE `Email`='%s'", array($_POST['Email'])));
 $sql_username_check = mysql_query(query("SELECT `Name` FROM `".$Settings['sqltable']."members` WHERE `Name`='%s'", array($Name)));
 $email_check = mysql_num_rows($sql_email_check); 
@@ -699,7 +723,13 @@ if ($_POST['TOS']!="Agree") { $Error="Yes";  ?>
 <?php } if($username_check > 0) { $Error="Yes"; ?>
 <tr>
        <td><span class="TableMessage">
-       <br />UserName is already used.<br />
+       <br />User Name is already used.<br />
+       </span></td>
+</tr>
+<?php } if($RMatches==true) { $Error="Yes"; ?>
+<tr>
+       <td><span class="TableMessage">
+       <br />This User Name is restricted to use.<br />
        </span></td>
 </tr>
 <?php } if ($Error=="Yes") {
index b2bb47b..6305e69 100644 (file)
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    Revised BSD License for more details.
+    GNU General Public License Version 2 for more details.
 
     Copyright Andreas Gohr - http://svn.wp-plugins.org/dokuwiki-markup/trunk/utf8.php
     GNU General Public License Version 2 - http://www.gnu.org/licenses/gpl-2.0.txt
 
-    $FileInfo: utf8.php - Last Update: 12/09/2007 SVN 132 - Author: Andreas Gohr $
+    $FileInfo: utf8.php - Last Update: 12/14/2007 SVN 136 - Author: Andreas Gohr $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="utf8.php"||$File3Name=="/utf8.php") {
index d7ad066..74bd70a 100644 (file)
@@ -11,7 +11,7 @@
     Copyright 2004-2007 Cool Dude 2k - http://intdb.sourceforge.net/
     Copyright 2004-2007 Game Maker 2k - http://upload.idb.s1.jcink.com/
 
-    $FileInfo: pm.php - Last Update: 12/13/2007 SVN 135 - Author: cooldude2k $
+    $FileInfo: pm.php - Last Update: 12/14/2007 SVN 136 - Author: cooldude2k $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="pm.php"||$File3Name=="/pm.php") {
@@ -30,7 +30,7 @@ if($_GET['act']=="view"||$_GET['act']=="viewsent"||$_GET['act']=="read") {
        <div class="Table1Border">
        <table id="MessengerLinks" class="Table1" style="width: 100%; float: left; vertical-align: top;">
 <tr class="TableRow1">
-<td class="TableRow1"><?php echo $ThemeSet['TitleIcon'] ?>Messenger</td>
+<td class="TableRow1"><?php echo $ThemeSet['TitleIcon']; ?>Messenger</td>
 </tr><tr class="TableRow2">
 <td class="TableRow2">&nbsp;</td>
 </tr><tr class="TableRow3">
@@ -573,6 +573,50 @@ if($CaseInsensitive=="yes"&&$WholeWord!="yes") {
 $_POST['Message'] = preg_replace("/".$Filter."/i", $Replace, $_POST['Message']);
 $_POST['MessageDesc'] = preg_replace("/".$Filter."/i", $Replace, $_POST['MessageDesc']); }
 ++$katarzynas; } @mysql_free_result($katarzynart);
+$lonewolfqy=query("SELECT * FROM `".$Settings['sqltable']."restrictedwords` WHERE `RestrictedMessageName`='yes' or `RestrictedUserName`='yes'", array(null));
+$lonewolfrt=mysql_query($lonewolfqy);
+$lonewolfnm=mysql_num_rows($lonewolfrt);
+$lonewolfs=0; $RMatches = null;
+while ($lonewolfs < $lonewolfnm) {
+$RWord=mysql_result($lonewolfrt,$lonewolfs,"Word");
+$RCaseInsensitive=mysql_result($lonewolfrt,$lonewolfs,"CaseInsensitive");
+if($RCaseInsensitive=="on") { $RCaseInsensitive = "yes"; }
+if($RCaseInsensitive=="off") { $RCaseInsensitive = "no"; }
+if($RCaseInsensitive!="yes"||$RCaseInsensitive!="no") { $RCaseInsensitive = "no"; }
+$RWholeWord=mysql_result($lonewolfrt,$lonewolfs,"WholeWord");
+if($RWholeWord=="on") { $RWholeWord = "yes"; }
+if($RWholeWord=="off") { $RWholeWord = "no"; }
+if($RWholeWord!="yes"||$RWholeWord!="no") { $RWholeWord = "no"; }
+$RestrictedMessageName=mysql_result($lonewolfrt,$lonewolfs,"RestrictedMessageName");
+if($RestrictedMessageName=="on") { $RestrictedMessageName = "yes"; }
+if($RestrictedMessageName=="off") { $RestrictedMessageName = "no"; }
+if($RestrictedMessageName!="yes"||$RestrictedMessageName!="no") { $RestrictedMessageName = "no"; }
+$RestrictedUserName=mysql_result($lonewolfrt,$lonewolfs,"RestrictedUserName");
+if($RestrictedUserName=="on") { $RestrictedUserName = "yes"; }
+if($RestrictedUserName=="off") { $RestrictedUserName = "no"; }
+if($RestrictedUserName!="yes"||$RestrictedUserName!="no") { $RestrictedUserName = "no"; }
+$RWord = preg_quote($RWord, "/");
+if($RCaseInsensitive!="yes"&&$RWholeWord=="yes") {
+if($RestrictedMessageName=="yes") {
+$RMatches = preg_match("/\b(".$RWord.")\b/", $_POST['MessageName']); }
+if($RestrictedUserName=="yes") {
+$RGMatches = preg_match("/\b(".$RWord.")\b/", $_POST['GuestName']); } }
+if($RCaseInsensitive=="yes"&&$RWholeWord=="yes") {
+if($RestrictedMessageName=="yes") {
+$RMatches = preg_match("/\b(".$RWord.")\b/i", $_POST['MessageName']); }
+if($RestrictedUserName=="yes") {
+$RGMatches = preg_match("/\b(".$RWord.")\b/i", $_POST['GuestName']); } }
+if($RCaseInsensitive!="yes"&&$RWholeWord!="yes") {
+if($RestrictedMessageName=="yes") {
+$RMatches = preg_match("/".$RWord."/", $_POST['MessageName']); }
+if($RestrictedUserName=="yes") {
+$RGMatches = preg_match("/".$RWord."/", $_POST['GuestName']); } }
+if($RCaseInsensitive=="yes"&&$RWholeWord!="yes") {
+if($RestrictedMessageName=="yes") {
+$RMatches = preg_match("/".$RWord."/i", $_POST['MessageName']); }
+if($RestrictedUserName=="yes") {
+$RGMatches = preg_match("/".$RWord."/i", $_POST['GuestName']); } }
+++$lonewolfs; } @mysql_free_result($lonewolfrt);
 $requery = query("SELECT * FROM `".$Settings['sqltable']."members` WHERE `Name`='%s'", array($_POST['SendMessageTo']));
 $reresult=mysql_query($requery);
 $renum=mysql_num_rows($reresult);
@@ -625,6 +669,19 @@ if($renum==0) { $Error="Yes"; ?>
        <br />You need to enter a Guest Name.<br />
        </span></td>
 </tr>
+<?php } if($_SESSION['UserGroup']==$Settings['GuestGroup']&&
+       $RGMatches==true) { $Error="Yes"; ?>
+<tr>
+       <td><span class="TableMessage">
+       <br />This Guest Name is restricted to use.<br />
+       </span></td>
+</tr>
+<?php } if($RMatches==true) { $Error="Yes"; ?>
+<tr>
+       <td><span class="TableMessage">
+       <br />This Message Name is restricted to use.<br />
+       </span></td>
+</tr>
 <?php } if ($Error=="Yes") {
 @redirect("refresh",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false),"4"); }
 if ($Error!="Yes") { $LastActive = GMTimeStamp();
index 0d9788b..1e561ec 100644 (file)
@@ -11,7 +11,7 @@
     Copyright 2004-2007 Cool Dude 2k - http://intdb.sourceforge.net/
     Copyright 2004-2007 Game Maker 2k - http://upload.idb.s1.jcink.com/
 
-    $FileInfo: replys.php - Last Update: 12/13/2007 SVN 135 - Author: cooldude2k $
+    $FileInfo: replys.php - Last Update: 12/14/2007 SVN 136 - Author: cooldude2k $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="replys.php"||$File3Name=="/replys.php") {
@@ -1107,6 +1107,50 @@ if($CaseInsensitive=="yes"&&$WholeWord!="yes") {
 $_POST['ReplyDesc'] = preg_replace("/".$Filter."/i", $Replace, $_POST['ReplyDesc']); 
 $_POST['ReplyPost'] = preg_replace("/".$Filter."/i", $Replace, $_POST['ReplyPost']); }
 ++$katarzynas; } @mysql_free_result($katarzynart);
+$lonewolfqy=query("SELECT * FROM `".$Settings['sqltable']."restrictedwords` WHERE `RestrictedTopicName`='yes' or `RestrictedUserName`='yes'", array(null));
+$lonewolfrt=mysql_query($lonewolfqy);
+$lonewolfnm=mysql_num_rows($lonewolfrt);
+$lonewolfs=0; $RMatches = null;
+while ($lonewolfs < $lonewolfnm) {
+$RWord=mysql_result($lonewolfrt,$lonewolfs,"Word");
+$RCaseInsensitive=mysql_result($lonewolfrt,$lonewolfs,"CaseInsensitive");
+if($RCaseInsensitive=="on") { $RCaseInsensitive = "yes"; }
+if($RCaseInsensitive=="off") { $RCaseInsensitive = "no"; }
+if($RCaseInsensitive!="yes"||$RCaseInsensitive!="no") { $RCaseInsensitive = "no"; }
+$RWholeWord=mysql_result($lonewolfrt,$lonewolfs,"WholeWord");
+if($RWholeWord=="on") { $RWholeWord = "yes"; }
+if($RWholeWord=="off") { $RWholeWord = "no"; }
+if($RWholeWord!="yes"||$RWholeWord!="no") { $RWholeWord = "no"; }
+$RestrictedTopicName=mysql_result($lonewolfrt,$lonewolfs,"RestrictedTopicName");
+if($RestrictedTopicName=="on") { $RestrictedTopicName = "yes"; }
+if($RestrictedTopicName=="off") { $RestrictedTopicName = "no"; }
+if($RestrictedTopicName!="yes"||$RestrictedTopicName!="no") { $RestrictedTopicName = "no"; }
+$RestrictedUserName=mysql_result($lonewolfrt,$lonewolfs,"RestrictedUserName");
+if($RestrictedUserName=="on") { $RestrictedUserName = "yes"; }
+if($RestrictedUserName=="off") { $RestrictedUserName = "no"; }
+if($RestrictedUserName!="yes"||$RestrictedUserName!="no") { $RestrictedUserName = "no"; }
+$RWord = preg_quote($RWord, "/");
+if($RCaseInsensitive!="yes"&&$RWholeWord=="yes") {
+if($RestrictedTopicName=="yes") {
+$RMatches = preg_match("/\b(".$RWord.")\b/", $_POST['TopicName']); }
+if($RestrictedUserName=="yes") {
+$RGMatches = preg_match("/\b(".$RWord.")\b/", $_POST['GuestName']); } }
+if($RCaseInsensitive=="yes"&&$RWholeWord=="yes") {
+if($RestrictedTopicName=="yes") {
+$RMatches = preg_match("/\b(".$RWord.")\b/i", $_POST['TopicName']); }
+if($RestrictedUserName=="yes") {
+$RGMatches = preg_match("/\b(".$RWord.")\b/i", $_POST['GuestName']); } }
+if($RCaseInsensitive!="yes"&&$RWholeWord!="yes") {
+if($RestrictedTopicName=="yes") {
+$RMatches = preg_match("/".$RWord."/", $_POST['TopicName']); }
+if($RestrictedUserName=="yes") {
+$RGMatches = preg_match("/".$RWord."/", $_POST['GuestName']); } }
+if($RCaseInsensitive=="yes"&&$RWholeWord!="yes") {
+if($RestrictedTopicName=="yes") {
+$RMatches = preg_match("/".$RWord."/i", $_POST['TopicName']); }
+if($RestrictedUserName=="yes") {
+$RGMatches = preg_match("/".$RWord."/i", $_POST['GuestName']); } }
+++$lonewolfs; } @mysql_free_result($lonewolfrt);
 if ($_POST['ReplyDesc']==null) { $Error="Yes"; ?>
 <tr>
        <td><span class="TableMessage">
@@ -1120,6 +1164,13 @@ if ($_POST['ReplyDesc']==null) { $Error="Yes"; ?>
        <br />You need to enter a Guest Name.<br />
        </span></td>
 </tr>
+<?php } if($_SESSION['UserGroup']==$Settings['GuestGroup']&&
+       $RGMatches==true) { $Error="Yes"; ?>
+<tr>
+       <td><span class="TableMessage">
+       <br />This Guest Name is restricted to use.<br />
+       </span></td>
+</tr>
 <?php } if($PermissionInfo['CanEditReplys'][$TopicForumID]=="no") { $Error="Yes"; ?>
 <tr>
        <td><span class="TableMessage">
@@ -1144,6 +1195,12 @@ if ($_POST['ReplyDesc']==null) { $Error="Yes"; ?>
        <br />You need to enter a Reply.<br />
        </span></td>
 </tr>
+<?php } if($RMatches==true) { $Error="Yes"; ?>
+<tr>
+       <td><span class="TableMessage">
+       <br />This Topic Name is restricted to use.<br />
+       </span></td>
+</tr>
 <?php } if ($Error=="Yes") {
 @redirect("refresh",$basedir.url_maker($exfile['topic'],$Settings['file_ext'],"act=view&id=".$TopicID."&page=1",$Settings['qstr'],$Settings['qsep'],$prexqstr['topic'],$exqstr['topic'],false)."&#35;post".$_GET['post'],"4"); }
 if ($Error!="Yes") { $LastActive = GMTimeStamp();
index 69df3de..aca2c0a 100644 (file)
@@ -11,7 +11,7 @@
     Copyright 2004-2007 Cool Dude 2k - http://intdb.sourceforge.net/
     Copyright 2004-2007 Game Maker 2k - http://upload.idb.s1.jcink.com/
 
-    $FileInfo: topics.php - Last Update: 12/13/2007 SVN 135 - Author: cooldude2k $
+    $FileInfo: topics.php - Last Update: 12/14/2007 SVN 136 - Author: cooldude2k $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="topics.php"||$File3Name=="/topics.php") {
@@ -439,6 +439,50 @@ if($CaseInsensitive=="yes"&&$WholeWord!="yes") {
 $_POST['TopicDesc'] = preg_replace("/".$Filter."/i", $Replace, $_POST['TopicDesc']); 
 $_POST['TopicPost'] = preg_replace("/".$Filter."/i", $Replace, $_POST['TopicPost']); }
 ++$katarzynas; } @mysql_free_result($katarzynart);
+$lonewolfqy=query("SELECT * FROM `".$Settings['sqltable']."restrictedwords` WHERE `RestrictedTopicName`='yes' or `RestrictedUserName`='yes'", array(null));
+$lonewolfrt=mysql_query($lonewolfqy);
+$lonewolfnm=mysql_num_rows($lonewolfrt);
+$lonewolfs=0; $RMatches = null;
+while ($lonewolfs < $lonewolfnm) {
+$RWord=mysql_result($lonewolfrt,$lonewolfs,"Word");
+$RCaseInsensitive=mysql_result($lonewolfrt,$lonewolfs,"CaseInsensitive");
+if($RCaseInsensitive=="on") { $RCaseInsensitive = "yes"; }
+if($RCaseInsensitive=="off") { $RCaseInsensitive = "no"; }
+if($RCaseInsensitive!="yes"||$RCaseInsensitive!="no") { $RCaseInsensitive = "no"; }
+$RWholeWord=mysql_result($lonewolfrt,$lonewolfs,"WholeWord");
+if($RWholeWord=="on") { $RWholeWord = "yes"; }
+if($RWholeWord=="off") { $RWholeWord = "no"; }
+if($RWholeWord!="yes"||$RWholeWord!="no") { $RWholeWord = "no"; }
+$RestrictedTopicName=mysql_result($lonewolfrt,$lonewolfs,"RestrictedTopicName");
+if($RestrictedTopicName=="on") { $RestrictedTopicName = "yes"; }
+if($RestrictedTopicName=="off") { $RestrictedTopicName = "no"; }
+if($RestrictedTopicName!="yes"||$RestrictedTopicName!="no") { $RestrictedTopicName = "no"; }
+$RestrictedUserName=mysql_result($lonewolfrt,$lonewolfs,"RestrictedUserName");
+if($RestrictedUserName=="on") { $RestrictedUserName = "yes"; }
+if($RestrictedUserName=="off") { $RestrictedUserName = "no"; }
+if($RestrictedUserName!="yes"||$RestrictedUserName!="no") { $RestrictedUserName = "no"; }
+$RWord = preg_quote($RWord, "/");
+if($RCaseInsensitive!="yes"&&$RWholeWord=="yes") {
+if($RestrictedTopicName=="yes") {
+$RMatches = preg_match("/\b(".$RWord.")\b/", $_POST['TopicName']); }
+if($RestrictedUserName=="yes") {
+$RGMatches = preg_match("/\b(".$RWord.")\b/", $_POST['GuestName']); } }
+if($RCaseInsensitive=="yes"&&$RWholeWord=="yes") {
+if($RestrictedTopicName=="yes") {
+$RMatches = preg_match("/\b(".$RWord.")\b/i", $_POST['TopicName']); }
+if($RestrictedUserName=="yes") {
+$RGMatches = preg_match("/\b(".$RWord.")\b/i", $_POST['GuestName']); } }
+if($RCaseInsensitive!="yes"&&$RWholeWord!="yes") {
+if($RestrictedTopicName=="yes") {
+$RMatches = preg_match("/".$RWord."/", $_POST['TopicName']); }
+if($RestrictedUserName=="yes") {
+$RGMatches = preg_match("/".$RWord."/", $_POST['GuestName']); } }
+if($RCaseInsensitive=="yes"&&$RWholeWord!="yes") {
+if($RestrictedTopicName=="yes") {
+$RMatches = preg_match("/".$RWord."/i", $_POST['TopicName']); }
+if($RestrictedUserName=="yes") {
+$RGMatches = preg_match("/".$RWord."/i", $_POST['GuestName']); } }
+++$lonewolfs; } @mysql_free_result($lonewolfrt);
 if ($_POST['TopicName']==null) { $Error="Yes"; ?>
 <tr>
        <td><span class="TableMessage">
@@ -458,6 +502,13 @@ if ($_POST['TopicName']==null) { $Error="Yes"; ?>
        <br />You need to enter a Guest Name.<br />
        </span></td>
 </tr>
+<?php } if($_SESSION['UserGroup']==$Settings['GuestGroup']&&
+       $RGMatches==true) { $Error="Yes"; ?>
+<tr>
+       <td><span class="TableMessage">
+       <br />This Guest Name is restricted to use.<br />
+       </span></td>
+</tr>
 <?php } if($PermissionInfo['CanMakeTopics'][$ForumID]=="no"||$CanHaveTopics=="no") { $Error="Yes"; ?>
 <tr>
        <td><span class="TableMessage">
@@ -470,6 +521,12 @@ if ($_POST['TopicName']==null) { $Error="Yes"; ?>
        <br />You need to enter a Topic Post.<br />
        </span></td>
 </tr>
+<?php } if($RMatches==true) { $Error="Yes"; ?>
+<tr>
+       <td><span class="TableMessage">
+       <br />This Topic Name is restricted to use.<br />
+       </span></td>
+</tr>
 <?php } if ($Error=="Yes") {
 @redirect("refresh",$basedir.url_maker($exfile['index'],$Settings['file_ext'],"act=view",$Settings['qstr'],$Settings['qsep'],$prexqstr['index'],$exqstr['index'],false),"4"); }
 if ($Error!="Yes") { $LastActive = GMTimeStamp();
index c300696..b26265c 100644 (file)
@@ -11,7 +11,7 @@
     Copyright 2004-2007 Cool Dude 2k - http://intdb.sourceforge.net/
     Copyright 2004-2007 Game Maker 2k - http://upload.idb.s1.jcink.com/
 
-    $FileInfo: versioninfo.php - Last Update: 12/13/2007 SVN 135 - Author: cooldude2k $
+    $FileInfo: versioninfo.php - Last Update: 12/14/2007 SVN 136 - Author: cooldude2k $
 */
 $File3Name = basename($_SERVER['SCRIPT_NAME']);
 if ($File3Name=="versioninfo.php"||$File3Name=="/versioninfo.php") {
@@ -27,8 +27,8 @@ function version_info($proname,$subver,$ver,$supver,$reltype,$svnver,$showsvn) {
        return $return_var; }
 // Version number and date stuff. :P
 $VER1[0] = 0; $VER1[1] = 2; $VER1[2] = 1; $VERFull[1] = $VER1[0].".".$VER1[1].".".$VER1[2];
-$VER2[0] = "Pre-Alpha"; $VER2[1] = "PA"; $VER2[2] = "SVN"; $SubVerN = 135; $RName = "iDB"; $SFName = "IntDB";
-$SVNDay[0] = 12; $SVNDay[1] = 13; $SVNDay[2] = 2007; $SVNDay[3] = $SVNDay[0]."/".$SVNDay[1]."/".$SVNDay[2];
+$VER2[0] = "Pre-Alpha"; $VER2[1] = "PA"; $VER2[2] = "SVN"; $SubVerN = 136; $RName = "iDB"; $SFName = "IntDB";
+$SVNDay[0] = 12; $SVNDay[1] = 14; $SVNDay[2] = 2007; $SVNDay[3] = $SVNDay[0]."/".$SVNDay[1]."/".$SVNDay[2];
 $VerInfo['iDB_Ver'] = version_info($RName,$VER1[0],$VER1[1],$VER1[2],$VER2[1],$SubVerN,false);
 $VerInfo['iDB_Ver_SVN'] = version_info($RName,$VER1[0],$VER1[1],$VER1[2],$VER2[1],$SubVerN,true);
 $VerInfo['iDB_Full_Ver'] = version_info($RName,$VER1[0],$VER1[1],$VER1[2],$VER2[0],$SubVerN,false);