summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/InspIRCd.layout30
-rw-r--r--src/modules.cpp11
-rw-r--r--src/modules/m_filter.cpp11
3 files changed, 34 insertions, 18 deletions
diff --git a/src/InspIRCd.layout b/src/InspIRCd.layout
index a21245aa6..0eb47174c 100644
--- a/src/InspIRCd.layout
+++ b/src/InspIRCd.layout
@@ -1,5 +1,5 @@
[Editors]
-Focused=-1
+Focused=4
Order=7,3,2,6,25,24,4,5,-1,1,0
[Editor_0]
@@ -13,9 +13,9 @@ LeftChar=1
[Editor_1]
Open=1
Top=0
-CursorCol=12
-CursorRow=4002
-TopLine=3971
+CursorCol=1
+CursorRow=1
+TopLine=1
LeftChar=1
[Editor_2]
@@ -36,10 +36,10 @@ LeftChar=1
[Editor_4]
Open=1
-Top=0
-CursorCol=1
-CursorRow=149
-TopLine=121
+Top=1
+CursorCol=25
+CursorRow=213
+TopLine=181
LeftChar=1
[Editor_5]
@@ -165,9 +165,9 @@ LeftChar=1
[Editor_20]
Open=1
Top=0
-CursorCol=5
-CursorRow=445
-TopLine=402
+CursorCol=68
+CursorRow=288
+TopLine=254
LeftChar=1
[Editor_21]
@@ -258,8 +258,8 @@ Open=0
Top=0
[Editor_34]
Open=1
-Top=1
-CursorCol=1
-CursorRow=83
-TopLine=78
+Top=0
+CursorCol=25
+CursorRow=110
+TopLine=52
LeftChar=1
diff --git a/src/modules.cpp b/src/modules.cpp
index b938ebcca..d2263e352 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -207,7 +207,16 @@ void Server::SendFrom(int Socket, userrec* User, std::string s)
void Server::SendTo(userrec* Source, userrec* Dest, std::string s)
{
- WriteTo(Source,Dest,"%s",s.c_str());
+ if (!Source)
+ {
+ // if source is NULL, then the message originates from the local server
+ Write(Dest->fd,":%s %s",this->GetServerName().c_str(),s.c_str());
+ }
+ else
+ {
+ // otherwise it comes from the user specified
+ WriteTo(Source,Dest,"%s",s.c_str());
+ }
}
void Server::SendChannel(userrec* User, chanrec* Channel, std::string s,bool IncludeSender)
diff --git a/src/modules/m_filter.cpp b/src/modules/m_filter.cpp
index d2714ee01..d208e7a5a 100644
--- a/src/modules/m_filter.cpp
+++ b/src/modules/m_filter.cpp
@@ -55,6 +55,7 @@ class ModuleFilter : public Module
if (Srv->MatchText(text,pattern))
{
std::string target = "";
+ std::string reason = MyConf->ReadValue("keyword","reason",index);
if (target_type == TYPE_USER)
{
userrec* t = (userrec*)dest;
@@ -67,10 +68,13 @@ class ModuleFilter : public Module
}
Srv->SendOpers(std::string("FILTER: ")+std::string(user->nick)+
std::string(" had their message filtered, target was ")+
- target+": "+MyConf->ReadValue("keyword","reason",index));
+ target+": "+reason);
Srv->Log(DEFAULT,std::string("FILTER: ")+std::string(user->nick)+
std::string(" had their message filtered, target was ")+
- target+": "+MyConf->ReadValue("keyword","reason",index));
+ target+": "+reason);
+ // this form of SendTo (with the source as NuLL) sends a server notice
+ Srv->SendTo(NULL,user,"NOTICE "+std::string(user->nick)+
+ " :Your message has been filtered and opers notified: "+reason);
return 1;
}
}
@@ -86,6 +90,7 @@ class ModuleFilter : public Module
if (Srv->MatchText(text,pattern))
{
std::string target = "";
+ std::string reason = MyConf->ReadValue("keyword","reason",index);
if (target_type == TYPE_USER)
{
userrec* t = (userrec*)dest;
@@ -102,6 +107,8 @@ class ModuleFilter : public Module
Srv->Log(DEFAULT,std::string("FILTER: ")+std::string(user->nick)+
std::string(" had their notice filtered, target was ")+
target+": "+MyConf->ReadValue("keyword","reason",index));
+ Srv->SendTo(NULL,user,"NOTICE "+std::string(user->nick)+
+ " :Your notice has been filtered and opers notified: "+reason);
return 1;
}
}