Completed
Push — development ( d4639d...48228b )
by Nils
08:04
created

admin.settings.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
/**
3
 *
4
 * @file          admin.settings.php
5
 * @author        Nils Laumaillé
6
 * @version       2.1.27
7
 * @copyright     (c) 2009-2017 Nils Laumaillé
8
 * @licensing     GNU AFFERO GPL 3.0
9
 * @link          http://www.teampass.net
10
 *
11
 * This library is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14
 */
15
16
if (!isset($_SESSION['CPM']) || $_SESSION['CPM'] != 1 ||
17
    !isset($_SESSION['user_id']) || empty($_SESSION['user_id']) ||
18
    !isset($_SESSION['key']) || empty($_SESSION['key'])
19
) {
20
    die('Hacking attempt...');
21
}
22
23
// Load config
24 View Code Duplication
if (file_exists('../includes/config/tp.config.php')) {
25
    require_once '../includes/config/tp.config.php';
26
} elseif (file_exists('./includes/config/tp.config.php')) {
27
    require_once './includes/config/tp.config.php';
28
} else {
29
    throw new Exception("Error file '/includes/config/tp.config.php' not exists", 1);
30
}
31
32
/* do checks */
33
require_once $SETTINGS['cpassman_dir'].'/sources/checks.php';
34 View Code Duplication
if (!checkUser($_SESSION['user_id'], $_SESSION['key'], curPage())) {
35
    $_SESSION['error']['code'] = ERR_NOT_ALLOWED; //not allowed page
36
    include $SETTINGS['cpassman_dir'].'/error.php';
37
    exit();
38
}
39
40
echo '
41
<input type="hidden" id="user_token" value="" />
42
<div style="margin-top:10px;">
43
    <form name="form_settings" method="post" action="">';
44
// Main div for TABS
45
echo '
46
        <div style="width:900px;margin:auto; line-height:20px; padding:10px;" id="tabs">';
47
// Tabs menu
48
echo '
49
            <ul>
50
                <li><a href="#tabs-1">'.$LANG['admin_settings_title'].'</a></li>
51
                <li><a href="#tabs-3">'.$LANG['admin_misc_title'].'</a></li>
52
                <li><a href="#tabs-7">'.$LANG['admin_upload_title'].'</a></li>
53
                <li><a href="#tabs-2">'.$LANG['admin_actions_title'].'</a></li>
54
                <li><a href="#tabs-4">'.$LANG['admin_ldap_menu'].'</a></li>
55
                <li><a href="#tabs-5">'.$LANG['admin_backups'].'</a></li>
56
                <li><a href="#tabs-6">'.$LANG['admin_emails'].'</a></li>
57
                <li><a href="admin.settings_categories.php">'.$LANG['categories'].'</a></li>
58
                <li><a href="admin.settings_api.php">'.$LANG['admin_api'].'</a></li>
59
                <li><a href="admin.settings_duo.php">'.$LANG['admin_2factor_authentication_tab'].'</a></li>
60
            </ul>';
61
// --------------------------------------------------------------------------------
62
// TAB Né1
63
echo '
64
            <div id="tabs-1">
65
                <table border="0">';
66
// cpassman_dir
67
echo '
68
                <tr style="margin-bottom:3px">
69
                    <td>
70
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
71
                        <label for="cpassman_dir">'.$LANG['admin_misc_cpassman_dir'].'</label>
72
                    </td>
73
                    <td>
74
                        <input type="text" size="80" id="cpassman_dir" name="cpassman_dir" value="', isset($SETTINGS['cpassman_dir']) ? $SETTINGS['cpassman_dir'] : '', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
75
                    </td>
76
                </tr>';
77
// cpassman_url
78
echo '
79
                <tr style="margin-bottom:3px">
80
                    <td>
81
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
82
                        <label for="cpassman_url">'.$LANG['admin_misc_cpassman_url'].'</label>
83
                    </td>
84
                    <td>
85
                        <input type="text" size="80" id="cpassman_url" name="cpassman_url" value="', isset($SETTINGS['cpassman_url']) ? $SETTINGS['cpassman_url'] : '', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
86
                    </td>
87
                </tr>';
88
// path_to_upload_folder
89
echo '
90
                <tr style="margin-bottom:3px">
91
                    <td>
92
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
93
                        <label for="path_to_upload_folder">'.$LANG['admin_path_to_upload_folder'].'</label>
94
                        &nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_path_to_upload_folder_tip']), ENT_QUOTES).'"></i>
95
                    </td>
96
                    <td>
97
                        <input type="text" size="80" id="path_to_upload_folder" name="path_to_upload_folder" value="', isset($SETTINGS['path_to_upload_folder']) ? $SETTINGS['path_to_upload_folder'] : $SETTINGS['cpassman_dir'].'/upload', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
98
                    </td>
99
                </tr>';
100
// url_to_upload_folder
101
echo '
102
                <tr style="margin-bottom:3px">
103
                    <td>
104
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
105
                        <label for="url_to_upload_folder">'.$LANG['admin_url_to_upload_folder'].'</label>
106
                    </td>
107
                    <td>
108
                        <input type="text" size="80" id="url_to_upload_folder" name="url_to_upload_folder" value="', isset($SETTINGS['url_to_upload_folder']) ? $SETTINGS['url_to_upload_folder'] : $SETTINGS['cpassman_url'].'/upload', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
109
                    </td>
110
                </tr>';
111
// path_to_files_folder
112
echo '
113
                <tr style="margin-bottom:3px">
114
                    <td>
115
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
116
                        <label for="path_to_files_folder">'.$LANG['admin_path_to_files_folder'].'</label>
117
                        &nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_path_to_files_folder_tip']), ENT_QUOTES).'"></i>
118
                    </td>
119
                    <td>
120
                        <input type="text" size="80" id="path_to_files_folder" name="path_to_files_folder" value="', isset($SETTINGS['path_to_files_folder']) ? $SETTINGS['path_to_files_folder'] : $SETTINGS['cpassman_dir'].'/files', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
121
                    </td>
122
                </tr>';
123
// url_to_files_folder
124
echo '
125
                <tr style="margin-bottom:3px">
126
                    <td>
127
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
128
                        <label for="url_to_files_folder">'.$LANG['admin_url_to_files_folder'].'</label>
129
                    </td>
130
                    <td>
131
                        <input type="text" size="80" id="url_to_files_folder" name="url_to_files_folder" value="', isset($SETTINGS['url_to_files_folder']) ? $SETTINGS['url_to_files_folder'] : $SETTINGS['cpassman_url'].'/files', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
132
                    </td>
133
                </tr>';
134
// Favicon
135
echo '
136
                <tr style="margin-bottom:3px">
137
                    <td>
138
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
139
                        <label for="favicon">'.$LANG['admin_misc_favicon'].'</label>
140
                    </td>
141
                    <td>
142
                        <input type="text" size="80" id="favicon" name="favicon" value="', isset($SETTINGS['favicon']) ? $SETTINGS['favicon'] : '', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
143
                    </td>
144
                </tr>';
145
// custom_logo
146
echo '
147
                <tr style="margin-bottom:3px">
148
                    <td>
149
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
150
                        <label for="cpassman_dir">'.$LANG['admin_misc_custom_logo'].'</label>
151
                    </td>
152
                    <td>
153
                        <input type="text" size="80" id="custom_logo" name="custom_logo" value="', isset($SETTINGS['custom_logo']) ? $SETTINGS['custom_logo'] : '', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
154
                    </td>
155
                </tr>';
156
// custom_login_text
157
echo '
158
            <tr style="margin-bottom:3px">
159
                <td>
160
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
161
                    <label for="cpassman_dir">'.$LANG['admin_misc_custom_login_text'].'</label>
162
                </td>
163
                <td>
164
                    <input type="text" size="80" id="custom_login_text" name="custom_login_text" value="', isset($SETTINGS['custom_login_text']) ? $SETTINGS['custom_login_text'] : '', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
165
                </td>
166
            </tr>';
167
168
echo '
169
            </table>';
170
171
echo '
172
            <table>';
173
174
echo '<tr><td colspan="3"><hr /></td></tr>';
175
// Maintenance mode
176
echo '
177
            <tr style="margin-bottom:3px">
178
            <td>
179
                  <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
180
                  <label>' .
181
$LANG['settings_maintenance_mode'].'
182
                      &nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_maintenance_mode_tip']), ENT_QUOTES).'"></i>
183
                  </label>
184
            </td>
185
            <td>
186
                <div class="toggle toggle-modern" id="maintenance_mode" data-toggle-on="', isset($SETTINGS['maintenance_mode']) && $SETTINGS['maintenance_mode'] == 1 ? 'true' : 'false', '"></div><input type="hidden" name="maintenance_mode_input" id="maintenance_mode_input" value="', isset($SETTINGS['maintenance_mode']) && $SETTINGS['maintenance_mode'] == 1 ? '1' : '0', '" />
187
            </td>
188
            </tr>';
189
// default_session_expiration_time
190
echo '
191
            <tr style="margin-bottom:3px">
192
            <td>
193
                  <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
194
                  <label>'.$LANG['settings_default_session_expiration_time'].'</label>
195
            </td>
196
            <td>
197
                <input type="text" size="15" id="default_session_expiration_time" name="default_session_expiration_time" value="', isset($SETTINGS['default_session_expiration_time']) ? $SETTINGS['default_session_expiration_time'] : "60", '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
198
             </td>
199
            </tr>';
200
echo '<tr><td colspan="3"><hr /></td></tr>';
201
//Enable SSL STS
202
echo '
203
            <tr style="margin-bottom:3px">
204
                <td>
205
                      <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
206
                      <label>' .
207
                            $LANG['settings_enable_sts'].'
208
                          &nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_enable_sts_tip']), ENT_QUOTES).'"></i>
209
                      </label>
210
                </td>
211
                <td>
212
                    <div class="toggle toggle-modern" id="enable_sts" data-toggle-on="', isset($SETTINGS['enable_sts']) && $SETTINGS['enable_sts'] == 1 ? 'true' : 'false', '"></div><input type="hidden" name="enable_sts_input" id="enable_sts_input" value="', isset($SETTINGS['enable_sts']) && $SETTINGS['enable_sts'] == 1 ? '1' : '0', '" />
213
                </td>
214
            </tr>';
215
216
echo '<tr><td colspan="3"><hr /></td></tr>';
217
//Proxy
218
echo '
219
            <tr style="margin-bottom:3px">
220
                <td>
221
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
222
                    <label for="proxy_ip">'.$LANG['admin_proxy_ip'].'</label>
223
                    &nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_proxy_ip_tip']), ENT_QUOTES).'"></i>
224
                </td>
225
                <td>
226
                    <input type="text" size="15" id="proxy_ip" name="proxy_ip" value="', isset($SETTINGS['proxy_ip']) ? $SETTINGS['proxy_ip'] : "", '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
227
                </td>
228
            </tr>
229
            <tr style="margin-bottom:3px">
230
                <td>
231
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
232
                    <label for="proxy_port">'.$LANG['admin_proxy_port'].'</label>
233
                    &nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_proxy_port_tip']), ENT_QUOTES).'"></i>
234
                </td>
235
                <td>
236
                    <input type="text" size="10" id="proxy_port" name="proxy_port" value="', isset($SETTINGS['proxy_port']) ? $SETTINGS['proxy_port'] : "", '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
237
                </td>
238
            </tr>';
239
240
241
echo '<tr><td colspan="3"><hr /></td></tr>';
242
// pwd_maximum_length
243
echo '
244
            <tr style="margin-bottom:3px">
245
                <td>
246
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
247
                    <label for="pwd_maximum_length">'.$LANG['admin_pwd_maximum_length'].'</label>
248
                    &nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_pwd_maximum_length_tip']), ENT_QUOTES).'"></i>
249
                </td>
250
                <td>
251
                    <input type="text" size="10" id="pwd_maximum_length" name="pwd_maximum_length" value="', isset($SETTINGS['pwd_maximum_length']) ? $SETTINGS['pwd_maximum_length'] : 40, '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
252
                </td>
253
            </tr>';
254
255
echo '<tr><td colspan="3"><hr /></td></tr>';
256
// TIMEZONE
257
// get list of all timezones
258
$zones = timezone_identifiers_list();
259
echo '
260
                <tr style="margin-bottom:3px">
261
                    <td>
262
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
263
                        <label for="timezone">'.$LANG['timezone_selection'].'</label>
