2026-02-05 17:08:59 +03:00

108 lines
5.5 KiB
PHP

<?php
/**
* Prebuilt Website Demo.
*
* @package Avada
*/
// Set tags.
if ( ! isset( $demo_details['tags'] ) ) {
$demo_details['tags'] = [];
}
$tags = array_keys( $demo_details['tags'] );
$tags = implode( ',', $tags );
$demo_imported = false;
if ( empty( $demo_details['plugin_dependencies'] ) ) {
$demo_details['plugin_dependencies'] = [];
}
$demo_details['plugin_dependencies']['fusion-core'] = true;
$demo_details['plugin_dependencies']['fusion-builder'] = true;
// Generate Import / Remove forms.
$import_form = '<form id="import-' . esc_attr( strtolower( $demo ) ) . '" data-demo-id="' . esc_attr( strtolower( $demo ) ) . '">';
$import_form .= '<p><input type="checkbox" value="all" id="import-all-' . esc_attr( strtolower( $demo ) ) . '"/> <label for="import-all-' . esc_attr( strtolower( $demo ) ) . '">' . esc_html__( 'All', 'Avada' ) . '</label></p>';
$remove_form = '<form id="remove-' . esc_attr( strtolower( $demo ) ) . '" data-demo-id="' . esc_attr( strtolower( $demo ) ) . '">';
foreach ( $import_stages as $import_stage ) {
$import_checked = '';
$remove_disabled = 'disabled';
$data = '';
if ( ! empty( $import_stage['plugin_dependency'] ) && empty( $demo_details['plugin_dependencies'][ $import_stage['plugin_dependency'] ] ) ) {
continue;
}
if ( ! empty( $import_stage['feature_dependency'] ) && ! in_array( $import_stage['feature_dependency'], $demo_details['features'] ) ) { // phpcs:ignore WordPress.PHP.StrictInArray
continue;
}
if ( ! empty( $imported_data[ $import_stage['value'] ] ) ) {
if ( in_array( strtolower( $demo ), $imported_data[ $import_stage['value'] ] ) ) { // phpcs:ignore WordPress.PHP.StrictInArray
$import_checked = 'checked="checked" disabled';
$remove_disabled = 'checked="checked"';
$demo_imported = true;
}
}
if ( ! empty( $import_stage['data'] ) ) {
$data = 'data-type="' . esc_attr( $import_stage['data'] ) . '"';
}
$import_form .= '<p><input type="checkbox" value="' . esc_attr( $import_stage['value'] ) . '" ' . $import_checked . ' ' . $data . ' id="import-' . esc_attr( $import_stage['value'] ) . '-' . esc_attr( strtolower( $demo ) ) . '" /> <label for="import-' . esc_attr( $import_stage['value'] ) . '-' . esc_attr( strtolower( $demo ) ) . '">' . $import_stage['label'] . '</label></p>';
$remove_form .= '<p><input type="checkbox" value="' . esc_attr( $import_stage['value'] ) . '" ' . $remove_disabled . ' ' . $data . ' id="remove-' . esc_attr( $import_stage['value'] ) . '-' . esc_attr( strtolower( $demo ) ) . '" /> <label for="remove-' . esc_attr( $import_stage['value'] ) . '-' . esc_attr( strtolower( $demo ) ) . '">' . $import_stage['label'] . '</label></p>';
}
$import_form .= '</form>';
$remove_form .= '</form>';
if ( isset( $_GET['page'] ) && 'avada-prebuilt-websites' === $_GET['page'] ) { //phpcs:ignore WordPress.Security.NonceVerification
// Websites screen.
$install_button_label = ! $demo_imported ? __( 'Import', 'Avada' ) : __( 'Modify', 'Avada' );
$install_button_classes = 'button-install-open-modal';
} else {
// Setup screen.
$install_button_label = __( 'Select', 'Avada' );
$install_button_classes = 'button-select-prebuilt';
}
if ( ! empty( $imported_data['all'] ) && in_array( strtolower( $demo ), $imported_data['all'] ) ) { // phpcs:ignore WordPress.PHP.StrictInArray
$demo_import_badge = __( 'Full Import', 'Avada' );
} else {
$demo_import_badge = __( 'Partial Import', 'Avada' );
}
$new_imported = '';
$tags = true === $demo_imported ? $tags . ',imported' : $tags;
?>
<div class="fusion-admin-box" data-imported="<?php echo esc_attr( true === $demo_imported ? '1' : '0' ); ?>" data-tags="<?php echo esc_attr( $tags ); ?>" data-title="<?php echo esc_attr( ucwords( str_replace( '_', ' ', $demo ) ) ); ?>" data-demo-id="<?php echo esc_attr( strtolower( $demo ) ); ?>">
<div id="theme-demo-<?php echo esc_attr( strtolower( $demo ) ); ?>" class="theme">
<div class="theme-wrapper">
<div class="theme-screenshot">
<img src="" <?php echo ( ! empty( $demo_details['previewImage'] ) ) ? 'data-src="' . esc_url_raw( $demo_details['previewImage'] ) . '"' : ''; ?> <?php echo ( ! empty( $demo_details['previewImageRetina'] ) ) ? 'data-src-retina="' . esc_url_raw( $demo_details['previewImageRetina'] ) . '"' : ''; ?>>
</div>
<h3 class="theme-name" id="<?php esc_attr( $demo ); ?>"><?php echo esc_html( ucwords( str_replace( '_', ' ', $demo ) ) ); ?></h3>
<div class="theme-actions">
<a class="button button-primary <?php echo esc_attr( $install_button_classes ); ?>" data-demo-id="<?php echo esc_attr( strtolower( $demo ) ); ?>" href="#"><?php echo esc_html( $install_button_label ); ?></a>
<?php $preview_url = $this->theme_url . str_replace( '_', '-', $demo ); ?>
<a class="button button-primary" target="_blank" href="<?php echo esc_url( $preview_url ); ?>"><?php esc_html_e( 'Preview', 'Avada' ); ?></a>
</div>
<?php if ( isset( $demo_details['new'] ) && true === $demo_details['new'] ) : ?>
<?php $new_imported = ' plugin-required-premium'; ?>
<div class="plugin-required"><?php esc_html_e( 'New', 'Avada' ); ?></div>
<?php endif; ?>
<div class="plugin-premium<?php echo esc_attr( $new_imported ); ?>" style="display: <?php echo esc_attr( true === $demo_imported ? 'block' : 'none' ); ?>;"><?php echo esc_html( $demo_import_badge ); ?></div>
</div>
<?php
if ( isset( $_GET['page'] ) && 'avada-prebuilt-websites' === $_GET['page'] ) { //phpcs:ignore WordPress.Security.NonceVerification
require Avada::$template_dir_path . '/includes/admin-screens/prebuilt-websites-import-modal.php';
}
?>
</div>
</div>