PluginProbe ʕ •ᴥ•ʔ
Email Encoder – Protect Email Addresses and Phone Numbers / 2.4.1
Email Encoder – Protect Email Addresses and Phone Numbers v2.4.1
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 / Shortcodes / ProtectContentShortcode.php
email-encoder-bundle / src / Front / Shortcodes Last commit date
ContentShortcode.php 5 months ago EmailEncoderFormShortcode.php 5 months ago EmailShortcode.php 5 months ago MailtoShortcode.php 5 months ago ProtectContentShortcode.php 5 months ago ProtectEmailsShortcode.php 5 months ago Shortcodes.php 5 months ago
ProtectContentShortcode.php
69 lines
1 <?php
2
3 namespace OnlineOptimisation\EmailEncoderBundle\Front\Shortcodes;
4
5 use OnlineOptimisation\EmailEncoderBundle\Traits\PluginHelper;
6
7 class ProtectContentShortcode
8 {
9 use PluginHelper;
10
11 protected string $tag = 'eeb_protect_content';
12
13 public function tag(): string
14 {
15 return $this->tag;
16 }
17
18
19 public function handle( array $atts = [], ?string $content = null ): string
20 {
21
22 $original_content = $content;
23 $allowed_attr_html = $this->getSafeHtmlAttr();
24 $show_encoded_check = (bool) $this->getSetting( 'show_encoded_check', true );
25
26 if ( ! isset( $atts['protection_text'] ) ) {
27 $protection_text = __( $this->getSetting( 'protection_text', true ), 'email-protection-text-eeb-content' );
28 } else {
29 $protection_text = wp_kses_post( $atts['protection_text'] );
30 }
31
32 if ( isset( $atts['method'] ) ) {
33 $method = sanitize_title( $atts['method'] );
34 } else {
35 $method = 'rot13';
36 }
37
38 $content = wp_kses( html_entity_decode( $content ), $allowed_attr_html );
39
40 if ( isset( $atts['do_shortcode'] ) && $atts['do_shortcode'] === 'yes' ) {
41 $content = do_shortcode( $content );
42 }
43
44 switch ( $method ) {
45 case 'enc_ascii':
46 case 'rot13':
47 $content = $this->encodeAscii( $content, $protection_text );
48 break;
49 case 'enc_escape':
50 case 'escape':
51 $content = $this->encodeEscape( $content, $protection_text );
52 break;
53 case 'enc_html':
54 case 'encode':
55 default:
56 $content = antispambot( $content );
57 break;
58 }
59
60 // mark link as successfullly encoded (for admin users)
61 if ( current_user_can( $this->getAdminCap( 'frontend-display-security-check' ) ) && $show_encoded_check ) {
62 $content .= $this->getEncodedEmailIcon();
63 }
64
65 return apply_filters( 'eeb/frontend/shortcode/eeb_protect_content', $content, $atts, $original_content );
66 }
67
68 }
69