264
                    </td>
265
                    <td>
266
                        <select id="timezone" name="timezone" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));">
267
                            <option value="">-- '.$LANG['select'].' --</option>';
268
foreach ($zones as $zone) {
269
    echo '
270
    <option value="'.$zone.'"', isset($SETTINGS['timezone']) && $SETTINGS['timezone'] == $zone ? ' selected="selected"' : '', '>'.$zone.'</option>';
271
}
272
echo '
273
                        </select>
274
                    </td>
275
                </tr>';
276
// DATE format
277
echo '
278
                <tr style="margin-bottom:3px">
279
                    <td>
280
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
281
                        <label for="date_format">'.$LANG['date_format'].'</label>
282
                    </td>
283
                    <td>
284
                        <select id="date_format" name="date_format" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));">
285
                            <option value="d/m/Y"', !isset($SETTINGS['date_format']) || $SETTINGS['date_format'] == "d/m/Y" ? ' selected="selected"' : "", '>d/m/Y</option>
286
                            <option value="m/d/Y"', $SETTINGS['date_format'] == "m/d/Y" ? ' selected="selected"' : "", '>m/d/Y</option>
287
                            <option value="d-M-Y"', $SETTINGS['date_format'] == "d-M-Y" ? ' selected="selected"' : "", '>d-M-Y</option>
288
                            <option value="d/m/y"', $SETTINGS['date_format'] == "d/m/y" ? ' selected="selected"' : "", '>d/m/y</option>
289
                            <option value="m/d/y"', $SETTINGS['date_format'] == "m/d/y" ? ' selected="selected"' : "", '>m/d/y</option>
290
                            <option value="d-M-y"', $SETTINGS['date_format'] == "d-M-y" ? ' selected="selected"' : "", '>d-M-y</option>
291
                            <option value="d-m-y"', $SETTINGS['date_format'] == "d-m-y" ? ' selected="selected"' : "", '>d-m-y</option>
292
                            <option value="Y-m-d"', $SETTINGS['date_format'] == "Y-m-d" ? ' selected="selected"' : "", '>Y-m-d</option>
293
                        </select>
294
                    </td>
295
                </tr>';
296
// TIME format
297
echo '
298
                <tr style="margin-bottom:3px">
299
                    <td>
300
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
301
                        <label for="time_format">'.$LANG['time_format'].'</label>
302
                    </td>
303
                    <td>
304
                        <select id="time_format" name="time_format" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));">
305
                            <option value="H:i:s"', !isset($SETTINGS['time_format']) || $SETTINGS['time_format'] == "H:i:s" ? ' selected="selected"' : "", '>H:i:s</option>
306
                            <option value="h:m:s a"', $SETTINGS['time_format'] == "h:i:s a" ? ' selected="selected"' : "", '>h:i:s a</option>
307
                            <option value="g:i:s a"', $SETTINGS['time_format'] == "g:i:s a" ? ' selected="selected"' : "", '>g:i:s a</option>
308
                            <option value="G:i:s"', $SETTINGS['time_format'] == "G:i:s" ? ' selected="selected"' : "", '>G:i:s</option>
309
                        </select>
310
                    </td>
311
                </tr>';
312
313
echo '<tr><td colspan="3"><hr /></td></tr>';
314
// LANGUAGES
315
$zones = timezone_identifiers_list();
316
echo '
317
                <tr style="margin-bottom:3px">
318
                    <td>
319
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
320
                        <label for="default_language">'.$LANG['settings_default_language'].'</label>
321
                    </td>
322
                    <td>
323
                        <select id="default_language" name="default_language" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));">
324
                            <option value="">-- '.$LANG['select'].' --</option>';
325
foreach ($languagesList as $lang) {
326
    echo '
327
    <option value="'.$lang.'"', isset($SETTINGS['default_language']) && $SETTINGS['default_language'] == $lang ? ' selected="selected"' : '', '>'.$lang.'</option>';
328
}
329
echo '
330
                        </select>
331
                    </td>
332
                </tr>';
333
334
echo '<tr><td colspan="3"><hr /></td></tr>';
335
// Number of used pw
336
echo '
337
                <tr style="margin-bottom:3px">
338
                    <td>
339
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
340
                        <label for="number_of_used_pw">'.$LANG['number_of_used_pw'].'</label>
341
                    </td>
342
                    <td>
343
                        <input type="text" size="10" id="number_of_used_pw" name="number_of_used_pw" value="', isset($SETTINGS['number_of_used_pw']) ? $SETTINGS['number_of_used_pw'] : '5', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
344
                    </td>
345
                </tr>';
346
// Number days before changing pw
347
echo '
348
                <tr style="margin-bottom:3px">
349
                    <td>
350
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
351
                        <label for="pw_life_duration">'.$LANG['pw_life_duration'].'</label>
352
                    </td>
353
                    <td>
354
                        <input type="text" size="10" id="pw_life_duration" name="pw_life_duration" value="', isset($SETTINGS['pw_life_duration']) ? $SETTINGS['pw_life_duration'] : '5', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
355
                    </td>
356
                </tr>';
357
// Number of bad authentication tentations before disabling user
358
echo '
359
                <tr style="margin-bottom:3px">
360
                    <td>
361
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
362
                        <label for="nb_bad_authentication">'.$LANG['nb_false_login_attempts'].'</label>
363
                    </td>
364
                    <td>
365
                        <input type="text" size="10" id="nb_bad_authentication" name="nb_bad_authentication" value="', isset($SETTINGS['nb_bad_authentication']) ? $SETTINGS['nb_bad_authentication'] : '0', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
366
                    </td>
367
                </tr>';
368
369
echo '<tr><td colspan="3"><hr /></td></tr>';
370
// Enable log connections
371
echo '
372
                <tr><td>
373
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
374
                    <label>'.$LANG['settings_log_connections'].'</label>
375
                    </td>
376
                    <td>
377
                        <div class="toggle toggle-modern" id="log_connections" data-toggle-on="', isset($SETTINGS['log_connections']) && $SETTINGS['log_connections'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="log_connections_input" name="log_connections_input" value="', isset($SETTINGS['log_connections']) && $SETTINGS['log_connections'] == 1 ? '1' : '0', '" />
378
                    </td>
379
                </tr>';
380
// Enable log accessed
381
echo '
382
                <tr><td>
383
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
384
                    <label>'.$LANG['settings_log_accessed'].'</label>
385
                    </td><td>
386
                        <div class="toggle toggle-modern" id="log_accessed" data-toggle-on="', isset($SETTINGS['log_accessed']) && $SETTINGS['log_accessed'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="log_accessed_input" name="log_accessed_input" value="', isset($SETTINGS['log_accessed']) && $SETTINGS['log_accessed'] == 1 ? '1' : '0', '" />
387
                </td>
388
                </tr>';
389
390
echo '<tr><td colspan="3"><hr /></td></tr>';
391
// enable PF
392
echo '
393
            <tr><td>
394
                <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
395
                <label>'.$LANG['enable_personal_folder_feature'].'</label>
396
                <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['enable_personal_folder_feature_tip']), ENT_QUOTES).'"></i></span>
397
            </td><td>
398
                <div class="toggle toggle-modern" id="enable_pf_feature" data-toggle-on="', isset($SETTINGS['enable_pf_feature']) && $SETTINGS['enable_pf_feature'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="enable_pf_feature_input" name="enable_pf_feature_input" value="', isset($SETTINGS['enable_pf_feature']) && $SETTINGS['enable_pf_feature'] == 1 ? '1' : '0', '" />
399
            </td></tr>';
400
401
// enable PF cookie for Personal SALTKEY
402
echo '
403
            <tr><td>
404
                <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
405
                <label>'.$LANG['enable_personal_saltkey_cookie'].'</label>
406
            </td><td>
407
                <div class="toggle toggle-modern" id="enable_personal_saltkey_cookie" data-toggle-on="', isset($SETTINGS['enable_personal_saltkey_cookie']) && $SETTINGS['enable_personal_saltkey_cookie'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="enable_personal_saltkey_cookie_input" name="enable_personal_saltkey_cookie_input" value="', isset($SETTINGS['enable_personal_saltkey_cookie']) && $SETTINGS['enable_personal_saltkey_cookie'] == 1 ? '1' : '0', '" />
408
            </td></tr>';
409
// PF cookie for Personal SALTKEY duration
410
echo '
411
            <tr><td>
412
                <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
413
                <label>'.$LANG['personal_saltkey_cookie_duration'].'</label>
414
            </td><td>
415
            <div class="div_radio">
416
                <input type="text" size="10" id="personal_saltkey_cookie_duration" name="personal_saltkey_cookie_duration" value="', isset($SETTINGS['personal_saltkey_cookie_duration']) ? $SETTINGS['personal_saltkey_cookie_duration'] : '31', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
417
            </div>
418
            </td></tr>';
419
420
// Personal SALTKEY level
421
echo '
422
            <tr><td>
423
                <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
424
                <label>'.$LANG['personal_saltkey_security_level'].'</label>
425
            </td><td>
426
            <div class="div_radio">
427
                <select id="personal_saltkey_security_level" name="personal_saltkey_security_level" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));">';
428 View Code Duplication
foreach ($SETTINGS_EXT['pwComplexity'] as $complex) {
429
    echo '<option value="'.$complex[0].'"', isset($SETTINGS['personal_saltkey_security_level']) && $SETTINGS['personal_saltkey_security_level'] == $complex[0] ? ' selected="selected"' : '', '>'.$complex[1].'</option>';
430
}
431
echo '
432
                        </select>
433
            </div>
434
            </td></tr>';
435
436
437
echo '<tr><td colspan="3"><hr /></td></tr>';
438
// Attachments encryption strategy
439
440
echo '
441
                    <tr><td>
442
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
443
                        <label>
444
                            '.$LANG['settings_attachments_encryption'].'
445
                            <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_attachments_encryption_tip']), ENT_QUOTES).'"></i>&nbsp;</span>
446
                        </label>
447
                        </td><td>
448
                            <div class="toggle toggle-modern" id="enable_attachment_encryption" data-toggle-on="', isset($SETTINGS['enable_attachment_encryption']) && $SETTINGS['enable_attachment_encryption'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="enable_attachment_encryption_input" name="enable_attachment_encryption_input" value="', isset($SETTINGS['enable_attachment_encryption']) && $SETTINGS['enable_attachment_encryption'] == 1 ? '1' : '0', '" />
449
                    </td></tr>';
450
451
echo '<tr><td colspan="3"><hr /></td></tr>';
452
// Enable KB
453
echo '
454
                    <tr><td>
455
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
456
                        <label>
457
                            '.$LANG['settings_kb'].'
458
                            <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_kb_tip']), ENT_QUOTES).'"></i></span>
459
                        </label>
460
                        </td><td>
461
                            <div class="toggle toggle-modern" id="enable_kb" data-toggle-on="', isset($SETTINGS['enable_kb']) && $SETTINGS['enable_kb'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="enable_kb_input" name="enable_kb_input" value="', isset($SETTINGS['enable_kb']) && $SETTINGS['enable_kb'] == 1 ? '1' : '0', '" />
462
                    </td></tr>';
463
464
echo '<tr><td colspan="3"><hr /></td></tr>';
465
// Enable SUGGESTION
466
echo '
467
                    <tr><td>
468
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
469
                        <label>
470
                            '.$LANG['settings_suggestion'].'
471
                            <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_suggestion_tip']), ENT_QUOTES).'"></i></span>
472
                        </label>
473
                        </td><td>
474
                            <div class="toggle toggle-modern" id="enable_suggestion" data-toggle-on="', isset($SETTINGS['enable_suggestion']) && $SETTINGS['enable_suggestion'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="enable_suggestion_input" name="enable_suggestion_input" value="', isset($SETTINGS['enable_suggestion']) && $SETTINGS['enable_suggestion'] == 1 ? '1' : '0', '" />
475
                    </td></tr>';
476
477
// Enable GET TP Information
478
echo '
479
                    <tr><td>
480
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
481
                        <label>
482
                            '.$LANG['settings_get_tp_info'].'
483
                            <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_get_tp_info_tip']), ENT_QUOTES).'"></i></span>
484
                        </label>
485
                        </td><td>
