| 1 |
<?php |
| 2 |
|
| 3 |
namespace LIBRARY; |
| 4 |
|
| 5 |
// Usa o novo sistema de licença. |
| 6 |
global $borderless_license; |
| 7 |
|
| 8 |
$license_active = false; |
| 9 |
|
| 10 |
if ( isset( $borderless_license ) && $borderless_license instanceof \BORDERLESS_LICENSE ) { |
| 11 |
// Usa o status armazenado na opção, sem chamada remota. |
| 12 |
$license_active = $borderless_license->get_api_key_status(); |
| 13 |
} |
| 14 |
|
| 15 |
$predefined_themes = $this->import_files; |
| 16 |
|
| 17 |
if ( ! empty( $this->import_files ) && isset( $_GET['import-mode'] ) && 'manual' === $_GET['import-mode'] ) { |
| 18 |
$predefined_themes = array(); |
| 19 |
} |
| 20 |
?> |
| 21 |
|
| 22 |
<div class="borderless-library"> |
| 23 |
|
| 24 |
<div class="container-fluid"> |
| 25 |
<div class="row"> |
| 26 |
|
| 27 |
<nav class="borderless-library__header navbar py-3 sticky-top"> |
| 28 |
<div class="container-fluid"> |
| 29 |
<a class="navbar-brand" href="#"> |
| 30 |
<img src=<?php echo BORDERLESS__ASSETS . "img/borderless.svg" ?> alt="Logo"> |
| 31 |
</a> |
| 32 |
|
| 33 |
<div class="borderless-library__live-search"> |
| 34 |
<i class="bi bi-search"></i> |
| 35 |
<input type="search" class="borderless-library__live-search-input form-control js-library-gl-search" name="library-gl-search" value="" placeholder="<?php esc_html_e( 'Search Templates...', 'borderless' ); ?>"> |
| 36 |
</div> |
| 37 |
</div> |
| 38 |
</nav> |
| 39 |
|
| 40 |
<?php $theme = wp_get_theme(); ?> |
| 41 |
|
| 42 |
<div class="borderless-library__filters col"> |
| 43 |
<?php $categories = Helpers::get_all_demo_import_categories( $predefined_themes ); ?> |
| 44 |
|
| 45 |
<div class="borderless-library__filters-inner d-flex flex-column flex-shrink-0 my-3"> |
| 46 |
|
| 47 |
<div class="borderless-library__filter nav-item"> |
| 48 |
<a class="borderless-library__dropdown-nav-link nav-link dropdown-toggle collapsed" href="#borderlessLibraryFilterLicense" role="button" data-bs-toggle="collapse" data-bs-target="#borderlessLibraryFilterLicense" aria-expanded="false" aria-controls="borderlessLibraryFilterLicense"> |
| 49 |
<div class="borderless-library__dropdown-nav-link-inner"> |
| 50 |
<i class="bi-key nav-icon"></i> |
| 51 |
<span class="nav-link-title">License</span> |
| 52 |
</div> |
| 53 |
</a> |
| 54 |
|
| 55 |
<div id="borderlessLibraryFilterLicense" class="borderless-library__collapse-nav nav-collapse collapse " data-bs-parent="#borderlessLibraryFilter" hs-parent-area="#borderlessLibraryFilter" data-filter-group="license"> |
| 56 |
<a class="borderless-library__collapse-nav-link nav-link active" href="#filter" data-filter="*"><?php esc_html_e( 'All Templates', 'borderless' ); ?></a> |
| 57 |
<a class="borderless-library__collapse-nav-link nav-link" href="#filter" data-filter=".pro-template"><?php esc_html_e( 'Pro Templates', 'borderless' ); ?></a> |
| 58 |
</div> |
| 59 |
</div> |
| 60 |
|
| 61 |
|
| 62 |
<div class="borderless-library__filter nav-item"> |
| 63 |
<a class="borderless-library__dropdown-nav-link nav-link dropdown-toggle collapsed" href="#borderlessLibraryFilterPageBuilder" role="button" data-bs-toggle="collapse" data-bs-target="#borderlessLibraryFilterPageBuilder" aria-expanded="false" aria-controls="borderlessLibraryFilterPageBuilder"> |
| 64 |
<div class="borderless-library__dropdown-nav-link-inner"> |
| 65 |
<i class="bi-app nav-icon"></i> |
| 66 |
<span class="nav-link-title">Page Builder</span> |
| 67 |
</div> |
| 68 |
</a> |
| 69 |
|
| 70 |
<div id="borderlessLibraryFilterPageBuilder" class="borderless-library__collapse-nav nav-collapse collapse " data-bs-parent="#borderlessLibraryFilter" hs-parent-area="#borderlessLibraryFilter" data-filter-group="page-builders"> |
| 71 |
<a class="borderless-library__collapse-nav-link nav-link active" href="#filter" data-filter="*"><?php esc_html_e( 'All Page Builders', 'borderless' ); ?></a> |
| 72 |
<a class="borderless-library__collapse-nav-link nav-link" href="#filter" data-filter=".elementor"><?php esc_html_e( 'Elementor', 'borderless' ); ?></a> |
| 73 |
<a class="borderless-library__collapse-nav-link nav-link" href="#filter" data-filter=".wpbakery"><?php esc_html_e( 'WPBakery', 'borderless' ); ?></a> |
| 74 |
</div> |
| 75 |
</div> |
| 76 |
|
| 77 |
|
| 78 |
<div class="borderless-library__filter nav-item"> |
| 79 |
<a class="borderless-library__dropdown-nav-link nav-link dropdown-toggle" href="#borderlessLibraryFilterCategories" role="button" data-bs-toggle="collapse" data-bs-target="#borderlessLibraryFilterCategories" aria-expanded="true" aria-controls="borderlessLibraryFilterCategories"> |
| 80 |
<div class="borderless-library__dropdown-nav-link-inner"> |
| 81 |
<i class="bi-grid nav-icon"></i> |
| 82 |
<span class="nav-link-title">Categories</span> |
| 83 |
</div> |
| 84 |
</a> |
| 85 |
|
| 86 |
<div id="borderlessLibraryFilterCategories" class="borderless-library__collapse-nav nav-collapse collapse show" data-bs-parent="#borderlessLibraryFilter" hs-parent-area="#borderlessLibraryFilter" data-filter-group="categories"> |
| 87 |
<a class="borderless-library__collapse-nav-link nav-link active" href="#filter" data-filter="*"><?php esc_html_e( 'All Categories', 'borderless' ); ?></a> |
| 88 |
<?php foreach ( $categories as $category => $title ) { ?> |
| 89 |
<a class="borderless-library__collapse-nav-link nav-link" href="#filter" data-filter=".<?php echo esc_html( $category ); ?>"><?php echo esc_html( $title ); ?></a> |
| 90 |
<?php } ?> |
| 91 |
</div> |
| 92 |
</div> |
| 93 |
|
| 94 |
</div> |
| 95 |
</div> |
| 96 |
<div class="borderless-library__templates-container col"> |
| 97 |
<div class="borderless-library__templates row my-3"> |
| 98 |
|
| 99 |
<?php foreach ( $predefined_themes as $index => $import_file ) { ?> |
| 100 |
<?php |
| 101 |
$img_src = isset( $import_file['import_preview_image_url'] ) ? $import_file['import_preview_image_url'] : ''; |
| 102 |
if ( empty( $img_src ) ) { |
| 103 |
$theme = wp_get_theme(); |
| 104 |
$img_src = $theme->get_screenshot(); |
| 105 |
} |
| 106 |
|
| 107 |
// Evita avisos de índice indefinido. |
| 108 |
$template_license = isset( $import_file['license'] ) ? $import_file['license'] : ''; |
| 109 |
$page_builder_class = isset( $import_file['page_builder'] ) ? $import_file['page_builder'] : ''; |
| 110 |
$is_pro_template = ( $template_license === 'pro-template' ); |
| 111 |
$item_categories = Helpers::get_demo_import_item_categories( $import_file ); |
| 112 |
?> |
| 113 |
|
| 114 |
<div class="borderless-library__template col-md-4 <?php echo esc_attr( $item_categories ) . ' ' . esc_attr( $template_license ) . ' ' . esc_attr( $page_builder_class ); ?>"> |
| 115 |
<div class="borderless-library__template-inner"> |
| 116 |
<div class="borderless-library__template-image-container"> |
| 117 |
<?php if ( ! empty( $img_src ) ) { ?> |
| 118 |
<img class="borderless-library__template-item-image" src="<?php echo esc_url( $img_src ); ?>"> |
| 119 |
<?php } else { ?> |
| 120 |
<div class="borderless-library__template-item-image borderless-library__template-image--no-image"><?php esc_html_e( 'No preview image.', 'borderless' ); ?></div> |
| 121 |
<?php } ?> |
| 122 |
</div> |
| 123 |
<div class="borderless-library__template-body text-center<?php echo ! empty( $import_file['preview_url'] ) ? ' library__gl-item-footer--with-preview' : ''; ?>"> |
| 124 |
<h4 class="borderless-library__template-body-title" title="<?php echo esc_attr( $import_file['import_file_name'] ); ?>"><?php echo esc_html( $import_file['import_file_name'] ); ?></h4> |
| 125 |
<span class="borderless-library__template-body-buttons"> |
| 126 |
<?php if ( ! empty( $import_file['preview_url'] ) ) { ?> |
| 127 |
<a class="borderless-library__template-body-button" href="<?php echo esc_url( $import_file['preview_url'] ); ?>" target="_blank"><?php esc_html_e( 'Preview', 'borderless' ); ?></a> |
| 128 |
<?php } ?> |
| 129 |
<?php if ( $is_pro_template && ! $license_active ) { ?> |
| 130 |
<a class="borderless-library__template-body-button borderless-library__template-body-button--no-license" href="https://visualmodo.com/borderless/" target="_blank"><?php esc_html_e( 'Buy Pro Version', 'borderless' ); ?></a> |
| 131 |
<?php } else { ?> |
| 132 |
<a class="borderless-library__template-body-button" href="<?php echo $this->get_plugin_settings_url( [ 'step' => 'import', 'import' => esc_attr( $index ) ] ); ?>"><?php esc_html_e( 'Import', 'borderless' ); ?></a> |
| 133 |
<?php } ?> |
| 134 |
</span> |
| 135 |
</div> |
| 136 |
</div> |
| 137 |
</div> |
| 138 |
|
| 139 |
<?php } ?> |
| 140 |
|
| 141 |
</div> |
| 142 |
</div> |
| 143 |
</div> |
| 144 |
</div> |
| 145 |
</div> |
| 146 |
|
| 147 |
<?php Helpers::do_action( 'library/plugin_page_footer' ); ?> |
| 148 |
|