Files

40 lines
1.7 KiB
Plaintext
Raw Permalink Normal View History

2026-03-06 19:26:11 +03:00
<?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>