PluginProbe ʕ •ᴥ•ʔ
Email Encoder – Protect Email Addresses and Phone Numbers / 2.4.2
Email Encoder – Protect Email Addresses and Phone Numbers v2.4.2
2.5.0 2.4.8 trunk 0.10 0.11 0.12 0.20 0.21 0.22 0.30 0.31 0.32 0.40 0.41 0.42 0.50 0.60 0.70 0.71 0.80 1.0.0 1.0.1 1.0.2 1.1.0 1.2.0 1.2.1 1.3.0 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.5 1.5.2 1.51 1.53 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3.0 2.3.1 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7
email-encoder-bundle / src / Front / DisplayEmailImage.php
email-encoder-bundle / src / Front Last commit date
Shortcodes 5 months ago DisplayEmailImage.php 5 months ago Front.php 5 months ago FrontBuffering.php 5 months ago FrontCore.php 5 months ago FrontEnqueue.php 5 months ago FrontTemplateTags.php 5 months ago
DisplayEmailImage.php
54 lines
1 <?php
2
3 namespace OnlineOptimisation\EmailEncoderBundle\Front;
4
5 use OnlineOptimisation\EmailEncoderBundle\Traits\PluginHelper;
6
7 class DisplayEmailImage
8 {
9 use PluginHelper;
10
11
12 public function boot(): void
13 {
14 add_action( 'wp', [ $this, 'display_email_image' ], 999 );
15 }
16
17
18 public function display_email_image(): void
19 {
20 if ( ! isset( $_GET['eeb_mail'] ) ) {
21 return;
22 }
23
24 $email = sanitize_email( base64_decode( $_GET['eeb_mail'] ) );
25
26 if ( ! is_email( $email ) || ! isset( $_GET['eeb_hash'] ) ) {
27 return;
28 }
29
30 $hash = (string) $_GET['eeb_hash'];
31 $secret = $this->settings()->get_email_image_secret();
32
33 if ( ! function_exists( 'imagefontwidth' ) ) {
34 wp_die( __( 'GD Library Not Enabled. Please enable it first.', 'email-encoder-bundle' ) );
35 }
36
37 if ( $this->validate()->encoding->generate_email_signature( $email, $secret ) !== $hash ) {
38 wp_die( __( 'Your signture is invalid.', 'email-encoder-bundle' ) );
39 }
40
41 $image = $this->validate()->encoding->email_to_image( $email );
42
43 if ( empty( $image ) ) {
44 wp_die( __( 'Your email could not be converted.', 'email-encoder-bundle' ) );
45 }
46
47 header( 'Content-type: image/png' );
48 echo $image;
49
50 exit;
51 }
52
53 }
54