blob: e5d5aa8b407ac1ac02c31d83c55087404df4a06d [file] [log] [blame]
Matthias Andreas Benkardb382b102021-01-02 15:32:21 +01001<?php
2if (!isset($_SESSION['mailcow_cc_role'])) {
3 header('Location: /');
4 exit();
5}
6?>
7<!-- change fido2 fn -->
8<div class="modal fade" id="fido2ChangeFn" tabindex="-1" role="dialog" aria-hidden="true">
9 <div class="modal-dialog modal-lg">
10 <div class="modal-content">
11 <div class="modal-header">
12 <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
13 <h3 class="modal-title"><?=$lang['fido2']['set_fn'];?></h3>
14 <p class="help-block" style="word-break:break-all" id="fido2_subject_desc" data-fido2-subject=""></p>
15 </div>
16 <div class="modal-body">
17 <form class="form-horizontal" data-cached-form="false" data-id="fido2ChangeFn" role="form" method="post" autocomplete="off">
18 <input type="hidden" class="form-control" name="fido2_cid" id="fido2_cid">
19 <div class="form-group">
20 <label class="control-label col-sm-4" for="fido2_fn"><?=$lang['fido2']['fn'];?>:</label>
21 <div class="col-sm-8">
22 <input type="text" class="form-control" name="fido2_fn">
23 </div>
24 </div>
25 <div class="form-group">
26 <div class="col-sm-offset-4 col-sm-8">
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +020027 <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="fido2ChangeFn" data-item="null" data-api-url='edit/fido2-fn' data-api-attr='{}' href="#"><?=$lang['admin']['save'];?></button>
Matthias Andreas Benkardb382b102021-01-02 15:32:21 +010028 </div>
29 </div>
30 </form>
31 </div>
32 </div>
33 </div>
34</div><!-- add domain admin modal -->
35<!-- add sync job modal -->
36<div class="modal fade" id="addSyncJobModal" tabindex="-1" role="dialog" aria-hidden="true">
37 <div class="modal-dialog modal-lg">
38 <div class="modal-content">
39 <div class="modal-header">
40 <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
41 <h3 class="modal-title"><?=$lang['add']['syncjob'];?></h3>
42 </div>
43 <div class="modal-body">
44 <p><?=$lang['add']['syncjob_hint'];?></p>
45 <form class="form-horizontal" data-cached-form="true" role="form" data-id="add_syncjob">
46 <div class="form-group">
47 <label class="control-label col-sm-2" for="host1"><?=$lang['add']['hostname'];?></label>
48 <div class="col-sm-10">
49 <input type="text" class="form-control" name="host1" required>
50 </div>
51 </div>
52 <div class="form-group">
53 <label class="control-label col-sm-2" for="port1"><?=$lang['add']['port'];?></label>
54 <div class="col-sm-10">
55 <input type="number" class="form-control" name="port1" min="1" max="65535" value="143" required>
56 <small class="help-block">1-65535</small>
57 </div>
58 </div>
59 <div class="form-group">
60 <label class="control-label col-sm-2" for="user1"><?=$lang['add']['username'];?></label>
61 <div class="col-sm-10">
62 <input type="text" class="form-control" name="user1" required>
63 </div>
64 </div>
65 <div class="form-group">
66 <label class="control-label col-sm-2" for="password1"><?=$lang['add']['password'];?></label>
67 <div class="col-sm-10">
68 <input type="password" class="form-control" name="password1" data-hibp="true" required>
69 </div>
70 </div>
71 <div class="form-group">
72 <label class="control-label col-sm-2" for="enc1"><?=$lang['add']['enc_method'];?></label>
73 <div class="col-sm-10">
74 <select name="enc1" title="<?=$lang['add']['select'];?>" required>
75 <option value="SSL" selected>SSL</option>
76 <option value="TLS">STARTTLS</option>
77 <option value="PLAIN">PLAIN</option>
78 </select>
79 </div>
80 </div>
81 <div class="form-group">
82 <label class="control-label col-sm-2" for="mins_interval"><?=$lang['add']['mins_interval'];?></label>
83 <div class="col-sm-10">
84 <input type="number" class="form-control" name="mins_interval" min="1" max="43800" value="20" required>
85 <small class="help-block">1-43800</small>
86 </div>
87 </div>
88 <div class="form-group">
89 <label class="control-label col-sm-2" for="subfolder2"><?=$lang['edit']['subfolder2'];?></label>
90 <div class="col-sm-10">
91 <input type="text" class="form-control" name="subfolder2" value="">
92 </div>
93 </div>
94 <div class="form-group">
95 <label class="control-label col-sm-2" for="maxage"><?=$lang['edit']['maxage'];?></label>
96 <div class="col-sm-10">
97 <input type="number" class="form-control" name="maxage" min="0" max="32000" value="0">
98 <small class="help-block">0-32000</small>
99 </div>
100 </div>
101 <div class="form-group">
102 <label class="control-label col-sm-2" for="maxbytespersecond"><?=$lang['edit']['maxbytespersecond'];?></label>
103 <div class="col-sm-10">
104 <input type="number" class="form-control" name="maxbytespersecond" min="0" max="125000000" value="0">
105 <small class="help-block">0-125000000</small>
106 </div>
107 </div>
108 <div class="form-group">
109 <label class="control-label col-sm-2" for="timeout1"><?=$lang['edit']['timeout1'];?></label>
110 <div class="col-sm-10">
111 <input type="number" class="form-control" name="timeout1" min="1" max="32000" value="600">
112 <small class="help-block">1-32000</small>
113 </div>
114 </div>
115 <div class="form-group">
116 <label class="control-label col-sm-2" for="timeout2"><?=$lang['edit']['timeout2'];?></label>
117 <div class="col-sm-10">
118 <input type="number" class="form-control" name="timeout2" min="1" max="32000" value="600">
119 <small class="help-block">1-32000</small>
120 </div>
121 </div>
122 <div class="form-group">
123 <label class="control-label col-sm-2" for="exclude"><?=$lang['add']['exclude'];?></label>
124 <div class="col-sm-10">
125 <input type="text" class="form-control" name="exclude" value="(?i)spam|(?i)junk">
126 </div>
127 </div>
128 <div class="form-group">
129 <label class="control-label col-sm-2" for="custom_params"><?=$lang['add']['custom_params'];?></label>
130 <div class="col-sm-10">
131 <input type="text" class="form-control" name="custom_params" placeholder="--delete2folders --otheroption">
132 </div>
133 </div>
134 <div class="form-group">
135 <div class="col-sm-offset-2 col-sm-10">
136 <div class="checkbox">
137 <label><input type="checkbox" value="1" name="delete2duplicates" checked> <?=$lang['add']['delete2duplicates'];?> (--delete2duplicates)</label>
138 </div>
139 </div>
140 </div>
141 <div class="form-group">
142 <div class="col-sm-offset-2 col-sm-10">
143 <div class="checkbox">
144 <label><input type="checkbox" value="1" name="delete1"> <?=$lang['add']['delete1'];?> (--delete1)</label>
145 </div>
146 </div>
147 </div>
148 <div class="form-group">
149 <div class="col-sm-offset-2 col-sm-10">
150 <div class="checkbox">
151 <label><input type="checkbox" value="1" name="delete2"> <?=$lang['add']['delete2'];?> (--delete2)</label>
152 </div>
153 </div>
154 </div>
155 <div class="form-group">
156 <div class="col-sm-offset-2 col-sm-10">
157 <div class="checkbox">
158 <label><input type="checkbox" value="1" name="automap" checked> <?=$lang['add']['automap'];?> (--automap)</label>
159 </div>
160 </div>
161 </div>
162 <div class="form-group">
163 <div class="col-sm-offset-2 col-sm-10">
164 <div class="checkbox">
165 <label><input type="checkbox" value="1" name="skipcrossduplicates"> <?=$lang['add']['skipcrossduplicates'];?> (--skipcrossduplicates)</label>
166 </div>
167 </div>
168 </div>
169 <div class="form-group">
170 <div class="col-sm-offset-2 col-sm-10">
171 <div class="checkbox">
172 <label><input type="checkbox" value="1" name="subscribeall" checked> <?=$lang['add']['subscribeall'];?> (--subscribeall)</label>
173 </div>
174 </div>
175 </div>
176 <div class="form-group">
177 <div class="col-sm-offset-2 col-sm-10">
178 <div class="checkbox">
179 <label><input type="checkbox" value="1" name="active" checked> <?=$lang['add']['active'];?></label>
180 </div>
181 </div>
182 </div>
183 <div class="form-group">
184 <div class="col-sm-offset-2 col-sm-10">
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +0200185 <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="add_syncjob" data-api-url='add/syncjob' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
Matthias Andreas Benkardb382b102021-01-02 15:32:21 +0100186 </div>
187 </div>
188 </form>
189 </div>
190 </div>
191 </div>
192</div><!-- add sync job modal -->
193<!-- app passwd modal -->
194<div class="modal fade" id="addAppPasswdModal" tabindex="-1" role="dialog" aria-hidden="true">
195 <div class="modal-dialog modal-lg">
196 <div class="modal-content">
197 <div class="modal-header">
198 <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
199 <h3 class="modal-title"><?=$lang['add']['app_password'];?></h3>
200 </div>
201 <div class="modal-body">
202 <form class="form-horizontal" data-cached-form="true" role="form" data-pwgen-length="32" data-id="add_apppasswd">
203 <div class="form-group">
204 <label class="control-label col-sm-2" for="app_name"><?=$lang['add']['app_name'];?></label>
205 <div class="col-sm-10">
206 <input type="text" class="form-control" name="app_name" required>
207 </div>
208 </div>
209 <div class="form-group">
210 <label class="control-label col-sm-2" for="app_passwd"><?=$lang['user']['password'];?> (<a href="#" class="generate_password"><?=$lang['user']['generate'];?></a>)</label>
211 <div class="col-sm-10">
212 <input type="password" data-pwgen-field="true" data-hibp="true" class="form-control" name="app_passwd" autocomplete="new-password" required>
213 </div>
214 </div>
215 <div class="form-group">
216 <label class="control-label col-sm-2" for="app_passwd2"><?=$lang['user']['password_repeat'];?></label>
217 <div class="col-sm-10">
218 <input type="password" data-pwgen-field="true" class="form-control" name="app_passwd2" autocomplete="new-password" required>
219 <p class="help-block"><?=$lang['user']['new_password_description'];?></p>
220 </div>
221 </div>
222 <div class="form-group">
223 <div class="col-sm-offset-2 col-sm-10">
224 <div class="checkbox">
225 <label><input type="checkbox" value="1" name="active" checked> <?=$lang['add']['active'];?></label>
226 </div>
227 </div>
228 </div>
229 <div class="form-group">
230 <div class="col-sm-offset-2 col-sm-10">
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +0200231 <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="add_item" data-id="add_apppasswd" data-api-url='add/app-passwd' data-api-attr='{}' href="#"><?=$lang['admin']['add'];?></button>
Matthias Andreas Benkardb382b102021-01-02 15:32:21 +0100232 </div>
233 </div>
234 </form>
235 </div>
236 </div>
237 </div>
238</div><!-- add app passwd modal -->
239<!-- log modal -->
240<div class="modal fade" id="syncjobLogModal" tabindex="-1" role="dialog" aria-labelledby="syncjobLogModalLabel">
241 <div class="modal-dialog modal-lg" role="document">
242 <div class="modal-content">
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +0200243 <div class="modal-header">
244 <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
245 <h3 class="modal-title">Log</h3>
246 </div>
Matthias Andreas Benkardb382b102021-01-02 15:32:21 +0100247 <div class="modal-body">
248 <textarea class="form-control textarea-code" rows="20" id="logText" spellcheck="false"></textarea>
249 </div>
250 </div>
251 </div>
252</div><!-- log modal -->
253<!-- pw change modal -->
254<div class="modal fade" id="pwChangeModal" tabindex="-1" role="dialog" aria-labelledby="pwChangeModalLabel">
255 <div class="modal-dialog" role="document">
256 <div class="modal-content">
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +0200257 <div class="modal-header">
258 <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
259 <h3 class="modal-title"><?=$lang['user']['change_password'];?></h3>
260 </div>
261 <div class="modal-body">
262 <form class="form-horizontal" data-cached-form="false" data-id="pwchange" role="form" method="post" autocomplete="off">
263 <div class="form-group">
264 <label class="control-label col-sm-3" for="user_new_pass"><?=$lang['user']['new_password'];?> (<a href="#" class="generate_password"><?=$lang['user']['generate'];?></a>)</label>
265 <div class="col-sm-5">
266 <input type="password" data-pwgen-field="true" data-hibp="true" class="form-control" name="user_new_pass" autocomplete="new-password" required>
267 </div>
268 </div>
269 <div class="form-group">
270 <label class="control-label col-sm-3" for="user_new_pass2"><?=$lang['user']['new_password_repeat'];?></label>
271 <div class="col-sm-5">
272 <input type="password" data-pwgen-field="true" class="form-control" name="user_new_pass2" autocomplete="new-password" required>
273 <p class="help-block"><?=$lang['user']['new_password_description'];?></p>
274 </div>
275 </div>
276 <hr>
277 <div class="form-group">
278 <label class="control-label col-sm-3" for="user_old_pass"><?=$lang['user']['password_now'];?></label>
279 <div class="col-sm-5">
280 <input type="password" class="form-control" name="user_old_pass" autocomplete="off" required>
281 </div>
282 </div>
283 <div class="form-group">
284 <div class="col-sm-offset-3 col-sm-9">
285 <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="pwchange" data-item="null" data-api-url='edit/self' data-api-attr='{}' href="#"><?=$lang['user']['change_password'];?></button>
286 </div>
287 </div>
288 </form>
289 </div>
290 </div>
291 </div>
292</div><!-- pw change modal -->
293<!-- pw change modal -->
294<div class="modal fade" id="tempAliasModal" tabindex="-1" role="dialog" aria-labelledby="tempAliasModalLabel">
295 <div class="modal-dialog" role="document">
296 <div class="modal-content">
Matthias Andreas Benkardb382b102021-01-02 15:32:21 +0100297 <div class="modal-body">
298 <form class="form-horizontal" data-cached-form="false" data-id="pwchange" role="form" method="post" autocomplete="off">
299 <div class="form-group">
300 <label class="control-label col-sm-3" for="user_new_pass"><?=$lang['user']['new_password'];?> (<a href="#" class="generate_password"><?=$lang['user']['generate'];?></a>)</label>
301 <div class="col-sm-5">
302 <input type="password" data-pwgen-field="true" data-hibp="true" class="form-control" name="user_new_pass" autocomplete="new-password" required>
303 </div>
304 </div>
305 <div class="form-group">
306 <label class="control-label col-sm-3" for="user_new_pass2"><?=$lang['user']['new_password_repeat'];?></label>
307 <div class="col-sm-5">
308 <input type="password" data-pwgen-field="true" class="form-control" name="user_new_pass2" autocomplete="new-password" required>
309 <p class="help-block"><?=$lang['user']['new_password_description'];?></p>
310 </div>
311 </div>
312 <hr>
313 <div class="form-group">
314 <label class="control-label col-sm-3" for="user_old_pass"><?=$lang['user']['password_now'];?></label>
315 <div class="col-sm-5">
316 <input type="password" class="form-control" name="user_old_pass" autocomplete="off" required>
317 </div>
318 </div>
319 <div class="form-group">
320 <div class="col-sm-offset-3 col-sm-9">
Matthias Andreas Benkard7b2a3a12021-08-16 10:57:25 +0200321 <button class="btn btn-xs-lg visible-xs-block visible-sm-inline visible-md-inline visible-lg-inline btn-success" data-action="edit_selected" data-id="pwchange" data-item="null" data-api-url='edit/self' data-api-attr='{}' href="#"><?=$lang['user']['change_password'];?></button>
Matthias Andreas Benkardb382b102021-01-02 15:32:21 +0100322 </div>
323 </div>
324 </form>
325 </div>
326 </div>
327 </div>
328</div><!-- pw change modal -->
329<!-- sieve filter modal -->
330<div class="modal fade" id="userFilterModal" tabindex="-1" role="dialog">
331 <div class="modal-dialog" role="document">
332 <div class="modal-content">
333 <div class="modal-header">
334 <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span></button>
335 <h3 class="modal-title"><?=$lang['user']['active_sieve'];?></h3>
336 </div>
337 <div class="modal-body">
338 <pre id="user_sieve_filter"></pre>
339 </div>
340 </div>
341 </div>
342</div><!-- sieve filter modal -->