settings.php
См. документацию.
1 <?php
2 
3 /**
4  * @file
5  * @brief обработчик сохранения системных настроек
6  */
7 
8 isset($user) or require $_SERVER['DOCUMENT_ROOT'] . '/page/404.php';
9 
10 header("Content-type: application/json");
11 
12 array_walk_recursive($_POST, function (&$item) {
13  $item = trim(htmlspecialchars($item, ENT_QUOTES));
14 });
15 
16 
17 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'HCAPTCHA_SITEKEY'");
18 $sth->bindValue(':value', $_POST['HCAPTCHA_SITEKEY']);
19 $sth->execute();
20 
21 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'HCAPTCHA_SECRET'");
22 $sth->bindValue(':value', $_POST['HCAPTCHA_SECRET']);
23 $sth->execute();
24 
25 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'GOOGLE_OAUTH_CLIENT_ID'");
26 $sth->bindValue(':value', $_POST['GOOGLE_OAUTH_CLIENT_ID']);
27 $sth->execute();
28 
29 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'GOOGLE_OAUTH_CLIENT_SECRET'");
30 $sth->bindValue(':value', $_POST['GOOGLE_OAUTH_CLIENT_SECRET']);
31 $sth->execute();
32 
33 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'YANDEX_OAUTH_CLIENT_ID'");
34 $sth->bindValue(':value', $_POST['YANDEX_OAUTH_CLIENT_ID']);
35 $sth->execute();
36 
37 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'YANDEX_OAUTH_CLIENT_SECRET'");
38 $sth->bindValue(':value', $_POST['YANDEX_OAUTH_CLIENT_SECRET']);
39 $sth->execute();
40 
41 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'ANYCOMMENT_SECRET'");
42 $sth->bindValue(':value', $_POST['ANYCOMMENT_SECRET']);
43 $sth->execute();
44 
45 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'OWNER_GROUP_USERS'");
46 $sth->bindValue(':value', $_POST['OWNER_GROUP_USERS']);
47 $sth->execute();
48 
49 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'GROUPS_USERS'");
50 $sth->bindValue(':value', json_encode(array_map('intval', array_keys($_POST['GROUPS_USERS']))));
51 $sth->execute();
52 
53 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'RETURN_TO_REQUEST'");
54 $sth->bindValue(':value', intval(isset($_POST['RETURN_TO_REQUEST'])));
55 $sth->execute();
56 
57 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'HIDE_OUT_LINKS'");
58 $sth->bindValue(':value', intval(isset($_POST['HIDE_OUT_LINKS'])));
59 $sth->execute();
60 
61 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'HIDE_OUT_ACTIONS_MODALS'");
62 $sth->bindValue(':value', intval(isset($_POST['HIDE_OUT_ACTIONS_MODALS'])));
63 $sth->execute();
64 
65 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'EMAIL_CONFIRMATION'");
66 $sth->bindValue(':value', intval(isset($_POST['EMAIL_CONFIRMATION'])));
67 $sth->execute();
68 
69 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'EMAIL'");
70 $sth->bindValue(':value', intval(isset($_POST['EMAIL'])));
71 $sth->execute();
72 
73 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'API'");
74 $sth->bindValue(':value', intval(isset($_POST['API'])));
75 $sth->execute();
76 
77 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'USER_API'");
78 $sth->bindValue(':value', intval(isset($_POST['USER_API'])));
79 $sth->execute();
80 
81 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'USER_ACT'");
82 $sth->bindValue(':value', intval(isset($_POST['USER_ACT'])));
83 $sth->execute();
84 
85 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'CRON_ACT'");
86 $sth->bindValue(':value', intval(isset($_POST['CRON_ACT'])));
87 $sth->execute();
88 
89 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'CRON_CLI'");
90 $sth->bindValue(':value', intval(isset($_POST['CRON_CLI'])));
91 $sth->execute();
92 
93 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'SUBORDINATE_MODELS'");
94 $sth->bindValue(':value', intval(isset($_POST['SUBORDINATE_MODELS'])));
95 $sth->execute();
96 
97 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'HIDE_NON_ACTIVE_GROUP_MODELS'");
98 $sth->bindValue(':value', intval(isset($_POST['HIDE_NON_ACTIVE_GROUP_MODELS'])));
99 $sth->execute();
100 
101 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'SYSTEM_CLOSED'");
102 $sth->bindValue(':value', intval(isset($_POST['SYSTEM_CLOSED'])));
103 $sth->execute();
104 
105 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'DEVELOPER_MODE'");
106 $sth->bindValue(':value', intval(isset($_POST['DEVELOPER_MODE'])));
107 $sth->execute();
108 
109 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'MAIL_USERNAME'");
110 $sth->bindValue(':value', $_POST['MAIL_USERNAME']);
111 $sth->execute();
112 
113 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'SMTP'");
114 $sth->bindValue(':value', intval(isset($_POST['SMTP'])));
115 $sth->execute();
116 
117 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'SMTP_HOST'");
118 $sth->bindValue(':value', $_POST['SMTP_HOST']);
119 $sth->execute();
120 
121 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'SMTP_PORT'");
122 $sth->bindValue(':value', $_POST['SMTP_PORT']);
123 $sth->execute();
124 
125 $sth = $dbh->prepare("UPDATE `settings` SET `value` = :value WHERE `name` = 'SMTP_PASSWORD'");
126 $sth->bindValue(':value', $_POST['SMTP_PASSWORD']);
127 $sth->execute();
128 
129 $mem = new Wrong\Memory\Cache('env-cron');
130 $mem->delete('env-cron');
131 
132 exit(json_encode(['result' => 'ok', 'message' => 'Настройки успешно сохранены!']));
133 
$_POST['groups']
Definition: add-action.php:16
$mem
Definition: settings.php:129
$sth
Definition: settings.php:17
Cache класс, отвечающий за кеширование
Definition: Cache.php:19
$user
Definition: from-user.php:38
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']
Definition: from-user.php:36
if(($dbh=Connect::getInstance(true) ->dbh) && $dbh->query("SHOW TABLES") ->fetchAll() && $dbh->query("SELECT COUNT(*) FROM `users`") ->fetchColumn()) if(!empty($_POST)) exit
Definition: install.php:198
$dbh
Definition: session.php:19