При активации создаётся страница согласия consent-to-scan; текст согласия стал гиперссылкой на неё

This commit is contained in:
apuc committed 2026-09-21 15:20:39 +03:00
1 parent 544b4b7aef
commit 538f1e9d2a
2 files changed
+48 -1

No files matched your search

+46 -1
View File
@@ -58,6 +58,51 @@ function med_diag_max_upload_bytes() {
return 100 * 1024 * 1024;
}
/* ─── Страница согласия на сканирование ───────────────────── */
// Слаг страницы с текстом согласия (только латиница).
define( 'MED_DIAG_CONSENT_SLUG', 'consent-to-scan' );
/**
* Содержимое страницы согласия (из официального текста).
*/
function med_diag_consent_content() {
return '<h2>СОГЛАСИЕ НА СКАНИРОВАНИЕ</h2>
<p>Нажимая кнопку «Начать измерение» на устройстве «Фотоплетизмографическое сканирование здоровья «Спектр»» (далее – «Устройство»), я, дееспособный гражданин Российской Федерации, даю ООО «МЦДЦ» (адрес: 121205, город Москва, тер Инновационного Центра Сколково, Большой б-р, д. 30 стр. 1, эт. 1 помещ. 247, ОГРН 1217700384857, ИНН 9731082407) согласие на разовое сканирование моих физиологических показателей.</p>
<p>Я уведомлен о том, что данные, полученные в результате сканирования с помощью Устройства, используются исключительно для демонстрации результата сканирования на экране Устройства, не сохраняются и не используются для идентификации моей личности.</p>
<p>Я уведомлен о том, что сведения, отображаемые на экране Устройства, не могут быть использованы для профилактики, диагностики и лечения заболеваний, и о необходимости обращения к врачу при обнаружении у меня каких-либо симптомов заболеваний.</p>';
}
/**
* URL страницы согласия (создаётся при активации плагина).
*/
function med_diag_consent_url() {
$page = get_page_by_path( MED_DIAG_CONSENT_SLUG );
if ( $page ) {
return get_permalink( $page );
}
return home_url( '/' . MED_DIAG_CONSENT_SLUG );
}
/**
* При активации плагина создаём страницу согласия, если её ещё нет.
*/
register_activation_hook( __FILE__, 'med_diag_activate' );
function med_diag_activate() {
$existing = get_page_by_path( MED_DIAG_CONSENT_SLUG );
if ( $existing ) {
return;
}
wp_insert_post( array(
'post_type' => 'page',
'post_status' => 'publish',
'post_title' => 'Согласие на сканирование',
'post_name' => MED_DIAG_CONSENT_SLUG,
'post_content' => med_diag_consent_content(),
) );
}
/**
* Ошибка в формате JSON: {"error": "..."} — как во Flask-бэкенде.
* Фронтенд читает именно поле error (и video_url), а WP_Error отдаёт структуру
@@ -261,7 +306,7 @@ function med_diag_shortcode( $atts ) {
<h3>📷 Сканирование</h3>
<p class="med-scan-desc">Наведите камеру на лицо — мы запишем видео и проведём анализ</p>
<button class="med-scan-btn" id="scanBtn">📷 Сканировать</button>
<p class="med-scan-consent">Нажимая на кнопку, я даю согласие на сканирование. Данные не сохраняются, не идентифицируют Вашу личность и используются исключительно для показа результата на экране устройства</p>
<p class="med-scan-consent"><a href="<?php echo esc_url( med_diag_consent_url() ); ?>">Нажимая на кнопку, я даю согласие на сканирование. Данные не сохраняются, не идентифицируют Вашу личность и используются исключительно для показа результата на экране устройства</a></p>
</div>
<!--