128 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			6.3 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
/*
 | 
						|
 * No direct access to this file
 | 
						|
 */
 | 
						|
if (! isset($data)) {
 | 
						|
	exit;
 | 
						|
}
 | 
						|
 | 
						|
include_once '_top-area.php';
 | 
						|
 | 
						|
$wpacuTabList = array(
 | 
						|
    'bulk_unloaded'         => __('Bulk Unloaded (page types)', 'wp-asset-clean-up'),
 | 
						|
    'regex_unloads'         => __('RegEx Unloads', 'wp-asset-clean-up'),
 | 
						|
    'regex_load_exceptions' => __('RegEx Load Exceptions', 'wp-asset-clean-up'),
 | 
						|
    'preloaded_assets'      => __('Preloaded CSS/JS', 'wp-asset-clean-up'),
 | 
						|
    'script_attrs'          => __('Defer & Async (site-wide)', 'wp-asset-clean-up'),
 | 
						|
    'assets_positions'      => __('Updated CSS/JS positions', 'wp-asset-clean-up')
 | 
						|
);
 | 
						|
 | 
						|
$wpacuTabCurrent = isset($_REQUEST['wpacu_bulk_menu_tab']) && array_key_exists( $_REQUEST['wpacu_bulk_menu_tab'], $wpacuTabList ) ? sanitize_text_field($_REQUEST['wpacu_bulk_menu_tab']) : 'bulk_unloaded';
 | 
						|
?>
 | 
						|
