57f45e | 1996-11-27 | Per Hedbor | |
|
b1fca0 | 1996-11-12 | Per Hedbor | | #include <module.h>
inherit "module";
inherit "roxenlib";
mapping hrefs;
string tagname;
void create()
{
defvar( "hrefs", "", "Indirect hrefs", TYPE_TEXT_FIELD,
|
57f45e | 1996-11-27 | Per Hedbor | | "Syntax:<br>\n"
"[name] = [URL]\n" );
|
b1fca0 | 1996-11-12 | Per Hedbor | | defvar( "tagname", "newa", "Tagname", TYPE_STRING,
"Name of the tag\n"
|
57f45e | 1996-11-27 | Per Hedbor | | "<tag name=[name]>foo</tag> will be replaced with\n"
"<a href=[URL]>foo</a>" );
|
b1fca0 | 1996-11-12 | Per Hedbor | | }
|
57f45e | 1996-11-27 | Per Hedbor | | array (mixed) register_module()
|
b1fca0 | 1996-11-12 | Per Hedbor | | {
|
57f45e | 1996-11-27 | Per Hedbor | | return ({ MODULE_PARSER, "Indirect href", "Indirect href", });
|
b1fca0 | 1996-11-12 | Per Hedbor | | }
void start()
{
|
57f45e | 1996-11-27 | Per Hedbor | | array (string) lines, foo;
string line;
string variable, value;
|
b1fca0 | 1996-11-12 | Per Hedbor | | string dir = "";
mapping all = ([ ]);
hrefs = ([ ]);
if (lines = query( "hrefs" ) /"\n")
foreach (lines, line)
if (sscanf( line, "%s=%s", variable, value ) >= 2)
hrefs[ variable - " " - "\t" ] = value - " " - "\t";
tagname = query( "tagname" );
}
string tag_newa( string tag, mapping m, string q, mapping got )
{
if (m[ "name" ] && hrefs[ m[ "name" ] ])
return "<a href=" + hrefs[ m[ "name" ] ] + ">" + q + "</a>";
else if (m[ "random" ])
return "<a href=" + values( hrefs )[ random( sizeof( hrefs ) ) ] + ">"
+ q + "</a>";
else
return q;
}
mapping query_container_callers()
{
return ([ tagname : tag_newa ]);
}
|