/**
* 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);
} أخبار مصر - مصر اليوم نيوز
تتناول كلمة السيسي عن غزة القضية الفلسطينية بعمق، وتعكس بوضوح موقف مصر الثابت والداعم للشعب الفلسطيني، وتشدد على ضرورة توفير الحماية للمدنيين وتقديم المساعدات الانسانية العاجلة. كلمة السيسي عن غزة ليست مجرد بيان، بل هي رسالة قوية تحمل في طياتها العديد من الدلالات السياسية والإنسانية. كلمة السيسي عن غزة: تأكيد …
تعلن وزارة الحج والعمرة قريبا عن ضوابط الحج الجديدة للموسم المقبل، وتتضمن هذه الضوابط تفاصيل هامة تهم جميع الراغبين في أداء فريضة الحج، وتشمل الضوابط كافة الاجراءات والاشتراطات اللازمة لضمان رحلة حج امنة وميسرة للحجاج، وسوف نستعرض في هذا التقرير اهم ما يتعلق بضوابط الحج الجديدة واهم التغييرات المتوقعة. ضوابط …
يؤرق الكثيرين الحر الشديد غضب الهي ام لا، فالحر الشديد ظاهرة طبيعية قد تتسبب في معاناة الكثيرين، ولكن هل هو غضب الهي؟ يطرح هذا التساؤل الكثير من علامات الاستفهام، لذا يتطلب الامر دراسة متأنية وافية لتوضيح الامر، فهل هو فعلا غضب الهي ام ان له تفسيرات اخرى. الحر الشديد غضب …
نجحت جهود طبية متميزة في إنقاذ سيدة من نزيف حاد، حيث واجه الفريق الطبي تحديات كبيرة في هذه الحالة الحرجة.، فقد وصلت السيدة وهي تعاني من فقدان للوعي نتيجة نزيف داخلي حاد ناتج عن مضاعفات طبية خطيرة، مما استدعى تدخلاً عاجلاً لإنقاذ حياتها. إنقاذ سيدة من نزيف حاد: تفاصيل الحالة …
تتناول هذه المقالة انتخابات البرلمان المصري ودور الشباب فيها، حيث تشير أهمية المشاركة الفعالة في انتخابات البرلمان المصري الى بناء مستقبل افضل، وتبرز اهمية دور الشباب في العملية السياسية، كما نناقش دعوات المقاطعة ونوضح ابعادها. اهمية المشاركة في انتخابات البرلمان المصري تدعو المشاركة الواسعة في انتخابات البرلمان المصري الى تعزيز …
تواصل مصر جهودها الدؤوبة لتوفير الدعم اللازم للشعب الفلسطيني الشقيق عبر معبر رفح، حيث تشهد هذه الفترة تكثيفا ملحوظا في عمليات نقل المساعدات الاغاثية والطبية. جهود مصر في معبر رفح: تسهيل مرور المساعدات تسعى مصر جاهدة لتسهيل وصول المساعدات الانسانية الى قطاع غزة عبر معبر رفح، وتعمل على تذليل كافة …
تتناول هذه المقالة انتخابات البرلمان المصري المقبلة، واهميتها في رسم مستقبل مصر، وضرورة المشاركة الفعالة فيها، ورفض دعوات المقاطعة التي وصفها البعض بانها مغرضة. تتطرق المقالة الى الاراء المختلفة حول هذه الانتخابات، واهمية تفعيل دور الشباب في العملية السياسية. اهمية المشاركة في انتخابات البرلمان المصري تدعو العديد من الشخصيات العامة …
تواصل مصر جهودها الحثيثة لتخفيف معاناة الشعب الفلسطيني عبر معبر رفح، حيث تمثل هذه الجهود احد اهم ركائز السياسة المصرية تجاه الازمة في قطاع غزة، ويسعى المسؤولون المصريون جاهدين لتقديم الدعم اللازم للشعب الفلسطيني الشقيق. وتشمل هذه الجهود تسهيل دخول المساعدات عبر معبر رفح، وفتح قنوات اتصال مفتوحة مع الاطراف …
شهدت مناطق متفرقة بمحافظة الجيزة انقطاع الكهرباء المفاجئ مما اثار قلقا واسعا بين المواطنين. يعتبر انقطاع الكهرباء في الجيزة ظاهرة متكررة تتطلب من الجهات المختصة البحث عن حلول جذرية وفعالة. سنستعرض في هذا التقرير اسباب هذا الانقطاع وخطوات الحكومة لمعالجته. انقطاع الكهرباء في الجيزة: تفاصيل جديدة اكدت مصادر رسمية ان …
تزايدت مؤخرا حالات انقطاع الكهرباء في العديد من المناطق، مما اثار قلقا واسعا بين المواطنين. وتعمل الحكومة جاهدة على ايجاد حلول سريعة وفعالة لهذه المشكلة التي تؤثر بشكل كبير على الحياة اليومية. وتدرس وزارة الكهرباء حاليا عدة مقترحات للحد من هذه الظاهرة وتوفير الطاقة الكهربائية بشكل مستمر. انقطاع الكهرباء: خطط …