PluginProbe
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode / 4.7.1
Cookiebot by Usercentrics – Automatic Cookie Banner for GDPR/CCPA & Google Consent Mode v4.7.1
4.7.4 4.7.5 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 All 95 releases
cookiebot / src / lib / Cookiebot_Admin_Links.php

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

85 lines 1.9 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;
4
5 class Cookiebot_Admin_Links {
6
7 /**
8 * Extra admin links
9 *
10 * @var array
11 */
12 protected $admin_links;
13
14 public function __construct() {
15 $this->admin_links = $this->add_links();
16 }
17
18 public function register_hooks() {
19 add_filter( 'plugin_action_links_cookiebot/cookiebot.php', array( $this, 'set_settings_action_link' ) );
20 add_action( 'admin_init', array( $this, 'handle_external_redirects' ) );
21 }
22
23 public function handle_external_redirects() {
24 //phpcs:ignore WordPress.Security.NonceVerification.Recommended
25 if ( empty( $_GET['page'] ) ) {
26 return;
27 }
28 }
29
30 public function display() {
31 return true;
32 }
33
34 public function set_settings_action_link( $actions ) {
35 $cb_actions = array();
36
37 foreach ( $this->admin_links as $link ) {
38 $item = array(
39 'url' => $link['override'] && $link['condition'] ? $link['over_url'] : $link['url'],
40 'label' => $link['override'] && $link['condition'] ? $link['over_label'] : $link['label'],
41 'strong' => $link['strong'],
42 );
43
44 $cb_actions[ $link['index'] ] = $this->get_link_html( $item );
45 }
46
47 $actions = array_merge( $actions, $cb_actions );
48 ksort( $actions );
49
50 return $actions;
51 }
52
53 private function add_links() {
54 return array(
55 array(
56 'url' => add_query_arg( 'page', 'cookiebot', admin_url( 'admin.php' ) ),
57 'label' => 'Get Started',
58 'strong' => false,
59 'override' => false,
60 'condition' => false,
61 'index' => 'dashboard',
62 ),
63 );
64 }
65
66 private function get_link_html( $link ) {
67 $link_html = '<a href="' . esc_url( $link['url'] ) . '">';
68
69 if ( $link['strong'] ) {
70 $link_html .= '<b>';
71 }
72
73 // phpcs:ignore WordPress.WP.I18n.NoEmptyStrings,WordPress.WP.I18n.MissingTranslatorsComment
74 $link_html .= esc_html( sprintf( __( '%s', 'cookiebot' ), $link['label'] ) );
75
76 if ( $link['strong'] ) {
77 $link_html .= '</b>';
78 }
79
80 $link_html .= '</a>';
81
82 return $link_html;
83 }
84 }
85