486
                            <div class="toggle toggle-modern" id="get_tp_info" data-toggle-on="', isset($SETTINGS['get_tp_info']) && $SETTINGS['get_tp_info'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="get_tp_info_input" name="get_tp_info_input" value="', isset($SETTINGS['get_tp_info']) && $SETTINGS['get_tp_info'] == 1 ? '1' : '0', '" />
487
                    </td></tr>';
488
489
echo '
490
                <tr><td colspan="3"><hr /></td></tr>
491
                </table>
492
            </div>';
493
// --------------------------------------------------------------------------------
494
// --------------------------------------------------------------------------------
495
// TAB Né2
496
echo '
497
            <div id="tabs-2">';
498
// Rebuild Config file
499
echo '
500
                <div style="margin-bottom:3px">
501
                    <span class="fa-stack tip" title="'.htmlentities(strip_tags($LANG['admin_action_db_backup_start_tip']), ENT_QUOTES).'" onclick="LaunchAdminActions(\'admin_action_rebuild_config_file\')" style="cursor:pointer;">
502
                        <i class="fa fa-square fa-stack-2x"></i>
503
                        <i class="fa fa-cogs fa-stack-1x fa-inverse"></i>
504
                    </span>
505
                    <label>'.$LANG['rebuild_config_file'].'</label>
506
                    <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['rebuild_config_file_tip']), ENT_QUOTES).'"></i></span>
507
                    <span id="result_admin_rebuild_config_file" style="margin-left:10px;display:none;"></span>
508
                </div>';
509
// Update Personal folders for users
510
echo '
511
                <div style="margin-bottom:3px">
512
                    <span class="fa-stack tip" title="'.htmlentities(strip_tags($LANG['admin_action_db_backup_start_tip']), ENT_QUOTES).'" onclick="LaunchAdminActions(\'admin_action_check_pf\')" style="cursor:pointer;">
513
                        <i class="fa fa-square fa-stack-2x"></i>
514
                        <i class="fa fa-cogs fa-stack-1x fa-inverse"></i>
515
                    </span>
516
                    <label>'.$LANG['admin_action_check_pf'].'</label>
517
                    <span id="result_admin_action_check_pf" style="margin-left:10px;display:none;"></span>
518
                </div>';
519
// Clean DB with orphan items
520
echo '
521
                <div style="margin-bottom:3px">
522
                    <span class="fa-stack tip" title="'.htmlentities(strip_tags($LANG['admin_action_db_backup_start_tip']), ENT_QUOTES).'" onclick="LaunchAdminActions(\'admin_action_db_clean_items\')" style="cursor:pointer;">
523
                        <i class="fa fa-square fa-stack-2x"></i>
524
                        <i class="fa fa-cogs fa-stack-1x fa-inverse"></i>
525
                    </span>
526
                    <label>'.$LANG['admin_action_db_clean_items'].'</label>
527
                    <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_action_db_clean_items_tip']), ENT_QUOTES).'"></i></span>
528
                    <span id="result_admin_action_db_clean_items" style="margin-left:10px;"></span>
529
                </div>';
530
// Optimize the DB
531
echo '
532
                <div style="margin-bottom:3px">
533
                    <span class="fa-stack tip" title="'.htmlentities(strip_tags($LANG['admin_action_db_backup_start_tip']), ENT_QUOTES).'" onclick="LaunchAdminActions(\'admin_action_db_optimize\')" style="cursor:pointer;">
534
                        <i class="fa fa-square fa-stack-2x"></i>
535
                        <i class="fa fa-cogs fa-stack-1x fa-inverse"></i>
536
                    </span>
537
                    <label>'.$LANG['admin_action_db_optimize'].'</label>
538
                    <span id="result_admin_action_db_optimize" style="margin-left:10px;"></span>
539
                </div>';
540
// Purge old files
541
echo '
542
                <div style="margin-bottom:3px">
543
                    <span class="fa-stack tip" title="'.htmlentities(strip_tags($LANG['admin_action_db_backup_start_tip']), ENT_QUOTES).'" onclick="LaunchAdminActions(\'admin_action_purge_old_files\')" style="cursor:pointer;">
544
                        <i class="fa fa-square fa-stack-2x"></i>
545
                        <i class="fa fa-cogs fa-stack-1x fa-inverse"></i>
546
                    </span>
547
                    <label>'.$LANG['admin_action_purge_old_files'].'</label>
548
                    <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_action_purge_old_files_tip']), ENT_QUOTES).'"></i></span>
549
                    <span id="result_admin_action_purge_old_files" style="margin-left:10px;"></span>
550
                </div>';
551
// Reload Cache Table
552
echo '
553
                <div style="margin-bottom:3px">
554
                    <span class="fa-stack tip" title="'.htmlentities(strip_tags($LANG['admin_action_db_backup_start_tip']), ENT_QUOTES).'" onclick="LaunchAdminActions(\'admin_action_reload_cache_table\')" style="cursor:pointer;">
555
                        <i class="fa fa-square fa-stack-2x"></i>
556
                        <i class="fa fa-cogs fa-stack-1x fa-inverse"></i>
557
                    </span>
558
                    <label>'.$LANG['admin_action_reload_cache_table'].'</label>
559
                    <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_action_reload_cache_table_tip']), ENT_QUOTES).'"></i></span>
560
                    <span id="result_admin_action_reload_cache_table" style="margin-left:10px;"></span>
561
                </div>';
562
// Change main SALT key
563
echo '
564
                <div style="margin-bottom:3px">
565
                    <span class="fa-stack tip" title="'.htmlentities(strip_tags($LANG['admin_action_db_backup_start_tip']), ENT_QUOTES).'" onclick="confirmChangingSk()" style="cursor:pointer;">
566
                        <i class="fa fa-square fa-stack-2x"></i>
567
                        <i class="fa fa-cogs fa-stack-1x fa-inverse"></i>
568
                    </span>
569
                    <label>'.$LANG['admin_action_change_salt_key'].'</label>
570
                    <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_action_change_salt_key_tip']), ENT_QUOTES).'"></i></span>
571
                        <br/>
572
                        <div id="changeMainSaltKey_message" class="ui-widget-content ui-state-focus ui-corner-all" style="padding:10px; display:none; margin-left:30px; text-align:center;"></div>
573
                    </span>
574
                    <input type="hidden" id="changeMainSaltKey_itemsCount" />
575
                </div>';
576
577
// Encrypt / decrypt attachments
578
echo '
579
                <div style="margin-bottom:3px">
580
                    <span class="fa-stack tip" title="'.htmlentities(strip_tags($LANG['admin_action_db_backup_start_tip']), ENT_QUOTES).'" onclick="startFileEncDecyption()" style="cursor:pointer;">
581
                        <i class="fa fa-square fa-stack-2x"></i>
582
                        <i class="fa fa-cogs fa-stack-1x fa-inverse"></i>
583
                    </span>
584
                    '.$LANG['admin_action_attachments_cryption'].'
585
                    <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_action_attachments_cryption_tip']), ENT_QUOTES).'"></i></span>
586
                    <br/>
587
                    <div id="admin_action_attachments_cryption_selection" class="ui-widget-content ui-state-focus ui-corner-all" style="padding:10px; display:none; margin-left:30px; text-align:center;">
588
                        '.$LANG['what_action_to_perform'].':&nbsp;
589
                        <span class="div_radio" style="">
590
                            <input type="radio" id="attachments_cryption_radio1" name="attachments_cryption" value="encrypt" /><label for="attachments_cryption_radio1">'.$LANG['encrypt'].'</label>
591
                            <input type="radio" id="attachments_cryption_radio2" name="attachments_cryption" value="decrypt" /><label for="attachments_cryption_radio2">'.$LANG['decrypt'].'</label>
592
                        </span>
593
                        &nbsp;&nbsp;<a href="#" onclick="LaunchAdminActions(\'admin_action_attachments_cryption\')">'.addslashes($LANG['admin_action_db_backup_start_tip']).'</a>
594
                        <div id="result_admin_action_attachments_cryption" class="" style="padding:10px; display:none; margin-left:30px; text-align:center;"></div>
595
                    </div>
596
                </div>';
597
598
echo '
599
            </div>';
600
// --------------------------------------------------------------------------------
601
// --------------------------------------------------------------------------------
602
// TAB N°3
603
echo '
604
            <div id="tabs-3">
605
                <table width="100%">';
606
// After how long, edition is considered as failed or finished
607
echo '
608
                <tr><td>
609
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
610
                    <label>'.$LANG['settings_delay_for_item_edition'].
611
    '<span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_delay_for_item_edition_tip']), ENT_QUOTES).'"></i></span>
612
                    </label>
613
                    </td><td>
614
                    <input type="text" size="5" id="delay_item_edition" name="delay_item_edition" value="', isset($SETTINGS['delay_item_edition']) ? $SETTINGS['delay_item_edition'] : '0', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
615
                </td></tr>';
616
// OTV - otv_is_enabled
617
echo '
618
                <tr><td>
619
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
620
                    <label>'.$LANG['otv_is_enabled'].'</label>
621
                    </td><td>
622
                        <div class="toggle toggle-modern" id="otv_is_enabled" data-toggle-on="', isset($SETTINGS['otv_is_enabled']) && $SETTINGS['otv_is_enabled'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="otv_is_enabled_input" name="otv_is_enabled_input" value="', isset($SETTINGS['otv_is_enabled']) && $SETTINGS['otv_is_enabled'] == 1 ? '1' : '0', '" />
623
                </td></tr>';
624
// Expired time for OTV - otv_expiration_period
625
echo '
626
                <tr><td>
627
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
628
                    <label>'.$LANG['settings_otv_expiration_period'].'</label>
629
                    </td><td>
630
                    <input type="text" size="5" id="otv_expiration_period" name="otv_expiration_period" value="', isset($SETTINGS['otv_expiration_period']) ? $SETTINGS['otv_expiration_period'] : '7', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
631
                </td></tr>';
632
633
echo '<tr><td colspan="3"><hr /></td></tr>';
634
// Managers can edit & delete items they are allowed to see
635
echo '
636
                <tr><td>
637
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
638
                    <label>'.$LANG['settings_manager_edit'].'</label>
639
                    </td><td>
640
                        <div class="toggle toggle-modern" id="manager_edit" data-toggle-on="', isset($SETTINGS['manager_edit']) && $SETTINGS['manager_edit'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="manager_edit_input" name="manager_edit_input" value="', isset($SETTINGS['manager_edit']) && $SETTINGS['manager_edit'] == 1 ? '1' : '0', '" />
641
                </td></tr>';
642
643
// Managers can move items they are allowed to see
644
echo '
645
                <tr><td>
646
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
647
                    <label>'.$LANG['settings_manager_move_item'].'</label>
648
                    </td><td>
649
                        <div class="toggle toggle-modern" id="manager_move_item" data-toggle-on="', isset($SETTINGS['manager_move_item']) && $SETTINGS['manager_move_item'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="manager_move_item_input" name="manager_move_item_input" value="', isset($SETTINGS['manager_move_item']) && $SETTINGS['manager_move_item'] == 1 ? '1' : '0', '" />
650
                </td></tr>';
651
652
echo '<tr><td colspan="3"><hr /></td></tr>';
653
// max items
654
echo '
655
                <tr><td>
656
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
657
                    <label for="max_last_items">'.$LANG['max_last_items'].'</label>
658
                    </td><td>
659
                    <input type="text" size="4" id="max_last_items" name="max_last_items" value="', isset($SETTINGS['max_latest_items']) ? $SETTINGS['max_latest_items'] : '', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
660
                </td></tr>';
661
662
echo '<tr><td colspan="3"><hr /></td></tr>';
663
// Duplicate folder
664
echo '
665
                <tr><td>
666
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
667
                    <label>'.$LANG['duplicate_folder'].'</label>
668
                    </td><td>
669
                        <div class="toggle toggle-modern" id="duplicate_folder" data-toggle-on="', isset($SETTINGS['duplicate_folder']) && $SETTINGS['duplicate_folder'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="duplicate_folder_input" name="duplicate_folder_input" value="', isset($SETTINGS['duplicate_folder']) && $SETTINGS['duplicate_folder'] == 1 ? '1' : '0', '" />
670
                </td></tr>';
671
// Duplicate item name
672
echo '
673
                <tr><td>
674
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
675
                    <label>'.$LANG['duplicate_item'].'</label>
676
                    </td><td>
