public
nobgit
read
NobMail
Based on mailcow: dockerized
Languages
Repository composition by tracked source files.
PHP
49%
JavaScript
35%
HTML
9%
CSS
4%
Shell
2%
Python
1%
Lua
0%
Perl
0%
Ruby
0%
SCSS
0%
Create file
Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git
Trace
data/web/templates/user/tab-user-settings.twig
Trace helps you understand code history line by line. See who changed each line, when it changed, and which commit introduced it.
Author
Date
Commit
Line
Code
1
<div class="tab-pane fade" id="tab-user-settings" role="tabpanel" aria-labelledby="tab-user-settings">
2
<div class="card mb-4">
3
<div class="card-header d-flex fs-5">
4
<button class="btn d-md-none flex-grow-1 text-start" data-bs-target="#collapse-tab-user-settings" data-bs-toggle="collapse" aria-controls="collapse-tab-user-settings">
5
{{ lang.user.mailbox_settings }}
6
</button>
7
<span class="d-none d-md-block">{{ lang.user.mailbox_settings }}</span>
8
</div>
9
<div id="collapse-tab-user-settings" class="card-body collapse" data-bs-parent="#user-content">
10
{# Show tagging options #}
11
<div class="row">
12
<div class="col-sm-3 col-12 text-sm-end text-start text-xs-bold mb-4">{{ lang.user.tag_handling }}:</div>
13
<div class="col-sm-9 col-12">
14
<div class="btn-group" data-acl="{{ acl.delimiter_action }}">
15
<button type="button" class="btn btn-sm btn-xs-third d-block d-sm-inline{% if get_tagging_options == 'subfolder' %} btn-dark{% else %} btn-light{% endif %}"
16
data-action="edit_selected"
17
data-item="{{ mailcow_cc_username }}"
18
data-id="delimiter_action"
19
data-api-url='edit/delimiter_action'
20
data-api-attr='{"tagged_mail_handler":"subfolder"}'>{{ lang.user.tag_in_subfolder }}</button>
21
<button type="button" class="btn btn-sm btn-xs-third d-block d-sm-inline{% if get_tagging_options == 'subject' %} btn-dark{% else %} btn-light{% endif %}"
22
data-action="edit_selected"
23
data-item="{{ mailcow_cc_username }}"
24
data-id="delimiter_action"
25
data-api-url='edit/delimiter_action'
26
data-api-attr='{"tagged_mail_handler":"subject"}'>{{ lang.user.tag_in_subject }}</button>
27
<button type="button" class="btn btn-sm btn-xs-third d-block d-sm-inline{% if get_tagging_options == 'none' %} btn-dark{% else %} btn-light{% endif %}"
28
data-action="edit_selected"
29
data-item="{{ mailcow_cc_username }}"
30
data-id="delimiter_action"
31
data-api-url='edit/delimiter_action'
32
data-api-attr='{"tagged_mail_handler":"none"}'>{{ lang.user.tag_in_none }}</button>
33
</div>
34
<p class="text-muted">{{ lang.user.tag_help_explain|raw }}</p>
35
<p class="text-muted">{{ lang.user.tag_help_example|raw }}</p>
36
</div>
37
</div>
38
{# Show TLS policy options #}
39
<div class="row">
40
<div class="col-sm-3 col-12 text-sm-end text-start text-xs-bold mb-4">{{ lang.user.tls_policy }}:</div>
41
<div class="col-sm-9 col-12">
42
<div class="btn-group" data-acl="{{ acl.tls_policy }}">
43
<button type="button" class="btn btn-sm btn-xs-half d-block d-sm-inline{% if get_tls_policy.tls_enforce_in == '1' %} btn-dark"{% else %} btn-light{% endif %}"
44
data-action="edit_selected"
45
data-item="{{ mailcow_cc_username }}"
46
data-id="tls_policy"
47
data-api-url='edit/tls_policy'
48
data-api-attr='{"tls_enforce_in": {% if get_tls_policy.tls_enforce_in == '1' %}0{% else %}1{% endif %} }'>{{ lang.user.tls_enforce_in }}</button>
49
<button type="button" class="btn btn-sm btn-xs-half d-block d-sm-inline{% if get_tls_policy.tls_enforce_out == '1' %} btn-dark{% else %} btn-light{% endif %}"
50
data-action="edit_selected"
51
data-item="{{ mailcow_cc_username }}"
52
data-id="tls_policy"
53
data-api-url='edit/tls_policy'
54
data-api-attr='{"tls_enforce_out": {% if get_tls_policy.tls_enforce_out == '1' %}0{% else %}1{% endif %} }'>{{ lang.user.tls_enforce_out }}</button>
55
</div>
56
<p class="text-muted">{{ lang.user.tls_policy_warning|raw }}</p>
57
</div>
58
</div>
59
{# Show quarantine_notification options #}
60
<div class="row">
61
<div class="col-sm-3 col-12 text-sm-end text-start text-xs-bold mb-4">{{ lang.user.quarantine_notification }}:</div>
62
<div class="col-sm-9 col-12">
63
<div class="btn-group" data-acl="{{ acl.quarantine_notification }}">
64
<button type="button" class="btn btn-sm btn-xs-quart d-block d-sm-inline{% if quarantine_notification == 'never' %} btn-dark{% else %} btn-light{% endif %}"
65
data-action="edit_selected"
66
data-item="{{ mailcow_cc_username }}"
67
data-id="quarantine_notification"
68
data-api-url='edit/quarantine_notification'
69
data-api-attr='{"quarantine_notification":"never"}'>{{ lang.user.never }}</button>
70
<button type="button" class="btn btn-sm btn-xs-quart d-block d-sm-inline{% if quarantine_notification == 'hourly' %} btn-dark{% else %} btn-light{% endif %}"
71
data-action="edit_selected"
72
data-item="{{ mailcow_cc_username }}"
73
data-id="quarantine_notification"
74
data-api-url='edit/quarantine_notification'
75
data-api-attr='{"quarantine_notification":"hourly"}'>{{ lang.user.hourly }}</button>
76
<button type="button" class="btn btn-sm btn-xs-quart d-block d-sm-inline{% if quarantine_notification == 'daily' %} btn-dark{% else %} btn-light{% endif %}"
77
data-action="edit_selected"
78
data-item="{{ mailcow_cc_username }}"
79
data-id="quarantine_notification"
80
data-api-url='edit/quarantine_notification'
81
data-api-attr='{"quarantine_notification":"daily"}'>{{ lang.user.daily }}</button>
82
<button type="button" class="btn btn-sm btn-xs-quart d-block d-sm-inline{% if quarantine_notification == 'weekly' %} btn-dark{% else %} btn-light{% endif %}"
83
data-action="edit_selected"
84
data-item="{{ mailcow_cc_username }}"
85
data-id="quarantine_notification"
86
data-api-url='edit/quarantine_notification'
87
data-api-attr='{"quarantine_notification":"weekly"}'>{{ lang.user.weekly }}</button>
88
</div>
89
<p class="text-muted">{{ lang.user.quarantine_notification_info }}</p>
90
</div>
91
</div>
92
<div class="row">
93
<div class="col-sm-3 col-12 text-sm-end text-start text-xs-bold mb-4">{{ lang.user.quarantine_category }}:</div>
94
<div class="col-sm-9 col-12">
95
<div class="btn-group" data-acl="{{ acl.quarantine_category }}">
96
<button type="button" class="btn btn-sm btn-xs-third d-block d-sm-inline{% if quarantine_category == 'reject' %} btn-dark{% else %} btn-light{% endif %}"
97
data-action="edit_selected"
98
data-item="{{ mailcow_cc_username }}"
99
data-id="quarantine_category"
100
data-api-url='edit/quarantine_category'
101
data-api-attr='{"quarantine_category":"reject"}'>{{ lang.user.q_reject }}</button>
102
<button type="button" class="btn btn-sm btn-xs-third d-block d-sm-inline{% if quarantine_category == 'add_header' %} btn-dark{% else %} btn-light{% endif %}"
103
data-action="edit_selected"
104
data-item="{{ mailcow_cc_username }}"
105
data-id="quarantine_category"
106
data-api-url='edit/quarantine_category'
107
data-api-attr='{"quarantine_category":"add_header"}'>{{ lang.user.q_add_header }}</button>
108
<button type="button" class="btn btn-sm btn-xs-third d-block d-sm-inline{% if quarantine_category == 'all' %} btn-dark{% else %} btn-light{% endif %}"
109
data-action="edit_selected"
110
data-item="{{ mailcow_cc_username }}"
111
data-id="quarantine_category"
112
data-api-url='edit/quarantine_category'
113
data-api-attr='{"quarantine_category":"all"}'>{{ lang.user.q_all }}</button>
114
</div>
115
<p class="text-muted">{{ lang.user.quarantine_category_info }}</p>
116
</div>
117
</div>
118
{% if not skip_sogo %}
119
<hr>
120
<div class="row">
121
<div class="col-sm-3 col-12 text-sm-end text-start text-xs-bold mb-4">{{ lang.user.eas_reset }}:</div>
122
<div class="col-sm-9 col-12">
123
<button class="btn btn-sm d-block d-sm-inline btn-secondary" data-acl="{{ acl.eas_reset }}" data-action="delete_selected" data-text="{{ lang.user.eas_reset }}?" data-item="{{ mailcow_cc_username }}" data-id="eas_cache" data-api-url='delete/eas_cache' href="#">{{ lang.user.eas_reset_now }}</button>
124
<p class="text-muted">{{ lang.user.eas_reset_help|raw }}</p>
125
</div>
126
</div>
127
<div class="row">
128
<div class="col-sm-3 col-12 text-sm-end text-start text-xs-bold mb-4">{{ lang.user.sogo_profile_reset }}:</div>
129
<div class="col-sm-9 col-12">
130
<button class="btn btn-sm d-block d-sm-inline btn-secondary" data-acl="{{ acl.sogo_profile_reset }}" data-action="delete_selected" data-text="{{ lang.user.sogo_profile_reset }}?" data-item="{{ mailcow_cc_username }}" data-id="sogo_profile" data-api-url='delete/sogo_profile' href="#">{{ lang.user.sogo_profile_reset_now }}</button>
131
<p class="text-muted">{{ lang.user.sogo_profile_reset_help|raw }}</p>
132
</div>
133
</div>
134
{% endif %}
135
</div>
136
</div>
137
</div>