<div class="wpacu-wrap <?php if ($data['plugin_settings']['input_style'] !== 'standard') { echo 'wpacu-switch-enhanced'; } ?>">
 | 
						|
    <ul class="wpacu-bulk-changes-tabs">
 | 
						|
		<?php
 | 
						|
		foreach ($wpacuTabList as $wpacuTabKey => $wpacuTabValue) {
 | 
						|
			?>
 | 
						|
            <li <?php if ($wpacuTabKey === $wpacuTabCurrent) { ?>class="current"<?php } ?>>
 | 
						|
                <a href="<?php echo esc_url(admin_url('admin.php?page=wpassetcleanup_bulk_unloads&wpacu_bulk_menu_tab='.$wpacuTabKey)); ?>"><?php echo esc_html($wpacuTabValue); ?></a>
 | 
						|
            </li>
 | 
						|
			<?php
 | 
						|
		}
 | 
						|
		?>
 | 
						|
    </ul>
 | 
						|
	<?php
 | 
						|
	if ($wpacuTabCurrent === 'bulk_unloaded') {
 | 
						|
		include_once '_admin-page-settings-bulk-changes/_bulk-unloaded.php';
 | 
						|
	} elseif($wpacuTabCurrent === 'regex_unloads') {
 | 
						|
		include_once '_admin-page-settings-bulk-changes/_regex-unloads.php';
 | 
						|
	} elseif($wpacuTabCurrent === 'regex_load_exceptions') {
 | 
						|
		include_once '_admin-page-settings-bulk-changes/_regex-load-exceptions.php';
 | 
						|
	} elseif ($wpacuTabCurrent === 'preloaded_assets') {
 | 
						|
		include_once '_admin-page-settings-bulk-changes/_preloaded-assets.php';
 | 
						|
	} elseif ($wpacuTabCurrent === 'script_attrs') {
 | 
						|
		include_once '_admin-page-settings-bulk-changes/_script-attrs.php';
 | 
						|
	} elseif ($wpacuTabCurrent === 'assets_positions') {
 | 
						|
		include_once '_admin-page-settings-bulk-changes/_assets-positions.php';
 | 
						|
	}
 | 
						|
 | 
						|
	/**
 | 
						|
	 * @param $handle
 | 
						|
	 * @param $assetType
 | 
						|
	 * @param $data
 | 
						|
	 * @param string $for ('default': bulk unloads, regex unloads)
 | 
						|
	 */
 | 
						|
	function wpacuRenderHandleTd($handle, $assetType, $data, $for = 'default')
 | 
						|
    {
 | 
						|
	    global $wp_version;
 | 
						|
 | 
						|
	    $isCoreFile = false; // default
 | 
						|
 | 
						|
		if ( $for === 'default' ) {
 | 
						|
			// Show the original "src" and "ver, not the altered one
 | 
						|
			// (in case filters such as "wpacu_{$handle}_(css|js)_handle_obj" were used to load alternative versions of the file, depending on the situation)
 | 
						|
			$srcKey = isset($data['assets_info'][ $assetType ][ $handle ]['src_origin']) ? 'src_origin' : 'src';
 | 
						|
			$verKey = isset($data['assets_info'][ $assetType ][ $handle ]['ver_origin']) ? 'ver_origin' : 'ver';
 | 
						|
 | 
						|
			$src = (isset( $data['assets_info'][ $assetType ][ $handle ][$srcKey] ) && $data['assets_info'][ $assetType ][ $handle ][$srcKey]) ? $data['assets_info'][ $assetType ][ $handle ][$srcKey] : false;
 | 
						|
 | 
						|
			$isExternalSrc = true;
 | 
						|
 | 
						|
			if (\WpAssetCleanUp\Misc::getLocalSrc($src)
 | 
						|
			    || strpos($src, '/?') !== false // Dynamic Local URL
 | 
						|
			    || strpos(str_replace(site_url(), '', $src), '?') === 0 // Starts with ? right after the site url (it's a local URL)
 | 
						|
			) {
 | 
						|
				$isExternalSrc = false;
 | 
						|
				$isCoreFile = \WpAssetCleanUp\Misc::isCoreFile($data['assets_info'][$assetType][$handle]);
 | 
						|
			}
 | 
						|
 | 
						|
			if (strpos($src, '/') === 0 && strpos($src, '//') !== 0) {
 | 
						|
				$src = site_url() . $src;
 | 
						|
			}
 | 
						|
 | 
						|
			if (isset($data['assets_info'][ $assetType ][ $handle ][$verKey]) && $data['assets_info'][ $assetType ][ $handle ][$verKey]) {
 | 
						|
				$verToPrint = is_array($data['assets_info'][ $assetType ][ $handle ][$verKey])
 | 
						|
					? implode(',', $data['assets_info'][ $assetType ][ $handle ][$verKey])
 | 
						|
					: $data['assets_info'][ $assetType ][ $handle ][$verKey];
 | 
						|
				$verToAppend = is_array($data['assets_info'][ $assetType ][ $handle ][$verKey])
 | 
						|
                    ? http_build_query(array('ver' => $data['assets_info'][ $assetType ][ $handle ][$verKey]))
 | 
						|
                    : 'ver='.$data['assets_info'][ $assetType ][ $handle ][$verKey];
 | 
						|
			} else {
 | 
						|
				$verToAppend = 'ver='.$wp_version;
 | 
						|
                $verToPrint = $wp_version;
 | 
						|
            }
 | 
						|
			?>
 | 
						|
				<strong><span style="color: green;"><?php echo esc_html($handle); ?></span></strong>
 | 
						|
				<small><em>v<?php echo esc_html($verToPrint); ?></em></small>
 | 
						|
			<?php
 | 
						|
			if ($isCoreFile) {
 | 
						|
				?>
 | 
						|
                <span title="WordPress Core File" style="font-size: 15px; vertical-align: middle;" class="dashicons dashicons-wordpress-alt wpacu-tooltip"></span>
 | 
						|
				<?php
 | 
						|
			}
 | 
						|
			?>
 | 
						|
            <?php
 | 
						|
			// [wpacu_pro]
 | 
						|
			$preloadedStatus = isset($data['assets_info'][ $assetType ][ $handle ]['preloaded_status']) ? $data['assets_info'][ $assetType ][ $handle ]['preloaded_status'] : false;
 | 
						|
			if ($preloadedStatus === 'async') { echo ' (<strong><em>'.$preloadedStatus.'</em></strong>)'; }
 | 
						|
			// [/wpacu_pro]
 | 
						|
 | 
						|
            if ( $src ) {
 | 
						|
			    $appendAfterSrc = strpos($src, '?') === false ? '?'.$verToAppend : '&'.$verToAppend;
 | 
						|
			    ?>
 | 
						|
                <div><a <?php if ($isExternalSrc) { ?> data-wpacu-external-source="<?php echo esc_attr($src . $appendAfterSrc); ?>" <?php } ?> href="<?php echo esc_html($src . $appendAfterSrc); ?>" target="_blank"><small><?php echo str_replace( site_url(), '', $src ); ?></small></a> <?php if ($isExternalSrc) { ?><span data-wpacu-external-source-status></span><?php } ?></div>
 | 
						|
                <?php
 | 
						|
			    $maybeInactiveAsset = \WpAssetCleanUp\Misc::maybeIsInactiveAsset($src);
 | 
						|
 | 
						|
			    if (is_array($maybeInactiveAsset) && ! empty($maybeInactiveAsset)) {
 | 
						|
			        if ($maybeInactiveAsset['from'] === 'plugin') { ?>
 | 
						|
                        <small><strong>Note:</strong> <span style="color: darkred;">The plugin `<strong><?php echo esc_html($maybeInactiveAsset['name']); ?></strong>` seems to be inactive, thus any rules set are also inactive & irrelevant, unless you re-activate the plugin.</span></small>
 | 
						|
				    <?php } elseif ($maybeInactiveAsset['from'] === 'theme') { ?>
 | 
						|
                        <small><strong>Note:</strong> <span style="color: darkred;">The theme `<strong><?php echo esc_html($maybeInactiveAsset['name']); ?></strong>` seems to be inactive, thus any rules set are also inactive & irrelevant, unless you re-activate the theme.</span></small>
 | 
						|
				    <?php }
 | 
						|
				}
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
	?>
 | 
						|
</div>
 |