677
                        <div class="toggle toggle-modern" id="duplicate_item" data-toggle-on="', isset($SETTINGS['duplicate_item']) && $SETTINGS['duplicate_item'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="duplicate_item_input" name="duplicate_item_input" value="', isset($SETTINGS['duplicate_item']) && $SETTINGS['duplicate_item'] == 1 ? '1' : '0', '" />
678
                </td></tr>';
679
// Duplicate item name in same folder - item_duplicate_in_same_folder
680
echo '
681
                <tr><td>
682
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
683
                    <label>'.$LANG['duplicate_item_in_folder'].'</label>
684
                    </td><td>
685
                        <div class="toggle toggle-modern" id="item_duplicate_in_same_folder" data-toggle-on="', isset($SETTINGS['item_duplicate_in_same_folder']) && $SETTINGS['item_duplicate_in_same_folder'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="item_duplicate_in_same_folder_input" name="item_duplicate_in_same_folder_input" value="', isset($SETTINGS['item_duplicate_in_same_folder']) && $SETTINGS['item_duplicate_in_same_folder'] == 1 ? '1' : '0', '" />
686
                </td></tr>';
687
// Enable show_only_accessible_folders
688
echo '
689
                <tr><td>
690
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
691
                    <label>
692
                        '.$LANG['show_only_accessible_folders'].'
693
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['show_only_accessible_folders_tip']), ENT_QUOTES).'"></i></span>
694
                    </label>
695
                    </td><td>
696
                        <div class="toggle toggle-modern" id="show_only_accessible_folders" data-toggle-on="', isset($SETTINGS['show_only_accessible_folders']) && $SETTINGS['show_only_accessible_folders'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="show_only_accessible_folders_input" name="show_only_accessible_folders_input" value="', isset($SETTINGS['show_only_accessible_folders']) && $SETTINGS['show_only_accessible_folders'] == 1 ? '1' : '0', '" />
697
                </td></tr>';
698
// Enable subfolder_rights_as_parent
699
echo '
700
                <tr><td>
701
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
702
                    <label>
703
                        '.$LANG['subfolder_rights_as_parent'].'
704
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['subfolder_rights_as_parent_tip']), ENT_QUOTES).'"></i></span>
705
                    </label>
706
                    </td><td>
707
                        <div class="toggle toggle-modern" id="subfolder_rights_as_parent" data-toggle-on="', isset($SETTINGS['subfolder_rights_as_parent']) && $SETTINGS['subfolder_rights_as_parent'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="subfolder_rights_as_parent_input" name="subfolder_rights_as_parent_input" value="', isset($SETTINGS['subfolder_rights_as_parent']) && $SETTINGS['subfolder_rights_as_parent'] == 1 ? '1' : '0', '" />
708
                </td></tr>';
709
// Enable create_item_without_password
710
echo '
711
                <tr><td>
712
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
713
                    <label>
714
                        '.$LANG['create_item_without_password'].'
715
                    </label>
716
                    </td><td>
717
                        <div class="toggle toggle-modern" id="create_item_without_password" data-toggle-on="', isset($SETTINGS['create_item_without_password']) && $SETTINGS['create_item_without_password'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="create_item_without_password_input" name="create_item_without_password_input" value="', isset($SETTINGS['create_item_without_password']) && $SETTINGS['create_item_without_password'] == 1 ? '1' : '0', '" />
718
                </td></tr>';
719
720
echo '<tr><td colspan="3"><hr /></td></tr>';
721
// enable FAVOURITES
722
echo '
723
                <tr><td>
724
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
725
                    <label>'.$LANG['enable_favourites'].'</label>
726
                    </td><td>
727
                        <div class="toggle toggle-modern" id="enable_favourites" data-toggle-on="', isset($SETTINGS['enable_favourites']) && $SETTINGS['enable_favourites'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="enable_favourites_input" name="enable_favourites_input" value="', isset($SETTINGS['enable_favourites']) && $SETTINGS['enable_favourites'] == 1 ? '1' : '0', '" />
728
                </td></tr>';
729
// enable USER can create folders
730
echo '
731
                <tr><td>
732
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
733
                    <label>'.$LANG['enable_user_can_create_folders'].'</label>
734
                    </td><td>
735
                        <div class="toggle toggle-modern" id="enable_user_can_create_folders" data-toggle-on="', isset($SETTINGS['enable_user_can_create_folders']) && $SETTINGS['enable_user_can_create_folders'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="enable_user_can_create_folders_input" name="enable_user_can_create_folders_input" value="', isset($SETTINGS['enable_user_can_create_folders']) && $SETTINGS['enable_user_can_create_folders'] == 1 ? '1' : '0', '" />
736
                </td></tr>';
737
// enable can_create_root_folder
738
echo '
739
                <tr><td>
740
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
741
                    <label>'.$LANG['setting_can_create_root_folder'].'</label>
742
                    </td><td>
743
                        <div class="toggle toggle-modern" id="can_create_root_folder" data-toggle-on="', isset($SETTINGS['can_create_root_folder']) && $SETTINGS['can_create_root_folder'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="can_create_root_folder_input" name="can_create_root_folder_input" value="', isset($SETTINGS['can_create_root_folder']) && $SETTINGS['can_create_root_folder'] == 1 ? '1' : '0', '" />
744
                </td></tr>';
745
// enable enable_massive_move_delete
746
echo '
747
                <tr><td>
748
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
749
                    <label>'.$LANG['enable_massive_move_delete'].'
750
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['enable_massive_move_delete_tip']), ENT_QUOTES).'"></i></span>
751
                    </label>
752
                    </td><td>
753
                        <div class="toggle toggle-modern" id="enable_massive_move_delete" data-toggle-on="', isset($SETTINGS['enable_massive_move_delete']) && $SETTINGS['enable_massive_move_delete'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="enable_massive_move_delete_input" name="enable_massive_move_delete_input" value="', isset($SETTINGS['enable_massive_move_delete']) && $SETTINGS['enable_massive_move_delete'] == 1 ? '1' : '0', '" />
754
                </td></tr>';
755
756
echo '<tr><td colspan="3"><hr /></td></tr>';
757
// Enable activate_expiration
758
echo '
759
                <tr><td>
760
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
761
                    <label>
762
                        '.$LANG['admin_setting_activate_expiration'].'
763
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_setting_activate_expiration_tip']), ENT_QUOTES).'"></i></span>
764
                    </label>
765
                    </td><td>
766
                        <div class="toggle toggle-modern" id="activate_expiration" data-toggle-on="', isset($SETTINGS['activate_expiration']) && $SETTINGS['activate_expiration'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="activate_expiration_input" name="activate_expiration_input" value="', isset($SETTINGS['activate_expiration']) && $SETTINGS['activate_expiration'] == 1 ? '1' : '0', '" />
767
                </td></tr>';
768
// Enable enable_delete_after_consultation
769
echo '
770
                <tr><td>
771
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
772
                    <label>
773
                        '.$LANG['admin_setting_enable_delete_after_consultation'].'
774
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_setting_enable_delete_after_consultation_tip']), ENT_QUOTES).'"></i></span>
775
                    </label>
776
                    </td><td>
777
                        <div class="toggle toggle-modern" id="enable_delete_after_consultation" data-toggle-on="', isset($SETTINGS['enable_delete_after_consultation']) && $SETTINGS['enable_delete_after_consultation'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="enable_delete_after_consultation_input" name="enable_delete_after_consultation_input" value="', isset($SETTINGS['enable_delete_after_consultation']) && $SETTINGS['enable_delete_after_consultation'] == 1 ? '1' : '0', '" />
778
                </td></tr>';
779
780
echo '<tr><td colspan="3"><hr /></td></tr>';
781
// Enable Printing
782
echo '
783
                <tr><td>
784
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
785
                    <label>
786
                        '.$LANG['settings_printing'].'
787
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_printing_tip']), ENT_QUOTES).'"></i></span>
788
                    </label>
789
                    </td><td>
790
                        <div class="toggle toggle-modern" id="allow_print" data-toggle-on="', isset($SETTINGS['allow_print']) && $SETTINGS['allow_print'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="allow_print_input" name="allow_print_input" value="', isset($SETTINGS['allow_print']) && $SETTINGS['allow_print'] == 1 ? '1' : '0', '" />
791
                </td></tr>';
792
793
// Enable Printing Groups - roles_allowed_to_print
794
echo '
795
                <tr><td>
796
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
797
                    <label>
798
                        '.$LANG['settings_roles_allowed_to_print'].'
799
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_roles_allowed_to_print_tip']), ENT_QUOTES).'"></i></span>
800
                    </label>
801
                    </td><td>
802
                    <input type="hidden" id="roles_allowed_to_print" name="roles_allowed_to_print" value="', isset($SETTINGS['roles_allowed_to_print']) ? $SETTINGS['roles_allowed_to_print'] : '', '" />
803
                    <select id="roles_allowed_to_print_select" name="roles_allowed_to_print_select" class="text ui-widget-content" multiple="multiple" onchange="refreshInput()">';
804 View Code Duplication
if (!isset($SETTINGS['roles_allowed_to_print']) || empty($SETTINGS['roles_allowed_to_print'])) {
805
    $arrRolesToPrint = array();
806
} else {
807
    $arrRolesToPrint = explode(";", $SETTINGS['roles_allowed_to_print']);
808
}
809
$roles = DB::query("SELECT id, title FROM ".prefix_table("roles_title"));
810
foreach ($roles as $role) {
811
    echo '<option value="'.$role['id'].'"', in_array($role['id'], $arrRolesToPrint) ? ' selected="selected"' : '', '>'.addslashes($role['title']).'</option>';
812
}
813
echo '
814
                        </select>
815
                </td></tr>';
816
// Enable IMPORT
817
echo '
818
                <tr><td>
819
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
820
                    <label>
821
                        '.$LANG['settings_importing'].'
822
                    </label>
823
                    </td><td>
824
                        <div class="toggle toggle-modern" id="allow_import" data-toggle-on="', isset($SETTINGS['allow_import']) && $SETTINGS['allow_import'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="allow_import_input" name="allow_import_input" value="', isset($SETTINGS['allow_import']) && $SETTINGS['allow_import'] == 1 ? '1' : '0', '" />
825
                </td></tr>';
826
827
echo '<tr><td colspan="3"><hr /></td></tr>';
828
// Enable Item modification by anyone
829
echo '
830
                <tr><td>
831
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
832
                    <label>
833
                        '.$LANG['settings_anyone_can_modify'].'
834
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_anyone_can_modify_tip']), ENT_QUOTES).'"></i></span>
835
                    </label>
836
                    </td><td>
837
                        <div class="toggle toggle-modern" id="anyone_can_modify" data-toggle-on="', isset($SETTINGS['anyone_can_modify']) && $SETTINGS['anyone_can_modify'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="anyone_can_modify_input" name="anyone_can_modify_input" value="', isset($SETTINGS['anyone_can_modify']) && $SETTINGS['anyone_can_modify'] == 1 ? '1' : '0', '" />
838
                </td></tr>';
839
// Enable Item modification by anyone by default
840
echo '
841
                <tr id="tr_option_anyone_can_modify_bydefault"', isset($SETTINGS['anyone_can_modify']) && $SETTINGS['anyone_can_modify'] == 1 ? '' : ' style="display:none;"', '><td>
842
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
843
                    <label>'.htmlentities(strip_tags($LANG['settings_anyone_can_modify_bydefault'])).'</label>
844
                    </td><td>
845
                        <div class="toggle toggle-modern" id="anyone_can_modify_bydefault" data-toggle-on="', isset($SETTINGS['anyone_can_modify_bydefault']) && $SETTINGS['anyone_can_modify_bydefault'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="anyone_can_modify_bydefault_input" name="anyone_can_modify_bydefault_input" value="', isset($SETTINGS['anyone_can_modify_bydefault']) && $SETTINGS['anyone_can_modify_bydefault'] == 1 ? '1' : '0', '" />
846
                </td></tr>';
847
// enable restricted_to option
848
echo '
849
                <tr><td>
850
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
851
                    <label>'.$LANG['settings_restricted_to'].'</label>
852
                    </td><td>
853
                        <div class="toggle toggle-modern" id="restricted_to" data-toggle-on="', isset($SETTINGS['restricted_to']) && $SETTINGS['restricted_to'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="restricted_to_input" name="restricted_to_input" value="', isset($SETTINGS['restricted_to']) && $SETTINGS['restricted_to'] == 1 ? '1' : '0', '" />
854
                </td></tr>';
