PluginProbe ʕ •ᴥ•ʔ
GDPR Cookie Compliance – Cookie Banner, Cookie Consent, Cookie Notice for CCPA, EU Cookie Law / 4.4.8
GDPR Cookie Compliance – Cookie Banner, Cookie Consent, Cookie Notice for CCPA, EU Cookie Law v4.4.8
5.0.14 5.0.13 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.4.0 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.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.2.0 3.2.1 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.10.5 4.10.6 4.11.0 4.11.1 4.11.2 4.12.0 4.12.1 4.12.2 4.12.3 4.12.4 4.12.5 4.12.6 4.12.7 4.12.8 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.15.0 4.15.1 4.15.10 4.15.2 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.1 4.2.1 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.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.8 4.3.9 4.4.0 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.5.0 4.5.1 4.5.10 4.5.11 4.5.12 4.5.13 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.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.8.0 4.8.1 4.8.10 4.8.11 4.8.12 4.8.13 4.8.2 4.8.3 4.8.4 4.8.5 4.8.6 4.8.7 4.8.8 4.8.9 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.6 4.9.7 5.0.0 5.0.1 5.0.10 5.0.11 5.0.12 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.0.9 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2
gdpr-cookie-compliance / class-gdpr-modules.php
gdpr-cookie-compliance Last commit date
controllers 5 years ago dist 5 years ago gdpr-modules 5 years ago languages 5 years ago views 5 years ago class-gdpr-modules-view.php 5 years ago class-gdpr-modules.php 5 years ago class-gdpr-view.php 5 years ago class-moove-gdpr-actions.php 5 years ago class-moove-gdpr-content.php 5 years ago class-moove-gdpr-options.php 5 years ago gdpr-functions.php 5 years ago moove-gdpr.php 5 years ago readme.txt 5 years ago
class-gdpr-modules.php
405 lines
1 <?php
2 /**
3 * GDPR_Modules File Doc Comment
4 *
5 * @category GDPR_Modules
6 * @package gdpr-cookie-compliance
7 * @author Gaspar Nemes
8 */
9
10 if ( ! defined( 'ABSPATH' ) ) {
11 exit;
12 } // Exit if accessed directly
13
14 /**
15 * GDPR_Modules Class Doc Comment
16 *
17 * @category Class
18 * @package Moove_Modules
19 * @author Gaspar Nemes
20 */
21 class GDPR_Modules {
22 /**
23 * GDPR Options.
24 *
25 * @var array $gdpr_options GDPR Options.
26 */
27 protected $gdpr_options;
28
29 /**
30 * Language code.
31 *
32 * @var string $wpml_lang Language code.
33 */
34 protected $wpml_lang;
35
36 /**
37 * Construct function
38 */
39 public function __construct() {
40 $gdpr_default_content = new Moove_GDPR_Content();
41 $option_name = $gdpr_default_content->moove_gdpr_get_option_name();
42 $modal_options = get_option( $option_name );
43 $wpml_lang = $gdpr_default_content->moove_gdpr_get_wpml_lang();
44 $this->gdpr_options = $modal_options;
45 $this->wpml_lang = $wpml_lang;
46 }
47
48 /**
49 * GDPR Module - Floating Button view & content
50 */
51 public function get_floating_button() {
52 $view_controller = new GDPR_Modules_View();
53 $modal_options = $this->gdpr_options;
54 $wpml_lang = $this->wpml_lang;
55 $floating_button_visibility = 'display: block;';
56 $floating_button_class = '';
57 $infobar_hidden = isset( $modal_options['moove_gdpr_infobar_visibility'] ) && 'hidden' === $modal_options['moove_gdpr_infobar_visibility'] ? true : false;
58 if ( $infobar_hidden ) :
59 $floating_button_class = 'button-visible';
60 endif;
61 $floating_button_position = isset( $modal_options['moove_gdpr_floating_button_position'] ) ? $modal_options['moove_gdpr_floating_button_position'] : '';
62 $data = new stdClass();
63 $data->options = $modal_options;
64 $data->wpml_lang = $wpml_lang;
65 $data->is_enabled = ( isset( $modal_options['moove_gdpr_floating_button_enable'] ) && 1 === intval( $modal_options['moove_gdpr_floating_button_enable'] ) ) ? true : false;
66 $data->styles = $floating_button_visibility . $floating_button_position;
67 $data->class = $floating_button_class;
68 if ( $floating_button_position ) :
69 $data->class = $floating_button_class .= ' gdpr-floating-button-custom-position';
70 endif;
71
72 $mobile_hide = ( isset( $modal_options['moove_gdpr_floating_mobile'] ) && 1 === intval( $modal_options['moove_gdpr_floating_mobile'] ) ) ? true : false;
73 if ( $mobile_hide ) :
74 $data->class = $floating_button_class .= ' gdpr-fb-hide-mobile';
75 endif;
76
77 $data->label = ( isset( $modal_options[ 'moove_gdpr_floating_button_label' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_floating_button_label' . $wpml_lang ] ) ? $modal_options[ 'moove_gdpr_floating_button_label' . $wpml_lang ] : __( 'Change cookie settings', 'gdpr-cookie-compliance' );
78 return $view_controller->load( 'infobar.floating-button', $data );
79 }
80
81 /**
82 * GDPR Module - Base structure
83 */
84 public function get_modal_base() {
85 $view_controller = new GDPR_Modules_View();
86 $modal_options = $this->gdpr_options;
87 $wpml_lang = $this->wpml_lang;
88 $layout = isset( $modal_options['moove_gdpr_plugin_layout'] ) ? $modal_options['moove_gdpr_plugin_layout'] : 'v1';
89 $tab_title = isset( $modal_options[ 'moove_gdpr_privacy_overview_tab_title' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_privacy_overview_tab_title' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_privacy_overview_tab_title' . $wpml_lang ] : __( 'Privacy Overview', 'gdpr-cookie-compliance' );
90 $data = new stdClass();
91 $data->logo_position = isset( $modal_options['moove_gdpr_logo_position'] ) ? $modal_options['moove_gdpr_logo_position'] : 'left';
92 $data->theme = 'moove_gdpr_modal_theme_' . $layout;
93 $modal_theme = 'moove_gdpr_modal_theme_' . $layout;
94 $data->modal_title = 'v1' === $layout ? false : $tab_title;
95 $view_type = 'v1' === $layout ? 'tabs' : 'onepage';
96 return $view_controller->load( 'modal.modal-base-' . $view_type, $data );
97 }
98
99 /**
100 * GDPR Module - Infobar structure
101 */
102 public function get_infobar_base() {
103 $view_controller = new GDPR_Modules_View();
104 $modal_options = $this->gdpr_options;
105 $wpml_lang = $this->wpml_lang;
106 $data = new stdClass();
107 $infobar_classes = array(
108 'moove-gdpr-info-bar-hidden',
109 'moove-gdpr-align-center',
110 );
111 $modal_scheme = isset( $modal_options['moove_gdpr_colour_scheme'] ) ? ( ( 1 === intval( $modal_options['moove_gdpr_colour_scheme'] ) || 2 === intval( $modal_options['moove_gdpr_colour_scheme'] ) ) ? intval( $modal_options['moove_gdpr_colour_scheme'] ) : 1 ) : 1;
112
113 $scheme_class = 2 === $modal_scheme ? 'moove-gdpr-light-scheme' : 'moove-gdpr-dark-scheme';
114 $infobar_position = isset( $modal_options['moove_gdpr_infobar_position'] ) ? $modal_options['moove_gdpr_infobar_position'] : 'bottom';
115 $infobar_classes[] = $scheme_class;
116 $infobar_classes[] = 'gdpr_infobar_postion_' . $infobar_position;
117 $infobar_classes = apply_filters( 'gdpr_info_bar_class_extension', $infobar_classes );
118 $infobar_hidden = isset( $modal_options['moove_gdpr_infobar_visibility'] ) && 'hidden' === $modal_options['moove_gdpr_infobar_visibility'] ? true : false;
119 $data->show = $infobar_hidden ? false : true;
120 $data->class = implode( ' ', $infobar_classes );
121 $infobar_content = apply_filters( 'gdpr_info_bar_popup_content', $view_controller->load( 'infobar.infobar-base', $data ) );
122 return $infobar_content;
123
124 }
125
126 /**
127 * GDPR Module - Infobar Main Content
128 */
129 public function get_infobar_content() {
130 $view_controller = new GDPR_Modules_View();
131 $modal_options = $this->gdpr_options;
132 $wpml_lang = $this->wpml_lang;
133 $_content = '<p>' . esc_html__( 'We are using cookies to give you the best experience on our website.', 'gdpr-cookie-compliance' ) .'</p>';
134 $_content .= '<p>' . sprintf( esc_html__( 'You can find out more about which cookies we are using or switch them off in [%s]settings[/%s].', 'gdpr-cookie-compliance' ), 'setting', 'setting' ) . '</p>';
135
136 $content = isset( $modal_options[ 'moove_gdpr_info_bar_content' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_info_bar_content' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_info_bar_content' . $wpml_lang ] : $_content;
137 $content = str_replace( '[setting]', '<span data-href="#moove_gdpr_cookie_modal" class="change-settings-button">', $content );
138 $content = str_replace( '[/setting]', '</span>', $content );
139 $content = apply_filters( 'gdpr_info_bar_notice_content', $content );
140 $data = new stdClass();
141 $data->text_content = $content;
142 return $view_controller->load( 'infobar.infobar-content', $data );
143 }
144
145 /**
146 * GDPR Module - Infobar button & extensions
147 */
148 public function get_infobar_buttons() {
149 $view_controller = new GDPR_Modules_View();
150 $modal_options = $this->gdpr_options;
151 $wpml_lang = $this->wpml_lang;
152 $data = new stdClass();
153 $data->button_label = isset( $modal_options[ 'moove_gdpr_infobar_accept_button_label' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_infobar_accept_button_label' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_infobar_accept_button_label' . $wpml_lang ] : __( 'Accept', 'gdpr-cookie-compliance' );
154 return $view_controller->load( 'infobar.infobar-buttons', $data );
155
156 }
157
158 /**
159 * GDPR Module - Company Logo
160 */
161 public function get_company_logo() {
162 $view_controller = new GDPR_Modules_View();
163 $modal_options = $this->gdpr_options;
164 $wpml_lang = $this->wpml_lang;
165 $data = new stdClass();
166 $data->options = $modal_options;
167 $data->wpml_lang = $wpml_lang;
168 $data->logo_url = isset( $modal_options['moove_gdpr_company_logo'] ) && $modal_options['moove_gdpr_company_logo'] ? $modal_options['moove_gdpr_company_logo'] : plugin_dir_url( __FILE__ ) . 'dist/images/gdpr-logo.png';
169 $data->logo_url = str_replace( plugin_dir_url( __FILE__ ) . 'dist/images/moove-logo.png', plugin_dir_url( __FILE__ ) . 'dist/images/gdpr-logo.png', $data->logo_url );
170 $logo_details = gdpr_get_logo_details( $data->logo_url );
171 $data->logo_alt = gdpr_get_logo_alt( $data->logo_url );
172 $data->logo_width = isset( $logo_details['width'] ) ? $logo_details['width'] : false;
173 $data->logo_height = isset( $logo_details['height'] ) ? $logo_details['height'] : false;
174 $data->logo_url = isset( $logo_details['logo_url'] ) ? $logo_details['logo_url'] : $data->logo_url;
175 $data->logo_url = apply_filters( 'gdpr_cc_modal_logo_url', $data->logo_url );
176 return $view_controller->load( 'modal.company-logo', $data );
177 }
178
179 /**
180 * GDPR Module - Branding Options
181 */
182 public function get_gdpr_branding() {
183 $view_controller = new GDPR_Modules_View();
184 $moove_actions_cnt = new Moove_GDPR_Actions();
185 $modal_options = $this->gdpr_options;
186 $wpml_lang = $this->wpml_lang;
187 $data = new stdClass();
188 $data->options = $modal_options;
189 $data->wpml_lang = $wpml_lang;
190 $data->text = $moove_actions_cnt->moove_gdpr_footer_branding_content();
191 $data->is_enabled = isset( $modal_options['moove_gdpr_modal_powered_by_disable'] ) && 1 === intval( $modal_options['moove_gdpr_modal_powered_by_disable'] ) ? false : true;
192 return $view_controller->load( 'modal.gdpr-branding', $data );
193 }
194
195 /**
196 * GDPR Module - Privacy Overview Content
197 */
198 public function get_section_overview() {
199 $view_controller = new GDPR_Modules_View();
200 $modal_options = $this->gdpr_options;
201 $wpml_lang = $this->wpml_lang;
202 $gdpr_default_content = new Moove_GDPR_Content();
203 $layout = isset( $modal_options['moove_gdpr_plugin_layout'] ) ? $modal_options['moove_gdpr_plugin_layout'] : 'v1';
204 $tab_title = isset( $modal_options[ 'moove_gdpr_privacy_overview_tab_title' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_privacy_overview_tab_title' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_privacy_overview_tab_title' . $wpml_lang ] : __( 'Privacy Overview', 'gdpr-cookie-compliance' );
205 $tab_content = isset( $modal_options[ 'moove_gdpr_privacy_overview_tab_content' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_privacy_overview_tab_content' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_privacy_overview_tab_content' . $wpml_lang ] : $gdpr_default_content->moove_gdpr_get_privacy_overview_content();
206 $data = new stdClass();
207 $data->options = $modal_options;
208 $data->wpml_lang = $wpml_lang;
209 $data->tab_title = 'v1' === $layout ? $tab_title : false;
210 $data->tab_content = wpautop( $tab_content );
211 $data->visibility = 'v1' === $layout ? 'style="display:none"' : '';
212
213 return $view_controller->load( 'modal.content-sections.overview', $data );
214
215 }
216
217 /**
218 * GPDR Module - Strictly Necessary Cookies
219 */
220 public function get_section_strictly() {
221 $view_controller = new GDPR_Modules_View();
222 $modal_options = $this->gdpr_options;
223 $wpml_lang = $this->wpml_lang;
224 $gdpr_default_content = new Moove_GDPR_Content();
225 $layout = isset( $modal_options['moove_gdpr_plugin_layout'] ) ? $modal_options['moove_gdpr_plugin_layout'] : 'v1';
226 $tab_title = isset( $modal_options[ 'moove_gdpr_strictly_necessary_cookies_tab_title' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_strictly_necessary_cookies_tab_title' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_strictly_necessary_cookies_tab_title' . $wpml_lang ] : __( 'Strictly Necessary Cookies', 'gdpr-cookie-compliance' );
227 $tab_content = isset( $modal_options[ 'moove_gdpr_strict_necessary_cookies_tab_content' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_strict_necessary_cookies_tab_content' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_strict_necessary_cookies_tab_content' . $wpml_lang ] : $gdpr_default_content->moove_gdpr_get_strict_necessary_content();
228 $strictly = isset( $modal_options['moove_gdpr_strictly_necessary_cookies_functionality'] ) && intval( $modal_options['moove_gdpr_strictly_necessary_cookies_functionality'] ) ? intval( $modal_options['moove_gdpr_strictly_necessary_cookies_functionality'] ) : 1;
229 $warning_msg = isset( $modal_options[ 'moove_gdpr_strictly_necessary_cookies_warning' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_strictly_necessary_cookies_warning' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_strictly_necessary_cookies_warning' . $wpml_lang ] : $gdpr_default_content->moove_gdpr_get_strict_necessary_warning();
230 $data = new stdClass();
231 $data->options = $modal_options;
232 $data->wpml_lang = $wpml_lang;
233 $data->tab_title = $tab_title;
234 $data->tab_content = wpautop( $tab_content );
235 $data->show = 3 !== $strictly;
236 $data->is_checked = 1 !== $strictly ? 'disabled checked="checked" ' : '';
237 $data->text_enable = isset( $modal_options[ 'moove_gdpr_modal_enabled_checkbox_label' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_modal_enabled_checkbox_label' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_modal_enabled_checkbox_label' . $wpml_lang ] : __( 'Enabled', 'gdpr-cookie-compliance' );
238 $data->text_disable = isset( $modal_options[ 'moove_gdpr_modal_disabled_checkbox_label' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_modal_disabled_checkbox_label' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_modal_disabled_checkbox_label' . $wpml_lang ] : __( 'Disabled', 'gdpr-cookie-compliance' );
239 $data->warning_message_top = 'v2' === $layout ? wpautop( $warning_msg ) : false;
240 $data->warning_message_bottom = 'v1' === $layout ? wpautop( $warning_msg ) : false;
241 $data->checkbox_state = 1 !== $strictly ? 'gdpr-checkbox-disabled checkbox-selected' : '';
242 $data->visibility = 'v1' === $layout ? 'style="display:none"' : '';
243 return $view_controller->load( 'modal.content-sections.strictly', $data );
244 }
245
246 /**
247 * GDPR Module - Advanced Cookies
248 */
249 public function get_section_advanced() {
250 $view_controller = new GDPR_Modules_View();
251 $modal_options = $this->gdpr_options;
252 $wpml_lang = $this->wpml_lang;
253 $gdpr_default_content = new Moove_GDPR_Content();
254
255 $layout = isset( $modal_options['moove_gdpr_plugin_layout'] ) ? $modal_options['moove_gdpr_plugin_layout'] : 'v1';
256 $tab_title = isset( $modal_options[ 'moove_gdpr_advanced_cookies_tab_title' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_advanced_cookies_tab_title' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_advanced_cookies_tab_title' . $wpml_lang ] : __( 'Additional Cookies', 'gdpr-cookie-compliance' );
257 $tab_content = isset( $modal_options[ 'moove_gdpr_advanced_cookies_tab_content' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_advanced_cookies_tab_content' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_advanced_cookies_tab_content' . $wpml_lang ] : $gdpr_default_content->moove_gdpr_get_advanced_cookies_content();
258 $strictly = isset( $modal_options['moove_gdpr_strictly_necessary_cookies_functionality'] ) && intval( $modal_options['moove_gdpr_strictly_necessary_cookies_functionality'] ) ? intval( $modal_options['moove_gdpr_strictly_necessary_cookies_functionality'] ) : 1;
259 $data = new stdClass();
260 $data->options = $modal_options;
261 $data->wpml_lang = $wpml_lang;
262 $data->tab_title = $tab_title;
263 $data->tab_content = wpautop( $tab_content );
264 $data->show = isset( $modal_options['moove_gdpr_advanced_cookies_enable'] ) && 1 === intval( $modal_options['moove_gdpr_advanced_cookies_enable'] ) ? true : false;
265 $data->is_checked = 1 !== $strictly ? '' : 'disabled';
266 $data->fieldset = 1 !== $strictly ? 'fl-strenabled' : 'fl-disabled';
267 $data->text_enable = isset( $modal_options[ 'moove_gdpr_modal_enabled_checkbox_label' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_modal_enabled_checkbox_label' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_modal_enabled_checkbox_label' . $wpml_lang ] : __( 'Enabled', 'gdpr-cookie-compliance' );
268 $data->text_disable = isset( $modal_options[ 'moove_gdpr_modal_disabled_checkbox_label' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_modal_disabled_checkbox_label' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_modal_disabled_checkbox_label' . $wpml_lang ] : __( 'Disabled', 'gdpr-cookie-compliance' );
269 $data->warning_message = isset( $modal_options[ 'moove_gdpr_modal_strictly_secondary_notice' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_modal_strictly_secondary_notice' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_modal_strictly_secondary_notice' . $wpml_lang ] : $gdpr_default_content->moove_gdpr_get_secondary_notice();
270 $data->warning_message = wpautop( $data->warning_message );
271 $data->visibility = 'v1' === $layout ? 'style="display:none"' : '';
272 return $view_controller->load( 'modal.content-sections.advanced', $data );
273 }
274
275 /**
276 * GDPR Module - Third Party Cookies
277 */
278 public function get_section_third_party() {
279 $view_controller = new GDPR_Modules_View();
280 $modal_options = $this->gdpr_options;
281 $wpml_lang = $this->wpml_lang;
282 $gdpr_default_content = new Moove_GDPR_Content();
283 $layout = isset( $modal_options['moove_gdpr_plugin_layout'] ) ? $modal_options['moove_gdpr_plugin_layout'] : 'v1';
284 $tab_title = isset( $modal_options[ 'moove_gdpr_performance_cookies_tab_title' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_performance_cookies_tab_title' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_performance_cookies_tab_title' . $wpml_lang ] : __( '3rd Party Cookies', 'gdpr-cookie-compliance' );
285 $tab_content = isset( $modal_options[ 'moove_gdpr_performance_cookies_tab_content' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_performance_cookies_tab_content' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_performance_cookies_tab_content' . $wpml_lang ] : $gdpr_default_content->moove_gdpr_get_third_party_content();
286 $strictly = isset( $modal_options['moove_gdpr_strictly_necessary_cookies_functionality'] ) && intval( $modal_options['moove_gdpr_strictly_necessary_cookies_functionality'] ) ? intval( $modal_options['moove_gdpr_strictly_necessary_cookies_functionality'] ) : 1;
287 $data = new stdClass();
288 $data->options = $modal_options;
289 $data->wpml_lang = $wpml_lang;
290 $data->tab_title = $tab_title;
291 $data->tab_content = wpautop( $tab_content );
292 $data->show = isset( $modal_options['moove_gdpr_third_party_cookies_enable'] ) && 1 === intval( $modal_options['moove_gdpr_third_party_cookies_enable'] ) ? true : false;
293 $data->is_checked = 1 !== $strictly ? '' : 'disabled';
294 $data->fieldset = 1 !== $strictly ? 'fl-strenabled' : 'fl-disabled';
295 $data->text_enable = isset( $modal_options[ 'moove_gdpr_modal_enabled_checkbox_label' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_modal_enabled_checkbox_label' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_modal_enabled_checkbox_label' . $wpml_lang ] : __( 'Enabled', 'gdpr-cookie-compliance' );
296 $data->text_disable = isset( $modal_options[ 'moove_gdpr_modal_disabled_checkbox_label' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_modal_disabled_checkbox_label' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_modal_disabled_checkbox_label' . $wpml_lang ] : __( 'Disabled', 'gdpr-cookie-compliance' );
297 $data->warning_message = isset( $modal_options[ 'moove_gdpr_modal_strictly_secondary_notice' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_modal_strictly_secondary_notice' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_modal_strictly_secondary_notice' . $wpml_lang ] : $gdpr_default_content->moove_gdpr_get_secondary_notice();
298 $data->warning_message = wpautop( $data->warning_message );
299 $data->visibility = 'v1' === $layout ? 'style="display:none"' : '';
300 return $view_controller->load( 'modal.content-sections.third_party', $data );
301 }
302
303 /**
304 * GDPR Module - Custom CSS for branding
305 */
306 public function get_branding_styles() {
307 $view_controller = new GDPR_Modules_View();
308 $modal_options = $this->gdpr_options;
309 $wpml_lang = $this->wpml_lang;
310 $font_family = false;
311 if ( isset( $modal_options['moove_gdpr_plugin_font_type'] ) ) :
312 if ( '1' === $modal_options['moove_gdpr_plugin_font_type'] ) :
313 $font_family = "'Nunito', sans-serif";
314 elseif ( '2' === $modal_options['moove_gdpr_plugin_font_type'] ) :
315 $font_family = 'inherit';
316 else :
317 $font_family = isset( $modal_options['moove_gdpr_plugin_font_family'] ) && $modal_options['moove_gdpr_plugin_font_family'] ? $modal_options['moove_gdpr_plugin_font_family'] : "'Nunito', sans-serif";
318 endif;
319 endif;
320 $font_family = $font_family ? $font_family : ( isset( $modal_options['moove_gdpr_plugin_font_family'] ) && $modal_options['moove_gdpr_plugin_font_family'] ? $modal_options['moove_gdpr_plugin_font_family'] : "'Nunito', sans-serif" );
321 $data = new stdClass();
322 $data->primary_colour = isset( $modal_options['moove_gdpr_brand_colour'] ) && $modal_options['moove_gdpr_brand_colour'] ? $modal_options['moove_gdpr_brand_colour'] : '#0C4DA2';
323 $data->secondary_colour = isset( $modal_options['moove_gdpr_brand_secondary_colour'] ) && $modal_options['moove_gdpr_brand_secondary_colour'] ? $modal_options['moove_gdpr_brand_secondary_colour'] : '#000000';
324 $data->button_bg = isset( $modal_options['moove_gdpr_floating_button_background_colour'] ) && $modal_options['moove_gdpr_floating_button_background_colour'] ? $modal_options['moove_gdpr_floating_button_background_colour'] : '#373737';
325 $data->button_hover_bg = isset( $modal_options['moove_gdpr_floating_button_hover_background_colour'] ) && $modal_options['moove_gdpr_floating_button_hover_background_colour'] ? $modal_options['moove_gdpr_floating_button_hover_background_colour'] : '#000000';
326 $data->button_font = isset( $modal_options['moove_gdpr_floating_button_font_colour'] ) && $modal_options['moove_gdpr_floating_button_font_colour'] ? $modal_options['moove_gdpr_floating_button_font_colour'] : '#ffffff';
327 $data->font_family = $font_family;
328 return $view_controller->load( 'branding-styles', $data );
329
330 }
331
332 /**
333 * GDPR Module - Cookie Policy Page
334 */
335 public function get_section_cookiepolicy() {
336 $view_controller = new GDPR_Modules_View();
337 $modal_options = $this->gdpr_options;
338 $wpml_lang = $this->wpml_lang;
339 $gdpr_default_content = new Moove_GDPR_Content();
340 $layout = isset( $modal_options['moove_gdpr_plugin_layout'] ) ? $modal_options['moove_gdpr_plugin_layout'] : 'v1';
341 $tab_title = isset( $modal_options[ 'moove_gdpr_cookie_policy_tab_nav_label' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_cookie_policy_tab_nav_label' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_cookie_policy_tab_nav_label' . $wpml_lang ] : __( 'Cookie Policy', 'gdpr-cookie-compliance' );
342 $tab_content = isset( $modal_options[ 'moove_gdpr_cookies_policy_tab_content' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_cookies_policy_tab_content' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_cookies_policy_tab_content' . $wpml_lang ] : $gdpr_default_content->moove_gdpr_get_cookie_policy_content();
343 $data = new stdClass();
344 $data->options = $modal_options;
345 $data->wpml_lang = $wpml_lang;
346 $data->tab_title = $tab_title;
347 $data->tab_content = wpautop( $tab_content );
348 $data->show = isset( $modal_options['moove_gdpr_cookie_policy_enable'] ) && 1 === intval( $modal_options['moove_gdpr_cookie_policy_enable'] ) ? true : false;
349 $data->visibility = 'v1' === $layout ? 'style="display:none"' : '';
350 return $view_controller->load( 'modal.content-sections.cookiepolicy', $data );
351 }
352
353 /**
354 * GDPR Module - Footer Button inside the Modal
355 */
356 public function get_tab_footer_buttons() {
357 $view_controller = new GDPR_Modules_View();
358 $modal_options = $this->gdpr_options;
359 $wpml_lang = $this->wpml_lang;
360 $data = new stdClass();
361 $data->allow_label = isset( $modal_options[ 'moove_gdpr_modal_allow_button_label' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_modal_allow_button_label' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_modal_allow_button_label' . $wpml_lang ] : __( 'Enable All', 'gdpr-cookie-compliance' );
362 $data->settings_label = isset( $modal_options[ 'moove_gdpr_modal_save_button_label' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_modal_save_button_label' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_modal_save_button_label' . $wpml_lang ] : __( 'Save Settings', 'gdpr-cookie-compliance' );
363
364 return $view_controller->load( 'modal.tab-footer-buttons', $data );
365 }
366
367 /**
368 * GDPR Module - Navigation inside the modal
369 */
370 public function get_tab_navigation() {
371 $view_controller = new GDPR_Modules_View();
372 $modal_options = $this->gdpr_options;
373 $wpml_lang = $this->wpml_lang;
374 $strictly = isset( $modal_options['moove_gdpr_strictly_necessary_cookies_functionality'] ) && intval( $modal_options['moove_gdpr_strictly_necessary_cookies_functionality'] ) ? intval( $modal_options['moove_gdpr_strictly_necessary_cookies_functionality'] ) : 1;
375 $data = new stdClass();
376 $data->overview = new stdClass();
377 $data->strictly = new stdClass();
378 $data->advanced = new stdClass();
379 $data->third_party = new stdClass();
380 $data->cookiepolicy = new stdClass();
381
382 // OVERVIEW.
383 $data->overview->nav_label = isset( $modal_options[ 'moove_gdpr_privacy_overview_tab_title' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_privacy_overview_tab_title' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_privacy_overview_tab_title' . $wpml_lang ] : __( 'Privacy Overview', 'gdpr-cookie-compliance' );
384
385 // STRICTLY.
386 $data->strictly->show = 3 !== $strictly;
387 $data->strictly->nav_label = isset( $modal_options[ 'moove_gdpr_strictly_necessary_cookies_tab_title' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_strictly_necessary_cookies_tab_title' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_strictly_necessary_cookies_tab_title' . $wpml_lang ] : __( 'Strictly Necessary Cookies', 'gdpr-cookie-compliance' );
388
389 // THIRD PARTY.
390 $data->third_party->show = isset( $modal_options['moove_gdpr_third_party_cookies_enable'] ) && 1 === intval( $modal_options['moove_gdpr_third_party_cookies_enable'] ) ? true : false;
391 $data->third_party->nav_label = isset( $modal_options[ 'moove_gdpr_performance_cookies_tab_title' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_performance_cookies_tab_title' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_performance_cookies_tab_title' . $wpml_lang ] : __( '3rd Party Cookies', 'gdpr-cookie-compliance' );
392
393 // ADVANCED.
394 $data->advanced->show = isset( $modal_options['moove_gdpr_advanced_cookies_enable'] ) && 1 === intval( $modal_options['moove_gdpr_advanced_cookies_enable'] ) ? true : false;
395 $data->advanced->nav_label = isset( $modal_options[ 'moove_gdpr_advanced_cookies_tab_title' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_advanced_cookies_tab_title' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_advanced_cookies_tab_title' . $wpml_lang ] : __( 'Additional Cookies', 'gdpr-cookie-compliance' );
396
397 // COOKIEPOLICY.
398 $data->cookiepolicy->show = isset( $modal_options['moove_gdpr_cookie_policy_enable'] ) && 1 === intval( $modal_options['moove_gdpr_cookie_policy_enable'] ) ? true : false;
399 $data->cookiepolicy->nav_label = isset( $modal_options[ 'moove_gdpr_cookie_policy_tab_nav_label' . $wpml_lang ] ) && $modal_options[ 'moove_gdpr_cookie_policy_tab_nav_label' . $wpml_lang ] ? $modal_options[ 'moove_gdpr_cookie_policy_tab_nav_label' . $wpml_lang ] : __( 'Cookie Policy', 'gdpr-cookie-compliance' );
400
401 return $view_controller->load( 'modal.tab-navigation', $data );
402 }
403
404 }
405