OwlCyberSecurity - MANAGER
Edit File: summary.tpl.php
<?php namespace LiteSpeed; defined( 'WPINC' ) || exit; $__crawler = Crawler::cls(); $crawler_list = $__crawler->list_crawlers(); $summary = Crawler::get_summary(); if ( $summary['curr_crawler'] >= count( $crawler_list ) ) { $summary['curr_crawler'] = 0; } $is_running = time() - $summary['is_running'] <= 900; $disabled = Router::can_crawl() ? '' : 'disabled'; $disabled_tip = ''; if ( ! $this->conf( Base::O_CRAWLER_SITEMAP ) ) { $disabled = 'disabled'; $disabled_tip = '<span class="litespeed-callout notice notice-error inline litespeed-left20">' . sprintf( __( 'You need to set the %s in Settings first before using the crawler', 'litespeed-cache' ), '<code>' . Lang::title( Base::O_CRAWLER_SITEMAP ) . '</code>' ) . '</span>'; } $CRAWLER_RUN_INTERVAL = defined( 'LITESPEED_CRAWLER_RUN_INTERVAL' ) ? LITESPEED_CRAWLER_RUN_INTERVAL : 600; if ( $CRAWLER_RUN_INTERVAL > 0 ) : $recurrence = ''; $hours = (int) floor( $CRAWLER_RUN_INTERVAL / 3600 ); if ( $hours ) { if ( $hours > 1 ) { $recurrence .= sprintf( __( '%d hours', 'litespeed-cache' ), $hours ); } else { $recurrence .= sprintf( __( '%d hour', 'litespeed-cache' ), $hours ); } } $minutes = (int) floor( ( $CRAWLER_RUN_INTERVAL % 3600 ) / 60 ); if ( $minutes ) { $recurrence .= ' '; if ( $minutes > 1 ) { $recurrence .= sprintf( __( '%d minutes', 'litespeed-cache' ), $minutes ); } else { $recurrence .= sprintf( __( '%d minute', 'litespeed-cache' ), $minutes ); } } ?> <h3 class="litespeed-title litespeed-relative"> <?php echo __( 'Crawler Cron', 'litespeed-cache' ); ?> <?php Doc::learn_more( 'https://docs.litespeedtech.com/lscache/lscwp/crawler/' ); ?> </h3> <?php if ( ! Router::can_crawl() ) : ?> <div class="litespeed-callout notice notice-error inline"> <h4><?php echo __( 'WARNING', 'litespeed-cache' ); ?></h4> <p><?php echo __( 'The crawler feature is not enabled on the LiteSpeed server. Please consult your server admin or hosting provider.', 'litespeed-cache' ); ?></p> <p><?php printf( __( 'See <a %s>Introduction for Enabling the Crawler</a> for detailed information.', 'litespeed-cache' ), 'href="https://docs.litespeedtech.com/lscache/lscwp/admin/#enabling-and-limiting-the-crawler" target="_blank"' ); ?></p> </div> <?php endif; ?> <?php if ( $summary['this_full_beginning_time'] ) : ?> <p> <b><?php echo __( 'Current sitemap crawl started at', 'litespeed-cache' ); ?>:</b> <?php echo Utility::readable_time( $summary['this_full_beginning_time'] ); ?> </p> <?php if ( ! $is_running ) : ?> <p> <b><?php echo __( 'The next complete sitemap crawl will start at', 'litespeed-cache' ); ?>:</b> <?php echo date( 'm/d/Y H:i:s', $summary['this_full_beginning_time'] + LITESPEED_TIME_OFFSET + $summary['last_full_time_cost'] + $this->conf( Base::O_CRAWLER_CRAWL_INTERVAL ) ); ?> <?php endif; ?> </p> <?php endif; ?> <?php if ( $summary['last_full_time_cost'] ) : ?> <p> <b><?php echo __( 'Last complete run time for all crawlers', 'litespeed-cache' ); ?>:</b> <?php printf( __( '%d seconds', 'litespeed-cache' ), $summary['last_full_time_cost'] ); ?> </p> <?php endif; ?> <?php if ( $summary['last_crawler_total_cost'] ) : ?> <p> <b><?php echo __( 'Run time for previous crawler', 'litespeed-cache' ); ?>:</b> <?php printf( __( '%d seconds', 'litespeed-cache' ), $summary['last_crawler_total_cost'] ); ?> </p> <?php endif; ?> <?php if ( $summary['curr_crawler_beginning_time'] ) : ?> <p> <b><?php echo __( 'Current crawler started at', 'litespeed-cache' ); ?>:</b> <?php echo Utility::readable_time( $summary['curr_crawler_beginning_time'] ); ?> </p> <?php endif; ?> <p> <b><?php echo __( 'Current server load', 'litespeed-cache' ); ?>:</b> <?php echo $__crawler->get_server_load(); ?> </p> <?php if ( $summary['last_start_time'] ) : ?> <p class='litespeed-desc'> <b><?php echo __( 'Last interval', 'litespeed-cache' ); ?>:</b> <?php echo Utility::readable_time( $summary['last_start_time'] ); ?> </p> <?php endif; ?> <?php if ( $summary['end_reason'] ) : ?> <p class='litespeed-desc'> <b><?php echo __( 'Ended reason', 'litespeed-cache' ); ?>:</b> <?php echo esc_html( $summary['end_reason'] ); ?> </p> <?php endif; ?> <?php if ( $summary['last_crawled'] ) : ?> <p class='litespeed-desc'> <?php printf( __( '<b>Last crawled:</b> %s item(s)', 'litespeed-cache' ), $summary['last_crawled'] ); ?> </p> <?php endif; ?> <p> <?php echo " <a href='" . Utility::build_url( Router::ACTION_CRAWLER, Crawler::TYPE_RESET ) . "' class='button litespeed-btn-warning'>" . __( 'Reset position', 'litespeed-cache' ) . '</a>'; $href = Router::can_crawl() ? Utility::build_url( Router::ACTION_CRAWLER, Crawler::TYPE_START ) : 'javascript:;'; echo " <a href='$href' id='litespeed_manual_trigger' class='button litespeed-btn-success' litespeed-accesskey='R' $disabled>" . __( 'Manually run', 'litespeed-cache' ) . '</a>'; echo $disabled_tip; ?> </p> <div class="litespeed-table-responsive"> <table class="wp-list-table widefat striped" data-crawler-list> <thead> <tr> <th scope="col">#</th> <th scope="col"><?php echo __( 'Cron Name', 'litespeed-cache' ); ?></th> <th scope="col"><?php echo __( 'Run Frequency', 'litespeed-cache' ); ?></th> <th scope="col"><?php echo __( 'Status', 'litespeed-cache' ); ?></th> <th scope="col"><?php echo __( 'Activate', 'litespeed-cache' ); ?></th> <th scope="col"><?php echo __( 'Running', 'litespeed-cache' ); ?></th> </tr> </thead> <tbody> <?php foreach ( $crawler_list as $i => $v ) : $hit = ! empty( $summary['crawler_stats'][ $i ][ Crawler::STATUS_HIT ] ) ? $summary['crawler_stats'][ $i ][ Crawler::STATUS_HIT ] : 0; $miss = ! empty( $summary['crawler_stats'][ $i ][ Crawler::STATUS_MISS ] ) ? $summary['crawler_stats'][ $i ][ Crawler::STATUS_MISS ] : 0; $blacklisted = ! empty( $summary['crawler_stats'][ $i ][ Crawler::STATUS_BLACKLIST ] ) ? $summary['crawler_stats'][ $i ][ Crawler::STATUS_BLACKLIST ] : 0; $blacklisted += ! empty( $summary['crawler_stats'][ $i ][ Crawler::STATUS_NOCACHE ] ) ? $summary['crawler_stats'][ $i ][ Crawler::STATUS_NOCACHE ] : 0; if ( isset( $summary['crawler_stats'][ $i ][ Crawler::STATUS_WAIT ] ) ) { $waiting = $summary['crawler_stats'][ $i ][ Crawler::STATUS_WAIT ] ?: 0; } else { $waiting = $summary['list_size'] - $hit - $miss - $blacklisted; } ?> <tr> <td> <?php echo $i + 1; if ( $i == $summary['curr_crawler'] ) { echo "<img class='litespeed-crawler-curr' src='" . LSWCP_PLUGIN_URL . "assets/img/Litespeed.icon.svg' />"; } ?> </td> <td> <?php echo $v['title']; ?> </td> <td><?php echo $recurrence; ?></td> <td> <?php echo '<i class="litespeed-badge litespeed-bg-default" data-balloon-pos="up" aria-label="' . __( 'Waiting', 'litespeed-cache' ) . '">' . ( $waiting ?: '-' ) . '</i> '; ?> <?php echo '<i class="litespeed-badge litespeed-bg-success" data-balloon-pos="up" aria-label="' . __( 'Hit', 'litespeed-cache' ) . '">' . ( $hit ?: '-' ) . '</i> '; ?> <?php echo '<i class="litespeed-badge litespeed-bg-primary" data-balloon-pos="up" aria-label="' . __( 'Miss', 'litespeed-cache' ) . '">' . ( $miss ?: '-' ) . '</i> '; ?> <?php echo '<i class="litespeed-badge litespeed-bg-danger" data-balloon-pos="up" aria-label="' . __( 'Blocklisted', 'litespeed-cache' ) . '">' . ( $blacklisted ?: '-' ) . '</i> '; ?> </td> <td> <?php $this->build_toggle( 'litespeed-crawler-' . $i, $__crawler->is_active( $i ) ); ?> <?php if ( ! empty( $v['uid'] ) && empty( $this->conf( Base::O_SERVER_IP ) ) ) : ?> <div class="litespeed-danger litespeed-text-bold"> 🚨 <?php echo __( 'NOTICE', 'litespeed-cache' ); ?>: <?php printf( __( 'You must set %s before using this feature.', 'litespeed-cache' ), Lang::title( Base::O_SERVER_IP ) ); ?> <?php echo Doc::learn_more( admin_url( 'admin.php?page=litespeed-general#settings' ), __( 'Click here to set.', 'litespeed-cache' ), true, false, true ); ?> </div> <?php endif; ?> </td> <td> <?php if ( $i == $summary['curr_crawler'] ) { echo 'Position: ' . ( $summary['last_pos'] + 1 ); if ( $is_running ) { echo " <span class='litespeed-label-success'>" . __( 'running', 'litespeed-cache' ) . '</span>'; } } ?> </td> </tr> <?php endforeach; ?> </tbody> </table> </div> <p> <i class="litespeed-badge litespeed-bg-default"></i> = <?php echo __( 'Waiting to be Crawled', 'litespeed-cache' ); ?><br> <i class="litespeed-badge litespeed-bg-success"></i> = <?php echo __( 'Already Cached', 'litespeed-cache' ); ?><br> <i class="litespeed-badge litespeed-bg-primary"></i> = <?php echo __( 'Successfully Crawled', 'litespeed-cache' ); ?><br> <i class="litespeed-badge litespeed-bg-danger"></i> = <?php echo __( 'Blocklisted', 'litespeed-cache' ); ?><br> </p> <div class="litespeed-desc"> <div><?php echo __( 'Run frequency is set by the Interval Between Runs setting.', 'litespeed-cache' ); ?></div> <div> <?php echo __( 'Crawlers cannot run concurrently.', 'litespeed-cache' ) . __( ' If both the cron and a manual run start at similar times, the first to be started will take precedence.', 'litespeed-cache' ); ?> </div> <div><?php printf( __( 'Please see <a %s>Hooking WP-Cron Into the System Task Scheduler</a> to learn how to create the system cron task.', 'litespeed-cache' ), ' href="https://developer.wordpress.org/plugins/cron/hooking-wp-cron-into-the-system-task-scheduler/" target="_blank" ' ); ?></div> </div> <?php endif; ?> <h3 class="litespeed-title"><?php echo __( 'Watch Crawler Status', 'litespeed-cache' ); ?></h3> <?php $ajaxUrl = $__crawler->json_path(); if ( $ajaxUrl ) : ?> <input type="button" id="litespeed-crawl-url-btn" value="<?php echo __( 'Show crawler status', 'litespeed-cache' ); ?>" class="button button-secondary" data-url="<?php echo $ajaxUrl; ?>" /> <div class="litespeed-shell litespeed-hide"> <div class="litespeed-shell-header-bar"></div> <div class="litespeed-shell-header"> <div class="litespeed-shell-header-bg"></div> <div class="litespeed-shell-header-icon-container"> <img id="litespeed-shell-icon" src="<?php echo LSWCP_PLUGIN_URL . 'assets/img/Litespeed.icon.svg'; ?>" /> </div> </div> <ul class="litespeed-shell-body"> <li>Start watching...</li> <li id="litespeed-loading-dot"></li> </ul> </div> <?php else : ?> <p> <?php echo __( 'No crawler meta file generated yet', 'litespeed-cache' ); ?> </p> <?php endif; ?>