8 isset(
$user) or require
$_SERVER[
'DOCUMENT_ROOT'] .
'/page/404.php';
10 if (!
$user->access()->action(
'/api/action/settings')) {
11 foreach (Wrong\Start\Env::$e as $key => $value) {
12 if (stripos($key,
'secret') !==
false || stripos($key,
'password') !==
false) {
19 <div
class=
"modal fade" id=
"<?= $basename ?>" tabindex=
"-1" data-backdrop=
"static">
20 <div
class=
"modal-dialog modal-xl modal-dialog-centered modal-dialog-scrollable w-100 mw-100 h-100 p-0 m-0 position-fixed" style=
"max-width: 100%;max-height:100%;" role=
"document">
21 <div
class=
"modal-content w-100 h-100 rounded-0 border-0">
22 <div
class=
"modal-header">
23 <h5
class=
"modal-title"><i
class=
"fa fa-cogs mr-2"></i>Настройки системы</h5>
24 <button type=
"button" class=
"close" data-dismiss=
"modal" aria-label=
"Close">
25 <span aria-hidden=
"true">×</span>
28 <div
class=
"modal-body pt-2">
29 <form
id=
"form-system-settings" action=
"<?= Wrong\Models\Actions::find(25)->request ?>">
30 <div
class=
"row row-cols-1 row-cols-xl-2">
32 <div
class=
"badge badge-warning px-2">API ключи:</div>
33 <div
class=
"input-group input-group-sm mt-1">
34 <div
class=
"input-group-prepend w-50">
37 <input type=
"text" name=
"HCAPTCHA_SITEKEY" class=
"form-control" value=
"<?= Wrong\Start\Env::$e->HCAPTCHA_SITEKEY ?>" placeholder=
"HCAPTCHA_SITEKEY" autocomplete=
"off">
39 <div
class=
"input-group input-group-sm mt-2">
40 <div
class=
"input-group-prepend w-50">
43 <input type=
"text" name=
"HCAPTCHA_SECRET" class=
"form-control" value=
"<?= Wrong\Start\Env::$e->HCAPTCHA_SECRET ?>" placeholder=
"HCAPTCHA_SECRET" autocomplete=
"off">
45 <div
class=
"input-group input-group-sm mt-2">
46 <div
class=
"input-group-prepend w-50">
49 <input type=
"text" name=
"GOOGLE_OAUTH_CLIENT_ID" class=
"form-control" value=
"<?= Wrong\Start\Env::$e->GOOGLE_OAUTH_CLIENT_ID ?>" placeholder=
"GOOGLE_OAUTH_CLIENT_ID" autocomplete=
"off">
51 <div
class=
"input-group input-group-sm mt-2">
52 <div
class=
"input-group-prepend w-50">
55 <input type=
"text" name=
"GOOGLE_OAUTH_CLIENT_SECRET" class=
"form-control" value=
"<?= Wrong\Start\Env::$e->GOOGLE_OAUTH_CLIENT_SECRET ?>" placeholder=
"GOOGLE_OAUTH_CLIENT_SECRET" autocomplete=
"off">
57 <div
class=
"input-group input-group-sm mt-2">
58 <div
class=
"input-group-prepend w-50">
61 <input type=
"text" name=
"YANDEX_OAUTH_CLIENT_ID" class=
"form-control" value=
"<?= Wrong\Start\Env::$e->YANDEX_OAUTH_CLIENT_ID ?>" placeholder=
"YANDEX_OAUTH_CLIENT_ID" autocomplete=
"off">
63 <div
class=
"input-group input-group-sm mt-2">
64 <div
class=
"input-group-prepend w-50">
67 <input type=
"text" name=
"YANDEX_OAUTH_CLIENT_SECRET" class=
"form-control" value=
"<?= Wrong\Start\Env::$e->YANDEX_OAUTH_CLIENT_SECRET ?>" placeholder=
"YANDEX_OAUTH_CLIENT_SECRET" autocomplete=
"off">
69 <div
class=
"input-group input-group-sm mt-2">
70 <div
class=
"input-group-prepend w-50">
73 <input type=
"text" name=
"ANYCOMMENT_SECRET" class=
"form-control" value=
"<?= Wrong\Start\Env::$e->ANYCOMMENT_SECRET ?>" placeholder=
"ANYCOMMENT_SECRET" autocomplete=
"off">
75 <div
class=
"badge badge-warning px-2 mt-2">Новые пользователи:</div>
76 <div
class=
"input-group input-group-sm mt-1">
77 <div
class=
"input-group-prepend w-50">
80 <select name=
"OWNER_GROUP_USERS" class=
"custom-select">
82 foreach (
$user->subordinate_groups as $id) {
84 echo
'<option value="' . $row->id .
'" ' . ($row->id ==
Wrong\Start\Env::$e->OWNER_GROUP_USERS ?
' selected' :
'') .
'>' . Wrong\Rights\Group::text($row->id) .
'</option>';
89 <div
class=
"border px-2 py-1 rounded bg-light-info mt-2">
90 <small><?=
Wrong\Database\Controller::find(
'GROUPS_USERS',
'name',
'settings')->description ?> <a onclick=
"if(~~this.dataset.checked){$(this).html('отметить все');this.dataset.checked=0;$(this).parents('form').find('[name^=GROUPS_USERS]').prop('checked', false);}else{$(this).html('снять все');this.dataset.checked=1;$(this).parents('form').find('[name^=GROUPS_USERS]').prop('checked', true);}return false;" href=
"#">отметить все</a></small>
92 foreach (
$user->subordinate_groups as $id) {
94 echo
'<div class="custom-control custom-checkbox small">
95 <input type="checkbox" name="GROUPS_USERS[' . $row->id .
']" class="custom-control-input" id="check-group-' . $row->id .
'" ' . (in_array($row->id, Wrong\Start\Env::$e->GROUPS_USERS) ?
'checked' :
'') .
'>
96 <label class="custom-control-label" for="check-group-' . $row->id .
'">' . Wrong\Rights\Group::text($row->id) .
'</label>
101 <div
class=
"bg-light-info border mt-2 px-2 py-1 rounded">
102 <div
class=
"custom-control custom-checkbox small">
103 <input type=
"checkbox" name=
"USER_ACT" class=
"custom-control-input" id=
"USER_ACT" <?=
Wrong\Database\Controller::find(
'USER_ACT',
'name',
'settings')->value ?
'checked' :
'' ?>>
107 <div
class=
"bg-light-info border mt-2 px-2 py-1 rounded">
108 <div
class=
"custom-control custom-checkbox small">
109 <input type=
"checkbox" name=
"USER_API" class=
"custom-control-input" id=
"USER_API" <?=
Wrong\Database\Controller::find(
'USER_API',
'name',
'settings')->value ?
'checked' :
'' ?>>
118 <div
class=
"badge badge-warning px-2">Система:</div>
119 <a
class=
"badge badge-danger px-2" title=
"Очистка всего кеша системы" data-action=
"cache-clean" data-confirm=
"true" data-header=
"Очистить кеш?" data-body=
"Очистить системный кеш полностью?" data-callback=
"afterCleanCache" href=
"#" role=
"button">Очистить кеш <span
id=
"cache-size"><i
class=
"fa fa-circle-o-notch fa-spin small"></i></span></a>
121 <div
class=
"bg-light-info border mt-1 px-2 py-1 rounded">
122 <div
class=
"custom-control custom-checkbox small">
123 <input type=
"checkbox" name=
"RETURN_TO_REQUEST" class=
"custom-control-input" id=
"RETURN_TO_REQUEST" <?=
Wrong\Database\Controller::find(
'RETURN_TO_REQUEST',
'name',
'settings')->value ?
'checked' :
'' ?>>
124 <label
class=
"custom-control-label" for=
"RETURN_TO_REQUEST"><?=
Wrong\Database\Controller::find(
'RETURN_TO_REQUEST',
'name',
'settings')->description ?></label>
127 <div
class=
"bg-light-info border mt-2 px-2 py-1 rounded">
128 <div
class=
"custom-control custom-checkbox small">
129 <input type=
"checkbox" name=
"HIDE_OUT_LINKS" class=
"custom-control-input" id=
"HIDE_OUT_LINKS" <?=
Wrong\Database\Controller::find(
'HIDE_OUT_LINKS',
'name',
'settings')->value ?
'checked' :
'' ?>>
130 <label
class=
"custom-control-label" for=
"HIDE_OUT_LINKS"><?=
Wrong\Database\Controller::find(
'HIDE_OUT_LINKS',
'name',
'settings')->description ?></label>
133 <div
class=
"bg-light-info border mt-2 px-2 py-1 rounded">
134 <div
class=
"custom-control custom-checkbox small">
135 <input type=
"checkbox" name=
"HIDE_OUT_ACTIONS_MODALS" class=
"custom-control-input" id=
"HIDE_OUT_ACTIONS_MODALS" <?=
Wrong\Database\Controller::find(
'HIDE_OUT_ACTIONS_MODALS',
'name',
'settings')->value ?
'checked' :
'' ?>>
136 <label
class=
"custom-control-label" for=
"HIDE_OUT_ACTIONS_MODALS"><?=
Wrong\Database\Controller::find(
'HIDE_OUT_ACTIONS_MODALS',
'name',
'settings')->description ?></label>
139 <div
class=
"bg-light-info border mt-2 px-2 py-1 rounded">
140 <div
class=
"custom-control custom-checkbox small">
141 <input type=
"checkbox" name=
"API" class=
"custom-control-input" id=
"API" <?=
Wrong\Database\Controller::find(
'API',
'name',
'settings')->value ?
'checked' :
'' ?>>
145 <div
class=
"bg-light-info border mt-2 px-2 py-1 rounded">
146 <div
class=
"custom-control custom-checkbox small">
147 <input type=
"checkbox" name=
"CRON_ACT" class=
"custom-control-input" id=
"CRON_ACT" <?=
Wrong\Database\Controller::find(
'CRON_ACT',
'name',
'settings')->value ?
'checked' :
'' ?>>
151 <div
class=
"bg-light-info border mt-2 px-2 py-1 rounded">
152 <div
class=
"custom-control custom-checkbox small">
153 <input type=
"checkbox" name=
"CRON_CLI" class=
"custom-control-input" id=
"CRON_CLI" <?=
Wrong\Database\Controller::find(
'CRON_CLI',
'name',
'settings')->value ?
'checked' :
'' ?>>
157 <div
class=
"bg-light-info border mt-2 px-2 py-1 rounded">
158 <div
class=
"custom-control custom-checkbox small">
159 <input type=
"checkbox" name=
"SUBORDINATE_MODELS" class=
"custom-control-input" id=
"SUBORDINATE_MODELS" <?=
Wrong\Database\Controller::find(
'SUBORDINATE_MODELS',
'name',
'settings')->value ?
'checked' :
'' ?>>
160 <label
class=
"custom-control-label" for=
"SUBORDINATE_MODELS"><?=
Wrong\Database\Controller::find(
'SUBORDINATE_MODELS',
'name',
'settings')->description ?></label>
163 <div
class=
"bg-light-info border mt-2 px-2 py-1 rounded">
164 <div
class=
"custom-control custom-checkbox small">
165 <input type=
"checkbox" name=
"HIDE_NON_ACTIVE_GROUP_MODELS" class=
"custom-control-input" id=
"HIDE_NON_ACTIVE_GROUP_MODELS" <?=
Wrong\Database\Controller::find(
'HIDE_NON_ACTIVE_GROUP_MODELS',
'name',
'settings')->value ?
'checked' :
'' ?>>
166 <label
class=
"custom-control-label" for=
"HIDE_NON_ACTIVE_GROUP_MODELS"><?=
Wrong\Database\Controller::find(
'HIDE_NON_ACTIVE_GROUP_MODELS',
'name',
'settings')->description ?></label>
169 <div
class=
"bg-light-info border mt-2 px-2 py-1 rounded">
170 <div
class=
"custom-control custom-checkbox small">
171 <input type=
"checkbox" name=
"SYSTEM_CLOSED" class=
"custom-control-input" id=
"SYSTEM_CLOSED" <?=
Wrong\Database\Controller::find(
'SYSTEM_CLOSED',
'name',
'settings')->value ?
'checked' :
'' ?>>
172 <label
class=
"custom-control-label text-danger" for=
"SYSTEM_CLOSED"><?=
Wrong\Database\Controller::find(
'SYSTEM_CLOSED',
'name',
'settings')->description ?></label>
175 <div
class=
"bg-light-info border mt-2 px-2 py-1 rounded">
176 <div
class=
"custom-control custom-checkbox small">
177 <input type=
"checkbox" name=
"DEVELOPER_MODE" class=
"custom-control-input" id=
"DEVELOPER_MODE" <?=
Wrong\Database\Controller::find(
'DEVELOPER_MODE',
'name',
'settings')->value ?
'checked' :
'' ?>>
178 <label
class=
"custom-control-label text-danger" for=
"DEVELOPER_MODE"><?=
Wrong\Database\Controller::find(
'DEVELOPER_MODE',
'name',
'settings')->description ?></label>
183 <div
class=
"badge badge-warning px-2 mt-2">Отправка почты:</div>
184 <div
class=
"bg-light-info border mt-1 px-2 py-1 rounded">
185 <div
class=
"custom-control custom-checkbox small">
186 <input type=
"checkbox" name=
"EMAIL" class=
"custom-control-input" id=
"EMAIL" <?=
Wrong\Database\Controller::find(
'EMAIL',
'name',
'settings')->value ?
'checked' :
'' ?>>
190 <div
class=
"input-group input-group-sm mt-2">
191 <div
class=
"input-group-prepend w-50">
194 <input type=
"text" name=
"MAIL_USERNAME" class=
"form-control" value=
"<?= Wrong\Start\Env::$e->MAIL_USERNAME ?>" placeholder=
"MAIL_USERNAME" autocomplete=
"off">
196 <div
class=
"bg-light-info border mt-2 px-2 py-1 rounded">
197 <div
class=
"custom-control custom-checkbox small">
198 <input type=
"checkbox" name=
"EMAIL_CONFIRMATION" class=
"custom-control-input" id=
"EMAIL_CONFIRMATION" <?=
Wrong\Database\Controller::find(
'EMAIL_CONFIRMATION',
'name',
'settings')->value ?
'checked' :
'' ?>>
199 <label
class=
"custom-control-label" for=
"EMAIL_CONFIRMATION"><?=
Wrong\Database\Controller::find(
'EMAIL_CONFIRMATION',
'name',
'settings')->description ?></label>
202 <div
class=
"bg-light-info border mt-2 px-2 py-1 rounded">
203 <div
class=
"custom-control custom-checkbox small">
204 <input type=
"checkbox" name=
"SMTP" class=
"custom-control-input" id=
"SMTP" <?=
Wrong\Database\Controller::find(
'SMTP',
'name',
'settings')->value ?
'checked' :
'' ?>>
208 <div
class=
"input-group input-group-sm mt-2">
209 <div
class=
"input-group-prepend w-50">
212 <input type=
"text" name=
"SMTP_HOST" class=
"form-control" value=
"<?= Wrong\Start\Env::$e->SMTP_HOST ?>" placeholder=
"SMTP_HOST" autocomplete=
"off">
214 <div
class=
"input-group input-group-sm mt-2">
215 <div
class=
"input-group-prepend w-50">
218 <input type=
"number" name=
"SMTP_PORT" class=
"form-control" value=
"<?= Wrong\Start\Env::$e->SMTP_PORT ?>" placeholder=
"SMTP_PORT" autocomplete=
"off">
220 <div
class=
"input-group input-group-sm mt-2">
221 <div
class=
"input-group-prepend w-50">
224 <input type=
"text" name=
"SMTP_PASSWORD" class=
"form-control" value=
"<?= Wrong\Start\Env::$e->SMTP_PASSWORD ?>" placeholder=
"SMTP_PASSWORD" autocomplete=
"off">
230 <button form=
"form-system-settings" type=
"submit" class=
"btn btn-sm btn-block btn-success">Сохранить</button>
234 $(
"#<?= $basename ?> form").submit(
function(e) {
235 lockSubmit($(
"#<?= $basename ?> [type=submit]"));
239 url: $(
this).attr(
"action"),
240 data: $(
this).serialize(),
248 if (response.error) {
249 errorToast(response.error);
252 $(
'.dataTable').DataTable().ajax.reload(
null,
false);
253 $(
'.toast').toast(
'hide');
254 successToast(response.message);
255 $(
"#<?= $basename ?>").modal(
"hide");
258 unlockSubmit($(
"#<?= $basename ?> [type=submit]"));
262 $(
"#<?= $basename ?> [name=CRON_ACT]").change(
function() {
263 if ($(
this).is(
':checked')) {
264 $(
'#crontabs-alert').fadeOut();
266 $(
'#crontabs-alert').fadeIn();
270 $(
"#<?= $basename ?> [name=EMAIL]").change(
function() {
271 if (!$(
this).is(
':checked')) {
272 $(
"#<?= $basename ?> [name=EMAIL_CONFIRMATION]").prop(
"checked",
false);
276 $(
"#<?= $basename ?> [name=EMAIL_CONFIRMATION]").change(
function() {
277 if ($(
this).is(
':checked')) {
278 $(
"#<?= $basename ?> [name=EMAIL]").prop(
"checked",
true);
282 $(
'#cache-size').load(
'/api/select/cache-size');
284 function afterCleanCache(response) {
285 if (response.error) {
286 errorToast(response.error);
289 successToast(response.message);
290 $(
'#cache-size').html(response.size);
static find($value, $column='id', $table='')
setcookie('FROM_UID', $uid, [ 'expires'=> time()+31536000, 'path'=> '/', 'domain'=> $_SERVER['HTTP_HOST'], 'secure'=> Wrong\Start\Env::$e->IS_SECURE, 'httponly'=> false, 'samesite'=> Wrong\Start\Env::$e->IS_SECURE ? 'None' :'Lax']) or setcookie('FROM_UID' $_SERVER['HTTP_HOST']