135 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /*
 | |
|  * No direct access to this file
 | |
|  */
 | |
| if (! isset($data)) {
 | |
| 	exit;
 | |
| }
 | |
| 
 | |
| if (! defined('WPACU_USE_MODAL_BOX')) {
 | |
| 	define('WPACU_USE_MODAL_BOX', true);
 | |
| }
 | |
| 
 | |
| use WpAssetCleanUp\Preloads;
 | |
| 
 | |
| $assetsPreloaded = Preloads::instance()->getPreloads();
 | |
| 
 | |
| $hasCssPreloads = isset($assetsPreloaded['styles'])  && ! empty($assetsPreloaded['styles']);
 | |
| $hasJsPreloads  = isset($assetsPreloaded['scripts']) && ! empty($assetsPreloaded['scripts']);
 | |
| 
 | |
| $isUpdateable = $hasCssPreloads || $hasJsPreloads;
 | |
| 
 | |
| do_action('wpacu_admin_notices');
 | |
| ?>
 | |
| <p>This is the list of all the CSS/JS that were preloaded.   <a id="wpacu-preloaded-assets-info-target" href="#wpacu-preloaded-assets-info" style="text-decoration: none;"><span class="dashicons dashicons-info"></span> How the list below gets filled?</a></p>
 | |
| 
 | |
| <form action="" method="post">
 | |
|     <h2>Styles (.css)</h2>
 | |
| 	<?php if ($hasCssPreloads) { ?>
 | |
|         <table style="width: 96%;" class="wp-list-table widefat fixed striped">
 | |
|             <tr>
 | |
|                 <td style="min-width: 400px;"><strong>Handle</strong></td>
 | |
|                 <td><strong>Actions</strong></td>
 | |
|             </tr>
 | |
| 
 | |
| 			<?php
 | |
| 			ksort($assetsPreloaded['styles']);
 | |
| 
 | |
| 			foreach ($assetsPreloaded['styles'] as $styleHandle => $preloadedStatus) {
 | |
| 				?>
 | |
|                 <tr class="wpacu_bulk_change_row">
 | |
|                     <td>
 | |
|                         <?php
 | |
| 	                    $data['assets_info'][ 'styles' ][ $styleHandle ] ['preloaded_status'] = $preloadedStatus;
 | |
|                         wpacuRenderHandleTd($styleHandle, 'styles', $data);
 | |
|                         ?>
 | |
|                     </td>
 | |
|                     <td>
 | |
|                         <label><input type="checkbox"
 | |
|                                       class="wpacu_remove_preload"
 | |
|                                       name="wpacu_styles_remove_preloads[<?php echo esc_attr($styleHandle); ?>]"
 | |
|                                       value="remove" /> Remove preload for this CSS file</label>
 | |
|                     </td>
 | |
|                 </tr>
 | |
| 				<?php
 | |
| 			}
 | |
| 			?>
 | |
|         </table>
 | |
| 	<?php } else { ?>
 | |
|         <p>There are no preloaded stylesheets.</p>
 | |
| 	<?php } ?>
 | |
| 
 | |
|     <div style="margin: 20px 0; width: 96%;">
 | |
|         <hr/>
 | |
|     </div>
 | |
| 
 | |
|     <h2>Scripts (.js)</h2>
 | |
| 	<?php if ($hasJsPreloads) { ?>
 | |
|         <table style="width: 96%;" class="wp-list-table widefat fixed striped">
 | |
|             <tr>
 | |
|                 <td style="min-width: 400px;"><strong>Handle</strong></td>
 | |
|                 <td><strong>Actions</strong></td>
 | |
|             </tr>
 | |
| 
 | |
| 			<?php
 | |
| 			ksort($assetsPreloaded['scripts']);
 | |
| 
 | |
| 			foreach ($assetsPreloaded['scripts'] as $scriptHandle => $preloadedStatus) {
 | |
| 				?>
 | |
|                 <tr class="wpacu_bulk_change_row">
 | |
|                     <td><?php wpacuRenderHandleTd($scriptHandle, 'scripts', $data); ?></td>
 | |
|                     <td>
 | |
|                         <label><input type="checkbox"
 | |
|                                       class="wpacu_remove_preload"
 | |
|                                       name="wpacu_scripts_remove_preloads[<?php echo esc_attr($scriptHandle); ?>]"
 | |
|                                       value="remove" /> Remove preload for this JS file</label>
 | |
|                     </td>
 | |
|                 </tr>
 | |
| 				<?php
 | |
| 			}
 | |
| 			?>
 | |
|         </table>
 | |
| 	<?php } else { ?>
 | |
|         <p>There are no preloaded scripts.</p>
 | |
| 	<?php } ?>
 | |
| 
 | |
| 	<?php
 | |
| 	if ($isUpdateable) {
 | |
| 		wp_nonce_field('wpacu_remove_preloaded_assets', 'wpacu_remove_preloaded_assets_nonce');
 | |
| 	}
 | |
| 	?>
 | |
|     <div id="wpacu-update-button-area" class="no-left-margin">
 | |
|         <p style="margin: 20px 0 0 0;">
 | |
|             <input type="submit"
 | |
|                    name="submit"
 | |
|                    <?php if (! $isUpdateable) { ?>disabled="disabled"<?php } ?>
 | |
|                    class="wpacu-remove-preloads-btn button button-primary"
 | |
|                    value="Remove preload for chosen CSS/JS" />
 | |
| 
 | |
|             <?php
 | |
|             if (! $isUpdateable) {
 | |
|                 ?>
 | |
|                    <small>Note: As there are no preloaded CSS/JS, the update button is not enabled.</small>
 | |
|                 <?php
 | |
|             }
 | |
|             ?>
 | |
|         </p>
 | |
|         <div id="wpacu-updating-settings" style="margin-left: 285px; top: 10px;">
 | |
|             <img src="<?php echo esc_url(admin_url('images/spinner.gif')); ?>" align="top" width="20" height="20" alt="" />
 | |
|         </div>
 | |
|     </div>
 | |
| </form>
 | |
| 
 | |
| <!-- Start Site-Wide Modal -->
 | |
| <div id="wpacu-preloaded-assets-info" class="wpacu-modal">
 | |
|     <div class="wpacu-modal-content">
 | |
|         <span class="wpacu-close">×</span>
 | |
|         <h2><?php _e('Preloading CSS/JS site-wide', 'wp-asset-clean-up'); ?></h2>
 | |
|         <p>This is an overview of all the assets (Stylesheets & Scripts) that have were selected for preloading. Anything you see on this page is filled the moment you go to edit a page via the "CSS/JS Load Manager" (e.g. homepage or a post) and use the "Preload" option (drop-down) on any of the assets.</p>
 | |
| 
 | |
|         <p>The preload for a CSS/JS can also be removed by editing a page that loads that particular file and just select "No (default)" option.</p>
 | |
| 
 | |
|         <p>This is considered a bulk change because the preloading for the chosen file is applied site-wide (not just on the page where you activated the preloading).</p>
 | |
|     </div>
 | |
| </div>
 | |
| <!-- End Site-Wide Modal -->
 |