91 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * Wrapper functions for commonly used functions that haven't been fully migrated to oop OR failsafes for backwards compat.
 | |
|  *
 | |
|  * @link https://ewww.io
 | |
|  * @package EWWW_Image_Optimizer
 | |
|  */
 | |
| 
 | |
| if ( ! defined( 'ABSPATH' ) ) {
 | |
| 	exit;
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Check the mimetype of the given file with magic mime strings/patterns.
 | |
|  *
 | |
|  * @param string $path The absolute path to the file.
 | |
|  * @param string $type The type of file we are checking. Accepts 'i' for
 | |
|  *                     images/pdfs or 'b' for binary.
 | |
|  * @return bool|string A valid mime-type or false.
 | |
|  */
 | |
| function ewww_image_optimizer_mimetype( $path, $type ) {
 | |
| 	return ewwwio()->mimetype( $path, $type );
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Escape any spaces in the filename.
 | |
|  *
 | |
|  * @param string $path The path to a binary file.
 | |
|  * @return string The path with spaces escaped.
 | |
|  */
 | |
| function ewww_image_optimizer_escapeshellcmd( $path ) {
 | |
| 	return ewwwio()->escapeshellcmd( $path );
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Replacement for escapeshellarg() that won't kill non-ASCII characters.
 | |
|  *
 | |
|  * @param string $arg A value to sanitize/escape for commmand-line usage.
 | |
|  * @return string The value after being escaped.
 | |
|  */
 | |
| function ewww_image_optimizer_escapeshellarg( $arg ) {
 | |
| 	return ewwwio()->escapeshellarg( $arg );
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Sanitize the folders/patterns to exclude from optimization.
 | |
|  *
 | |
|  * @param string $input A list of filesystem paths, from a textarea.
 | |
|  * @return array The sanitized list of paths/patterns to exclude.
 | |
|  */
 | |
| function ewww_image_optimizer_exclude_paths_sanitize( $input ) {
 | |
| 	return ewwwio()->exclude_paths_sanitize( $input );
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Checks if a function is disabled or does not exist.
 | |
|  *
 | |
|  * @param string $function_name The name of a function to test.
 | |
|  * @param bool   $debug Whether to output debugging.
 | |
|  * @return bool True if the function is available, False if not.
 | |
|  */
 | |
| function ewww_image_optimizer_function_exists( $function_name, $debug = false ) {
 | |
| 	return ewwwio()->function_exists( $function_name, $debug );
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Make sure an array/object can be parsed by a foreach().
 | |
|  *
 | |
|  * @param mixed $value A variable to test for iteration ability.
 | |
|  * @return bool True if the variable is iterable.
 | |
|  */
 | |
| function ewww_image_optimizer_iterable( $value ) {
 | |
| 	return ewwwio()->is_iterable( $value );
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Adds information to the in-memory debug log.
 | |
|  *
 | |
|  * @param string $message Debug information to add to the log.
 | |
|  */
 | |
| function ewwwio_debug_message( $message ) {
 | |
| 	ewwwio()->debug_message( $message );
 | |
| }
 | |
| 
 | |
| /**
 | |
|  * Saves the in-memory debug log to a logfile in the plugin folder.
 | |
|  */
 | |
| function ewww_image_optimizer_debug_log() {
 | |
| 	ewwwio()->debug_log();
 | |
| }
 |