#include <properties.h>#include <www.h>
gehe zum Quellcode dieser Datei
Funktionen | |
| string | Request (mapping cmds) |
| string Request | ( | mapping | cmds | ) |
Definiert in Zeile 13 der Datei www.finger.c.
Benutzt ERROR, FINGER, result() und USER.
Wird benutzt von udp_www().
00014 { 00015 string result; 00016 string *tmp, tmp2, quoted; 00017 if(!sizeof(cmds) || !stringp(cmds[USER])) 00018 return ERROR("Kein Nutzer angegeben!"); 00019 /* 00020 * Kann ja sein, dass ein Spieler auf die Idee kommt, HTML-Tags 00021 * in seine Beschreibung einzubauen. Unsere Seite ist aber schon 00022 * interaktiv genug. (Anm: Nur <.*>-Vorkommnisse zu ersetzen nutzt 00023 * nix, da man auch mit einzelnen Zeichen Schaden machen kann. 00024 */ 00025 result = regreplace(FINGER(cmds[USER]), "<","\\<",1); 00026 result = regreplace(result, ">","\\>",1); 00027 00028 /* 00029 * Grund des kommenden Codeblocks ist , dass manche Spieler ihre 00030 * Homepage mit "http://mg.mud.de" angeben, andere nur"mg.mud.de" 00031 * schreiben. Damit aber der Browser den Link als absolut interpretiert, 00032 * muss das http:// davor stehen, und zwar nur einmal. 00033 */ 00034 tmp= regexp(explode(result,"\n"),"^Homepage:"); 00035 if (sizeof(tmp)&&stringp(tmp[0])&&strlen(tmp[0])>16) { 00036 quoted = regreplace(tmp[0],"([[\\]+*?.\\\\])","\\\\\\1", 1); 00037 if (tmp[0][10..16]=="http://") 00038 tmp2=sprintf("Homepage: <A HREF=\"%s\">%s</A>", 00039 tmp[0][10..],tmp[0][10..]); 00040 else 00041 tmp2=sprintf("Homepage: <A HREF=\"http://%s\">%s</A>", 00042 tmp[0][10..],tmp[0][10..]); 00043 result = regreplace(result,quoted,tmp2,1); 00044 } 00045 00046 result = regreplace(result, 00047 "E-Mail-Adresse: ([^\n]*)", 00048 "E-Mail-Adresse: Bitte nachfragen...",1); 00049 00050 result = regreplace(result, 00051 "Messenger: ([^\n]*)", 00052 "Messenger: Bitte nachfragen...", 1); 00053 00054 result = regreplace(result, 00055 "ICQ: ([^\n]*)", 00056 "ICQ: Bitte nachfragen...", 1); 00057 00058 return "<H2>Wer ist "+capitalize(cmds[USER])+"?</H2><HR>" 00059 +"<PRE>"+result+"</PRE>"; 00060 }


1.6.3