Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
14 / 14
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
OlzEmailModal
100.00% covered (success)
100.00%
14 / 14
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 getHtml
100.00% covered (success)
100.00%
14 / 14
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3namespace Olz\Captcha\Components\OlzEmailModal;
4
5use Olz\Components\Common\OlzComponent;
6
7/** @extends OlzComponent<array{
8 *   email: non-empty-string,
9 *   text?: ?non-empty-string,
10 *   subject?: ?non-empty-string,
11 * }> */
12class OlzEmailModal extends OlzComponent {
13    public function getHtml(mixed $args): string {
14        $text = $args['text'] ?? 'E-Mail';
15        $key = $this->envUtils()->getEncryptionKey('email-captcha');
16        $data = [
17            'email' => $args['email'],
18            'text' => strip_tags($text),
19            'subject' => $args['subject'] ?? null,
20        ];
21        $email_token = $this->generalUtils()->encrypt($key, $data);
22        $enc_email_token = json_encode($email_token);
23        return <<<ZZZZZZZZZZ
24            <a
25                href='#'
26                onclick='return olz.initOlzEmailModal({$enc_email_token})'
27                class='linkmail'
28            >
29                {$text}
30            </a>
31            ZZZZZZZZZZ;
32    }
33}