PluginProbe
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 3.4.0
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v3.4.0
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 / addons / lib / buffer / buffer-output.php

buffer-output.php in Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode 3.4.0, at addons/lib/buffer/buffer-output.php

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