855
// enable restricted_to_roles
856
echo '
857
                <tr id="tr_option_restricted_to_roles" style="display:', isset($SETTINGS['restricted_to']) && $SETTINGS['restricted_to'] == 1 ? 'inline' : 'none', ';"><td>
858
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
859
                    <label>'.$LANG['restricted_to_roles'].'</label>
860
                    </td><td>
861
                        <div class="toggle toggle-modern" id="restricted_to_roles" data-toggle-on="', isset($SETTINGS['restricted_to_roles']) && $SETTINGS['restricted_to_roles'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="restricted_to_roles_input" name="restricted_to_roles_input" value="', isset($SETTINGS['restricted_to_roles']) && $SETTINGS['restricted_to_roles'] == 1 ? '1' : '0', '" />
862
                </td></tr>';
863
864
echo '<tr><td colspan="3"><hr /></td></tr>';
865
// enable show copy to clipboard small icons
866
echo '
867
                <tr><td>
868
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
869
                    <label>
870
                        '.$LANG['copy_to_clipboard_small_icons'].'
871
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['copy_to_clipboard_small_icons_tip']), ENT_QUOTES).'"></i></span>
872
                    </label>
873
                    </td><td>
874
                        <div class="toggle toggle-modern" id="copy_to_clipboard_small_icons" data-toggle-on="', isset($SETTINGS['copy_to_clipboard_small_icons']) && $SETTINGS['copy_to_clipboard_small_icons'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="copy_to_clipboard_small_icons_input" name="copy_to_clipboard_small_icons_input" value="', isset($SETTINGS['copy_to_clipboard_small_icons']) && $SETTINGS['copy_to_clipboard_small_icons'] == 1 ? '1' : '0', '" />
875
                </td></tr>';
876
// Enable Show description in items list
877
echo '
878
                <tr><td>
879
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
880
                    <label>
881
                        '.$LANG['settings_show_description'].'
882
                    </label>
883
                    </td><td>
884
                        <div class="toggle toggle-modern" id="show_description" data-toggle-on="', isset($SETTINGS['show_description']) && $SETTINGS['show_description'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="show_description_input" name="show_description_input" value="', isset($SETTINGS['show_description']) && $SETTINGS['show_description'] == 1 ? '1' : '0', '" />
885
                </td></tr>';
886
// In Tree, display number of Items in subfolders and number of subfolders - tree_counters
887
echo '
888
                <tr><td>
889
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
890
                    <label>
891
                        '.$LANG['settings_tree_counters'].'
892
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_tree_counters_tip']), ENT_QUOTES).'"></i></span>
893
                    </label>
894
                    </td><td>
895
                        <div class="toggle toggle-modern" id="tree_counters" data-toggle-on="', isset($SETTINGS['tree_counters']) && $SETTINGS['tree_counters'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="tree_counters_input" name="tree_counters_input" value="', isset($SETTINGS['tree_counters']) && $SETTINGS['tree_counters'] == 1 ? '1' : '0', '" />
896
                </td></tr>';
897
// nb of items to display by ajax query
898
echo '
899
                <tr><td>
900
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
901
                    <label>'.$LANG['nb_items_by_query'].'</label>
902
                    <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['nb_items_by_query_tip']), ENT_QUOTES).'"></i></span>
903
                    </td><td>
904
                    <input type="text" size="4" id="nb_items_by_query" name="nb_items_by_query" value="', isset($SETTINGS['nb_items_by_query']) ? $SETTINGS['nb_items_by_query'] : '', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
905
                </td></tr>';
906
907
echo '<tr><td colspan="3"><hr /></td></tr>';
908
// enable sending email on USER login
909
echo '
910
                <tr><td>
911
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
912
                    <label>'.$LANG['enable_send_email_on_user_login'].'</label>
913
                    </td><td>
914
                        <div class="toggle toggle-modern" id="enable_send_email_on_user_login" data-toggle-on="', isset($SETTINGS['enable_send_email_on_user_login']) && $SETTINGS['enable_send_email_on_user_login'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="enable_send_email_on_user_login_input" name="enable_send_email_on_user_login_input" value="', isset($SETTINGS['enable_send_email_on_user_login']) && $SETTINGS['enable_send_email_on_user_login'] == 1 ? '1' : '0', '" />
915
                </td></tr>';
916
// enable email notification on item shown
917
echo '
918
                <tr><td>
919
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
920
                    <label>'.$LANG['enable_email_notification_on_item_shown'].'</label>
921
                    </td><td>
922
                        <div class="toggle toggle-modern" id="enable_email_notification_on_item_shown" data-toggle-on="', isset($SETTINGS['enable_email_notification_on_item_shown']) && $SETTINGS['enable_email_notification_on_item_shown'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="enable_email_notification_on_item_shown_input" name="enable_email_notification_on_item_shown_input" value="', isset($SETTINGS['enable_email_notification_on_item_shown']) && $SETTINGS['enable_email_notification_on_item_shown'] == 1 ? '1' : '0', '" />
923
                </td></tr>';
924
// enable email notification when user password is changed
925
echo '
926
                <tr><td>
927
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
928
                    <label>'.$LANG['enable_email_notification_on_user_pw_change'].'</label>
929
                    </td><td>
930
                        <div class="toggle toggle-modern" id="enable_email_notification_on_user_pw_change" data-toggle-on="', isset($SETTINGS['enable_email_notification_on_user_pw_change']) && $SETTINGS['enable_email_notification_on_user_pw_change'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="enable_email_notification_on_user_pw_change_input" name="enable_email_notification_on_user_pw_change_input" value="', isset($SETTINGS['enable_email_notification_on_user_pw_change']) && $SETTINGS['enable_email_notification_on_user_pw_change'] == 1 ? '1' : '0', '" />
931
                </td></tr>';
932
933
echo '<tr><td colspan="3"><hr /></td></tr>';
934
// enable add manual entries in History
935
echo '
936
                <tr><td>
937
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
938
                    <label>
939
                        '.$LANG['settings_insert_manual_entry_item_history'].'
940
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_insert_manual_entry_item_history_tip']), ENT_QUOTES).'"></i></span>
941
                    </label>
942
                    </td><td>
943
                        <div class="toggle toggle-modern" id="insert_manual_entry_item_history" data-toggle-on="', isset($SETTINGS['insert_manual_entry_item_history']) && $SETTINGS['insert_manual_entry_item_history'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="insert_manual_entry_item_history_input" name="insert_manual_entry_item_history_input" value="', isset($SETTINGS['insert_manual_entry_item_history']) && $SETTINGS['insert_manual_entry_item_history'] == 1 ? '1' : '0', '" />
944
                </td></tr>';
945
echo '<tr><td colspan="3"><hr /></td></tr>';
946
// OffLine mode options
947
echo '
948
                <tr><td>
949
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
950
                    <label>
951
                        '.$LANG['settings_offline_mode'].'
952
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_offline_mode_tip']), ENT_QUOTES).'"></i></span>
953
                    </label>
954
                    </td><td>
955
                        <div class="toggle toggle-modern" id="settings_offline_mode" data-toggle-on="', isset($SETTINGS['settings_offline_mode']) && $SETTINGS['settings_offline_mode'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="settings_offline_mode_input" name="settings_offline_mode_input" value="', isset($SETTINGS['settings_offline_mode']) && $SETTINGS['settings_offline_mode'] == 1 ? '1' : '0', '" />
956
                </td></tr>';
957
// OffLne KEy Level
958
echo '
959
                <tr style="margin-bottom:3px">
960
                    <td>
961
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
962
                        <label for="offline_key_level">'.$LANG['offline_mode_key_level'].'</label>
963
                    </td>
964
                    <td>
965
                        <select id="offline_key_level" name="offline_key_level" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));">';
966 View Code Duplication
foreach ($SETTINGS_EXT['pwComplexity'] as $complex) {
967
    echo '<option value="'.$complex[0].'"', isset($SETTINGS['offline_key_level']) && $SETTINGS['offline_key_level'] == $complex[0] ? ' selected="selected"' : '', '>'.$complex[1].'</option>';
968
}
969
echo '
970
                        </select>
971
                    </td>
972
                </tr>';
973
echo '<tr><td colspan="3"><hr /></td></tr>';
974
// SYSLOG ENABLE
975
echo '
976
                <tr><td>
977
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
978
                    <label>'.$LANG['syslog_enable'].'</label>
979
                    </td><td>
980
                        <div class="toggle toggle-modern" id="syslog_enable" data-toggle-on="', isset($SETTINGS['syslog_enable']) && $SETTINGS['syslog_enable'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="syslog_enable_input" name="syslog_enable_input" value="', isset($SETTINGS['syslog_enable']) && $SETTINGS['syslog_enable'] == 1 ? '1' : '0', '" />
981
                </td></tr>';
982
// SYSLOG Host
983
echo '
984
                    <tr style="margin-bottom:3px">
985
                        <td>
986
                            <i class="fa fa-long-arrow-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
987
                            '.$LANG['syslog_host'].'
988
                        </td>
989
                        <td>
990
                            <input id="syslog_host" name="syslog_host" type="text" size="40px" value="', !isset($SETTINGS['syslog_host']) ? 'localhost' : $SETTINGS['syslog_host'], '" onchange="updateSetting($(this).attr(\'id\'));" />
991
                        </td>
992
                    </tr>';
993
// SYSLOG port
994
echo '
995
                    <tr style="margin-bottom:3px">
996
                        <td>
997
                            <i class="fa fa-long-arrow-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
998
                            '.$LANG['syslog_port'].'
999
                        </td>
1000
                        <td>
1001
                            <input id="syslog_port" name="syslog_port" type="text" size="40px" value="', !isset($SETTINGS['syslog_port']) ? '514' : $SETTINGS['syslog_port'], '" onchange="updateSetting($(this).attr(\'id\'));" />
1002
                        </td>
1003
                    </tr>';
1004
1005
echo '<tr><td colspan="3"><hr /></td></tr>';
1006
1007
// Automatic server password change
1008
echo '
1009
                <tr><td>
1010
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1011
                    <label>'.$LANG['server_password_change_enable'].'
1012
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['server_password_change_enable_tip']), ENT_QUOTES).'"></i>&nbsp;</span>
1013
                    </label>
1014
                    </td><td>
1015
                        <div class="toggle toggle-modern" id="enable_server_password_change" data-toggle-on="', isset($SETTINGS['enable_server_password_change']) && $SETTINGS['enable_server_password_change'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="enable_server_password_change_input" name="enable_server_password_change_input" value="', isset($SETTINGS['enable_server_password_change']) && $SETTINGS['enable_server_password_change'] == 1 ? '1' : '0', '" />
1016
                </td></tr>';
1017
1018
echo '
1019
            </table>
1020
            </div>';
1021
// --------------------------------------------------------------------------------
1022
// --------------------------------------------------------------------------------
1023
// TAB Né4
1024
echo '
1025
            <div id="tabs-4">';
1026
// Check if LDAP extension is loaded
1027
if (!extension_loaded('ldap')) {
1028
    echo '
1029
    <div style="margin-bottom:3px;">
1030
        <div class="ui-widget-content ui-corner-all" style="padding:10px;">
1031
            <i class="fa fa-warning fa-2x"></i>&nbsp;'.$LANG['ldap_extension_not_loaded'].'
1032
        </div>
1033
    </div>';
1034
} else {
1035
    // Enable LDAP mode
1036
    echo '
1037
    <div style="margin-bottom:3px;">
1038
        <table><tr>
1039
        <td><label for="ldap_mode">'.$LANG['settings_ldap_mode'].'&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_ldap_mode_tip']), ENT_QUOTES).'"></i></label></td>
1040
        <td><div class="toggle toggle-modern" id="ldap_mode" data-toggle-on="', isset($SETTINGS['ldap_mode']) && $SETTINGS['ldap_mode'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="ldap_mode_input" name="ldap_mode_input" value="', isset($SETTINGS['ldap_mode']) && $SETTINGS['ldap_mode'] == 1 ? '1' : '0', '" /></td>
1041
        </tr></table>
1042
    </div>';
1043
}
1044
// LDAP inputs
1045
echo '
1046
            <div id="div_ldap_configuration" ', (isset($SETTINGS['ldap_mode']) && $SETTINGS['ldap_mode'] == 1) ? '' : ' style="display:none;"', '>
1047
                <div style="font-weight:bold;font-size:14px;margin:15px 0px 8px 0px;">'.$LANG['admin_ldap_configuration'].'</div>
