Roxen.git
/
server
/
modules
/
graphics
/
gbutton.pike
version
»
Context lines:
10
20
40
80
file
none
3
Roxen.git/server/modules/graphics/gbutton.pike:18:
// icon-data -- inline icon data // align -- left|center|right text alignment // align-icon -- left|center-before|center-after|right icon alignment // valign-icon -- above|middle|below icon vertical alignment // >Button text</gbutton> // // Alignment restriction: when text alignment is either left or right, icons // must also be aligned left or right.
-
constant cvs_version = "$Id: gbutton.pike,v 1.
99
2003/
07
/
04
12
:
07
:
42
jonasw Exp $";
+
constant cvs_version = "$Id: gbutton.pike,v 1.
100
2003/
09
/
22
15
:
55
:
46
jonasw Exp $";
constant thread_safe = 1; #include <module.h> inherit "module"; roxen.ImageCache button_cache; int do_ext; constant module_type = MODULE_TAG; constant module_name = "Graphics: GButton";
Roxen.git/server/modules/graphics/gbutton.pike:714:
// 1. Only do this check when the ext flag is set, old URLs might // live in caches // // 2. Check str[-4] for '.', consider .jpeg .tiff etc. // // However, . is not a valid character in the ID, so just cutting at // the first one works. return button_cache->http_file_answer( (f/".")[0], id ); }
-
mapping __stat_cache = ([ ]);
+
int get_file_stat( string f, RequestID id ) { int res;
-
+
mapping stat_cache;
// -1 is used to cache negative results. When SiteBuilder crawler runs // we must let the stat_file() run unconditionally to register // dependencies properly.
-
+
if (stat_cache = id->misc->gbutton_statcache) {
if (!id->misc->persistent_cache_crawler)
-
if (res =
__
stat_cache[f])
+
if (res = stat_cache[f])
return (res > 0) && res;
-
+
} else
+
stat_cache = id->misc->gbutton_statcache = ([ ]);
-
call_out( m_delete, 10, __stat_cache, f );
+
int was_internal = id->misc->internal_get; id->misc->internal_get = 1;
-
res =
__
stat_cache[ f ] = (id->conf->stat_file( f,id )
-
||
file_stat( f )
-
||
({ 0,0,0,0 }))[ST_MTIME] || -1;
+
res = stat_cache[ f ] = (id->conf->stat_file( f,id )
||
+
file_stat( f )
||
+
({ 0,0,0,0 })
)[ST_MTIME] || -1;
if (!was_internal) m_delete(id->misc, "internal_get"); return (res > 0) && res; } class ButtonFrame { inherit RXML.Frame; array mk_url(RequestID id) {