ed12fd | 2000-02-08 | Henrik Grubbström (Grubba) | | |
f671c2 | 2001-08-27 | Per Hedbor | | * $Id: listfonts.pike,v 1.19 2001/08/27 15:33:54 per Exp $
|
ed12fd | 2000-02-08 | Henrik Grubbström (Grubba) | | */
|
23414a | 2000-07-21 | Andreas Lange | | #include <roxen.h>
|
bebbad | 2000-08-16 | Andreas Lange | |
#define LOCALE(X,Y) _STR_LOCALE("admin_tasks",X,Y)
|
23414a | 2000-07-21 | Andreas Lange | |
|
48ad1f | 2000-09-19 | Per Hedbor | | constant action = "status";
|
bebbad | 2000-08-16 | Andreas Lange | |
string name= LOCALE(10, "List fonts");
string doc = LOCALE(11, "List all available fonts");
|
09348f | 2000-02-04 | Per Hedbor | |
|
23414a | 2000-07-21 | Andreas Lange | |
|
89b41a | 2000-02-04 | Per Hedbor | | string versions(string font)
{
array res=({ });
array b = available_font_versions(font,32);
|
23414a | 2000-07-21 | Andreas Lange | | if (!b || !sizeof(b))
return "<b>"+LOCALE("dH","Not available.")+"</b>";
|
09348f | 2000-02-04 | Per Hedbor | | array a = map(b,describe_font_type);
|
89b41a | 2000-02-04 | Per Hedbor | | mapping m = mkmapping(b,a);
foreach(sort(indices(m)), string t)
|
261716 | 2001-02-05 | Per Hedbor | | res += ({
|
8b09a9 | 2000-03-14 | Martin Stjernholm | | Roxen.html_encode_string(m[t]) });
|
89b41a | 2000-02-04 | Per Hedbor | | return String.implode_nicely(res);
}
|
261716 | 2001-02-05 | Per Hedbor | |
|
1e6b54 | 2000-09-04 | Per Hedbor | | mapping info;
|
89b41a | 2000-02-04 | Per Hedbor | | string list_font(string font)
{
|
1e6b54 | 2000-09-04 | Per Hedbor | | string fn = replace(lower_case( font ), " ", "_" );
if( mapping m = info[ fn ] )
{
string res = "<p><font size=+1><b>"+
(Roxen.html_encode_string(map(replace(font,"_"," ")/" ",
capitalize)*" ")+
"</b></font> <font size='-1'>"+versions(font)+"</font><br />"
"<table cellspacing=0 cellpadding=0");
foreach( sort( indices( m ) - ({"name","versions"}) ), string i )
res += "<tr><td> <font size=-1>"+i+": </font></td><td><font size=-1>"+
Roxen.html_encode_string(m[i])+"</font></td></tr>\n";
res += "</table>";
return res;
}
return "<p><font size=+1><b>"+
(Roxen.html_encode_string(map(replace(font,"_"," ")/" ",capitalize)*" ")+
"</b></font> <font size='-1'>"+versions(font)+"</font><br />");
|
89b41a | 2000-02-04 | Per Hedbor | | }
|
8c3d91 | 2000-09-04 | Per Hedbor | | string font_loaders( )
{
string res ="<dl>";
|
261716 | 2001-02-05 | Per Hedbor | | foreach( roxen.fonts.font_handlers, FontHandler fl )
|
8c3d91 | 2000-09-04 | Per Hedbor | | {
int nf = sizeof( fl->available_fonts() );
res += "<b><dt><font size=+1>"+fl->name+" ("+nf
+" font"+(nf==1?"":"s")+")</font></b></dt>"
"<dd>"+fl->doc+"</dd><p />";
}
return res+"</dl>";
}
|
bebbad | 2000-08-16 | Andreas Lange | | string page_0(RequestID id)
|
89b41a | 2000-02-04 | Per Hedbor | | {
|
261716 | 2001-02-05 | Per Hedbor | | array q = roxen.fonts.get_font_information();
|
1e6b54 | 2000-09-04 | Per Hedbor | | info = mkmapping( q->name, q );
|
bebbad | 2000-08-16 | Andreas Lange | | string res=("<input type='hidden' name='action' value='listfonts.pike'/>"
"<input type='hidden' name='doit' value='indeed'/>\n"
|
8c3d91 | 2000-09-04 | Per Hedbor | | "<font size='+1'><b>" +
|
c708e5 | 2000-09-08 | Andreas Lange | | LOCALE(58,"Available font loaders") + "</b></font><p>"+
|
8c3d91 | 2000-09-04 | Per Hedbor | | font_loaders()+"<font size='+1'><b>" +
LOCALE("dI","All available fonts") + "</b></font><p>");
|
261716 | 2001-02-05 | Per Hedbor | | foreach(sort(roxen.fonts.available_fonts()), string font)
|
8b09a9 | 2000-03-14 | Martin Stjernholm | | res+=list_font(font);
|
bebbad | 2000-08-16 | Andreas Lange | | res += ("</p><p>" + LOCALE(236,"Example text") +
|
23414a | 2000-07-21 | Andreas Lange | | "<font size=-1><input name=text size=46 value='" +
LOCALE(237,"Jackdaws love my big sphinx of quartz.") +
|
bebbad | 2000-08-16 | Andreas Lange | | "'></p><p><table width='70%'><tr><td align='left'>"
"<cf-cancel href='?class=maintenance'/></td><td align='right'>"
"<cf-next/></td></tr></table></p>");
|
89b41a | 2000-02-04 | Per Hedbor | | return res;
}
|
bebbad | 2000-08-16 | Andreas Lange | | string page_1(RequestID id)
|
89b41a | 2000-02-04 | Per Hedbor | | {
string res="";
|
261716 | 2001-02-05 | Per Hedbor | | mapping v = id->real_variables;
|
f671c2 | 2001-08-27 | Per Hedbor | | string txt = v->text && v->text[0];
|
261716 | 2001-02-05 | Per Hedbor | | foreach(roxen.fonts.available_fonts(), string fn)
res += Roxen.html_encode_string( fn )+":<br />\n"
|
f671c2 | 2001-08-27 | Per Hedbor | | "<gtext fontsize=16 align='top' font='"+fn+"'>"+Roxen.html_encode_string(txt)+"</gtext><br>"
"<gtext fontsize=32 align='top' font='"+fn+"'>"+Roxen.html_encode_string(lower_case(txt))+"</gtext><br>"
"<gtext fontsize=48 align='top' font='"+fn+"'>"+Roxen.html_encode_string(upper_case(txt))+"</gtext><p>";
|
bebbad | 2000-08-16 | Andreas Lange | | return res+"<br /></p><p>\n<cf-ok/></p>";
|
89b41a | 2000-02-04 | Per Hedbor | | }
|
23414a | 2000-07-21 | Andreas Lange | | mixed parse( RequestID id )
|
89b41a | 2000-02-04 | Per Hedbor | | {
|
4f2757 | 2000-02-04 | Per Hedbor | | if( id->variables->doit )
return page_1( id );
return page_0( id );
|
89b41a | 2000-02-04 | Per Hedbor | | }
|