You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
72 lines
2.5 KiB
PHP
72 lines
2.5 KiB
PHP
<?php
|
|
/**
|
|
* @package Freemius
|
|
* @copyright Copyright (c) 2022, Freemius, Inc.
|
|
* @license https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3
|
|
* @since 2.5.1
|
|
*/
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
exit;
|
|
}
|
|
|
|
/**
|
|
* @var array $VARS
|
|
*
|
|
* @var array $permission_group {
|
|
* @type Freemius $fs
|
|
* @type string $id
|
|
* @type string $desc
|
|
* @type array $prompt
|
|
* @type array $permissions
|
|
* @type bool $is_enabled
|
|
* }
|
|
*/
|
|
$permission_group = $VARS;
|
|
|
|
$fs = $permission_group[ 'fs' ];
|
|
|
|
$permission_manager = FS_Permission_Manager::instance( $fs );
|
|
|
|
$opt_out_text = $fs->get_text_x_inline( 'Opt Out', 'verb', 'opt-out' );
|
|
$opt_in_text = $fs->get_text_x_inline( 'Opt In', 'verb', 'opt-in' );
|
|
|
|
if ( empty( $permission_group[ 'prompt' ] ) ) {
|
|
$is_enabled = false;
|
|
|
|
foreach ( $permission_group[ 'permissions' ] as $permission ) {
|
|
if ( true === $permission[ 'default' ] ) {
|
|
// Even if one of the permissions is on, treat as if the entire group is on.
|
|
$is_enabled = true;
|
|
break;
|
|
}
|
|
}
|
|
} else {
|
|
$is_enabled = ( isset( $permission_group['is_enabled'] ) && true === $permission_group['is_enabled'] );
|
|
}
|
|
?>
|
|
<div class="fs-permissions-section fs-<?php echo esc_attr( $permission_group[ 'id' ] ) ?>-permissions">
|
|
<div>
|
|
<div class="fs-permissions-section--header">
|
|
<a class="fs-group-opt-out-button"
|
|
data-type="<?php echo esc_attr( $permission_group['type'] ) ?>"
|
|
data-group-id="<?php echo esc_attr( $permission_group[ 'id' ] ) ?>"
|
|
data-is-enabled="<?php echo $is_enabled ? 'true' : 'false' ?>"
|
|
href="#"><?php echo esc_html( $is_enabled ? $opt_out_text : $opt_in_text ) ?></a>
|
|
<span class="fs-permissions-section--header-title"><?php
|
|
// The title is already HTML-escaped.
|
|
echo $permission_group[ 'title' ]
|
|
?></span>
|
|
</div>
|
|
<p class="fs-permissions-section--desc"><?php
|
|
// The description is already HTML-escaped.
|
|
echo $permission_group['desc']
|
|
?></p></div>
|
|
<ul>
|
|
<?php
|
|
foreach ( $permission_group['permissions'] as $permission ) {
|
|
$permission_manager->render_permission( $permission );
|
|
}
|
|
?>
|
|
</ul>
|
|
</div>
|