#include <udp.h>#include <www.h>
gehe zum Quellcode dieser Datei
Funktionen | |
| private int | filter_ldfied (string nm, string chars, mapping muds) |
| string | Request (mapping cmds) |
| void | udp_reply (mapping data) |
| private int filter_ldfied | ( | string | nm, | |
| string | chars, | |||
| mapping | muds | |||
| ) |
Definiert in Zeile 13 der Datei www.intermud.c.
00014 { 00015 if(nm[0] >= chars[0] && nm[0] <= chars[1]) 00016 return muds[nm][0]; 00017 }
| string Request | ( | mapping | cmds | ) |
Definiert in Zeile 19 der Datei www.intermud.c.
Benutzt BACK, call_out(), DATA, err, ERROR, IDATA, IMUD, INETD, muds(), MUDWWW, NAME, PAGE, R_INTERMUD, REQ, REQUEST, SENDER, TIMEOUT und TYPE.
00020 { 00021 string err; 00022 mapping muds; 00023 if(!sizeof(cmds) || !cmds[IMUD] || !cmds[TYPE]) 00024 { 00025 if(!cmds[PAGE]) cmds[PAGE] = "af"; 00026 return 00027 "<H1 ALIGN=\"CENTER\">Intermud Request</H1>" 00028 +"<H2 ALIGN=\"CENTER\">" 00029 +"MUDs from <I>"+capitalize(cmds[PAGE][0..0]) 00030 +" to "+capitalize(cmds[PAGE][1..1])+"</I><BR>\n<B>" 00031 +"<A HREF=\""+MUDWWW+"?"+REQ+"="+R_INTERMUD+"&"+PAGE+"=af\">[A-F]</A> " 00032 +"<A HREF=\""+MUDWWW+"?"+REQ+"="+R_INTERMUD+"&"+PAGE+"=gk\">[G-K]</A> " 00033 +"<A HREF=\""+MUDWWW+"?"+REQ+"="+R_INTERMUD+"&"+PAGE+"=ls\">[L-S]</A> " 00034 +"<A HREF=\""+MUDWWW+"?"+REQ+"="+R_INTERMUD+"&"+PAGE+"=tz\">[T-Z]</A></B></H2>" 00035 +"<H6 ALIGN=\"CENTER\">" 00036 +"Diese Seite ist Englisch, da es ein Gateway fuer Intermud sein soll, " 00037 +"d.h. auch englischsprachige Nutzer sollen etwas davon haben :)</H6>\n" 00038 +"<HR><FORM METHOD=GET ACTION=\""+MUDWWW+"\">" 00039 +"<INPUT TYPE=hidden NAME=\""+REQ+"\" VALUE=\""+R_INTERMUD+"\">\n" 00040 +"<INPUT TYPE=hidden NAME=\""+BACK+"\" " 00041 +"VALUE=\""+MUDWWW+"?"+REQ+"="+R_INTERMUD+"\">\n" 00042 +"<H3>To get information via InterMUD you need to give the following " 00043 +"information:</H3>\n" 00044 +"First of all you need to select the type of request " 00045 +"<SELECT NAME=\""+TYPE+"\">" 00046 +"<OPTION>"+implode(INETD->query("commands") - ({"channel", 00047 "mail", 00048 "htmlwho", 00049 "tell", 00050 "locate", 00051 "www"}), "<OPTION>\n") 00052 +"</SELECT><BR>and the MUD you want to question " 00053 +"<SELECT NAME=\""+IMUD+"\">" 00054 +"<OPTION>"+implode( 00055 map(sort_array( 00056 m_indices(muds = INETD->query("hosts")-(["www"])), 00057 #'>), 00058 #'filter_ldfied, cmds[PAGE], muds) - ({0}), "<OPTION>\n") 00059 +"</SELECT>.<P>" 00060 +"Eventually some requests require more data like a nickname: " 00061 +"<INPUT NAME=\""+IDATA+"\" SIZE=\"12\"><P>\n" 00062 +"When you're finished with editing and selecting you may " 00063 +"<INPUT TYPE=submit VALUE=\"Send the Request\"><BR>" 00064 +"or in case something went wrong <INPUT TYPE=reset> the form." 00065 +"</FORM>"; 00066 } 00067 if(err = INETD->_send_udp(cmds[IMUD],([ 00068 REQUEST: cmds[TYPE], 00069 SENDER: (string)this_object(), 00070 DATA: cmds[IDATA], 00071 ]), 1)) 00072 return ERROR(err); 00073 call_out("udp_reply", TIMEOUT, 00074 ([DATA:"<H1><P ALIGN=\"CENTER\">TIMEOUT!</P></H1>", 00075 NAME: cmds[IMUD], REQUEST: cmds[REQ]])); 00076 return 0; 00077 }

| void udp_reply | ( | mapping | data | ) |
Definiert in Zeile 79 der Datei www.intermud.c.
1.6.3