/**
* 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);
}أحمد عابدين - مصر اليوم نيوز
https://masr-alyoum.com/tag/أحمد-عابدين/
موقع أخباري عربي يهتم بالشأن المصري والعربي والدولي مع خاصية مشاركة الأرباحSat, 24 Jan 2026 19:38:17 +0000ar
hourly
1 https://wordpress.org/?v=6.9.6https://masr-alyoum.com/wp-content/uploads/2023/02/cropped-Asset-1-32x32.pngأحمد عابدين - مصر اليوم نيوز
https://masr-alyoum.com/tag/أحمد-عابدين/
3232رسمياً.. نادي سيراميكا كليوباترا يعزز دفاعاته بضم “صمام أمان” النادي الأهلي
https://masr-alyoum.com/%d8%b1%d8%b3%d9%85%d9%8a%d8%a7%d9%8b-%d9%86%d8%a7%d8%af%d9%8a-%d8%b3%d9%8a%d8%b1%d8%a7%d9%85%d9%8a%d9%83%d8%a7-%d9%83%d9%84%d9%8a%d9%88%d8%a8%d8%a7%d8%aa%d8%b1%d8%a7-%d9%8a%d8%b9%d8%b2%d8%b2-%d8%af/
https://masr-alyoum.com/%d8%b1%d8%b3%d9%85%d9%8a%d8%a7%d9%8b-%d9%86%d8%a7%d8%af%d9%8a-%d8%b3%d9%8a%d8%b1%d8%a7%d9%85%d9%8a%d9%83%d8%a7-%d9%83%d9%84%d9%8a%d9%88%d8%a8%d8%a7%d8%aa%d8%b1%d8%a7-%d9%8a%d8%b9%d8%b2%d8%b2-%d8%af/#respondSat, 24 Jan 2026 19:38:17 +0000https://masr-alyoum.com/%d8%b1%d8%b3%d9%85%d9%8a%d8%a7%d9%8b-%d9%86%d8%a7%d8%af%d9%8a-%d8%b3%d9%8a%d8%b1%d8%a7%d9%85%d9%8a%d9%83%d8%a7-%d9%83%d9%84%d9%8a%d9%88%d8%a8%d8%a7%d8%aa%d8%b1%d8%a7-%d9%8a%d8%b9%d8%b2%d8%b2-%d8%af/مصدر المقالة رسمياً.. نادي سيراميكا كليوباترا يعزز دفاعاته بضم “صمام أمان” النادي الأهلي من مصر اليوم نيوز.
أعلن نادي سيراميكا كليوباترا، مساء اليوم السبت، حسم صفقة دفاعية جديدة بالتعاقد مع أحمد عابدين، مدافع النادي الأهلي الشاب، لتعزيز صفوف الفريق الأول خلال فترة الانتقالات الشتوية الجارية لعام 2026. وتأتي هذه الخطوة في إطار سعي الإدارة لدعم الخط الخلفي بعناصر واعدة تمتلك الخبرة الفنية اللازمة للمنافسة بقوة في الدوري المصري الممتاز. كشفت الصفحة الرسمية …
أعلن نادي سيراميكا كليوباترا، مساء اليوم السبت، حسم صفقة دفاعية جديدة بالتعاقد مع أحمد عابدين، مدافع النادي الأهلي الشاب، لتعزيز صفوف الفريق الأول خلال فترة الانتقالات الشتوية الجارية لعام 2026. وتأتي هذه الخطوة في إطار سعي الإدارة لدعم الخط الخلفي بعناصر واعدة تمتلك الخبرة الفنية اللازمة للمنافسة بقوة في الدوري المصري الممتاز. كشفت الصفحة الرسمية للنادي على منصة “فيسبوك” عن هوية الوافد الجديد ببيان ترحيبي حار، حيث وصفت اللاعب بـ “صمام الأمان” الذي يعود مجدداً لكتيبة الفريق. وأكد النادي أن التعاقد مع عابدين يمثل إضافة قوية للمشروع الرياضي الذي تتبناه الإدارة، خاصة مع قدرة اللاعب العالية على قراءة اللعب وبناء الهجمات من الخلف بأسلوب عصري.
تفاصيل ميركاتو نادي سيراميكا كليوباترا والتعاون مع النادي الأهلي
أكدت التقارير الرياضية أن أحمد عابدين هو ثالث لاعب ينتقل من القلعة الحمراء إلى سيراميكا خلال ميركاتو يناير الحالي. ولحق المدافع الشاب بكل من عمر كمال عبد الواحد ومحمد عبد الله، اللذين انضما سابقاً على سبيل الإعارة، ليعكس ذلك حجم التعاون الوثيق بين إدارتي الناديين في ملف تبادل المواهب الكروية. انطلقت تحركات الإدارة الفنية للمراهنة على العناصر الشابة لتغيير شكل المنافسة، تماماً كما يفعل المدرب معتمد جمال الذي يعتمد على الوجوه الصاعدة في التحديات الكبرى. وقد انتهت الصفقة التبادلية بانتقال المهاجم مروان عثمان من سيراميكا إلى الأهلي معاراً حتى نهاية الموسم الجاري لتدعيم الخط الهجومي.
]]>https://masr-alyoum.com/%d8%b1%d8%b3%d9%85%d9%8a%d8%a7%d9%8b-%d9%86%d8%a7%d8%af%d9%8a-%d8%b3%d9%8a%d8%b1%d8%a7%d9%85%d9%8a%d9%83%d8%a7-%d9%83%d9%84%d9%8a%d9%88%d8%a8%d8%a7%d8%aa%d8%b1%d8%a7-%d9%8a%d8%b9%d8%b2%d8%b2-%d8%af/feed/0مفاجأة في الأهلي: تصعيد 3 نجوم شباب إلى معسكر تونس بقرار من ريبيرو
https://masr-alyoum.com/%d9%85%d9%81%d8%a7%d8%ac%d8%a3%d8%a9-%d9%81%d9%8a-%d8%a7%d9%84%d8%a3%d9%87%d9%84%d9%8a-%d8%aa%d8%b5%d8%b9%d9%8a%d8%af-3-%d9%86%d8%ac%d9%88%d9%85-%d8%b4%d8%a8%d8%a7%d8%a8-%d8%a5%d9%84%d9%89-%d9%85/
https://masr-alyoum.com/%d9%85%d9%81%d8%a7%d8%ac%d8%a3%d8%a9-%d9%81%d9%8a-%d8%a7%d9%84%d8%a3%d9%87%d9%84%d9%8a-%d8%aa%d8%b5%d8%b9%d9%8a%d8%af-3-%d9%86%d8%ac%d9%88%d9%85-%d8%b4%d8%a8%d8%a7%d8%a8-%d8%a5%d9%84%d9%89-%d9%85/#respondFri, 18 Jul 2025 08:38:47 +0000https://masr-alyoum.com/%d9%85%d9%81%d8%a7%d8%ac%d8%a3%d8%a9-%d9%81%d9%8a-%d8%a7%d9%84%d8%a3%d9%87%d9%84%d9%8a-%d8%aa%d8%b5%d8%b9%d9%8a%d8%af-3-%d9%86%d8%ac%d9%88%d9%85-%d8%b4%d8%a8%d8%a7%d8%a8-%d8%a5%d9%84%d9%89-%d9%85/مصدر المقالة مفاجأة في الأهلي: تصعيد 3 نجوم شباب إلى معسكر تونس بقرار من ريبيرو من مصر اليوم نيوز.
في خطوة تهدف إلى تعزيز صفوف الفريق الأول وتطعيمها بالعناصر الشابة الواعدة، اتخذ الجهاز الفني للنادي الأهلي بقيادة المدرب خوسيه ريبيرو قرارًا جريئًا بضم ثلاثة من أبرز لاعبي قطاع الشباب إلى معسكر الفريق المقام حاليًا في تونس. هذه الخطوة تأتي في إطار استراتيجية النادي نحو الاعتماد على المواهب الشابة وصقلها لتكون نواة المستقبل للفريق، وإتاحة …
في خطوة تهدف إلى تعزيز صفوف الفريق الأول وتطعيمها بالعناصر الشابة الواعدة، اتخذ الجهاز الفني للنادي الأهلي بقيادة المدرب خوسيه ريبيرو قرارًا جريئًا بضم ثلاثة من أبرز لاعبي قطاع الشباب إلى معسكر الفريق المقام حاليًا في تونس. هذه الخطوة تأتي في إطار استراتيجية النادي نحو الاعتماد على المواهب الشابة وصقلها لتكون نواة المستقبل للفريق، وإتاحة الفرصة لهم للاحتكاك باللاعبين الكبار واكتساب الخبرة اللازمة.
ثلاثة وجوه شابة تنضم إلى معسكر الأهلي في تونس
في قرار مفاجئ، أعلن الجهاز الفني للأهلي عن ضم ثلاثة لاعبين من فريق الشباب إلى معسكر الفريق في تونس. هؤلاء اللاعبين هم محمد عبد الله وأحمد عابدين وحمزة عبد الكريم. هذه الخطوة تأتي كمكافأة لهم على أدائهم المتميز في الفترة الأخيرة، وكفرصة لإثبات جدارتهم بتمثيل الفريق الأول.
أسباب استدعاء الثلاثي الشاب
هناك عدة أسباب وراء قرار المدرب ريبيرو بضم هؤلاء اللاعبين الشباب. أولاً، رغبة المدرب في تقييم مستوى اللاعبين الشباب عن قرب، والوقوف على مدى جاهزيتهم للانضمام إلى الفريق الأول. ثانيًا، تعويض الغيابات التي يعاني منها الفريق في بعض المراكز، خاصة بعد استبعاد وسام أبو علي من المعسكر.
علم “المصراوي” أن المدرب الإسباني خوسيه ريبيرو قد أبدى إعجابه بمستوى الثنائي محمد عبد الله وأحمد عابدين، بعد مشاهدته لمباراة منتخب مصر للشباب الودية التي أقيمت أمس. وقرر ضم اللاعبين للمعسكر للاستفادة من مهاراتهم وقدراتهم الفنية.
حمزة عبد الكريم: بديلًا لغياب وسام أبو علي
جاء قرار ضم حمزة عبد الكريم لتعويض غياب المهاجم وسام أبو علي، الذي تم استبعاده نهائيًا من معسكر تونس. ويمتلك عبد الكريم مهارات وقدرات تهديفية عالية، ويتوقع أن يكون إضافة قوية لخط هجوم الفريق.
الأهلي يختتم تدريباته استعدادًا للمعسكر
اختتم الفريق الأول لكرة القدم بالنادي الأهلي تدريباته على ملعب مختار التتش بالجزيرة، وذلك استعدادًا للسفر إلى تونس للدخول في معسكر إعدادي. وشهد المران حماسًا كبيرًا من اللاعبين، ورغبة في تقديم أفضل ما لديهم خلال فترة الإعداد.