Roxen.git/
server/
etc/
modules/
Roxen.pmod
Branch:
Tag:
Non-build tags
All tags
No tags
2000-03-20
2000-03-20 03:08:47 by Martin Stjernholm <mast@lysator.liu.se>
971ed39af1473434139fdd556350c41bf783072f (
16
lines) (+
15
/-
1
)
[
Show
|
Annotate
]
Branch:
5.2
Added page.pathinfo variable.
Rev: server/etc/modules/Roxen.pmod:1.12
1:
/*
-
* $Id: Roxen.pmod,v 1.
11
2000/03/
19
16
:
38
:
05
nilsson
Exp $
+
* $Id: Roxen.pmod,v 1.
12
2000/03/
20
03
:
08
:
47
mast
Exp $
* * Various helper functions. *
694:
constant in_defines=aggregate_multiset(@indices(converter)); mixed `[] (string var, void|RXML.Context c, void|string scope) {
+
switch (var) {
+
case "pathinfo": return c->id->misc->path_info;
+
}
if(in_defines[var]) return c->id->misc->defines[converter[var]]; if(objectp(c->id->misc->scope_page[var])) return c->id->misc->scope_page[var]->rxml_var_eval(c, var, "page");
701:
} mixed `[]= (string var, mixed val, void|RXML.Context c, void|string scope_name) {
+
switch (var) {
+
case "pathinfo": return c->id->misc->path_info = val;
+
}
if(in_defines[var]) return c->id->misc->defines[converter[var]]=val; return c->id->misc->scope_page[var]=val;
711:
array ind=indices(c->id->misc->scope_page); foreach(indices(in_defines), string def) if(c->id->misc->defines[converter[def]]) ind+=({def});
+
if (c->id->misc->path_info) ind += ({"pathinfo"});
return ind; } void m_delete (string var, void|RXML.Context c, void|string scope_name) { if(!c) return;
-
+
switch (var) {
+
case "pathinfo":
+
predef::m_delete (c->id->misc, "pathinfo");
+
return;
+
}
if(in_defines[var]) { if(var[0..4]=="theme") predef::m_delete(c->id->misc->defines, converter[var]); else ::m_delete(var, c, scope_name);
-
+
return;
} predef::m_delete(c->id->misc->scope_page, var); }