/**
* Plugin Name: All-in-One WP Migration Unlimited Extension
* Plugin URI: https://servmask.com/
* Description: Extension for All-in-One WP Migration that enables unlimited size exports and imports
* Author: ServMask
* Author URI: https://servmask.com/
* Version: 2.79
* Text Domain: all-in-one-wp-migration-unlimited-extension
* Domain Path: /languages
* Network: True
*
* Copyright (C) 2014-2020 ServMask Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
* ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗
* ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝
* ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝
* ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗
* ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗
* ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
*/
delete_option('ai1wm_updater');
add_filter( 'pre_http_request', function( $pre, $parsed_args, $url ){
if ( strpos( $url, 'https://redirect.wp-migration.com/v1/check/unlimited-extension/' ) !== false ) {
return new WP_Error();
} else {
return $pre;
}
}, 10, 3 );
if ( ! defined( 'ABSPATH' ) ) {
die( 'Kangaroos cannot jump here' );
}
if ( is_multisite() ) {
// Multisite Extension shall be used instead
return;
}
// Check SSL Mode
if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) && ( $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) ) {
$_SERVER['HTTPS'] = 'on';
}
// Plugin Basename
define( 'AI1WMUE_PLUGIN_BASENAME', basename( dirname( __FILE__ ) ) . '/' . basename( __FILE__ ) );
// Plugin Path
define( 'AI1WMUE_PATH', dirname( __FILE__ ) );
// Plugin URL
define( 'AI1WMUE_URL', plugins_url( '', AI1WMUE_PLUGIN_BASENAME ) );
// Include constants
require_once dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'constants.php';
// Include functions
require_once dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'functions.php';
// Include loader
require_once dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'loader.php';
// Register activation hook to install and activate base plugin if needed
register_activation_hook( __FILE__, 'ai1wmue_activate_plugin' );
/**
* Plugin activation hook
*
* @return void
*/
function ai1wmue_activate_plugin() {
// Check if the base plugin is installed
if ( ! ai1wmue_is_base_plugin_installed() ) {
// Install the base plugin
$install_result = ai1wmue_install_base_plugin();
if ( is_wp_error( $install_result ) ) {
// Installation failed, deactivate this plugin
deactivate_plugins( plugin_basename( __FILE__ ) );
wp_die(
sprintf(
__( 'The All-in-One WP Migration plugin could not be installed automatically. Please download and install it manually before activating this extension.', AI1WMUE_PLUGIN_NAME ),
'https://wordpress.org/plugins/all-in-one-wp-migration/'
)
);
}
}
// Activate the base plugin if it's not already active
if ( ! ai1wmue_is_base_plugin_active() ) {
if ( ! function_exists( 'activate_plugin' ) ) {
require_once ABSPATH . 'wp-admin/includes/plugin.php';
}
$activate_result = activate_plugin( 'all-in-one-wp-migration/all-in-one-wp-migration.php' );
if ( is_wp_error( $activate_result ) ) {
// Activation failed, deactivate this plugin
deactivate_plugins( plugin_basename( __FILE__ ) );
wp_die(
sprintf(
__( 'The All-in-One WP Migration plugin could not be activated automatically. Please activate it manually before activating this extension.', AI1WMUE_PLUGIN_NAME ),
admin_url( 'plugins.php' )
)
);
}
}
}
// ===========================================================================
// = All app initialization is done in Ai1wmue_Main_Controller __constructor =
// ===========================================================================
$main_controller = new Ai1wmue_Main_Controller( 'AI1WMUE', 'file' );
If you install the same theme, plugins or content on all your WordPress sites then Duplicator can save you a lot of time.
Instead of manually configuring the same themes and plugins over and over, just configure one site and bundle it into a Duplicator Backup. Install the Backup to create a pre-configured site on as many locations as you want!
/**
* Copyright (C) 2014-2025 ServMask Inc.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*
* Attribution: This code is part of the All-in-One WP Migration plugin, developed by
*
* ███████╗███████╗██████╗ ██╗ ██╗███╗ ███╗ █████╗ ███████╗██╗ ██╗
* ██╔════╝██╔════╝██╔══██╗██║ ██║████╗ ████║██╔══██╗██╔════╝██║ ██╔╝
* ███████╗█████╗ ██████╔╝██║ ██║██╔████╔██║███████║███████╗█████╔╝
* ╚════██║██╔══╝ ██╔══██╗╚██╗ ██╔╝██║╚██╔╝██║██╔══██║╚════██║██╔═██╗
* ███████║███████╗██║ ██║ ╚████╔╝ ██║ ╚═╝ ██║██║ ██║███████║██║ ██╗
* ╚══════╝╚══════╝╚═╝ ╚═╝ ╚═══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
*/
if ( ! defined( 'ABSPATH' ) ) {
die( 'Kangaroos cannot jump here' );
}
class Ai1wm_Export_Enumerate_Themes {
public static function execute( $params ) {
$exclude_filters = array();
// Get total themes files count
if ( isset( $params['total_themes_files_count'] ) ) {
$total_themes_files_count = (int) $params['total_themes_files_count'];
} else {
$total_themes_files_count = 1;
}
// Get total themes files size
if ( isset( $params['total_themes_files_size'] ) ) {
$total_themes_files_size = (int) $params['total_themes_files_size'];
} else {
$total_themes_files_size = 1;
}
// Set progress
Ai1wm_Status::info( __( 'Gathering theme files...', 'all-in-one-wp-migration' ) );
// Exclude inactive themes
if ( isset( $params['options']['no_inactive_themes'] ) ) {
foreach ( search_theme_directories() as $theme_name => $theme_info ) {
if ( ! in_array( $theme_name, array( get_template(), get_stylesheet() ) ) ) {
if ( isset( $theme_info['theme_root'] ) ) {
$exclude_filters[] = $theme_info['theme_root'] . DIRECTORY_SEPARATOR . $theme_name;
}
}
}
}
// Exclude selected files
if ( isset( $params['options']['exclude_files'], $params['excluded_files'] ) ) {
if ( ( $excluded_files = explode( ',', $params['excluded_files'] ) ) ) {
foreach ( $excluded_files as $excluded_path ) {
$exclude_filters[] = WP_CONTENT_DIR . DIRECTORY_SEPARATOR . untrailingslashit( $excluded_path );
}
}
}
// Create themes list file
$themes_list = ai1wm_open( ai1wm_themes_list_path( $params ), 'w' );
// Enumerate over themes directory
if ( isset( $params['options']['no_themes'] ) === false ) {
foreach ( ai1wm_get_themes_dirs() as $theme_dir ) {
if ( is_dir( $theme_dir ) ) {
// Iterate over themes directory
$iterator = new Ai1wm_Recursive_Directory_Iterator( $theme_dir );
// Exclude themes files
$iterator = new Ai1wm_Recursive_Exclude_Filter( $iterator, apply_filters( 'ai1wm_exclude_themes_from_export', ai1wm_theme_filters( $exclude_filters ) ) );
// Recursively iterate over themes directory
$iterator = new Ai1wm_Recursive_Iterator_Iterator( $iterator, RecursiveIteratorIterator::LEAVES_ONLY, RecursiveIteratorIterator::CATCH_GET_CHILD );
// Write path line
foreach ( $iterator as $item ) {
if ( $item->isFile() ) {
if ( ai1wm_putcsv( $themes_list, array( $iterator->getPathname(), $iterator->getSubPathname(), $iterator->getSize(), $iterator->getMTime() ) ) ) {
$total_themes_files_count++;
// Add current file size
$total_themes_files_size += $iterator->getSize();
}
}
}
}
}
}
// Set progress
Ai1wm_Status::info( __( 'Theme files gathered.', 'all-in-one-wp-migration' ) );
// Set total themes files count
$params['total_themes_files_count'] = $total_themes_files_count;
// Set total themes files size
$params['total_themes_files_size'] = $total_themes_files_size;
// Close the themes list file
ai1wm_close( $themes_list );
return $params;
}
}
// Classic Editor
if (!defined('ABSPATH')) exit;
function disable_gutenberg_remove() {
$gutenberg = function_exists('gutenberg_register_scripts_and_styles');
$block_editor = has_action('enqueue_block_assets');
if (!$gutenberg && $block_editor === false) return;
add_filter('use_block_editor_for_post_type', '__return_false', 100);
if ($gutenberg) {
add_filter('gutenberg_can_edit_post_type', '__return_false', 100);
disable_gutenberg_hooks();
}
}
function disable_gutenberg_hooks() {
// Synced w/ Classic Editor plugin
remove_action('admin_menu', 'gutenberg_menu');
remove_action('admin_init', 'gutenberg_redirect_demo');
// Gutenberg 5.3+
remove_action('wp_enqueue_scripts', 'gutenberg_register_scripts_and_styles');
remove_action('admin_enqueue_scripts', 'gutenberg_register_scripts_and_styles');
remove_action('admin_notices', 'gutenberg_wordpress_version_notice');
remove_action('rest_api_init', 'gutenberg_register_rest_widget_updater_routes');
remove_action('admin_print_styles', 'gutenberg_block_editor_admin_print_styles');
remove_action('admin_print_scripts', 'gutenberg_block_editor_admin_print_scripts');
remove_action('admin_print_footer_scripts', 'gutenberg_block_editor_admin_print_footer_scripts');
remove_action('admin_footer', 'gutenberg_block_editor_admin_footer');
remove_action('admin_enqueue_scripts', 'gutenberg_widgets_init');
remove_action('admin_notices', 'gutenberg_build_files_notice');
remove_filter('load_script_translation_file', 'gutenberg_override_translation_file');
remove_filter('block_editor_settings', 'gutenberg_extend_block_editor_styles');
remove_filter('default_content', 'gutenberg_default_demo_content');
remove_filter('default_title', 'gutenberg_default_demo_title');
remove_filter('block_editor_settings', 'gutenberg_legacy_widget_settings');
remove_filter('rest_request_after_callbacks', 'gutenberg_filter_oembed_result');
// Previously used, compat for older Gutenberg versions
remove_filter('wp_refresh_nonces', 'gutenberg_add_rest_nonce_to_heartbeat_response_headers');
remove_filter('get_edit_post_link', 'gutenberg_revisions_link_to_editor');
remove_filter('wp_prepare_revision_for_js', 'gutenberg_revisions_restore');
remove_action('rest_api_init', 'gutenberg_register_rest_routes');
remove_action('rest_api_init', 'gutenberg_add_taxonomy_visibility_field');
remove_filter('registered_post_type', 'gutenberg_register_post_prepare_functions');
remove_action('do_meta_boxes', 'gutenberg_meta_box_save');
remove_action('submitpost_box', 'gutenberg_intercept_meta_box_render');
remove_action('submitpage_box', 'gutenberg_intercept_meta_box_render');
remove_action('edit_page_form', 'gutenberg_intercept_meta_box_render');
remove_action('edit_form_advanced', 'gutenberg_intercept_meta_box_render');
remove_filter('redirect_post_location', 'gutenberg_meta_box_save_redirect');
remove_filter('filter_gutenberg_meta_boxes', 'gutenberg_filter_meta_boxes');
remove_filter('body_class', 'gutenberg_add_responsive_body_class');
remove_filter('admin_url', 'gutenberg_modify_add_new_button_url'); // old
remove_action('admin_enqueue_scripts', 'gutenberg_check_if_classic_needs_warning_about_blocks');
remove_filter('register_post_type_args', 'gutenberg_filter_post_type_labels');
// Not used in Gutenberg 5.3+
remove_action('admin_init', 'gutenberg_add_edit_link_filters');
remove_action('admin_print_scripts-edit.php', 'gutenberg_replace_default_add_new_button');
remove_filter('redirect_post_location', 'gutenberg_redirect_to_classic_editor_when_saving_posts');
remove_filter('display_post_states', 'gutenberg_add_gutenberg_post_state');
remove_action('edit_form_top', 'gutenberg_remember_classic_editor_when_saving_posts');
//
// Keep
// remove_filter('wp_kses_allowed_html', 'gutenberg_kses_allowedtags', 10, 2); // not needed in 5.0
// remove_filter('bulk_actions-edit-wp_block', 'gutenberg_block_bulk_actions');
// remove_filter('wp_insert_post_data', 'gutenberg_remove_wpcom_markdown_support');
// remove_filter('the_content', 'do_blocks', 9);
// remove_action('init', 'gutenberg_register_post_types');
// Continue to manage wpautop for posts that were edited in Gutenberg.
// remove_filter('wp_editor_settings', 'gutenberg_disable_editor_settings_wpautop');
// remove_filter('the_content', 'gutenberg_wpautop', 8);
} مال وأعمال - مصر اليوم نيوز
وقعت شركة “دراسكيم” اليوم عقداً لإنشاء أول مصنع لإنتاج سيانيد الصوديوم في منطقة الشرق الأوسط، باستثمارات تبلغ 200 مليون دولار. ويهدف المشروع الجديد المقام بمحافظة الإسكندرية إلى تلبية احتياجات السوق المحلي، وتوطين الصناعات الكيميائية الدقيقة بتقنيات عالمية متطورة. اقرأ أيضاً: معقولة.. ماكينة ATM لبيع الذهب فى مصر إنتاج سيانيد الصوديوم …
وقعت شركة “دراسكيم” اليوم عقداً لإنشاء أول مصنع لإنتاج سيانيد الصوديوم في منطقة الشرق الأوسط، باستثمارات تبلغ 200 مليون دولار. ويهدف المشروع الجديد المقام بمحافظة الإسكندرية إلى تلبية احتياجات السوق المحلي، وتوطين الصناعات الكيميائية الدقيقة بتقنيات عالمية متطورة. اقرأ أيضاً: معقولة.. ماكينة ATM لبيع الذهب فى مصر إنتاج سيانيد الصوديوم …
سجلت أسعار الذهب اليوم السبت في مصر استقراراً ملحوظاً عند مستويات مرتفعة، تزامناً مع إغلاق البورصة العالمية على صعود. يأتي هذا الاستقرار في الصاغة نتيجة لزيادة الطلب المحلي المتراكم خلال الـ 24 ساعة الماضية، مما حافظ على قيمة الجرام. اقرأ أيضاً: أسعار الذهب اليوم: 3 تحولات مفاجئة لعيار 21 مؤشرات …
شهدت الأسواق المحلية صباح اليوم، السبت 7 فبراير 2026، تحركات جديدة ومتباينة في أسعار السلع الغذائية الاستراتيجية. وسجلت التقارير الواردة من الغرف التجارية ارتفاعاً ملحوظاً في أصناف محددة، مما أثر على حركة الشراء في بداية التعاملات الصباحية. اقرأ أيضاً: أسعار السلع الغذائية اليوم في مصر تشهد تراجعاً ملحوظاً.. تفاصيل انخفاض …
شهد سعر الذهب اليوم في مصر تحركاً مفاجئاً مع بداية تعاملات السبت 7 فبراير 2026، حيث سجلت الأسواق قفزة كبيرة. وارتفع الجرام بشكل ملحوظ مدفوعاً بزيادة الطلب المحلي والتحركات العالمية، مما أثار حالة من الترقب والحذر بين المواطنين والتجار. اقرأ أيضاً: سعر الذهب اليوم يقفز 50 جنيهاً تحديث سعر الذهب …
شهدت أسعار الذهب اليوم السبت في مصر حالة من التذبذب الملحوظ مع بداية التعاملات الصباحية في أسواق الصاغة. وسجل عيار 21 الأكثر مبيعاً رقماً جديداً ومغايراً لإغلاق الأمس، وسط حالة من الترقب الشديد بين التجار والمستثمرين. اقرأ أيضاً: سعر الذهب اليوم يقفز 50 جنيهاً تطورات أسعار الذهب اليوم يأتي هذا …
سجلت أسعار الدواجن تراجعاً جديداً صباح اليوم السبت 7 فبراير 2026، وفقاً لبيانات بوابة الأسعار المحلية والعالمية التابعة لمجلس الوزراء. وجاء هذا الانخفاض المفاجئ ليدعم استقرار السوق، حيث انخفض سعر الكيلو في المزرعة بشكل ملحوظ، مما ينعكس بالإيجاب فوراً على جيب المواطن. اقرأ أيضاً: أسعار السلع الغذائية اليوم في مصر …
سجل سعر الذهب اليوم في مصر ارتفاعاً مفاجئاً مع بداية التعاملات الصباحية ليوم السبت 7 فبراير 2026، متأثراً بالبورصة العالمية. وقفز الجرام من عيار 21 الأكثر تداولاً بنحو 50 جنيهاً دفعة واحدة، مما أحدث حالة من الترقب والحذر بين التجار والمواطنين. اقرأ أيضاً: سعر الذهب في مصر يقفز 25 جنيهاً …
شهدت أسعار الذهب في السعودية استقراراً ملحوظاً في مستهل تعاملات صباح اليوم السبت، حيث حافظت السوق على هدوئها النسبي. وسجل عيار 21 الأكثر تداولاً سعراً بلغ 292.45 ريالاً، تزامناً مع العطلة الأسبوعية للبورصة العالمية. يأتي هذا الثبات السعري ليعطي فرصة جيدة للمقبلين على الشراء والزواج لاقتناص الفرصة قبل عودة التداولات …
شهد سعر الذهب في مصر ارتفاعاً ملحوظاً مع بداية تعاملات صباح اليوم السبت 7 فبراير 2026 في أسواق الصاغة المحلية. وجاء هذا التحرك الصعودي ليعوض المعدن الأصفر جزءاً من الخسائر التي تكبدها خلال تعاملات نهاية الأسبوع الماضي. اقرأ أيضاً: سعر الذهب عيار 21 يكسر الحواجز التاريخية ويسجل قفزات غير مسبوقة …