summaryrefslogtreecommitdiff
path: root/torrus/templates/aclexport.xml
diff options
context:
space:
mode:
Diffstat (limited to 'torrus/templates/aclexport.xml')
-rw-r--r--torrus/templates/aclexport.xml40
1 files changed, 40 insertions, 0 deletions
diff --git a/torrus/templates/aclexport.xml b/torrus/templates/aclexport.xml
new file mode 100644
index 000000000..b27b4d373
--- /dev/null
+++ b/torrus/templates/aclexport.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+
+<!-- Torrus Access Control Lists export -->
+
+<aclexport>
+ <file-info>
+ <format-version>1.1</format-version>
+ </file-info>
+
+ <groups>
+ [% FOREACH group = groups() %]
+ <group name="[% group %]">
+ [% privhash = privileges(group);
+ FOREACH object = privhash.keys.sort;
+ FOREACH priv = privhash.$object.keys.sort %]
+ <privilege object="[% object %]" name="[% priv %]"/>
+ [% END;
+ END;
+ FOREACH attr = gattrlist(group); %]
+ <attribute name="[% attr %]" value="[% xmlnorm(gattr(group, attr)) %]"/>
+ [% END; %]
+ </group>
+ [% END %]
+ </groups>
+
+ <users>
+ [% FOREACH uid = users() %]
+ <user uid="[% uid %]">
+ [% FOREACH group = memberof(uid) %]
+ <member-of group="[% group %]"/>
+ [% END;
+ FOREACH attr = uattrlist(uid);
+ IF attr != 'uid' %]
+ <attribute name="[% attr %]" value="[% xmlnorm(uattr(uid, attr)) %]"/>
+ [% END;
+ END %]
+ </user>
+ [% END %]
+ </users>
+</aclexport>