PluginProbe
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.7.3
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.7.3
4.7.3 4.7.2 4.7.1 trunk 2.3.0 2.4.0 2.4.1 2.4.2 2.5.0 3.0.0 3.0.1 3.1.0 3.10.0 3.10.1 3.11.1 3.11.2 3.11.3 3.2.0 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 All 93 releases
cookiebot / src / lib / buffer / Buffer_Output.php

Buffer_Output.php in Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode 4.7.3, at src/lib/buffer/Buffer_Output.php

67 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace cybot\cookiebot\lib\buffer;
4
5 class Buffer_Output implements Buffer_Output_Interface {
6
7
8 /**
9 * Hook tag names
10 *
11 * @var array
12 *
13 * @since 1.2.0
14 */
15 private $tags = array();
16
17 /**
18 * @param $tag_name string Hook name
19 * @param $priority integer Hook priority
20 * @param array $keywords array List of words to search for in the script
21 * @param boolean $use_cache Use Cache
22 *
23 * @since 1.2.0
24 */
25 public function add_tag( $tag_name, $priority, $keywords = array(), $use_cache = true ) {
26 $tag = new Buffer_Output_Tag( $tag_name, $priority, $keywords, $use_cache );
27 $unique_id = $tag->tag . '_' . $tag->priority;
28
29 /**
30 * If tag_name and priority exists
31 * Then merge the keywords
32 */
33 if ( isset( $this->tags[ $unique_id ] ) ) {
34 $this->tags[ $unique_id ]->merge_keywords( $keywords );
35
36 if ( ! $use_cache ) {
37 $this->tags[ $unique_id ]->set_use_cache( false );
38 }
39 } else {
40 $this->tags[ $unique_id ] = $tag;
41 }
42 }
43
44 /**
45 * Process every tag
46 *
47 * @since 1.2.0
48 */
49 public function run_actions() {
50 foreach ( $this->tags as $tag ) {
51 add_action( $tag->tag, array( $tag, 'cookiebot_start_buffer' ), $tag->priority - 1 );
52 add_action( $tag->tag, array( $tag, 'cookiebot_stop_buffer' ), $tag->priority + 1 );
53 }
54 }
55
56 /**
57 * Returns true if tags has more than 0 item
58 *
59 * @return bool
60 *
61 * @since 1.2.0
62 */
63 public function has_action() {
64 return count( $this->tags ) > 0;
65 }
66 }
67