summaryrefslogtreecommitdiff
path: root/torrus/templates/aclexport.xml
blob: b27b4d37330abb6d7a100e32321cb78058e8b497 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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>