$templates.shared.doctype
{=
# ----------------------------
# get number of administartors
# ----------------------------
# if there is only one administrator we don't allow to delete it,
# hence we need the number of administrators!
node user;
int number_of_administrators = 0;
foreach user "users" (
if (node_value(subnode_by_name(user, "administrator"))) then (
number_of_administrators++;
);
);
string param1 = "__VAR__";
string confirm_delete_msg = expand(lang_admin.users.confirm_delete_message);
string condirm_admin_delete_msg = expand(lang_admin.users.confirm_admin_delete_message);
string delete_not_permitted_msg = expand(lang_admin.users.delete_not_permitted_message);
'\n';
'
\n';
'
{=
node user;
node users_node = "users";
string user_node_name;
string username;
string default_language;
string default_language_label = lang_admin.language.default_label;
string user_language;
bool administrator;
if (node_exists("preferences.miscellaneous.language") and
(node_value("preferences.miscellaneous.language") ne "")) then (
default_language = node_value("preferences.miscellaneous.language");
default_language_label .= " (" . node_value("lang_admin.languages." . default_language . ".label") . ")";
);
sort(users_node, "field:username,alphabetical,ascending", false);
'
\n';
'\n';
'$lang_admin.users.username.label | \n';
'$lang_admin.language.label | \n';
'$lang_admin.users.administrative_rights_label | \n';
'$lang_admin.users.access_to_profiles_label | \n';
'
\n';
foreach user users_node (
user_node_name = node_name(user);
username = node_value(subnode_by_name(user, "username"));
username = replace_all(username, "&", "&");
username = replace_all(username, "$", "$");
username = replace_all(username, "<", "<");
username = replace_all(username, ">", ">");
administrator = node_value(subnode_by_name(user, "administrator"));
'\n';
'' . username . ' | \n';
# language
'';
if (subnode_exists(user, "language") and
(node_value(subnode_by_name(user, "language")) ne "")) then (
user_language = node_value(subnode_by_name(user, "language"));
node_value("lang_admin.languages." . user_language . ".label");
)
else (
default_language_label;
);
' | \n';
if (administrator) then (
'$lang_admin.users.yes | \n';
'$lang_admin.users.all_profiles | \n';
)
else (
'$lang_admin.users.no | \n';
'\n';
# Get the profiles to which the user has access
if (subnode_exists(user, "profiles")) then (
int number_of_profiles = num_subnodes(user . ".profiles");
if (number_of_profiles > 0) then (
node profile;
node user_profiles_node = user . ".profiles";
string profile_name;
string profile_label;
foreach profile user_profiles_node (
profile_name = node_name(profile);
if (node_exists("profiles." . profile_name)) then (
profile_label = node_value("profiles." . profile_name . ".label");
if (contains(profile_label, "$")) then (profile_label = replace_all(profile_label, "$", "$"));
profile_label . ' ';
)
else (
'' . lang_admin.users.no_profile_label . '';
);
);
)
else (
'' . lang_admin.users.no_profiles . '';
);
)
else (
'' . lang_admin.users.no_profiles . '';
);
' | \n';
);
if (contains(username, "'")) then (
username = replace_all(username, "'", "\\u0027");
);
'';
`` . lang_admin.general.edit_button . ` | `;
`` . lang_admin.general.delete_button . ``;
' | \n';
'
\n';
); # foreach user users_node
'
\n';
expand(templates.shared.copyright);
'
\n';
=}