Files
CHIEFSOFT\ameye e9e5c0546c first commit
2023-11-30 13:20:54 -05:00

95 lines
2.4 KiB
PHP

<?php
/**
* The admin-specific functionality of the module.
*
* @link https://codesupply.co
* @since 1.0.0
*
* @package Powerkit
* @subpackage Modules/Admin
*/
/**
* The admin-specific functionality of the module.
*/
class Powerkit_Retina_Images_Admin extends Powerkit_Module_Admin {
/**
* Initialize
*/
public function initialize() {
add_action( 'admin_init', array( $this, 'register_settings_section' ) );
add_action( 'pre_update_option_powerkit_retina_images_sizes', array( $this, 'powerkit_retina_images_sizes_filter' ) );
}
/**
* Register admin page
*
* @since 1.0.0
*/
public function register_settings_section() {
add_settings_section( 'powerkit_retina_images_settings', sprintf( '<span id="%s">%s</span>', powerkit_get_page_slug( $this->slug ), esc_html__( 'Retina Images', 'powerkit' ) ), array( $this, 'powerkit_retina_images_settings_callback' ), 'media' );
add_settings_field( 'powerkit_retina_images_sizes', esc_html__( 'Sizes', 'powerkit' ), array( $this, 'powerkit_retina_images_sizes_callback' ), 'media', 'powerkit_retina_images_settings' );
register_setting( 'media', 'powerkit_retina_images_sizes' );
}
/**
* Section Description.
*
* @since 1.0.0
*/
public function powerkit_retina_images_settings_callback() {
return null;
}
/**
* Filer Save | Sizes.
*
* @since 1.0.0
* @param mixed $value The new option value.
*/
public function powerkit_retina_images_sizes_filter( $value ) {
$images_sizes = powerkit_retina_images_get_register_sizes();
$save_sizes = array();
foreach ( $images_sizes as $_size => $size_data ) {
if ( ! in_array( $_size, (array) $value, true ) ) {
$save_sizes[] = $_size;
}
}
return $save_sizes;
}
/**
* Field | Sizes.
*
* @since 1.0.0
*/
public function powerkit_retina_images_sizes_callback() {
?>
<?php
$images_sizes = powerkit_retina_images_get_register_sizes();
$filter_sizes = get_option( 'powerkit_retina_images_sizes' );
// Loop Sizes.
foreach ( $images_sizes as $_size => $size_data ) {
if ( in_array( $_size, (array) $filter_sizes, true ) ) {
$checked = false;
} else {
$checked = true;
}
?>
<p><label><input class="regular-text" id="powerkit_retina_images_sizes" name="powerkit_retina_images_sizes[]" type="checkbox" value="<?php echo esc_attr( $_size ); ?>" <?php checked( $checked ); ?>> <?php echo esc_html( $_size ); ?></label></p>
<?php
}
?>
<?php
}
}