mirror of
https://github.com/ChronosX88/psyced.git
synced 2024-11-10 04:21:02 +00:00
75 lines
1.6 KiB
C
75 lines
1.6 KiB
C
// $Id: send.c,v 1.8 2007/04/20 11:49:35 lynx Exp $ // vim:syntax=lpc
|
|
//
|
|
// WAP msg delivery agent.
|
|
//
|
|
#include <net.h>
|
|
#include <person.h>
|
|
#include "wap.h"
|
|
|
|
inherit WAP_PATH "common";
|
|
|
|
volatile string recipient = "";
|
|
volatile string message = "";
|
|
|
|
htget(prot, query, headers, qs) {
|
|
// we don't want strings containing 0
|
|
recipient = query["r"] || "";
|
|
message = query["m"] || "";
|
|
|
|
::htget(prot, query, headers, qs);
|
|
}
|
|
|
|
authChecked(val)
|
|
{
|
|
if(::authChecked(val)) {
|
|
// send message or display send-form?
|
|
if (recipient != "" && message != "") {
|
|
checkMessage(recipient, message);
|
|
} else {
|
|
showCompose(recipient, message);
|
|
}
|
|
}
|
|
}
|
|
|
|
checkMessage(recipient, message) {
|
|
mixed palo;
|
|
|
|
unless (stringp(recipient) && stringp(message)) {
|
|
showCompose(recipient, message);
|
|
}
|
|
|
|
unless (palo = is_formal(recipient)) {
|
|
if (recipient = legal_name(recipient)) {
|
|
unless (palo = find_person(recipient)) {
|
|
if (palo = summon_person(recipient, load_name())) {
|
|
if (palo->isNewbie()) {
|
|
destruct(palo);
|
|
showCompose(recipient, message);
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
sendmsg(palo, "_message_private", message, ([
|
|
"_nick" : username,
|
|
"_nick_source" : query_ip_name()
|
|
]), user);
|
|
|
|
printMsg("Message delivered.<br/>");
|
|
}
|
|
|
|
// shows msg-form, default values possible
|
|
showCompose(recipient, message, notice) {
|
|
HTOK;
|
|
HEADER_WML("send msg");
|
|
|
|
write("Recipient:<br/><input type='text' name='r' emptyok='false' value='"+recipient+"'/><br/>");
|
|
write("Text:<br/><input type='text' name='m' emptyok='false' value='"+message+"'/><br/>");
|
|
write("<a href='send?u="+username+"&p="+password+"&r=$(r)&m=$(m)'>[send]</a>");
|
|
|
|
FOOTER_WML;
|
|
}
|
|
|