1
0
mirror of https://github.com/anope/anope.git synced 2026-06-12 17:04:47 +02:00

BUILD : 1.7.0 (25) BUGS : NOTES : Added memo2mail and /msg memoserv set notify MAIL/NOMAIL

git-svn-id: svn://svn.anope.org/anope/trunk@25 31f1291d-b8d6-0310-a050-a5561fc1590b


git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@16 5417fbe8-f217-4b02-8779-1006273d7864
This commit is contained in:
certus certus@31f1291d-b8d6-0310-a050-a5561fc1590b
2004-04-02 15:31:27 +00:00
parent 8c2baf706f
commit 3e7ce67993
9 changed files with 153 additions and 22 deletions
+1
View File
@@ -1,6 +1,7 @@
Anope Version 1.7.0
--------------------
Provided by Anope Dev. <dev@anope.org>
2004/04/01 Added memo2mail and /msg memoserv set notify MAIL/NOMAIL
2004/03/31 Fixed MySQL double encryption if using MD5.
2004/03/31 Implemented MySQL Phase2 (see docs/MYSQL file)
2004/03/31 Modules can now add Commands/Messages from outside of AnopeInit.
+1
View File
@@ -519,6 +519,7 @@ E void fatal_perror(const char *fmt, ...) FORMAT(printf,1,2);
E MailInfo *MailBegin(User *u, NickCore *nc, char *subject, char *service);
E MailInfo *MailRegBegin(User *u, NickRequest *nr, char *subject, char *service);
E MailInfo *MailMemoBegin(NickCore * nc);
E void MailEnd(MailInfo *mail);
E void MailReset(User *u, NickCore *nc);
E int MailValidate(const char *email);
+17 -1
View File
@@ -1616,6 +1616,12 @@ MEMO_SET_NOTIFY_NEW
%s wird dich benachrichtigen, sobald neue Memos für dich eintreffen.
MEMO_SET_NOTIFY_OFF
%s wird dich nicht länger beim Eintreffen neuer Memos benachrichtigen.
MEMO_SET_NOTIFY_MAIL
Du wirst nun per Email über neue Memos informiert.
MEMO_SET_NOTIFY_NOMAIL
Du wirst nicht länger per Email über neue Memos benachrichtigt.
MEMO_SET_NOTIFY_INVALIDMAIL
Du hast keine zulässige Email Adresse gesetzt.
# SET LIMIT responses
MEMO_SET_LIMIT_SYNTAX
@@ -1710,7 +1716,17 @@ MEMO_INFO_X_NOTIFY_RECEIVE
%s wird bei Ankunft neuer Memos benachrichtigt.
MEMO_INFO_X_NOTIFY_SIGNON
%s wird beim Logon über neuer Memos benachrichtigt.
# Memo2Mail
MEMO_MAIL_SUBJECT
Neue Memo
MEMO_MAIL_TEXT1
Hi %s
MEMO_MAIL_TEXT2
Du hast gerade eine neue Memo von %s erhalten. Dies ist Memo Nummer %d.
MEMO_MAIL_TEXT3
Memo Text:
###########################################################################
#
# BotServ messages
+16
View File
@@ -1592,6 +1592,12 @@ MEMO_SET_NOTIFY_NEW
%s will now notify you of memos when they are sent to you.
MEMO_SET_NOTIFY_OFF
%s will not send you any notification of memos.
MEMO_SET_NOTIFY_MAIL
You will now be informed about new memos via email.
MEMO_SET_NOTIFY_NOMAIL
You will no longer be informed via email.
MEMO_SET_NOTIFY_INVALIDMAIL
There's no email address set for your nick.
# SET LIMIT responses
MEMO_SET_LIMIT_SYNTAX
@@ -1687,6 +1693,16 @@ MEMO_INFO_X_NOTIFY_RECEIVE
MEMO_INFO_X_NOTIFY_SIGNON
%s is notified of news memos at logon.
# Memo2Mail responses
MEMO_MAIL_SUBJECT
New memo
MEMO_MAIL_TEXT1
Hi %s
MEMO_MAIL_TEXT2
You've just received a new memo from %s. This is memo number %d.
MEMO_MAIL_TEXT3
Memo Text:
###########################################################################
#
# BotServ messages
+7
View File
@@ -609,6 +609,9 @@ MEMO_SET_NOTIFY_ON
MEMO_SET_NOTIFY_LOGON
MEMO_SET_NOTIFY_NEW
MEMO_SET_NOTIFY_OFF
MEMO_SET_NOTIFY_MAIL
MEMO_SET_NOTIFY_NOMAIL
MEMO_SET_NOTIFY_INVALIDMAIL
MEMO_SET_LIMIT_SYNTAX
MEMO_SET_LIMIT_SERVADMIN_SYNTAX
MEMO_SET_YOUR_LIMIT_FORBIDDEN
@@ -654,6 +657,10 @@ MEMO_INFO_X_NOTIFY_OFF
MEMO_INFO_X_NOTIFY_ON
MEMO_INFO_X_NOTIFY_RECEIVE
MEMO_INFO_X_NOTIFY_SIGNON
MEMO_MAIL_SUBJECT
MEMO_MAIL_TEXT1
MEMO_MAIL_TEXT2
MEMO_MAIL_TEXT3
BOT_DOES_NOT_EXIST
BOT_NOT_ASSIGNED
BOT_NOT_ON_CHANNEL
+46 -2
View File
@@ -107,11 +107,53 @@ MailInfo *MailBegin(User * u, NickCore * nc, char *subject, char *service)
return NULL;
}
/* new function to send memo mails */
MailInfo *MailMemoBegin(NickCore * nc)
{
if (!nc)
return NULL;
if (!UseMail || !nc->email) {
return NULL;
} else {
MailInfo *mail;
mail = scalloc(sizeof(MailInfo), 1);
mail->sender = NULL;
mail->recipient = nc;
mail->recip = NULL;
if (!(mail->pipe = popen(SendMailPath, "w"))) {
free(mail);
return NULL;
}
fprintf(mail->pipe, "From: %s\n", SendFrom);
if (DontQuoteAddresses) {
fprintf(mail->pipe, "To: %s <%s>\n", nc->display, nc->email);
} else {
fprintf(mail->pipe, "To: \"%s\" <%s>\n", nc->display,
nc->email);
}
fprintf(mail->pipe, "Subject: %s\n",
getstring2(NULL, MEMO_MAIL_SUBJECT));
return mail;
}
return NULL;
}
/* Finish to send the mail. Cleanup everything. */
/* - param checking modified because we don't
have an user sending this mail.
Certus, 02.04.2004 */
void MailEnd(MailInfo * mail)
{
if (!mail || !mail->sender || !mail->pipe)
if (!mail || !mail->pipe) /* removed sender check */
return;
if (!mail->recipient && !mail->recip)
@@ -119,7 +161,9 @@ void MailEnd(MailInfo * mail)
pclose(mail->pipe);
mail->sender->lastmail = time(NULL);
if (mail->sender) /* added sender check */
mail->sender->lastmail = time(NULL);
if (mail->recipient)
mail->recipient->lastmail = time(NULL);
else
+55 -14
View File
@@ -1,16 +1,16 @@
/* MemoServ functions.
*
* (C) 2003 Anope Team
* Contact us at info@anope.org
*
* Please read COPYING and README for furhter details.
*
* Based on the original code of Epona by Lara.
* Based on the original code of Services by Andy Church.
*
* $Id$
*
*/
# /* MemoServ functions.
*
* (C) 2003 Anope Team
* Contact us at info@anope.org
*
* Please read COPYING and README for furhter details.
*
* Based on the original code of Epona by Lara.
* Based on the original code of Services by Andy Church.
*
* $Id$
*
*/
#include "services.h"
#include "pseudo.h"
@@ -34,6 +34,7 @@ static int do_info(User *u);
static int do_staff(User *u);
static int do_sendall(User *u);
void moduleAddMemoServCmds(void);
static void new_memo_mail(NickCore *nc, Memo *m);
/*************************************************************************/
void moduleAddMemoServCmds(void) {
@@ -335,7 +336,11 @@ void memo_send(User * u, char *name, char *text, int z)
notice_lang(s_MemoServ, u, MEMO_NEW_MEMO_ARRIVED,
source, s_MemoServ, m->number);
} /* if (flags & MEMO_RECEIVE) */
} /* if (MSNotifyAll) */
}
/* if (MSNotifyAll) */
/* let's get out the mail if set in the nickcore - certus */
if (nc->flags & NI_MEMO_MAIL)
new_memo_mail(nc, m);
} else {
struct c_userlist *cu, *next;
Channel *c;
@@ -812,6 +817,16 @@ static int do_set_notify(User * u, MemoInfo * mi, char *param)
u->na->nc->flags &= ~NI_MEMO_SIGNON;
u->na->nc->flags |= NI_MEMO_RECEIVE;
notice_lang(s_MemoServ, u, MEMO_SET_NOTIFY_NEW, s_MemoServ);
} else if (stricmp(param, "MAIL") == 0) {
if (u->na->nc->email) {
u->na->nc->flags |= NI_MEMO_MAIL;
notice_lang(s_MemoServ, u, MEMO_SET_NOTIFY_MAIL);
} else {
notice_lang(s_MemoServ, u, MEMO_SET_NOTIFY_INVALIDMAIL);
}
} else if (stricmp(param, "NOMAIL") == 0) {
u->na->nc->flags &= ~NI_MEMO_MAIL;
notice_lang(s_MemoServ, u, MEMO_SET_NOTIFY_NOMAIL);
} else if (stricmp(param, "OFF") == 0) {
u->na->nc->flags &= ~(NI_MEMO_SIGNON | NI_MEMO_RECEIVE);
notice_lang(s_MemoServ, u, MEMO_SET_NOTIFY_OFF, s_MemoServ);
@@ -1173,3 +1188,29 @@ static int do_sendall(User * u)
}
/*************************************************************************/
static void new_memo_mail(NickCore * nc, Memo * m)
{
MailInfo *mail = NULL;
if (!nc || !m)
return;
mail = MailMemoBegin(nc);
if (!mail) {
return;
}
fprintf(mail->pipe, getstring2(NULL, MEMO_MAIL_TEXT1), nc->display);
fprintf(mail->pipe, "\n");
fprintf(mail->pipe, getstring2(NULL, MEMO_MAIL_TEXT2), m->sender,
m->number);
fprintf(mail->pipe, "\n\n");
fprintf(mail->pipe, getstring2(NULL, MEMO_MAIL_TEXT3));
fprintf(mail->pipe, "\n\n");
fprintf(mail->pipe, "%s", m->text);
fprintf(mail->pipe, "\n");
MailEnd(mail);
return;
}
/*************************************************************************/
+5 -4
View File
@@ -293,12 +293,12 @@ struct nickcore_ {
/* Nickname setting flags: */
#define NI_KILLPROTECT 0x00000001 /* Kill others who take this nick */
#define NI_SECURE 0x00000002 /* Don't recognize unless IDENTIFY'd */
#define NI_MSG 0x00000004 /* Use PRIVMSGs instead of NOTICEs */
#define NI_SECURE 0x00000002 /* Don't recognize unless IDENTIFY'd */
#define NI_MSG 0x00000004 /* Use PRIVMSGs instead of NOTICEs */
#define NI_MEMO_HARDMAX 0x00000008 /* Don't allow user to change memo limit */
#define NI_MEMO_SIGNON 0x00000010 /* Notify of memos at signon and un-away */
#define NI_MEMO_RECEIVE 0x00000020 /* Notify of new memos when sent */
#define NI_PRIVATE 0x00000040 /* Don't show in LIST to non-servadmins */
#define NI_PRIVATE 0x00000040 /* Don't show in LIST to non-servadmins */
#define NI_HIDE_EMAIL 0x00000080 /* Don't show E-mail in INFO */
#define NI_HIDE_MASK 0x00000100 /* Don't show last seen address in INFO */
#define NI_HIDE_QUIT 0x00000200 /* Don't show last quit message in INFO */
@@ -307,7 +307,8 @@ struct nickcore_ {
#define NI_SERVICES_OPER 0x00001000 /* User is a Services operator */
#define NI_SERVICES_ADMIN 0x00002000 /* User is a Services admin */
#define NI_ENCRYPTEDPW 0x00004000 /* Nickname password is encrypted */
#define NI_SERVICES_ROOT 0x00008000 /* User is a Services root */
#define NI_SERVICES_ROOT 0x00008000 /* User is a Services root */
#define NI_MEMO_MAIL 0x00010000 /* User gets email on memo */
/* Languages. Never insert anything in the middle of this list, or
* everybody will start getting the wrong language! If you want to change
+5 -1
View File
@@ -8,11 +8,15 @@
VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="0"
VERSION_BUILD="23"
VERSION_BUILD="25"
VERSION_EXTRA=""
# $Log$
#
# BUILD : 1.7.0 (25)
# BUGS :
# NOTES : Added memo2mail and /msg memoserv set notify MAIL/NOMAIL
#
# BUILD : 1.7.0 (23)
# BUGS : none.
# NOTES : Spelling error