PATH:
var
/
www
/
clients
/
client1
/
web1
/
web
/
wp-content
/
plugins
/
corona-test-results-premium
/
premium
<?php /** * Copyright 2021 48DESIGN GmbH * All rights reserved. Redistribution of these files without prior consent is prohibited. */ /** * Handle the display of the Quick Check-In form */ function corona_test_results_eneuque_quickcheckin() { $qciScripts = array( 'main' => 'quick-check-in.js', 'qr' => 'qr/qrcodegen.min.js', ); foreach ( $qciScripts as $id => $scriptFile ) { wp_register_script( 'corona-test-results-quickcheckin-' . $id, corona_test_results_plugin_dir_url() . 'assets/js/' . $scriptFile, [], filemtime( corona_test_results_plugin_dir_path() . 'assets/js/' . $scriptFile ) ); } $langStrings = array( // translators: Address format for Quick Check-In form autocomplete. Placeholders: %streetandnumber, %postcode, %city, %state, %country 'address_format' => apply_filters( 'corona_test_results_address_template', __( "%streetandnumber\n%city, %state %postcode", 'corona-test-results' ) ), 'message_email_invalid' => __( "The email address you entered does not appear to be valid.", 'corona-test-results' ), 'message_email_repeat' => __( "The two email address inputs do not match.\nPlease check your email address for typos.", 'corona-test-results' ), 'message_checkbox' => __( "You have to check the checkbox above in order to be able to create the QR code.", 'corona-test-results' ), 'placeholder_day' => vt_helper__default_i18n__( 'Day' ), 'placeholder_month' => vt_helper__default_i18n__( 'Month' ), 'placeholder_year' => vt_helper__default_i18n__( 'Year' ), ); $langStrings['month_names'] = array(); global $wp_locale; if ( !empty( $wp_locale ) && isset( $wp_locale->month ) ) { $langStrings['month_names'] = array_values( $wp_locale->month ); } wp_localize_script( 'corona-test-results-quickcheckin-main', 'corona_test_results_qci', $langStrings ); } add_action( 'wp_enqueue_scripts', 'corona_test_results_eneuque_quickcheckin' ); function corona_test_results_sc_quickcheckin() { // prevent caching for Quick Check-In, so we always have the latest version after plugin updates corona_test_results_prevent_caching(); wp_enqueue_script( 'corona-test-results-quickcheckin-qr' ); wp_enqueue_script( 'corona-test-results-quickcheckin-main' ); ob_start(); ?> <style> #ctr-quickcheckin { table-layout: fixed; } #ctr-quickcheckin, #ctr-quickcheckin th, #ctr-quickcheckin td { border: 0 none; } #ctr-quickcheckin input::placeholder, #ctr-quickcheckin select.show-placeholder, #ctr-quickcheckin select option:first-child { color: #777; } #ctr-quickcheckin select.show-placeholder option { color: #000; } #ctr-quickcheckin input.ctr-quickcheckin-hidden { z-index: -1; position: absolute; width: 1px; height: 1px; top: -100vh; left: -100vw; } #ctr-quickcheckin-result { text-align: center; } #ctr-quickcheckin-qrcode { display: block; margin: auto; margin-bottom: 1em; text-align: center; max-width: 100%; height: auto; scroll-margin: 4em; } #ctr-quickcheckin-save { display: inline-block; } #ctr-quickcheckin input + label { display: inline-block; } #ctr-quickcheckin th { vertical-align: top; width: 33%; } #ctr-quickcheckin td.ctr-datatransfer-options p { margin: 0 0 0em 0; } #ctr-quickcheckin td.ctr-datatransfer-options .disclaimer { font-size: 0.85em; font-style: italic; padding-left: 0.25em; margin-bottom: 1em; } #ctr-qci-date-select-wrapper { display: flex; } #ctr-qci-date-select-wrapper > * { flex-grow: 1; width: auto; margin: 0; } @media screen and (max-width: 699px) { #ctr-quickcheckin th, #ctr-quickcheckin td { display: block; } #ctr-quickcheckin th { padding-bottom: 0; margin-bottom: 0; width: 100%; } #ctr-quickcheckin th label { margin: 0 0 0.5rem 0; } #ctr-quickcheckin td { padding-top: 0; margin-top: 0; } } </style> <table id="ctr-quickcheckin"> <tr> <th><label for="ctr-quickcheckin-lastname"><?php esc_html_e('Surname', 'corona-test-results') ?></label></th> <td><input type="text" id="ctr-quickcheckin-lastname" autocomplete="family-name" /></td> </tr> <tr> <th><label for="ctr-quickcheckin-firstname"><?php esc_html_e('First Name', 'corona-test-results') ?></label></th> <td><input type="text" id="ctr-quickcheckin-firstname" autocomplete="given-name" /></td> </tr> <tr> <th><label for="ctr-quickcheckin-dateofbirth"><?php esc_html_e('Date of Birth', 'corona-test-results') ?></label></th> <td><input type="date" id="ctr-quickcheckin-dateofbirth" autocomplete="bday" placeholder="YYYY-mm-dd" /></td> </tr> <tr> <th><label for="ctr-quickcheckin-email"><?php esc_html_e('Email address', 'corona-test-results') ?></label></th> <td><input type="email" id="ctr-quickcheckin-email" autocomplete="email" /></td> </tr> <?php if( corona_test_results_check_checkbox_option( 'quickcheckin_check_email_repeat' ) ) { ?> <tr> <th><label for="ctr-quickcheckin-email-repeat"><?php esc_html_e('Email address (repeat)', 'corona-test-results') ?></label></th> <td><input type="email" id="ctr-quickcheckin-email-repeat" autocomplete="email" /></td> </tr> <?php } ?> <tr> <th><label for="ctr-quickcheckin-phone"><?php esc_html_e('Phone number', 'corona-test-results') ?></label></th> <td><input type="tel" id="ctr-quickcheckin-phone" autocomplete="tel" /></td> </tr> <tr> <th><label for="ctr-quickcheckin-address"><?php esc_html_e('Address', 'corona-test-results') ?></label></th> <td> <input type="text" tabindex="-1" id="ctr-quickcheckin-street" class="ctr-quickcheckin-hidden" autocomplete="street-address"> <input type="text" tabindex="-1" id="ctr-quickcheckin-postcode" class="ctr-quickcheckin-hidden" autocomplete="postal-code"> <input type="text" tabindex="-1" id="ctr-quickcheckin-city" class="ctr-quickcheckin-hidden" autocomplete="address-level2"> <input type="text" tabindex="-1" id="ctr-quickcheckin-state" class="ctr-quickcheckin-hidden" autocomplete="address-level1"> <input type="text" tabindex="-1" id="ctr-quickcheckin-country" class="ctr-quickcheckin-hidden" autocomplete="country"> <textarea type="text" id="ctr-quickcheckin-address" rows="3" autocomplete="address-full"></textarea> </td> </tr> <tr> <th><label for="ctr-quickcheckin-passport"><?php esc_html_e('Passport number', 'corona-test-results') ?></label></th> <td><input type="text" id="ctr-quickcheckin-passport" /></td> </tr><?php if ( corona_test_results_check_datatransfer_integration_enabled( 'cwa' ) ) { ?> <tr> <th><strong><?php echo esc_html__( 'Data Transfer', 'corona-test-results' ) . ':<br>' . esc_html__( 'Corona-Warn-App', 'corona-test-results' ); ?></strong></th> <td class="ctr-datatransfer-options"> <input name="ctr-datatransfer-cwa" type="radio" value="disabled" id="ctr-datatransfer-cwa-disabled" data-vt-datatransfer> <label for="ctr-datatransfer-cwa-disabled"><?php _e( 'Consent not given', 'corona-test-results' ) ?></label><br> <input name="ctr-datatransfer-cwa" type="radio" value="anonymous" id="ctr-datatransfer-cwa-anonymous" data-vt-datatransfer> <label for="ctr-datatransfer-cwa-anonymous"><?php _e( 'Transfer anonymously', 'corona-test-results' ) ?></label><br> <p class="disclaimer"> Hiermit erkläre ich mein Einverständnis zum Übermitteln meines Testergebnisses und meines pseudonymen Codes an das Serversystem des RKI, damit ich mein Testergebnis mit der Corona-Warn-App abrufen kann. Das Testergebnis in der App kann hierbei nicht als namentlicher Testnachweis verwendet werden. Mir wurden Hinweise zum Datenschutz ausgehändigt. </p> <input name="ctr-datatransfer-cwa" type="radio" value="personal" id="ctr-datatransfer-cwa-personal" data-vt-datatransfer> <label for="ctr-datatransfer-cwa-personal"><?php _e( 'Transfer with personal data', 'corona-test-results' ) ?></label><br> <p class="disclaimer"> Hiermit erkläre ich mein Einverständnis zum Übermitteln des Testergebnisses und meines pseudonymen Codes an das Serversystem des RKI, damit ich mein Testergebnis mit der Corona-Warn-App abrufen kann. Ich willige außerdem in die Übermittlung meines Namens und Geburtsdatums an die App ein, damit mein Testergebnis in der App als namentlicher Testnachweis angezeigt werden kann. Mir wurden Hinweise zum Datenschutz ausgehändigt. </p> </td> </tr> <tr> <td colspan="2"><details> <summary>Hinweise zum Datenschutz</summary> <p>Sie* möchten die Corona-Warn-App („App“) des Robert Koch-Instituts („RKI“) zum Abruf Ihres Testergebnisses eines Antigentests verwenden. Um Ihr Testergebnis über die App abrufen zu können ist es notwendig, dass Ihr Testergebnis von der Teststelle an das Serversystem des RKI übermittelt wird. Verkürzt dargestellt erfolgt dies, indem die Teststelle Ihr Testergebnis, verknüpft mit einem maschinenlesbaren Code, auf einem hierfür bestimmten Server des RKI ablegt. Der Code ist Ihr Pseudonym, weitere Angaben zu Ihrer Person sind für die Anzeige des Testergebnisses in der App nicht erforderlich. Sie können die Anzeige des Testergebnisses jedoch für sich durch Angabe Ihres Namens, Vornamens und Geburtsdatums personalisieren lassen.</p> <p>Der Code wird aus dem vorgesehenen Zeitpunkt des Tests und einer Zufallszahl gebildet. Die Bildung des Codes erfolgt, indem die vorgenannten Daten so miteinander verrechnet werden, dass ein Zurückrechnen der Daten aus dem Code nicht mehr möglich ist.</p> <p>Sie erhalten eine Kopie des Codes in der Darstellung eines QR-Codes, der durch die Kamerafunktion Ihres Smartphones in die App eingelesen werden kann. Alternativ können Sie den pseudonymen Code auch als Internetverweis erhalten („App Link“), der von der App geöffnet und verarbeitet werden kann. Nur hierdurch ist eine Verknüpfung des Testergebnisses mit Ihrer App möglich. Mit Ihrer Einwilligung können Sie dann Ihr Testergebnis mit Hilfe der App abrufen. Ihr Testergebnis wird automatisch nach 21 Tagen auf dem Server gelöscht. Wenn Sie mit der Übermittlung Ihres pseudonymen Testergebnisses mittels des Codes an die App-Infrastruktur zum Zweck des Testabrufs einverstanden sind, bestätigen Sie dies bitte gegenüber den Mitarbeitern der Teststelle. Sie können Ihre Einwilligung jederzeit mit Wirkung für die Zukunft widerrufen. Bitte beachten Sie jedoch, dass aufgrund dervorhandenen Pseudonymisierung eine Zuordnung zu Ihrer Person nicht erfolgen kann und daher eine Löschung Ihrer Daten erst mit Ablauf der 21-tägigen Speicherfrist automatisiert erfolgt. Einzelheiten hierzu finden Sie zudem in den »Datenschutzhinweisen« der Corona-Warn-App des RKI.</p> <p><small>*Wenn Sie jünger als 16 Jahre alt sind, besprechen Sie die Nutzung der App bitte mit Ihren Eltern oder Ihrer sorgeberechtigten Person.</small></p> </details></td> </tr> <?php } if ( corona_test_results_check_checkbox_option( 'quickcheckin_check_confirmation' ) ) { $options = corona_test_results_get_options(); ?> <tr> <td colspan="2"> <label for="ctr-quickcheckin-confirmation_checkbox"><input type="checkbox" id="ctr-quickcheckin-confirmation_checkbox" required> <?php echo strip_tags( $options['quickcheckin_check_confirmation_text'], array( 'a', 'strong', 'em' ) ); ?></label> </td> </tr> <?php } ?> </table> <p><?php esc_html_e( 'After generating the QR code, either keep this page open or save the image to your phone. The code will be scanned when registering your test.', 'corona-test-results' ); ?></p> <p> <button type="button" class="button" id="ctr-quickcheckin-generate"><?php esc_html_e( 'Generate QR code', 'corona-test-results' ); ?></button> </p> <p id="ctr-quickcheckin-result" style="display:none"> <img id="ctr-quickcheckin-qrcode" hidden> <a href="#" type="button" class="button" id="ctr-quickcheckin-save" style="display:none"><?php esc_html_e( 'Save QR code', 'corona-test-results' ); ?></a> </p> <?php return ob_get_clean(); } add_shortcode('testresults_quickcheckin', 'corona_test_results_sc_quickcheckin');
[-] corona-test-results-admin.premium.php
[edit]
[-] corona-test-results-shortcodes.premium.php
[edit]
[+]
js
[-] corona-test-results-admin-locations.premium.php
[edit]
[-] corona-test-results-global.premium.php
[edit]
[+]
..
[-] LICENSE.txt
[edit]