40 lines
1.7 KiB
Plaintext
Executable File
40 lines
1.7 KiB
Plaintext
Executable File
<?php
|
||
$mid = "conmed.authserver";
|
||
if($_POST['Update'] && check_bitrix_sessid()){
|
||
$rawList = $_POST['client_list'];
|
||
$lines = explode("\n", str_replace("\r", "", $rawList));
|
||
$processedLines = [];
|
||
|
||
foreach($lines as $line) {
|
||
$line = trim($line);
|
||
if(empty($line)) continue;
|
||
|
||
// Лимит 3 позволяет корректно обрабатывать https:// в третьем поле
|
||
$pair = explode(":", $line, 3);
|
||
$clientId = trim($pair[0]);
|
||
$secret = trim($pair[1]);
|
||
$domain = isset($pair[2]) ? trim($pair[2], " /") : "";
|
||
|
||
if (strpos($secret, '$2y$') !== 0) {
|
||
$secret = password_hash($secret, PASSWORD_BCRYPT);
|
||
}
|
||
$processedLines[] = $clientId . ":" . $secret . ":" . $domain;
|
||
}
|
||
\Bitrix\Main\Config\Option::set($mid, "client_list", implode("\n", $processedLines));
|
||
}
|
||
$clientList = \Bitrix\Main\Config\Option::get($mid, "client_list");
|
||
$tabControl = new CAdminTabControl("tabControl", [["DIV"=>"edit1","TAB"=>"Настройки","TITLE"=>"Доверенные сайты"]]);
|
||
$tabControl->Begin();
|
||
?>
|
||
<form method="post">
|
||
<?=bitrix_sessid_post()?>
|
||
<?$tabControl->BeginNextTab()?>
|
||
<tr>
|
||
<td width="40%" valign="top">Список клиентов (ID:SECRET:DOMAIN):</td>
|
||
<td width="60%">
|
||
<textarea name="client_list" rows="10" cols="90" style="font-family:monospace;"><?=htmlspecialcharsbx($clientList)?></textarea>
|
||
<br>
|
||
<small>Формат: <b>ID : SECRET : https://id.con-med.ru</b> (с протоколом, без слеша в конце)</small>
|
||
</td>
|
||
</tr>
|
||
<?$tabControl->Buttons()?><input type="submit" name="Update" value="Сохранить" class="adm-btn-save"><?$tabControl->End()?></form> |