ea0143 | 1997-08-03 | Fredrik Noring | |
#include <module.h>
inherit "module.pike";
inherit "roxenlib";
#define INFO(s) // perror("### %O"+(s))
#define DEBUG(s) perror("### %O\n",(s))
#define FATAL(s) perror("### %O\n"+(s))
#define ERROR(a) sprintf("<b><diagram> error:</b> %s<br>\n", (a))
string container_obox(string name, mapping args,
string contents, object request_id)
{
string s = "hmm..";
string title = (args->title?args->title:" ");
int left = (args->left?args->left:25);
int right = (args->right?args->right:350);
int spacing = (args->spacing?args->spacing:0);
if (args->help) {
right = 250;
title = "The Outlined Box container tag";
contents = "Usage:<p>"
"<<b>obox</b> <b>title</b>=\"Sample title\">"
"<br>Anything, html, text, ...<br>"
"<<b>/obox</b>><p>\n"
"Options:<p>"
"<b>left</b>: Length of line on the left side of the title<br>\n"
"<b>right</b>: Length of line on the right side of to the title<br>\n"
"<b>spacing</b>: Width of the space inside the box<br>\n";
}
switch (name) {
case "obox":
string unit_gif = combine_path(query("location"), "unit.gif");
s = "<table border=0 cellpadding=0 cellspacing=0>\n"
"<tr><td colspan=2> </td>\n"
"<td rowspan=3> <b>"+title+"</b> </td>\n"
"<td colspan=2> </td></tr>\n"
"<tr><td bgcolor=#000000 colspan=2 height=1>\n"
"<img src="+unit_gif+" height=1></td>\n"
"<td bgcolor=#000000 colspan=2 height=1>\n"
"<img src="+unit_gif+"></td></tr>\n"
"<tr><td bgcolor=#000000><img src="+unit_gif+"></td>\n"
"<td width="+(string)left+"> </td>"
"<td width="+(string)right+"> </td>\n"
"<td bgcolor=#000000><img src="+unit_gif+"></td></tr>\n"
"<tr><td bgcolor=#000000><img src="+unit_gif+"></td>\n"
"<td colspan=3>\n"
"<table border=0 cellspacing=5 "+
(spacing?"width="+(string)spacing+" ":"")+"><tr><td>\n";
s += contents;
s += "</td></tr></table>\n"
"</td><td bgcolor=#000000><img src="+unit_gif+"></td></tr>\n"
"<tr><td colspan=5 bgcolor=#000000>\n"
"<img src="+unit_gif+"></td></tr>\n"
"</table>\n";
break;
}
return s;
}
string unit_gif = "GIF89a\001\0\001\0\200ÿ\0ÀÀÀ\0\0\0!ù\004\001\0\0\0\0,"
"\0\0\0\0\001\0\001\0\0\001\0012\0;";
mapping find_file(string f, object rid)
{
return http_string_answer(unit_gif, "image/gif");
}
array register_module()
{
return ({
MODULE_PARSER | MODULE_LOCATION,
"Outlined box",
"This is a container tag making outlined boxes.<br>"
"<obox help></obox> gives help.",
0, 1 });
}
void create()
{
defvar("location", "/obox/", "Mountpoint", TYPE_LOCATION,
"The URL-prefix for the obox image.");
}
string query_location()
{
return query("location");
}
mapping query_container_callers()
{
return ([ "obox":container_obox, ]);
}
|