1048
                <table id="ldap_config_values">';
1049
// Type
1050
$ldap_type = isset($SETTINGS['ldap_type']) ? $SETTINGS['ldap_type'] : '';
1051
echo '
1052
                    <tr>
1053
                        <td><label for="ldap_type">'.$LANG['settings_ldap_type'].'</label></td>
1054
                        <td>
1055
                            <select id="ldap_type" name="ldap_type" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\')); showLdapFields($(this).val());">
1056
                                <option value="0">-- '.$LANG['select'].' --</option>
1057
                                <option value="windows"', $ldap_type === 'windows' ? ' selected="selected"' : '', '>Windows / Active Directory</option>
1058
                                <option value="posix"', $ldap_type === 'posix' ? ' selected="selected"' : '', '>Posix / OpenLDAP (RFC2307)</option>
1059
                                <option value="posix-search"', $ldap_type === 'posix-search' ? ' selected="selected"' : '', '>Posix / OpenLDAP (RFC2307) Search Based</option>
1060
                            </select>
1061
                        </td>
1062
                    </tr>';
1063
// Domain
1064
echo '
1065
                    <tr style="display:', (isset($ldap_type)) ? '' : 'none', '" class="tr-windows tr-ldap tr-posix tr-posix-search">
1066
                        <td><label for="ldap_suffix">'.$LANG['settings_ldap_domain'].'</label></td>
1067
                        <td><input type="text" size="50" id="ldap_suffix" name="ldap_suffix" class="text ui-widget-content" title="@dc=example,dc=com" value="', isset($SETTINGS['ldap_suffix']) ? $SETTINGS['ldap_suffix'] : '', '" onchange="updateSetting($(this).attr(\'id\'));" /></td>
1068
                    </tr>';
1069
1070
// Domain DN
1071
echo '
1072
                    <tr style="display:', (isset($ldap_type) && $ldap_type != 'posix-search') ? '' : 'none', '" class="tr-windows tr-posix tr-ldap">
1073
                        <td><label for="ldap_domain_dn">'.$LANG['settings_ldap_domain_dn'].'</label></td>
1074
                        <td><input type="text" size="50" id="ldap_domain_dn" name="ldap_domain_dn" class="text ui-widget-content" title="dc=example,dc=com" value="', isset($SETTINGS['ldap_domain_dn']) ? $SETTINGS['ldap_domain_dn'] : '', '" onchange="updateSetting($(this).attr(\'id\'));" /></td>
1075
                    </tr>';
1076
/*
0 ignored issues
show
Unused Code Comprehensibility introduced by
60% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
1077
// Subtree for posix / openldap
1078
        echo '
1079
                <tr>
1080
                    <td><label for="ldap_suffix">'.$LANG['settings_ldap_domain_posix'].'</label></td>
1081
                    <td><input type="text" size="50" id="ldap_suffix" name="ldap_suffix" class="text ui-widget-content" title="@dc=example,dc=com" value="', isset($SETTINGS['ldap_suffix']) ? $SETTINGS['ldap_suffix'] : '', '" onchange="updateSetting($(this).attr(\'id\'));" /></td>
1082
                </tr>';
1083
*/
1084
// LDAP username attribute
1085
        // LDAP Object Class
1086
        echo '
1087
                <tr style="display:', (isset($ldap_type) && $ldap_type === 'posix-search') ? '' : 'none', '" class="tr-posix-search tr-ldap">
1088
                    <td><label for="ldap_object_class">'.$LANG['settings_ldap_object_class'].'&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_ldap_object_class_tip']), ENT_QUOTES).'"></i></label></td>
1089
                    <td><input type="text" size="50" id="ldap_object_class" name="ldap_object_class" class="text ui-widget-content" title="Person" value="',
1090
                    isset($SETTINGS['ldap_object_class']) ? $SETTINGS['ldap_object_class'] : 'posixAccount', '" onchange="updateSetting($(this).attr(\'id\'));" /></td>
1091
                </tr>';
1092
        echo '
1093
                <tr style="display:', (isset($ldap_type) && $ldap_type === 'posix-search') ? '' : 'none', '" class="tr-posix-search tr-ldap">
1094
                    <td><label for="ldap_user_attribute">'.$LANG['settings_ldap_user_attribute'].'&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_ldap_user_attribute_tip']), ENT_QUOTES).'"></i></label></td>
1095
                    <td><input type="text" size="50" id="ldap_user_attribute" name="ldap_user_attribute" class="text ui-widget-content" title="uid" value="',
1096
                        isset($SETTINGS['ldap_user_attribute']) ? $SETTINGS['ldap_user_attribute'] : 'uid', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" /></td>
1097
                </tr>';
1098
                // LDAP
1099
                echo '
1100
                <tr style="display:', (isset($ldap_type) && $ldap_type === 'posix-search') ? '' : 'none', '" class="tr-posix-search tr-ldap">
1101
                    <td><label for="ldap_usergroup">'.$LANG['settings_ldap_usergroup'].'&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_ldap_usergroup_tip']), ENT_QUOTES).'"></i></label></td>
1102
                    <td><input type="text" size="50" id="ldap_usergroup" name="ldap_usergroup" class="text ui-widget-content" title="uid" value="',
1103
                        isset($SETTINGS['ldap_usergroup']) ? $SETTINGS['ldap_usergroup'] : '', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" /></td>
1104
                </tr>';
1105
                // LDAP BIND DN for search
1106
                echo '
1107
                <tr style="display:', (isset($ldap_type) && $ldap_type === 'posix-search') ? '' : 'none', '" class="tr-posix-search tr-ldap">
1108
                    <td><label for="ldap_bind_dn">'.$LANG['settings_ldap_bind_dn'].'&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_ldap_bind_dn_tip']), ENT_QUOTES).'"></i></label></td>
1109
                    <td><input type="text" size="50" id="ldap_bind_dn" name="ldap_bind_dn" class="text ui-widget-content" title="uid=teampass,ou=people,dc=mydomain,dc=local" value="', isset($SETTINGS['ldap_bind_dn']) ? $SETTINGS['ldap_bind_dn'] : '', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" /></td>
1110
                </tr>';
1111
                // LDAP BIND PASSWD for search
1112
                echo '
1113
                <tr style="display:', (isset($ldap_type) && $ldap_type === 'posix-search') ? '' : 'none', '" class="tr-posix-search tr-ldap">
1114
                    <td><label for="ldap_bind_passwd">'.$LANG['settings_ldap_bind_passwd'].'&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_ldap_bind_passwd_tip']), ENT_QUOTES).'"></i></label></td>
1115
                    <td><input type="text" size="50" id="ldap_bind_passwd" name="ldap_bind_passwd" class="text ui-widget-content" title="123password456" value="', isset($SETTINGS['ldap_bind_passwd']) ? $SETTINGS['ldap_bind_passwd'] : '', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" /></td>
1116
                </tr>';
1117
                // LDAP BASE for search
1118
                echo '
1119
                <tr style="display:', (isset($ldap_type) && $ldap_type === 'posix-search') ? '' : 'none', '" class="tr-posix-search tr-ldap">
1120
                    <td><label for="ldap_search_base">'.$LANG['settings_ldap_search_base'].'&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_ldap_search_base_tip']), ENT_QUOTES).'"></i></label></td>
1121
                    <td><input type="text" size="50" id="ldap_search_base" name="ldap_search_base" class="text ui-widget-content" title="ou=people,dc=octopoos,dc=local" value="', isset($SETTINGS['ldap_search_base']) ? $SETTINGS['ldap_search_base'] : '', '" onchange="updateSetting($(this).attr(\'id\'));" /></td>
1122
                </tr>';
1123
1124
// AD allowed UserGroup
1125
                echo '
1126
                <tr style="display:', (isset($ldap_type) && $ldap_type === 'windows') ? '' : 'none', '" class="tr-windows tr-ldap">
1127
                    <td><label for="ldap_allowed_usergroup">'.$LANG['settings_ldap_allowed_usergroup'].'&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_ldap_allowed_usergroup_tip']), ENT_QUOTES).'"></i></label></td>
1128
                    <td><input type="text" size="50" id="ldap_allowed_usergroup" name="ldap_allowed_usergroup" class="text ui-widget-content" value="', isset($SETTINGS['ldap_allowed_usergroup']) ? $SETTINGS['ldap_allowed_usergroup'] : '', '" onchange="updateSetting($(this).attr(\'id\'));" /></td>
1129
                </tr>';
1130
1131
// Domain controler
1132
echo '
1133
                <tr>
1134
                    <td><label for="ldap_domain_controler">'.$LANG['settings_ldap_domain_controler'].'&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_ldap_domain_controler_tip']), ENT_QUOTES).'"></i></label></td>
1135
                    <td><input type="text" size="50" id="ldap_domain_controler" name="ldap_domain_controler" class="text ui-widget-content" title="dc01.mydomain.local,dc02.mydomain.local" value="', isset($SETTINGS['ldap_domain_controler']) ? $SETTINGS['ldap_domain_controler'] : '', '" onchange="updateSetting($(this).attr(\'id\'));" /></td>
1136
                </tr>';
1137
1138
// AD Port
1139
    echo '
1140
                <tr>
1141
                    <td><label for="ldap_port">'.$LANG['settings_ldap_port'].'&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_ldap_port_tip']), ENT_QUOTES).'"></i></label></td>
1142
                    <td><input type="text" size="50" id="ldap_port" name="ldap_port" class="text ui-widget-content" title="389" value="', isset($SETTINGS['ldap_port']) ? $SETTINGS['ldap_port'] : '389', '" onchange="updateSetting($(this).attr(\'id\'));" /></td>
1143
                </tr>';
1144
1145
// AD SSL
1146
echo '
1147
                <tr>
1148
                    <td><label>'.$LANG['settings_ldap_ssl'].'</label></td>
1149
                    <td>
1150
                        <div class="toggle toggle-modern" id="ldap_ssl" data-toggle-on="', isset($SETTINGS['ldap_ssl']) && $SETTINGS['ldap_ssl'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="ldap_ssl_input" name="ldap_ssl_input" value="', isset($SETTINGS['ldap_ssl']) && $SETTINGS['ldap_ssl'] == 1 ? '1' : '0', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1151
                    </td>
1152
                </tr>';
1153
1154
// AD TLS
1155
echo '
1156
                <tr>
1157
                    <td><label>'.$LANG['settings_ldap_tls'].'</label></td>
1158
                    <td>
1159
                        <div class="toggle toggle-modern" id="ldap_tls" data-toggle-on="', isset($SETTINGS['ldap_tls']) && $SETTINGS['ldap_tls'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="ldap_tls_input" name="ldap_tls_input" value="', isset($SETTINGS['ldap_tls']) && $SETTINGS['ldap_tls'] == 1 ? '1' : '0', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1160
                    </td>
1161
                </tr>';
1162
1163
// Enable only localy declared users with tips help
1164
echo '
1165
                <tr>
1166
                    <td><label>'.$LANG['settings_ldap_elusers'].'&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_ldap_elusers_tip']), ENT_QUOTES).'"></i></label></td>
1167
                    <td>
1168
                        <div class="toggle toggle-modern" id="ldap_elusers" data-toggle-on="', isset($SETTINGS['ldap_elusers']) && $SETTINGS['ldap_elusers'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="ldap_elusers_input" name="ldap_elusers_input" value="', isset($SETTINGS['ldap_elusers']) && $SETTINGS['ldap_elusers'] == 1 ? '1' : '0', '" />
1169
                    </td>
1170
                </tr>';
1171
1172
// Enable Forgot password link on login page
1173
echo '
1174
                <tr>
1175
                    <td><label>'.$LANG['settings_disable_forgot_password_link'].'</label></td>
1176
                    <td>
1177
                        <div class="toggle toggle-modern" id="disable_show_forgot_pwd_link" data-toggle-on="', isset($SETTINGS['disable_show_forgot_pwd_link']) && $SETTINGS['disable_show_forgot_pwd_link'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="disable_show_forgot_pwd_link_input" name="disable_show_forgot_pwd_link_input" value="', isset($SETTINGS['disable_show_forgot_pwd_link']) && $SETTINGS['disable_show_forgot_pwd_link'] == 1 ? '1' : '0', '" />
1178
                    </td>
1179
                </tr>';
1180
// Enable newly_created_user_is_administrated_by
1181
echo '
1182
                    <tr>
