PluginProbe ʕ •ᴥ•ʔ
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.7.2
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.7.2
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 3.6.1 3.6.2 3.6.5 3.6.6 3.7.0 3.7.1 3.8.0 3.9.0 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.2.0 4.2.1 4.2.10 4.2.11 4.2.12 4.2.13 4.2.14 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.3.10 4.3.11 4.3.12 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.7.1 4.3.8 4.3.9 4.3.9.1 4.4.0 4.4.1 4.4.2 4.5.0 4.5.1 4.5.10 4.5.11 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6 4.5.7 4.5.8 4.5.9 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 4.6.6 4.6.7 4.7.0
cookiebot / src / lib / buffer / Buffer_Output.php
cookiebot / src / lib / buffer Last commit date
Buffer_Output.php 1 year ago Buffer_Output_Interface.php 1 year ago Buffer_Output_Tag.php 1 year ago Buffer_Output_Tag_Interface.php 1 year ago
Buffer_Output.php
67 lines
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