mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-09 10:39:02 -04:00
Merge branch 'insp3' into master.
This commit is contained in:
commit
b08e70f0bf
@ -1,6 +1,6 @@
|
||||
DOXYFILE_ENCODING = UTF-8
|
||||
PROJECT_NAME = InspIRCd
|
||||
PROJECT_NUMBER = 3.0
|
||||
PROJECT_NUMBER = 4.0
|
||||
PROJECT_BRIEF =
|
||||
PROJECT_LOGO =
|
||||
OUTPUT_DIRECTORY = docs/doxygen
|
||||
@ -21,11 +21,11 @@ JAVADOC_AUTOBRIEF = NO
|
||||
JAVADOC_BANNER = NO
|
||||
QT_AUTOBRIEF = NO
|
||||
MULTILINE_CPP_IS_BRIEF = NO
|
||||
PYTHON_DOCSTRING = YES
|
||||
INHERIT_DOCS = YES
|
||||
SEPARATE_MEMBER_PAGES = NO
|
||||
TAB_SIZE = 8
|
||||
ALIASES =
|
||||
TCL_SUBST =
|
||||
OPTIMIZE_OUTPUT_FOR_C = NO
|
||||
OPTIMIZE_OUTPUT_JAVA = NO
|
||||
OPTIMIZE_FOR_FORTRAN = NO
|
||||
@ -46,6 +46,7 @@ INLINE_GROUPED_CLASSES = NO
|
||||
INLINE_SIMPLE_STRUCTS = NO
|
||||
TYPEDEF_HIDES_STRUCT = NO
|
||||
LOOKUP_CACHE_SIZE = 0
|
||||
NUM_PROC_THREADS = 0
|
||||
EXTRACT_ALL = NO
|
||||
EXTRACT_PRIVATE = NO
|
||||
EXTRACT_PRIV_VIRTUAL = NO
|
||||
@ -54,6 +55,7 @@ EXTRACT_STATIC = NO
|
||||
EXTRACT_LOCAL_CLASSES = YES
|
||||
EXTRACT_LOCAL_METHODS = NO
|
||||
EXTRACT_ANON_NSPACES = NO
|
||||
RESOLVE_UNNAMED_PARAMS = YES
|
||||
HIDE_UNDOC_MEMBERS = NO
|
||||
HIDE_UNDOC_CLASSES = NO
|
||||
HIDE_FRIEND_COMPOUNDS = NO
|
||||
@ -122,8 +124,11 @@ REFERENCES_LINK_SOURCE = YES
|
||||
SOURCE_TOOLTIPS = YES
|
||||
USE_HTAGS = NO
|
||||
VERBATIM_HEADERS = YES
|
||||
CLANG_ASSISTED_PARSING = NO
|
||||
CLANG_ADD_INC_PATHS = YES
|
||||
CLANG_OPTIONS =
|
||||
CLANG_DATABASE_PATH =
|
||||
ALPHABETICAL_INDEX = YES
|
||||
COLS_IN_ALPHA_INDEX = 5
|
||||
IGNORE_PREFIX =
|
||||
GENERATE_HTML = YES
|
||||
HTML_OUTPUT = html
|
||||
@ -140,7 +145,7 @@ HTML_TIMESTAMP = NO
|
||||
HTML_DYNAMIC_MENUS = YES
|
||||
HTML_DYNAMIC_SECTIONS = NO
|
||||
HTML_INDEX_NUM_ENTRIES = 100
|
||||
GENERATE_DOCSET = YES
|
||||
GENERATE_DOCSET = NO
|
||||
DOCSET_FEEDNAME = "Doxygen generated documentation"
|
||||
DOCSET_BUNDLE_ID = org.doxygen.Project
|
||||
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
|
||||
@ -167,8 +172,10 @@ GENERATE_TREEVIEW = NO
|
||||
ENUM_VALUES_PER_LINE = 4
|
||||
TREEVIEW_WIDTH = 250
|
||||
EXT_LINKS_IN_WINDOW = NO
|
||||
HTML_FORMULA_FORMAT = png
|
||||
FORMULA_FONTSIZE = 10
|
||||
FORMULA_TRANSPARENT = YES
|
||||
FORMULA_MACROFILE =
|
||||
USE_MATHJAX = NO
|
||||
MATHJAX_FORMAT = HTML-CSS
|
||||
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
|
||||
@ -213,7 +220,7 @@ MAN_OUTPUT = man
|
||||
MAN_EXTENSION = .3
|
||||
MAN_SUBDIR =
|
||||
MAN_LINKS = NO
|
||||
GENERATE_XML = NO
|
||||
GENERATE_XML = YES
|
||||
XML_OUTPUT = xml
|
||||
XML_PROGRAMLISTING = YES
|
||||
XML_NS_MEMB_FILE_SCOPE = NO
|
||||
@ -253,6 +260,8 @@ COLLABORATION_GRAPH = YES
|
||||
GROUP_GRAPHS = YES
|
||||
UML_LOOK = NO
|
||||
UML_LIMIT_NUM_FIELDS = 10
|
||||
DOT_UML_DETAILS = NO
|
||||
DOT_WRAP_THRESHOLD = 17
|
||||
TEMPLATE_RELATIONS = NO
|
||||
INCLUDE_GRAPH = YES
|
||||
INCLUDED_BY_GRAPH = YES
|
||||
|
@ -58,6 +58,7 @@ EXAPATH = "$(DESTDIR)@EXAMPLE_DIR@"
|
||||
LOGPATH = "$(DESTDIR)@LOG_DIR@"
|
||||
MANPATH = "$(DESTDIR)@MANUAL_DIR@"
|
||||
MODPATH = "$(DESTDIR)@MODULE_DIR@"
|
||||
RUNPATH = "$(DESTDIR)@RUNTIME_DIR@"
|
||||
SCRPATH = "$(DESTDIR)@SCRIPT_DIR@"
|
||||
|
||||
INSTALL ?= install
|
||||
@ -231,6 +232,7 @@ install: target
|
||||
@-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(LOGPATH)
|
||||
@-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(MANPATH)
|
||||
@-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(MODPATH)
|
||||
@-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(RUNPATH)
|
||||
@-$(INSTALL) -d -g @GID@ -o @UID@ -m $(INSTMODE_DIR) $(SCRPATH)
|
||||
-$(INSTALL) -g @GID@ -o @UID@ -m $(INSTMODE_BIN) "$(BUILDPATH)/bin/inspircd" $(BINPATH)
|
||||
-$(INSTALL) -g @GID@ -o @UID@ -m $(INSTMODE_BIN) "$(BUILDPATH)/modules/"*.$(DLLEXT) $(MODPATH)
|
||||
|
@ -72,7 +72,7 @@ void LogManager::OpenFileLogs()
|
||||
|
||||
for (const auto& [_, tag] : ServerInstance->Config->ConfTags("log"))
|
||||
{
|
||||
std::string method = tag->getString("method");
|
||||
const std::string method = tag->getString("method", "file", 1);
|
||||
if (!stdalgo::string::equalsci(method, "file"))
|
||||
{
|
||||
continue;
|
||||
|
@ -26,17 +26,20 @@
|
||||
|
||||
#include "inspircd.h"
|
||||
#include "modules/ctctags.h"
|
||||
#include "modules/ircv3_servertime.h"
|
||||
#include "modules/names.h"
|
||||
|
||||
class DelayJoinMode : public ModeHandler
|
||||
{
|
||||
private:
|
||||
BoolExtItem& unjoined;
|
||||
IntExtItem& unjoined;
|
||||
IRCv3::ServerTime::API servertime;
|
||||
|
||||
public:
|
||||
DelayJoinMode(Module* Parent, BoolExtItem& ext)
|
||||
DelayJoinMode(Module* Parent, IntExtItem& ext)
|
||||
: ModeHandler(Parent, "delayjoin", 'D', PARAM_NONE, MODETYPE_CHANNEL)
|
||||
, unjoined(ext)
|
||||
, servertime(Parent)
|
||||
{
|
||||
ranktoset = ranktounset = OP_VALUE;
|
||||
}
|
||||
@ -57,10 +60,10 @@ namespace
|
||||
class JoinHook : public ClientProtocol::EventHook
|
||||
{
|
||||
private:
|
||||
const BoolExtItem& unjoined;
|
||||
const IntExtItem& unjoined;
|
||||
|
||||
public:
|
||||
JoinHook(Module* mod, const BoolExtItem& unjoinedref)
|
||||
JoinHook(Module* mod, const IntExtItem& unjoinedref)
|
||||
: ClientProtocol::EventHook(mod, "JOIN", 10)
|
||||
, unjoined(unjoinedref)
|
||||
{
|
||||
@ -85,7 +88,7 @@ class ModuleDelayJoin
|
||||
, public Names::EventListener
|
||||
{
|
||||
public:
|
||||
BoolExtItem unjoined;
|
||||
IntExtItem unjoined;
|
||||
JoinHook joinhook;
|
||||
DelayJoinMode djm;
|
||||
|
||||
@ -155,7 +158,7 @@ static void populate(CUList& except, Membership* memb)
|
||||
void ModuleDelayJoin::OnUserJoin(Membership* memb, bool sync, bool created, CUList& except)
|
||||
{
|
||||
if (memb->chan->IsModeSet(djm))
|
||||
unjoined.Set(memb);
|
||||
unjoined.Set(memb, ServerInstance->Time());
|
||||
}
|
||||
|
||||
void ModuleDelayJoin::OnUserPart(Membership* memb, std::string &partmessage, CUList& except)
|
||||
@ -209,16 +212,20 @@ void ModuleDelayJoin::OnUserMessage(User* user, const MessageTarget& target, con
|
||||
void DelayJoinMode::RevealUser(User* user, Channel* chan)
|
||||
{
|
||||
Membership* memb = chan->GetUser(user);
|
||||
if (!memb || !unjoined.Get(memb))
|
||||
{
|
||||
if (!memb)
|
||||
return;
|
||||
|
||||
time_t jointime = unjoined.Get(memb);
|
||||
if (!jointime)
|
||||
return;
|
||||
}
|
||||
|
||||
/* Display the join to everyone else (the user who joined got it earlier) */
|
||||
unjoined.Unset(memb);
|
||||
CUList except_list;
|
||||
except_list.insert(user);
|
||||
ClientProtocol::Events::Join joinevent(memb);
|
||||
if (servertime)
|
||||
servertime->Set(joinevent, jointime);
|
||||
chan->Write(joinevent, 0, except_list);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user