1183
                        <td><label for="ldap_type">'.$LANG['newly_created_user_is_administrated_by'].'</label></td>
1184
                        <td>
1185
                            <select id="ldap_new_user_is_administrated_by" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));">
1186
                            </select>
1187
                        </td>
1188
                    </tr>';
1189
echo '
1190
                </table>';
1191
1192
// Test LDAP configuration
1193
echo '
1194
                <div style="font-weight:bold;font-size:14px;margin:15px 0px 8px 0px;">
1195
                    '.$LANG['ldap_test_config'].'
1196
                </div>
1197
                    <table>
1198
                        <tr>
1199
                            <td><label>'.htmlentities($LANG['ldap_test_username']).'</label></td>
1200
                            <td><input type="text" size="50" id="ldap_test_username" class="text ui-widget-content" value="" class="text ui-widget-content" /></td>
1201
                        </tr>
1202
                        <tr>
1203
                            <td><label>'.htmlentities($LANG['ldap_test_username_pwd']).'</label></td>
1204
                            <td><input type="password" size="50" id="ldap_test_pwd" class="text ui-widget-content" value="" class="text ui-widget-content" /></td>
1205
                        </tr>
1206
                        <tr>
1207
                            <td><label for="ldap_test_no_username">'.htmlentities($LANG['no_username_needed']).'</label></td>
1208
                            <td><input type="checkbox" size="50" id="ldap_test_no_username" /></td>
1209
                        </tr>
1210
                        <tr>
1211
                            <td colspan="2">
1212
                                <div id="ldap_test_msg" class="ui-widget-content ui-state-focus ui-corner-all" style="padding:10px; display:none;"></div>
1213
                            </td>
1214
                        </tr>
1215
                        <tr>
1216
                            <td><b>'.htmlentities($LANG['admin_action_db_backup_start_tip']).'</b></td>
1217
                            <td><span class="fa-stack" onclick="LaunchAdminActions(\'admin_ldap_test_configuration\')" style="cursor:pointer;">
1218
                                <i class="fa fa-square fa-stack-2x"></i>
1219
                                <i class="fa fa-cogs fa-stack-1x fa-inverse"></i>
1220
                            </span></td>
1221
                        </tr>
1222
                    </table>';
1223
1224
echo '
1225
            </div>
1226
            </div>';
1227
// --------------------------------------------------------------------------------
1228
// --------------------------------------------------------------------------------
1229
// TAB Né5
1230
echo '
1231
            <div id="tabs-5">
1232
                <div class="" style="padding: 0 .7em;">
1233
                   <i class="fa fa-chevron-circle-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1234
                    <b>'.$LANG['admin_one_shot_backup'].'</b>
1235
                </div>
1236
                <div style="margin:0 0 5px 20px;">
1237
                    <table width="100%">';
1238
// Backup the DB
1239
echo '
1240
                    <tr style="margin-bottom:3px">
1241
                        <td width="35%">
1242
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1243
                        '.$LANG['admin_action_db_backup'].'
1244
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_action_db_backup_tip']), ENT_QUOTES).'"></i></span>
1245
                        </td>
1246
                        <td>
1247
                        <span id="result_admin_action_db_backup_get_key" style="margin-left:10px; text-align:left;">
1248
                            &nbsp;'.$LANG['encrypt_key'].'<input type="password" size="20" id="result_admin_action_db_backup_key" />
1249
                            &nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_action_db_backup_key_tip']), ENT_QUOTES).'"></i>&nbsp;
1250
                            <span class="fa-stack tip" title="'.htmlentities(strip_tags($LANG['admin_action_db_backup_start_tip']), ENT_QUOTES).'" onclick="LaunchAdminActions(\'admin_action_db_backup\')" style="cursor:pointer;">
1251
                                <i class="fa fa-square fa-stack-2x"></i>
1252
                                <i class="fa fa-cogs fa-stack-1x fa-inverse"></i>
1253
                            </span>
1254
                        </span>
1255
                        <span id="result_admin_action_db_backup" style="margin-left:10px;"></span>
1256
                        </td>
1257
                    </tr>';
1258
// Restore the DB
1259
echo '
1260
                    <tr style="margin-bottom:3px">
1261
                        <td>
1262
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1263
                        '.$LANG['admin_action_db_restore'].'
1264
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_action_db_restore_tip']), ENT_QUOTES).'"></i></span>
1265
                        </td>
1266
                        <td>
1267
                        <span id="result_admin_action_db_restore" style="margin-left:10px;"></span>
1268
                        <div id="upload_container_restoreDB">
1269
                            <div id="filelist_restoreDB"></div><br />
1270
                            <span id="pickfiles_restoreDB" class="fa-stack tip" title="'.htmlentities($LANG['select'], ENT_QUOTES).'" style="cursor:pointer;">
1271
                                <i class="fa fa-square fa-stack-2x"></i>
1272
                                <i class="fa fa-cogs fa-stack-1x fa-inverse"></i>
1273
                            </span>
1274
                        </div>
1275
                        </td>
1276
                    </tr>';
1277
1278
echo '
1279
                    </table>
1280
                </div>';
1281
1282
echo '
1283
                <div class="" style="0padding: 0 .7em;">
1284
                   <i class="fa fa-chevron-circle-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1285
                    <b>'.$LANG['admin_script_backups'].'</b>&nbsp;
1286
                    <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_script_backups_tip']), ENT_QUOTES).'"></i></span>
1287
                </div>
1288
                <div style="margin:0 0 5px 20px;">
1289
                    <table width="100%">';
1290
// Backups script path
1291
echo '
1292
                    <tr style="margin-bottom:3px">
1293
                        <td width="35%">
1294
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1295
                        '.$LANG['admin_script_backup_path'].'
1296
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_script_backup_path_tip']), ENT_QUOTES).'"></i></span>
1297
                        </td>
1298
                        <td>
1299
                        <input id="bck_script_path" name="bck_script_path" type="text" size="60px" value="', isset($SETTINGS['bck_script_path']) ? $SETTINGS['bck_script_path'] : $SETTINGS['cpassman_dir'].'/backups', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1300
                        </td>
1301
                    </tr>';
1302
// Backups script name
1303
echo '
1304
                    <tr style="margin-bottom:3px">
1305
                        <td>
1306
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1307
                        '.$LANG['admin_script_backup_filename'].'
1308
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_script_backup_filename_tip']), ENT_QUOTES).'"></i></span>
1309
                        </td>
1310
                        <td>
1311
                        <input id="bck_script_filename" name="bck_script_filename" type="text" size="50px" value="', isset($SETTINGS['bck_script_filename']) ? $SETTINGS['bck_script_filename'] : 'bck_teampass', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1312
                        </td>
1313
                    </tr>';
1314
// Backup key
1315 View Code Duplication
if (isset($SETTINGS['bck_script_passkey']) === true) {
1316
    require_once './sources/main.functions.php';
1317
    $currentKey = cryption(
1318
        $SETTINGS['bck_script_passkey'],
1319
        "",
1320
        "decrypt"
1321
    )['string'];
1322
} else {
1323
    $currentKey = "";
1324
}
1325
echo '
1326
                    <tr style="margin-bottom:3px">
1327
                        <td>
1328
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1329
                        '.$LANG['admin_script_backup_secret'].'
1330
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_script_backup_secret_tip']), ENT_QUOTES).'"></i></span>
1331
                        </td>
1332
                        <td>
1333
                        <input id="bck_script_passkey" name="bck_script_passkey" type="text" size="50px" value="', isset($SETTINGS['bck_script_passkey']) ? $currentKey : '', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1334
                        &nbsp;
1335
                        <span class="fa-stack tip" title="'.htmlentities(strip_tags($LANG['pw_generate']), ENT_QUOTES).'" onclick="generateAndStoreBackupPass();" style="cursor:pointer;">
1336
                            <i class="fa fa-square fa-stack-2x"></i>
1337
                            <i class="fa fa-cogs fa-stack-1x fa-inverse"></i>
1338
                        </span>
1339
                        </td>
1340
                    </tr>';
1341
// Backups script encryption
1342
echo '
1343
                    <tr style="margin-bottom:3px">
1344
                        <td>
1345
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1346
                        '.$LANG['admin_script_backup_encryption'].'
1347
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_script_backup_encryption_tip']), ENT_QUOTES).'"></i></span>
1348
                        </td>
1349
                        <td>
1350
                        <input id="bck_script_key" name="bck_script_key" type="password" size="50px" value="', isset($SETTINGS['bck_script_key']) ? $SETTINGS['bck_script_key'] : '', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1351
                        </td>
1352
                    </tr>';
1353
// Decrypt SQL file
1354
echo '
1355
                    <tr style="margin-bottom:3px">
1356
                        <td>
1357
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1358
                        '.$LANG['admin_script_backup_decrypt'].'
1359
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_script_backup_decrypt_tip']), ENT_QUOTES).'"></i></span>
1360
                        </td>
1361
                        <td>
1362
                        <input id="bck_script_decrypt_file" name="bck_script_decrypt_file" type="text" size="50px" value="" />
1363
                        &nbsp;
1364
                        <span class="fa-stack tip" title="'.htmlentities(strip_tags($LANG['admin_action_db_backup_start_tip']), ENT_QUOTES).'" onclick="LaunchAdminActions(\'admin_action_backup_decrypt\')" style="cursor:pointer;">
1365
                            <i class="fa fa-square fa-stack-2x"></i>
1366
                            <i class="fa fa-cogs fa-stack-1x fa-inverse"></i>
1367
                        </span>
1368
                        </td>
1369
                    </tr>';
1370
1371
echo '
1372
                    <tr>
1373
                        <td></td>
1374
                        <td>
1375
                            <div id="result_admin_script_backup" class="ui-state-focus ui-corner-all" style="padding:3px; display:none;"></div>
1376
                        </td>
1377
                    </tr>';
1378
1379
echo '
1380
                    </table>
1381
                </div>
1382
            </div>';
1383
// --------------------------------------------------------------------------------
1384
// --------------------------------------------------------------------------------
1385
// TAB Né6
1386
echo '
1387
            <div id="tabs-6">
1388
                <div class="" style="padding: 0 .7em;">
1389
                   <i class="fa fa-chevron-circle-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1390
                    <b>'.$LANG['admin_emails_configuration'].'</b>
1391
                </div>
1392
                <div style="margin:0 0 5px 20px;">
1393
                    <table>';
1394
// SMTP server
1395
echo '
1396
                    <tr style="margin-bottom:3px">
1397
                        <td>
1398
                            <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1399
                            '.$LANG['admin_email_smtp_server'].'
1400
                        </td>
1401
                        <td>
1402
                            <input type="text" size="80" id="email_smtp_server" name="email_smtp_server" value="', !isset($SETTINGS['email_smtp_server']) ? $smtp_server : $SETTINGS['email_smtp_server'], '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1403
                        </td>
1404
                    </tr>';
1405
// SMTP auth
1406
echo '
1407
                    <tr style="margin-bottom:3px">
1408
                        <td>
1409
                            <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1410
                            '.$LANG['admin_email_auth'].'
1411
                        </td>
1412
                        <td>
1413
                            <div class="toggle toggle-modern" id="email_smtp_auth" data-toggle-on="', isset($SETTINGS['email_smtp_auth']) && $SETTINGS['email_smtp_auth'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="email_smtp_auth_input" name="email_smtp_auth_input" value="', isset($SETTINGS['email_smtp_auth']) && $SETTINGS['email_smtp_auth'] == 1 ? '1' : '0', '" />
1414
                        </td>
1415
                    </tr>';
1416
// SMTP auth username
1417
echo '
1418
                    <tr style="margin-bottom:3px">
1419
                        <td>
1420
                            <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1421
                            '.$LANG['admin_email_auth_username'].'
1422
                        </td>
1423
                        <td>
1424
                            <input id="email_auth_username" name="email_auth_username" type="text" size="40px" value="', !isset($SETTINGS['email_auth_username']) ? $smtp_auth_username : $SETTINGS['email_auth_username'], '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1425
                        </td>
1426
                    </tr>';
1427
// SMTP auth pwd
1428
echo '
1429
                    <tr style="margin-bottom:3px">
1430
                        <td>
1431
                            <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1432
                            '.$LANG['admin_email_auth_pwd'].'
1433
                        </td>
1434
                        <td>
