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