| Server IP : 89.248.107.232 / Your IP : 216.73.217.70 Web Server : Apache System : Linux host2.kasilh.com 5.14.0-687.36.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Aug 7 05:40:49 EDT 2026 x86_64 User : seg ( 10005) PHP Version : 7.4.33 Disable Function : opcache_get_status MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/vhosts/seg-sa.es/iticsl.com/wp-content/plugins/wp-gdpr-compliance/Utils/ |
Upload File : |
<?php
namespace WPGDPRC\Utils;
use WPGDPRC\WordPress\Plugin;
use WPGDPRC\WordPress\Settings;
/**
* Class PrivacyPolicy
* @package WPGDPRC\Utils
*/
class PrivacyPolicy {
const REPLACER = '%privacy_policy%';
/**
* @return bool
*/
public static function useExternal() {
return Settings::isEnabled( Settings::KEY_POLICY_EXTERN );
}
/**
* @return string
*/
public static function getText() {
$output = Settings::get( Settings::KEY_POLICY_TEXT );
return apply_filters( Plugin::PREFIX . '_privacy_policy_text', $output );
}
/**
* @return string
*/
public static function getLink() {
if ( self::useExternal() ) {
$output = Settings::get( Settings::KEY_POLICY_LINK );
} else {
$id = Settings::get( Settings::KEY_POLICY_PAGE );
$postStatus = get_post_status( $id );
$output = ( ( $postStatus !== false ) ? get_page_link( $id ) : Settings::get( Settings::KEY_POLICY_LINK ) );
}
// allow for optional changes by developer
return apply_filters( Plugin::PREFIX . '_privacy_policy_link', $output );
}
/**
* @param string $content
* @return string
*/
public static function replaceLink( $content = '' ) {
if ( empty( $content ) ) {
return '';
}
$text = self::getText();
if ( empty( $text ) ) {
return $content;
}
$url = self::getLink();
if ( empty( $url ) ) {
return $content;
}
$link = Elements::getLink(
$url,
esc_html( $text ),
[
'target' => '_blank',
'rel' => 'noopener noreferrer',
],
true
);
// allow for optional changes by developer
$link = apply_filters( Plugin::PREFIX . '_privacy_policy_link_html', $link, $url, $text );
return str_replace( self::REPLACER, $link, $content );
}
}