Files
wingedit.pl/wp-content/plugins/xml-sitemap-generator-for-google/templates/sections/advanced/cache.php
2026-03-11 15:57:27 +01:00

237 lines
8.9 KiB
PHP

<?php
/**
* @var $args
*/
use GRIM_SG\Dashboard;
use GRIM_SG\Cache;
use GRIM_SG\GoogleNews;
use GRIM_SG\ImageSitemap;
use GRIM_SG\VideoSitemap;
$settings = $args['settings'] ?? new stdClass();
?>
<div class="grim-section">
<div class="grim-toggle-section">
<strong>
<?php
Dashboard::render(
'fields/checkbox.php',
array(
'name' => 'enable_cache',
'value' => $settings->enable_cache ?? false,
'label' => esc_html__( 'Cache', 'xml-sitemap-generator-for-google' ),
'class' => 'has-dependency',
'data' => array( 'target' => 'sitemap-cache' ),
)
);
?>
</strong>
</div>
<div class="inside">
<p class="grim-section-desc grim-mb-20">
<?php esc_html_e( 'All below options will be available after enabling Sitemap Cache. Sitemaps Content will be cached for faster loading.', 'xml-sitemap-generator-for-google' ); ?>
</p>
<p class="cache-timeout-group grim-mb-20">
<?php
$cache_timeout_period = $settings->cache_timeout_period ?? 3600;
$args = array(
'label' => __( 'Cache Expiration Time:', 'xml-sitemap-generator-for-google' ),
'name' => 'cache_timeout_period',
'value' => (string) $cache_timeout_period,
'options' => array(
'60' => __( 'minute(s)', 'xml-sitemap-generator-for-google' ),
'3600' => __( 'hour(s)', 'xml-sitemap-generator-for-google' ),
'86400' => __( 'day(s)', 'xml-sitemap-generator-for-google' ),
),
'select_size' => 'grim-select-small',
);
?>
<div class="grim-select-label sitemap-cache" data-search-id="<?php echo esc_attr( $args['name'] ); ?>">
<?php echo esc_html( $args['label'] ); ?>
</div>
<div class="grim-cache-time grim-mb-20">
<input type="number" id="cache_timeout" name="cache_timeout" class="grim-input sitemap-cache" value="<?php echo esc_attr( $settings->cache_timeout ?? 24 ); ?>"/>
<div class="grim-select <?php echo esc_attr( $args['select_size'] ?? 'grim-select-default' ); ?> sitemap-cache" data-name="<?php echo esc_attr( $args['name'] ); ?>">
<div class="grim-select__trigger">
<span>
<?php echo esc_html( $args['options'][ $args['value'] ] ?? __( 'None', 'xml-sitemap-generator-for-google' ) ); ?>
</span>
<i class="grim-icon-chevron-down"></i>
</div>
<div class="grim-options">
<?php foreach ( $args['options'] as $value => $label ) { ?>
<div class="grim-option <?php echo $args['options'][ $args['value'] ] === $label ? 'selected' : ''; ?>" data-value="<?php echo esc_attr( $value ); ?>">
<?php echo esc_html( $label ); ?>
</div>
<?php } ?>
</div>
</div>
<select id="<?php echo esc_attr( $args['name'] ); ?>" name="<?php echo esc_attr( $args['name'] ); ?>" class="grim-hidden-select" hidden>
<?php foreach ( $args['options'] as $value => $label ) { ?>
<option value="<?php echo esc_attr( $value ); ?>" <?php selected( $value, $args['value'] ); ?>>
<?php echo esc_html( $label ); ?>
</option>
<?php } ?>
</select>
</div>
</p>
<div class="sitemap-cache">
<table class="grim-table grim-table-small-row wp-list-table widefat fixed striped" role="presentation">
<thead>
<tr>
<th><span data-search-id="last_cached_time"><?php esc_html_e( 'Last Cached Time:', 'xml-sitemap-generator-for-google' ); ?></span></th>
</tr>
</thead>
<tbody>
<?php if ( $settings->enable_sitemap ) { ?>
<tr>
<td>
<span><?php esc_html_e( 'XML Sitemap', 'xml-sitemap-generator-for-google' ); ?></span>:
</td>
<td class="grim-td-center"><i><?php echo esc_html( Cache::get_time_formatted( 'sitemap' ) ); ?></i></td>
<td>
<a href="<?php echo esc_url( sgg_get_sitemap_url( $settings->sitemap_url, 'sitemap_xml' ) ); ?>" target="_blank" class="grim-button white">
<span><?php esc_html_e( 'View', 'xml-sitemap-generator-for-google' ); ?></span>
</a>
</td>
</tr>
<?php } ?>
<?php if ( sgg_pro_enabled() && $settings->enable_html_sitemap ) { ?>
<tr>
<td>
<span><?php esc_html_e( 'HTML Sitemap', 'xml-sitemap-generator-for-google' ); ?></span>:
</td>
<td class="grim-td-center"><i><?php echo esc_html( Cache::get_time_formatted( 'sitemap' ) ); ?></i></td>
<td>
<a href="<?php echo esc_url( sgg_get_sitemap_url( $settings->html_sitemap_url, 'sitemap_html' ) ); ?>" target="_blank" class="grim-button white">
<span><?php esc_html_e( 'View', 'xml-sitemap-generator-for-google' ); ?></span>
</a>
</td>
</tr>
<?php } ?>
<?php if ( $settings->enable_google_news ) { ?>
<tr>
<td>
<span><?php esc_html_e( 'Google News', 'xml-sitemap-generator-for-google' ); ?></span>:
</td>
<td class="grim-td-center"><i><?php echo esc_html( Cache::get_time_formatted( GoogleNews::$template ) ); ?></i></td>
<td>
<a href="<?php echo esc_url( sgg_get_sitemap_url( $settings->google_news_url, 'google_news' ) ); ?>" target="_blank" class="grim-button white">
<span><?php esc_html_e( 'View', 'xml-sitemap-generator-for-google' ); ?></span>
</a>
</td>
</tr>
<?php } ?>
<?php if ( $settings->enable_image_sitemap ) { ?>
<tr>
<td>
<span><?php esc_html_e( 'Image Sitemap', 'xml-sitemap-generator-for-google' ); ?></span>:
</td>
<td class="grim-td-center"><i><?php echo esc_html( Cache::get_time_formatted( ImageSitemap::$template ) ); ?></i></td>
<td>
<a href="<?php echo esc_url( sgg_get_sitemap_url( $settings->image_sitemap_url, 'image_sitemap' ) ); ?>" target="_blank" class="grim-button white">
<span><?php esc_html_e( 'View', 'xml-sitemap-generator-for-google' ); ?></span>
</a>
</td>
</tr>
<?php } ?>
<?php if ( $settings->enable_video_sitemap ) { ?>
<tr>
<td>
<span><?php esc_html_e( 'Video Sitemap', 'xml-sitemap-generator-for-google' ); ?></span>:
</td>
<td class="grim-td-center"><i><?php echo esc_html( Cache::get_time_formatted( VideoSitemap::$template ) ); ?></i></td>
<td>
<a href="<?php echo esc_url( sgg_get_sitemap_url( $settings->video_sitemap_url, 'video_sitemap' ) ); ?>" target="_blank" class="grim-button white">
<span><?php esc_html_e( 'View', 'xml-sitemap-generator-for-google' ); ?></span>
</a>
</td>
</tr>
<?php } ?>
</tbody>
</table>
<div class="grim-notice grim-mb-20">
<i class="grim-icon-information"></i>
<p>
<?php
echo sprintf(
esc_html__( 'Note: %s', 'xml-sitemap-generator-for-google' ),
'<span>' . esc_html__( 'Sitemap Cache will only be created when someone opens/visits the Sitemap on front-end.', 'xml-sitemap-generator-for-google' ) . '</span>'
)
?>
</p>
</div>
</div>
<p class="sitemap-cache grim-button-section" data-search-id="clear_cache">
<input type="hidden" name="clear_cache" value="">
<button type="submit" id="clear-sitemap-cache" class="grim-button white sitemap-cache">
<span>
<i class="grim-icon-trash"></i>
<?php esc_html_e( 'Clear Cache', 'xml-sitemap-generator-for-google' ); ?>
</span>
</button>
</p>
</div>
</div>
<div class="grim-section <?php echo esc_attr( sgg_pro_class() ); ?>">
<?php sgg_show_pro_badge(); ?>
<div class="grim-toggle-section pro-wrapper <?php echo esc_attr( sgg_pro_class() ); ?>">
<p>
<?php
Dashboard::render(
'fields/checkbox.php',
array(
'name' => 'clear_cache_on_save_post',
'class' => 'sitemap-cache',
'value' => $settings->clear_cache_on_save_post ?? false,
'label' => esc_html__( 'Smart Caching', 'xml-sitemap-generator-for-google' ),
)
);
?>
</p>
<p class="grim-section-desc inside sitemap-cache"><?php esc_html_e( 'Clear cache when Page/Post created or updated', 'xml-sitemap-generator-for-google' ); ?></p>
</div>
<?php sgg_show_pro_overlay(); ?>
</div>
<div class="grim-section">
<div class="grim-toggle-section pro-wrapper <?php echo esc_attr( sgg_pro_class() ); ?>">
<p>
<?php
Dashboard::render(
'fields/checkbox.php',
array(
'name' => 'disable_media_sitemap_cache',
'value' => $settings->disable_media_sitemap_cache ?? false,
'label' => esc_html__( 'Disable Media Sitemap Cache Collection', 'xml-sitemap-generator-for-google' ),
)
);
?>
</p>
<p class="inside grim-section-desc">
<?php esc_html_e( 'If you are having issues with Image and Video Sitemaps, you can try to disable Media Sitemap Cache Collection.', 'xml-sitemap-generator-for-google' ); ?>
<br>
</p>
<div class="grim-notice">
<i class="grim-icon-information"></i>
<p>
<?php
echo sprintf(
esc_html__( 'Note: %s', 'xml-sitemap-generator-for-google' ),
'<span>' . esc_html__( 'This will affect the performance of Media Sitemap Generation.', 'xml-sitemap-generator-for-google' ) . '</span>'
)
?>
</p>
</div>
</div>
</div>