Roxen.git/
server/
etc/
modules/
Roxen.pmod
Branch:
Tag:
Non-build tags
All tags
No tags
2002-02-13
2002-02-13 14:46:27 by Marcus Wellhardh <wellhard@roxen.com>
8b43d5bca2b5060c6bfa77d6cd494a41f3972d91 (
36
lines) (+
26
/-
10
)
[
Show
|
Annotate
]
Branch:
5.2
Added functionality to extend the roxen scope.
Rev: server/etc/modules/Roxen.pmod:1.132
1:
// This is a roxen pike module. Copyright © 1999 - 2001, Roxen IS. //
-
// $Id: Roxen.pmod,v 1.
131
2002/02/
04
12
:
09
:
15
stewa
Exp $
+
// $Id: Roxen.pmod,v 1.
132
2002/02/
13
14
:
46
:
27
wellhard
Exp $
#include <roxen.h> #include <config.h>
2980:
return ENCODE_RXML_TEXT(c->id->misc->site_prefix_path, type); case "unique-id": return ENCODE_RXML_TEXT(roxenp()->create_unique_id(), type);
-
default:
-
return RXML.nil;
+
}
-
::
`
[] (var
,
c
,
scope
);
+
mixed
val = c->misc->scope_roxen
[
var
]
;
+
if
(
zero_type(val)) return RXML.nil;
+
if (objectp(val) && val->rxml_
var
_eval)
return val;
+
return ENCODE_RXML_TEXT(val
,
type
);
}
-
array(string) _indices() {
-
return ({"uptime", "uptime-days", "uptime-hours", "uptime-minutes",
+
mixed `[]= (string var, mixed val, void|RXML.Context c,
+
void|string scope_name) {
+
if (!c) c = RXML_CONTEXT;
+
return c->misc->scope_roxen[var]=val;
+
}
+
+
array(string) _indices(
void|RXML.Context c
) {
+
if (!c) c = RXML_CONTEXT;
+
return
indices
(
c->misc->scope_roxen) +
+
(
{
"uptime", "uptime-days", "uptime-hours", "uptime-minutes",
"hits-per-minute", "hits", "sent-mb", "sent", "unique-id", "sent-per-minute", "sent-kbit-per-second", "ssl-strength", "pike-version", "version", "time", "server", "domain",
-
"locale", "path"});
+
"locale", "path"
});
}
-
+
void _m_delete (string var, void|RXML.Context c, void|string scope_name) {
+
if (!c) c = RXML_CONTEXT;
+
predef::m_delete(c->misc->scope_roxen, var);
+
}
+
string _sprintf() { return "RXML.Scope(roxen)"; } }
3292:
inherit RXML.TagSet; void prepare_context (RXML.Context c) {
+
c->misc->scope_roxen=([]);
c->add_scope("roxen",scope_roxen); c->misc->scope_page=([]); c->add_scope("page",scope_page);