File: /var/www/html/wp-content/plugins/adnkronos/src/Admin/AccountPage.php
<?php
namespace AdnKronos\Admin;
use AdnKronos\Api\AdnkApiClient;
use AdnKronos\Options\AccountOptions;
/**
* Registers and renders the account/consent settings page
* at /wp-admin/?page=adnk-plugin-account.
*/
class AccountPage {
/** @var AccountOptions */
private $accountOptions;
/** @var AdnkApiClient */
private $apiClient;
public function __construct(AccountOptions $accountOptions, AdnkApiClient $apiClient) {
$this->accountOptions = $accountOptions;
$this->apiClient = $apiClient;
}
public function register() {
add_action('admin_menu', array($this, 'addMenu'));
add_action('admin_init', array($this, 'registerSettings'));
}
public function addMenu() {
add_submenu_page(
'adnk-plugin-settings',
'Impostazioni Account',
'Impostazioni Account',
'manage_options',
'adnk-plugin-account',
array($this, 'render')
);
}
public function registerSettings() {
register_setting(
AccountOptions::OPTION_KEY,
AccountOptions::OPTION_KEY,
array($this, 'sanitize')
);
}
/**
* @param array $options
* @return array
*/
public function sanitize($options) {
if (!$options) {
return $options;
}
if (!empty($options['consent_send_statistical_data'])) {
$options['consent_send_statistical_data'] = 'on';
} else {
unset($options['consent_send_statistical_data']);
}
return $options;
}
public function render() {
$this->apiClient->verifySite(get_home_url());
$siteActive = get_option('adn_site_active', 0);
$consent = $this->accountOptions->get('consent_send_statistical_data');
$logoUrl = ADNK_PLUGIN_URL . 'assets/img/logoadnkronos.jpg';
$logoSvgUrl = ADNK_PLUGIN_URL . 'assets/img/logo-adnkronos.svg';
$optKey = AccountOptions::OPTION_KEY;
?>
<div id="adk">
<div class="container wrap">
<h1>
<img src="<?php echo esc_url($logoUrl); ?>">
<?php esc_html_e('AdnKronos Feed Importer Options', 'adnkronos'); ?>
</h1>
<p></p>
<nav class="nav-tab-wrapper">
<a href="?page=adnk-plugin-settings" class="nav-tab"><?php esc_html_e('Impostazioni di Importazione', 'adnkronos'); ?></a>
<a href="?page=adnk-plugin-account" class="nav-tab nav-tab-active"><?php esc_html_e('Account Settings', 'adnkronos'); ?></a>
</nav>
<div class="tab-content">
<div class="row">
<div class="col-9">
<form method="post" action="options.php">
<?php settings_fields($optKey); ?>
<div class="card card-static mt-4">
<div class="card-header">
<strong><?php esc_html_e('Consenso invio dati statistici', 'adnkronos'); ?></strong>
</div>
<div class="card-body">
<p>
Il sistema non raccoglie dati di navigazione degli utenti, siano essi visitatori
del sito o gestori.<br />
Le statistiche raccolte sono relative al numero di articoli importati e pubblicati
per categoria, non rientrano pertanto nella categoria dei "dati sensibili" o
"dati personali".<br />
Il consenso รจ necessario per poter abilitare tutti i feed.
</p>
<input type="checkbox"
name="<?php echo esc_attr($optKey); ?>[consent_send_statistical_data]"
<?php checked($consent, 'on'); ?>>
<?php esc_html_e("Acconsento all'invio dei dati", 'adnkronos'); ?>
</div>
</div>
<?php if (!$siteActive) { ?>
<div class="card card-static mt-4">
<div class="card-header">
<strong><?php esc_html_e('Verifica il tuo dominio', 'adnkronos'); ?></strong>
</div>
<div class="card-body">
<p>
Per verificare il tuo dominio
<a target="_blank" href="<?php echo esc_url(ADNK_API_BASE_URL); ?>?domain=<?php echo urlencode(esc_url(get_site_url())); ?>">
compila la richiesta cliccando qui registrando il tuo dominio
<?php echo esc_url(get_site_url()); ?>
</a>!
</p>
</div>
</div>
<?php } ?>
<?php submit_button(); ?>
</form>
</div>
<div class="col-3">
<div class="card card-static border-primary mt-4">
<div class="card-body">
<p class="card-text">
<img width="200px" src="<?php echo esc_url($logoSvgUrl); ?>">
<br /><br />
<b>ROMA</b> Piazza Mastai n.9 - 00153<br />
T: +39 06 5807666 <br /> F: +39 06 5807815<br />
<br />
<b>MILANO</b> Via Manin, 37 - 20121<br />
T: +39 02 763661
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<?php
}
}