1435
                            <input id="email_auth_pwd" name="email_auth_pwd" type="password" size="40px" value="', !isset($SETTINGS['email_auth_pwd']) ? $smtp_auth_password : $SETTINGS['email_auth_pwd'], '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1436
                        </td>
1437
                    </tr>';
1438
// SMTP server url
1439
echo '
1440
                    <tr style="margin-bottom:3px">
1441
                        <td>
1442
                            <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1443
                            '.$LANG['admin_email_server_url'].'
1444
                        <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_email_server_url_tip']), ENT_QUOTES).'"></i></span>
1445
                        </td>
1446
                        <td>
1447
                            <input id="email_server_url" name="email_server_url" type="text" size="40px" value="', !isset($SETTINGS['email_server_url']) ? $SETTINGS['cpassman_url'] : $SETTINGS['email_server_url'], '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1448
                        </td>
1449
                    </tr>';
1450
// SMTP port
1451
echo '
1452
                    <tr style="margin-bottom:3px">
1453
                        <td>
1454
                            <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1455
                            '.$LANG['admin_email_port'].'
1456
                        </td>
1457
                        <td>
1458
                            <input id="email_port" name="email_port" type="text" size="40px" value="', !isset($SETTINGS['email_port']) ? '25' : $SETTINGS['email_port'], '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1459
                        </td>
1460
                    </tr>';
1461
// SMTP security
1462
echo '
1463
                    <tr style="margin-bottom:3px">
1464
                        <td>
1465
                            <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1466
                            '.$LANG['admin_email_security'].'
1467
                        </td>
1468
                        <td>
1469
                            <select id="email_security" name="email_security" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));">
1470
                            <option value="none"', !isset($SETTINGS['email_security']) || $SETTINGS['email_security'] == "none" ? ' selected="selected"' : "", '>None</option>
1471
                            <option value="ssl"', isset($SETTINGS['email_security']) && $SETTINGS['email_security'] == "ssl" ? ' selected="selected"' : "", '>SSL</option>
1472
                            <option value="tls"', isset($SETTINGS['email_security']) && $SETTINGS['email_security'] == "tls" ? ' selected="selected"' : "", '>TLS</option>
1473
                        </select>
1474
                        </td>
1475
                    </tr>';
1476
// SMTP from
1477
echo '
1478
                    <tr style="margin-bottom:3px">
1479
                        <td>
1480
                            <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1481
                            '.$LANG['admin_email_from'].'
1482
                        </td>
1483
                        <td>
1484
                            <input id="email_from" name="email_from" type="text" size="40px" value="', !isset($SETTINGS['email_from']) ? $email_from : $SETTINGS['email_from'], '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1485
                        </td>
1486
                    </tr>';
1487
// SMTP from name
1488
echo '
1489
                    <tr style="margin-bottom:3px">
1490
                        <td>
1491
                            <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1492
                            '.$LANG['admin_email_from_name'].'
1493
                        </td>
1494
                        <td>
1495
                            <input id="email_from_name" name="email_from_name" type="text" size="40px" value="', !isset($SETTINGS['email_from_name']) ? $email_from_name : $SETTINGS['email_from_name'], '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1496
                        </td>
1497
                    </tr>';
1498
1499
echo '
1500
                    </table>
1501
                </div>';
1502
1503
echo '
1504
                <div class="" style="0padding: 0 .7em;">
1505
                   <i class="fa fa-chevron-circle-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1506
                    <b>'.$LANG['admin_emails_configuration_testing'].'</b>
1507
                </div>
1508
                <div id="email_testing_results" class="ui-state-error ui-corner-all" style="padding:5px;display:none;margin:2px;"></div>
1509
                <div style="margin:0 0 5px 20px;">
1510
                    <table>';
1511
// Test email configuration
1512
echo '
1513
                    <tr style="margin-bottom:3px">
1514
                        <td>
1515
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1516
                            '.$LANG['admin_email_test_configuration'].'
1517
                            <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_email_test_configuration_tip']), ENT_QUOTES).'"></i></span>
1518
                        </td>
1519
                        <td>
1520
                            <span class="fa-stack tip" title="'.htmlentities(strip_tags($LANG['admin_action_db_backup_start_tip']), ENT_QUOTES).'" onclick="LaunchAdminActions(\'admin_email_test_configuration\')" style="cursor:pointer;">
1521
                                <i class="fa fa-square fa-stack-2x"></i>
1522
                                <i class="fa fa-cogs fa-stack-1x fa-inverse"></i>
1523
                            </span>
1524
                        </td>
1525
                    </tr>';
1526
// Send emails backlog
1527
DB::query("SELECT * FROM ".prefix_table("emails")." WHERE status = %s OR status = %s", 'not_sent', '');
1528
$nb_emails = DB::count();
1529
echo '
1530
                    <tr style="margin-bottom:3px">
1531
                        <td>
1532
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1533
                            '.str_replace("#nb_emails#", $nb_emails, $LANG['admin_email_send_backlog']).'
1534
                            <span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['admin_email_send_backlog_tip']), ENT_QUOTES).'"></i></span>
1535
                        </td>
1536
                        <td>
1537
                            <span class="fa-stack tip" title="'.htmlentities(strip_tags($LANG['admin_action_db_backup_start_tip']), ENT_QUOTES).'" onclick="LaunchAdminActions(\'admin_email_send_backlog\')" style="cursor:pointer;">
1538
                                <i class="fa fa-square fa-stack-2x"></i>
1539
                                <i class="fa fa-cogs fa-stack-1x fa-inverse"></i>
1540
                            </span>
1541
                        </td>
1542
                    </tr>';
1543
1544
echo '
1545
                    </table>
1546
                </div>
1547
            </div>';
1548
// --------------------------------------------------------------------------------
1549
// TAB N°7
1550
echo '
1551
            <div id="tabs-7">
1552
                <table width="100%">';
1553
// Max file size
1554
echo '
1555
                <tr><td>
1556
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1557
                    <label>'.$LANG['settings_upload_maxfilesize'].
1558
                    '<span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_upload_maxfilesize_tip']), ENT_QUOTES).'"></i></span>
1559
                    </label>
1560
                    </td><td>
1561
                    <input type="text" size="5" id="upload_maxfilesize" name="upload_maxfilesize" value="', isset($SETTINGS['upload_maxfilesize']) ? $SETTINGS['upload_maxfilesize'] : '10', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1562
                </td></tr>';
1563
// Extension for Documents
1564
echo '
1565
                <tr><td>
1566
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1567
                    <label>'.$LANG['settings_upload_docext'].
1568
                    '<span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_upload_docext_tip']), ENT_QUOTES).'"></i></span>
1569
                    </label>
1570
                    </td><td>
1571
                    <input type="text" size="70" id="upload_docext" name="upload_docext" value="', isset($SETTINGS['upload_docext']) ? $SETTINGS['upload_docext'] : 'doc,docx,dotx,xls,xlsx,xltx,rtf,csv,txt,pdf,ppt,pptx,pot,dotx,xltx', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1572
                </td></tr>';
1573
// Extension for Images
1574
echo '
1575
                <tr><td>
1576
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1577
                    <label>'.$LANG['settings_upload_imagesext'].
1578
                    '<span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_upload_imagesext_tip']), ENT_QUOTES).'"></i></span>
1579
                    </label>
1580
                    </td><td>
1581
                    <input type="text" size="70" id="upload_imagesext" name="upload_imagesext" value="', isset($SETTINGS['upload_imagesext']) ? $SETTINGS['upload_imagesext'] : 'jpg,jpeg,gif,png', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1582
                </td></tr>';
1583
// Extension for Packages
1584
echo '
1585
                <tr><td>
1586
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1587
                    <label>'.$LANG['settings_upload_pkgext'].
1588
                    '<span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_upload_pkgext_tip']), ENT_QUOTES).'"></i></span>
1589
                    </label>
1590
                    </td><td>
1591
                    <input type="text" size="70" id="upload_pkgext" name="upload_pkgext" value="', isset($SETTINGS['upload_pkgext']) ? $SETTINGS['upload_pkgext'] : '7z,rar,tar,zip', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1592
                </td></tr>';
1593
// Extension for Other
1594
echo '
1595
                <tr><td>
1596
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1597
                    <label>'.$LANG['settings_upload_otherext'].
1598
                    '<span style="margin-left:0px;">&nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_upload_otherext_tip']), ENT_QUOTES).'"></i></span>
1599
                    </label>
1600
                    </td><td>
1601
                    <input type="text" size="70" id="upload_otherext" name="upload_otherext" value="', isset($SETTINGS['upload_otherext']) ? $SETTINGS['upload_otherext'] : 'sql,xml', '" class="text ui-widget-content" onchange="updateSetting($(this).attr(\'id\'));" />
1602
                </td></tr>';
1603
echo '<tr><td colspan="3"><hr /></td></tr>';
1604
// Image resize width / height / quality
1605
echo '
1606
                <tr style="margin-bottom:3px">
1607
                    <td>
1608
                        <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1609
                        <label>' .
1610
                        $LANG['settings_upload_imageresize_options'].'
1611
                        &nbsp;<i class="fa fa-question-circle tip" title="'.htmlentities(strip_tags($LANG['settings_upload_imageresize_options_tip']), ENT_QUOTES).'"></i>
1612
                        </label>
1613
                    </td>
1614
                    <td>
1615
                        <div class="toggle toggle-modern" id="upload_imageresize_options" data-toggle-on="', isset($SETTINGS['upload_imageresize_options']) && $SETTINGS['upload_imageresize_options'] == 1 ? 'true' : 'false', '"></div><input type="hidden" id="upload_imageresize_options_input" name="upload_imageresize_options_input" value="', isset($SETTINGS['upload_imageresize_options']) && $SETTINGS['upload_imageresize_options'] == 1 ? '1' : '0', '" />
1616
                    </td>
1617
                </tr>
1618
                <tr><td>
1619
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1620
                    <label>'.$LANG['settings_upload_imageresize_options_w'].
1621
                    '</label>
1622
                    </td><td>
1623
                    <input type="text" size="5" id="upload_imageresize_width" name="upload_imageresize_width" value="',
1624
                        isset($SETTINGS['upload_imageresize_width']) ? $SETTINGS['upload_imageresize_width'] : '800', '" class="text ui-widget-content upl_img_opt" onchange="updateSetting($(this).attr(\'id\'));" />
1625
                    </td>
1626
                </tr>
1627
                <tr><td>
1628
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1629
                    <label>'.$LANG['settings_upload_imageresize_options_h'].
1630
                    '</label>
1631
                    </td><td>
1632
                    <input type="text" size="5" id="upload_imageresize_height" name="upload_imageresize_height" value="',
1633
                        isset($SETTINGS['upload_imageresize_height']) ? $SETTINGS['upload_imageresize_height'] : '600', '" class="text ui-widget-content upl_img_opt" onchange="updateSetting($(this).attr(\'id\'));" />
1634
                    </td>
1635
                </tr>
1636
                <tr><td>
1637
                    <i class="fa fa-chevron-right mi-grey-1" style="margin-right: .3em;">&nbsp;</i>
1638
                    <label>'.$LANG['settings_upload_imageresize_options_q'].
1639
                    '</label>
1640
                    </td><td>
1641
                    <input type="text" size="5" id="upload_imageresize_quality" name="upload_imageresize_quality" value="',
1642
                        isset($SETTINGS['upload_imageresize_quality']) ? $SETTINGS['upload_imageresize_quality'] : '90', '" class="text ui-widget-content upl_img_opt" onchange="updateSetting($(this).attr(\'id\'));" />
1643
                </td></tr>';
1644
echo '
1645
                <tr><td colspan="3"><hr /></td></tr>';
1646
echo '
1647
                </table>
1648
            </div>';
1649
// --------------------------------------------------------------------------------
1650
1651
echo '
1652
        </div>';
1653
1654
echo '
1655
    </form>
1656
</div>';
1657
1658
echo '
1659
<input id="restore_bck_fileObj" name="restore_bck_fileObj" type="hidden" value="" />
1660
<div id="restore_bck_encryption_key_dialog" style="display:none; text-align:center;">
1661
    <input id="restore_bck_encryption_key" name="restore_bck_encryption_key" type="text" value="" />
1662
    <br>
1663
    <div class="ui-state-error ui-corner-all" style="display:none;padding:5px;display:none;margin:2px;" id="restore_bck_encryption_key_dialog_error"></div>
1664
</div>';
1665
include "admin.settings.load.php";
1666