plugin_name = $plugin_name; $this->version = $version; } /** * Enqueue scripts and styles * */ public function enqueue_scripts_styles( $hook_suffix ) { if ( $hook_suffix == 'toplevel_page_quickwebp-settings' || $hook_suffix == 'media_page_quickwebp-settings' ) { $admin_main_settings_assets = include( QUICKWEBP_PLUGIN_PATH . 'public/assets/build/admin-main-settings.asset.php' ); wp_enqueue_style( 'quickwebpoi_admin_main_settings', QUICKWEBP_PLUGIN_URL . 'public/assets/build/admin-main-settings.css', array(), $admin_main_settings_assets['version'], 'all' ); wp_enqueue_script( 'quickwebpoi_admin_main_settings', QUICKWEBP_PLUGIN_URL . 'public/assets/build/admin-main-settings.js', $admin_main_settings_assets['dependencies'], $admin_main_settings_assets['version'], true ); wp_localize_script( 'quickwebpoi_admin_main_settings', 'QUICKWEBP_ADMIN_SETTINGS', array( 'ajaxUrl' => admin_url( 'admin-ajax.php' ), 'nonce' => wp_create_nonce( 'image_optimize_nonce' ), )); } } /** * add_settings_menu * * @return void */ public function add_settings_menu() { add_submenu_page( 'upload.php', __('Quickwebp Settings', QUICKWEBP_TEXT_DOMAIN), __('Quickwebp', QUICKWEBP_TEXT_DOMAIN), 'manage_options', 'quickwebp-settings', array( $this, 'render_settings_page' ) ); } /** * render_settings_page * * @return void */ public function render_settings_page() { global $is_nginx; require_once QUICKWEBP_PLUGIN_PATH . 'admin/templates/page-settings.php'; } /** * render_component * * @param mixed $data * @return void */ public function render_component( $data = array() ) { $data['type'] = $data['type'] ?? 'text'; $data['name'] = $data['name'] ?? ''; $file_name = $data['type'] == 'text' || $data['type'] == 'email' || $data['type'] == 'tel' || $data['type'] == 'number' ? 'text' : $data['type']; $path_to_component = QUICKWEBP_PLUGIN_PATH . 'admin/components/' . $file_name . '.php'; if( file_exists( $path_to_component ) ) { ?>

Settings', QUICKWEBP_TEXT_DOMAIN ), esc_url( admin_url( 'upload.php?page=quickwebp-settings' ) ) ); } return array_merge( $new_actions, $plugin_actions ); } /** * Show notice */ public function show_notice_if_library_not_exist() { $library_to_use = get_option( 'quickwebp_settings_library', quickwebp_settings_default('quickwebp_settings_library') ); switch ($library_to_use) { case 'gd': if ( ! extension_loaded('gd') ) { add_action( 'admin_notices', function() { ?>

add(); } else { $result = $rules->remove(); } if ( is_wp_error( $result ) ) { add_action( 'admin_notices', function() use ( $result ) { ?>

get_error_message(); ?>