PluginProbe ʕ •ᴥ•ʔ
Email Encoder – Protect Email Addresses and Phone Numbers / 2.5.0
Email Encoder – Protect Email Addresses and Phone Numbers v2.5.0
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 / FrontBuffering.php
email-encoder-bundle / src / Front Last commit date
Shortcodes 1 month ago DisplayEmailImage.php 3 months ago Front.php 2 months ago FrontBuffering.php 3 months ago FrontCore.php 3 months ago FrontEnqueue.php 3 months ago FrontTemplateTags.php 3 months ago
FrontBuffering.php
70 lines
1 <?php
2
3 namespace OnlineOptimisation\EmailEncoderBundle\Front;
4
5 if ( ! defined( 'ABSPATH' ) ) exit;
6
7 use OnlineOptimisation\EmailEncoderBundle\Traits\PluginHelper;
8
9 class FrontBuffering
10 {
11 use PluginHelper;
12
13
14 public function boot(): void
15 {
16 add_action( 'init', [ $this, 'buffer_final_output' ], 1000 );
17 }
18
19
20
21 public function buffer_final_output(): void
22 {
23 if ( defined( 'WP_CLI' ) || defined( 'DOING_CRON' ) ) {
24 return;
25 }
26
27 if ( wp_doing_ajax() ) {
28 //Maybe allow filtering for ajax requests
29 $filter_ajax_requests = (int) $this->getSetting( 'ajax_requests', true, 'filter_body' );
30 if ( $filter_ajax_requests !== 1 ) {
31 return;
32 }
33
34 }
35
36 if ( is_admin() ) {
37
38 //Maybe allow filtering for admin requests
39 $filter_admin_requests = (int) $this->getSetting( 'admin_requests', true, 'filter_body' );
40 if ( $filter_admin_requests !== 1 ) {
41 return;
42 }
43
44 }
45
46 ob_start( [ $this, 'apply_content_filter' ] );
47 }
48
49 /**
50 * Apply the callabla function for ob_start()
51 *
52 * @param string $content
53 * @return string - the filtered content
54 */
55 public function apply_content_filter( $content )
56 {
57 $hook = $this->getFinalOutputBufferHook();
58 if ( $hook === '' ) {
59 return $content;
60 }
61
62 $filteredContent = apply_filters( $hook, $content );
63
64 // remove filters after applying to prevent multiple applies
65 remove_all_filters( $this->getFinalOutputBufferHook() );
66
67 return $filteredContent;
68 }
69 }
70