$limit,
];
}
if ( isset($_POST['max_execution_time_field']) ) {
$settings['max_execution_time'] = (int) sanitize_text_field($_POST['max_execution_time_field']);
}
if ( isset($_POST['max_memory_limit_field']) ) {
$settings['max_memory_limit'] = (int) sanitize_text_field($_POST['max_memory_limit_field']) * 1024 * 1024;
}
// Save as JSON string or array. WordPress can handle arrays (auto-serialized).
update_option('wmufs_settings', $settings);
set_transient('wmufs_settings_updated', 'Settings saved successfully.', 30);
wp_safe_redirect(admin_url('admin.php?page=max_uploader'));
exit;
}
static function show_admin_notice(): void {
if ( $message = get_transient('wmufs_settings_updated') ) {
echo '
' . esc_html($message) . '
';
delete_transient('wmufs_settings_updated');
}
}
static function wmufs_style_and_script(): void {
wp_enqueue_style('wmufs-admin-style', WMUFS_PLUGIN_URL . 'assets/css/wmufs.css', array(), WMUFS_PLUGIN_VERSION);
// Ensure jQuery is loaded
wp_enqueue_script('jquery');
// Enqueue your script with explicit dependency on jQuery
wp_enqueue_script('wmufs-admin', WMUFS_PLUGIN_URL . 'assets/js/admin.js', array('jquery'), time(), true);
wp_localize_script(
'wmufs-admin',
'wmufs_admin_notice_ajax_object',
array(
'wmufs_admin_notice_ajax_url' => admin_url('admin-ajax.php'),
'nonce' => wp_create_nonce('wmufs_notice_status'),
'plugin_url' => WMUFS_PLUGIN_URL,
'active_tab' => isset($_GET['tab']) ? sanitize_text_field($_GET['tab']) : 'general',
)
);
}
static function get_plugin_version(): string {
$plugin_data = get_file_data(__FILE__, array('version' => 'Version'), 'plugin');
return $plugin_data['version'];
}
static function is_plugin_page(): bool {
$current_screen = get_current_screen();
return ($current_screen->id === 'media_page_max_uploader');
}
static function plugin_action_links( $links ) {
$settings_link = 'Settings';
array_unshift($links, $settings_link);
return $links;
}
static function plugin_meta_links( $links, $file ) {
if ( $file === plugin_basename(__FILE__) ) {
$links[] = 'Support';
}
return $links;
}
static function admin_footer_text( $text ) {
if ( ! self::is_plugin_page() ) {
return $text;
}
return '';
}
static function upload_max_file_size_add_pages() {
add_submenu_page(
'upload.php', // Parent Slug.
'Increase Max Upload File Size',
'MaxUploader',
'manage_options',
'max_uploader',
[ __CLASS__, 'upload_max_file_size_dash' ],
);
}
static function upload_max_file_size_dash() {
$active_tab = isset($_GET['tab']) ? sanitize_text_field($_GET['tab']) : 'general';
?>
0 ? $max_upload_size : $data;
});
// Set max execution time
if ( !empty($max_execution_time) && $max_execution_time > 0) {
// Only try to set a time limit if the function is available
if (function_exists('set_time_limit')) {
@set_time_limit( $max_execution_time ); // Suppress errors if the host restricts
}
}
// Set a memory limit
if ( !empty($memory_limit) && $memory_limit > 0) {
$memory_limit_mb = round($memory_limit / 1048576); // convert to MB ex: 2048
@ini_set('memory_limit', ((int) $memory_limit_mb) . 'M'); // e.g., 512M, 1024M
}
}
}
add_action('init', array( 'MaxUploader_Admin', 'init' ));
?>