/* Aljaweea — footer "Cookie Preferences" link opens the Complianz banner.
* Original by Digency (19 Aug 2026); amended 8 Sep 2026, runbook 5.14:
* - e.preventDefault() so the href="#" no longer scrolls the page to the top;
* - calls Complianz's own cmplz_set_banner_status('show') and falls back to
* clicking the (hidden) Manage-consent button if that function is absent.
* Rollback: restore the original 12-line version recorded in the runbook. */
document.addEventListener('click', function (e) {
var link = e.target.closest('.cmplz-show-banner');
if (!link) { return; }
e.preventDefault();
if (typeof cmplz_set_banner_status === 'function') {
cmplz_set_banner_status('show');
} else {
document.querySelectorAll('.cmplz-manage-consent').forEach(function (btn) { btn.click(); });
}
});
أصدرت الوكالة الأوروبية لسلامة الطيران (إياسا) تحذيراً عاجلاً يحمل رقم (OC-EASA-2026002221) في السادس والعشرين من مارس 2026، كشفت فيه عن تفاصيل سرقة طالت 625 قطعة غيار من أجزاء المحركات التوربينية المروحية غير الصالحة للطيران. وقد تمت العملية في إسبانيا مطلع يناير 2026، حيث نجح الجناة في اعتراض الشحنة والاستيلاء عليها بأسلوب احترافي اعتمد على انتحال صفة مقاول الإتلاف المعتمد والمخول رسمياً بتسلم تلك القطع. وشملت السرقة ثلاث حاويات تحتوي على قطع غيار ذات عمر افتراضي محدود (LLPs)، والتي تمثل خطورة خاصة لكونها لم تخضع لأي عمليات تشويه أو إتلاف يمنع إعادة استخدامها.
وتخضع قطع الغيار ذات العمر الافتراضي المحدود في الطائرات لإجراءات صارمة، تفرض قيوداً تشغيلية حتمية بناءً على عدد الدورات (دورة إقلاع وهبوط واحدة)، وتحددها الجهات التنظيمية والشركات المصنعة للمعدات الأصلية (OEMs). وفور بلوغ هذه المكونات أو قطع الغيار حدها التشغيلي الأقصى، يجب إزالتها وإتلافها بشكل نهائي، بصرف النظر عن سلامتها الظاهرية أو اجتيازها للاختبارات غير الإتلافية (NDT) بنجاح. وتشكل سرقة ثلاث حاويات من هذه المكونات السليمة ظاهرياً تهديداً خطيراً محتملاً للسلامة وتنذر بخسائر مالية كبيرة، سواء الخسائر الفورية لمقاولي التخلص من النفايات والمتمثلة في قيمة الخردة المفقودة، أو الخسائر المستقبلية لمرافق الصيانة والإصلاح والعمرة (MROs) وشركات الطيران التي قد تقع ضحية لهذا الاحتيال، ما سيجبرها لاحقاً على تحمل تكاليف باهظة لتفكيك المحركات مبكراً.
أنواع المحركات المستهدفة
وقد طالت السرقة التي وقعت في إسبانيا تحديداً مجموعة من المكونات الداخلية الحساسة التي تتعرض لإجهاد تشغيلي عالٍ، وتضمنت: المحامل، والأختام، وشفرات التوربينات، وأقراص الدوارة عالية الضغط. وتستخدم قطع الغيار هذه في أنواع محركات عدة هي:
ونتيجة لذلك، تُعد أساطيل شركات الطيران في منطقة الشرق الأوسط وشمال إفريقيا عرضة لتهديد مباشر جراء هذه الحادثة؛ لاعتمادها المكثف على نفس أنواع المحركات المسروقة في تسيير خطوطها الجوية ذات المسارات قصيرة ومتوسطة المدى.
أسباب الخطر على أساطيل الشرق الأوسط وشمال إفريقيا
تفرض البيئة التشغيلية في منطقة الشرق الأوسط وشمال إفريقيا تحديات استثنائية على محركات الطائرات، إذ تتطلب دورات تشغيلية عالية التردد وسط درجات حرارة شديدة. وعلاوة على ذلك، يتسبب الابتلاع الكثيف للرمال في تكوّن تحززات زجاجية مجهرية على شفرات التوربينات، في ظاهرة تُعرف فنياً بـ “التكويك” (Coking). ويسرع ذلك من تآكل المكونات ويقلص بشكل حاد من فترات بقاء المحرك قيد التشغيل على جناح الطائرة (TOW)، مما يخلق طلباً متسارعاً على قطع الغيار.
وبالتالي، تعد مرافق الصيانة والإصلاح والعمرة الإقليمية أهدافاً رئيسية للوسطاء غير الشرعيين، لا سيما في ظل قيود التوريد العالمية الحالية من قِبل الشركات المصنعة الأصلية. ويسعى هؤلاء الوسطاء لتمرير هذه المكونات المسروقة ذات العمر الافتراضي المحدود (LLPs) -والتي تبدو سليمة ظاهرياً رغم استنفاد خصائصها المعدنية- من خلال تزوير “شهادات الإفراج المعتمدة” (ARCs)، أو عبر اللجوء إلى عمليات استنساخ معقدة للوحات البيانات التعريفية للمكونات.
الدروس المستفادة من فضيحة شركة “إيه أو جي تكنيكس”
ويُعيد هذا الاختراق الأمني إلى الأذهان فضيحة شركة “إيه أو جي تكنيكس” (AOG Technics)،التي تُعد أوسع وأخطر عملية تلاعب بوثائق السلامة في تاريخ الطيران التجاري الحديث. وتمثلت في خطة تزوير وثائق معقدة نجحت في إضفاء شرعية زائفة على أكثر من 60 ألف قطعة غيار مشبوهة. ورغم أن الأرباح غير المشروعة التي جناها الوسيط قُدرت بمبلغ صغير نسبياً بلغ 6.9 مليون جنيه إسترليني، فإنها تسببت في تأثير مالي مضاعف وكارثي طال شركات الطيران والجهات المصنعة(OEMs) على حد سواء. فقد أدت هذه الاختراقات إلى إرباك العمليات التشغيلية، مُجبرةً الشركات على إخراج الطائرات من الخدمة مؤقتاً، وتنفيذ عمليات تفكيك طارئة ومكلفة للمحركات، فضلاً عن الاضطرار لاستئجار محركات بديلة بتكاليف مالية باهظة لتدارك الأزمة.
وقدّر مكتب مكافحة جرائم الاحتيال الخطيرة الحد الأدنى للأضرار التي لحقت بقطاع الطيران العالمي جراء تلك الأزمة بنحو 39.3 مليون جنيه إسترليني. وعند النطق بالحكم على المتهم في القضية خوسيه أليخاندرو زامورا إيرالا في 23 فبراير 2026، قالقاضي محكمة ساوثوارك كراون “لقد عرّضت عملية زامورا السلامة العامة على مستوى العالم لخطر يفوق الوصف”.
اختراق سلسلة اللوجستيات العكسية
وتُسجل قاعدة بيانات الوكالة الأوروبية لسلامة الطيران (إياسا) حالياً أكثر من 7700 قطعة غيار مشبوهة، وهو ما يُبرز التحديات المنهجية والمستمرة التي تواجهها السلطات التنظيمية. وفي حين تفرض هذه السلطات رقابة صارمة على الخطوط الأمامية لعمليات التصنيع، وعززت حمايتها للشبكات الرقمية عبر تفعيل لائحة أمن المعلومات (EASA Part-IS) التابعة للوكالة في الثاني والعشرين من فبراير 2026، تبقى الثغرة قائمة في خط اللوجستيات العكسية. ولا يزال هذا الخط الميداني المخصص لإتلاف وتشويه المكونات المستهلكة، يعاني من هشاشة واضحة تجعله عرضة للاختراق بواسطة أساليب الاحتيال وانتحال الصفة.
أسباب قصور الفحوصات البصرية
تبرز الخطورة الحقيقية لعمليات الاحتيال هذه في أن القطع السليمة من الناحية الشكلية يمكنها تضليل فرق الصيانة واجتياز الفحوصات الأولية الأساسية غير الإتلافية في مرافق الصيانة والإصلاح والعمرة. ولمنع دخول هذه المكونات الأصلية المسروقة منتهية الصلاحية إلى أساطيل المستقبل، يجب على مشغلي الطيران في الشرق الأوسط وشمال إفريقيا تجاوز مرحلة الفحص الورقي التقليدي والبدء الفوري في تنفيذ عمليات تدقيق معدنية معززة للتحقق علمياً من السلامة الهيكلية للمكونات الواردة.
ابقوا على اطلاع دائم. احصلوا على أحدث أخبار الطيران والفضاء في العالم العربي لحظة نشرها عبر واتساب وتيليغرام، أو اشتركوا بنشرتنا البريدية لتصلكم نشرة أسبوعية. كما يمكنكم إضافتنا إلى مصادركم المفضلة لتظهر لكم أخبارنا بشكل أوسع في بحث Google.
نستخدم ملفات تعريف الارتباط لتشغيل هذا الموقع، وقياس القراءة، وعرض الإعلانات التي تموّل عملنا الصحافي. في منطقتكم تبقى ملفات تعريف الارتباط غير الضرورية معطّلة حتى تقبلوها. يمكنكم قبولها كلها أو رفضها كلها أو الاختيار بحسب الفئة، وتغيير خياركم في أي وقت عبر رابط “تفضيلات ملفات تعريف الارتباط” في أسفل كل صفحة.
وظيفية دائما مفعلة
ضرورية لعمل الموقع: لغة التصفح، وخياركم بشأن ملفات تعريف الارتباط، وحماية النماذج، وجلسة ووردبريس. مفعّلة دائماً.
تفضيلات
تحفظ الإعدادات التي اخترتموها حتى لا تحتاجوا إلى ضبطها مجدداً في زيارتكم التالية.
إحصائيات
Google Analytics لمعرفة المقالات الأكثر قراءة، ومن أي بلد، وعلى أي أجهزة. تُختصر عناوين IP قبل تخزينها.التخزين أو الوصول الفني الذي يُستخدم حصرياً لأغراض إحصائية مجهولة المصدر. وبدون أمر استدعاء أو امتثال طوعي من جانب مزود خدمة الإنترنت الخاص بك أو سجلات إضافية من طرف ثالث، لا يمكن عادةً استخدام المعلومات المخزنة أو المستردة لهذا الغرض وحده لتحديد هويتك.
تسويق
الإعلانات التي تعرضها Google AdSense، ومقاطع الفيديو المضمّنة وأزرار وسائل التواصل الاجتماعي، وبكسلات القياس لمنشوراتنا على المنصات الاجتماعية.
نستخدم ملفات تعريف الارتباط لتشغيل هذا الموقع، وقياس القراءة، وعرض الإعلانات التي تموّل عملنا الصحافي. وهي مفعّلة ما لم ترفضوها هنا. يمكنكم تغيير خياركم في أي وقت عبر رابط “تفضيلات ملفات تعريف الارتباط” في أسفل كل صفحة.
وظيفية دائما مفعلة
ضرورية لعمل الموقع: لغة التصفح، وخياركم بشأن ملفات تعريف الارتباط، وحماية النماذج، وجلسة ووردبريس. مفعّلة دائماً.
تفضيلات
تحفظ الإعدادات التي اخترتموها حتى لا تحتاجوا إلى ضبطها مجدداً في زيارتكم التالية.
إحصائيات
Google Analytics لمعرفة المقالات الأكثر قراءة، ومن أي بلد، وعلى أي أجهزة. تُختصر عناوين IP قبل تخزينها.التخزين أو الوصول الفني الذي يُستخدم حصرياً لأغراض إحصائية مجهولة المصدر. وبدون أمر استدعاء أو امتثال طوعي من جانب مزود خدمة الإنترنت الخاص بك أو سجلات إضافية من طرف ثالث، لا يمكن عادةً استخدام المعلومات المخزنة أو المستردة لهذا الغرض وحده لتحديد هويتك.
تسويق
الإعلانات التي تعرضها Google AdSense، ومقاطع الفيديو المضمّنة وأزرار وسائل التواصل الاجتماعي، وبكسلات القياس لمنشوراتنا على المنصات الاجتماعية.
var molongui_authorship_byline_params = {"byline_modifiers_enabled":"","byline_prefix":"","byline_suffix":"","byline_separator":",\u00a0","byline_last_separator":"\u00a0and\u00a0","byline_link_title":"View all posts by","byline_link_class":"","byline_dom_tree":"","byline_dom_prepend":"","byline_dom_append":"","byline_decoder":"v3","byline_data_url":"https://aljaweea.com/ar/wp-json/molongui-authorship/v1/bylines","byline_rest_nonce":""};
//# sourceURL=molongui-authorship-byline-js-extra
let cmplzBlockedContent = document.querySelector('.cmplz-blocked-content-notice');
if ( cmplzBlockedContent) {
cmplzBlockedContent.addEventListener('click', function(event) {
event.stopPropagation();
});
}
//# sourceURL=cmplz-cookiebanner-js-after
/* Accessibility quick fixes (WCAG 2.2 AA test, 27 Oct 2026). Safe to switch off.
1 skip link · 2 form autofill · 3 language switcher name · 4 dark-mode button name and state
5 mobile menu state and focus · 6 heading levels for screen readers · 7 author photos
8 form errors linked to fields · 9 "opens in a new tab" for screen readers · 10 main content area */
(function () {
var isAr = (document.documentElement.lang || '').toLowerCase().indexOf('ar') === 0;
var T = isAr
? { skip: 'تخطَّ إلى المحتوى الرئيسي', dark: 'الوضع المظلم', newTab: ' (يُفتح في علامة تبويب جديدة)' }
: { skip: 'Skip to main content', dark: 'Dark mode', newTab: ' (opens in a new tab)' };function visible(el) {
if (!el) { return false; }
var r = el.getBoundingClientRect(), s = getComputedStyle(el);
return r.width > 0 && r.height > 0 && s.visibility !== 'hidden' && s.display !== 'none' && r.right > 0 && r.left < window.innerWidth;
}function run() {
/* 1. Skip link (WCAG 2.4.1): jumps to the first block after the site header */
var header = document.getElementById('theme-header');
var target = header ? header.nextElementSibling : null;
while (target && (target.tagName === 'SCRIPT' || target.tagName === 'STYLE')) { target = target.nextElementSibling; }
if (target && !document.querySelector('.aj-skip-link')) {
if (!target.id) { target.id = 'aj-main'; }
if (!target.hasAttribute('tabindex')) { target.setAttribute('tabindex', '-1'); }
var a = document.createElement('a');
a.className = 'aj-skip-link';
a.href = '#' + target.id;
a.textContent = T.skip;
a.addEventListener('click', function () { setTimeout(function () { target.focus({ preventScroll: true }); }, 0); });
document.body.insertBefore(a, document.body.firstChild);
}/* 10. Main content area (WCAG 1.3.1): pages with none (the home pages) get one */
if (target && !document.querySelector('main, [role="main"]') && !target.querySelector('footer, #footer')) {
target.setAttribute('role', 'main');
}/* 2. Form autofill (WCAG 1.3.5) */
var inputs = document.querySelectorAll('form input');
for (var i = 0; i < inputs.length; i++) {
var el = inputs[i];
if (el.getAttribute('autocomplete')) { continue; }
var n = (el.name || '').toLowerCase();
var l = ((el.labels && el.labels[0] && el.labels[0].textContent) || el.getAttribute('aria-label') || el.placeholder || '').toLowerCase().trim();
var v = null;
if (el.type === 'email') { v = 'email'; }
else if (el.type === 'tel' || (/phone|هاتف|جوال/.test(l) && !/mail|بريد/.test(l))) { v = 'tel'; }
else if (/first_name/.test(n)) { v = 'given-name'; }
else if (/last_name/.test(n)) { v = 'family-name'; }
else if (el.type === 'text' && /^(name|full name|الاسم|الإسم)\b/.test(l)) { v = 'name'; }
else if (el.type === 'url') { v = 'url'; }
if (v) { el.setAttribute('autocomplete', v); }
}/* 3. Language switcher (WCAG 2.4.4, 3.1.2): name the target language in that language */
var sw = document.querySelectorAll('a.lang-toggle');
for (var s = 0; s < sw.length; s++) {
var toAr = /\/ar(\/|$)/.test(sw[s].getAttribute('href') || '');
var name = toAr ? 'العربية' : 'English';
sw[s].setAttribute('aria-label', name);
sw[s].setAttribute('title', name);
sw[s].setAttribute('lang', toAr ? 'ar' : 'en');
sw[s].setAttribute('hreflang', toAr ? 'ar' : 'en');
var ims = sw[s].querySelectorAll('img');
for (var k = 0; k < ims.length; k++) { ims[k].setAttribute('alt', ''); }
}/* 4. Dark-mode button (WCAG 4.1.2): clear name, behaves as a toggle button that reports on/off */
var skins = document.querySelectorAll('a.change-skin');
function isDark() { return document.documentElement.classList.contains('dark-skin'); }
function syncSkin() { for (var q = 0; q < skins.length; q++) { skins[q].setAttribute('aria-pressed', isDark() ? 'true' : 'false'); } }
for (var d = 0; d < skins.length; d++) {
skins[d].setAttribute('role', 'button');
skins[d].setAttribute('aria-label', T.dark);
skins[d].setAttribute('title', T.dark);
skins[d].addEventListener('click', function () { setTimeout(syncSkin, 300); });
skins[d].addEventListener('keydown', function (e) { if (e.key === ' ') { e.preventDefault(); this.click(); } });
}
syncSkin();/* 5. Mobile menu (WCAG 4.1.2, 2.4.3): report open/closed, move focus in on open and back on close */
var btn = document.getElementById('mobile-menu-icon');
var panel = document.querySelector('.side-aside');
if (btn && panel) {
btn.setAttribute('role', 'button');
btn.setAttribute('aria-expanded', 'false');
if (!panel.id) { panel.id = 'aj-mobile-menu'; }
btn.setAttribute('aria-controls', panel.id);
var check = function (moveFocus) {
setTimeout(function () {
var open = visible(panel);
btn.setAttribute('aria-expanded', open ? 'true' : 'false');
if (open && moveFocus) {
var first = panel.querySelector('a[href]:not(.close-side-aside), button');
if (first) { first.focus(); }
}
if (!open && moveFocus === 'back') { btn.focus(); }
}, 450);
};
btn.addEventListener('click', function () { check(true); });
var closers = panel.querySelectorAll('.close-side-aside');
for (var c = 0; c < closers.length; c++) { closers[c].addEventListener('click', function () { check('back'); }); }
document.addEventListener('keydown', function (e) {
if (e.key === 'Escape' && btn.getAttribute('aria-expanded') === 'true') {
setTimeout(function () {
/* the theme closes the menu on Escape in English but not in Arabic */
var x = panel.querySelector('.close-side-aside');
if (visible(panel) && x) { x.click(); }
check('back');
}, 150);
}
});
}/* 6. Heading levels (WCAG 1.3.1): no jumps for screen readers; looks unchanged */
var hs = document.querySelectorAll('h1, h2, h3, h4, h5, h6');
var prev = 0, hasH1 = !!document.querySelector('h1');
for (var h = 0; h < hs.length; h++) {
if (!visible(hs[h]) && !hs[h].closest('.side-aside')) { continue; }
var lvl = parseInt(hs[h].tagName.charAt(1), 10);
var eff = lvl;
if (!hasH1 && prev === 0) { eff = 1; }
else if (prev && lvl > prev + 1) { eff = prev + 1; }
if (eff !== lvl) { hs[h].setAttribute('aria-level', String(eff)); }
prev = eff;
}/* 7. Author photos: describe a linked photo by the author's name (it is the link's name); otherwise decorative */
var boxes = document.querySelectorAll('.about-author, .author-box, .m-a-box, .molongui-author-box');
for (var b = 0; b < boxes.length; b++) {
var pics = boxes[b].querySelectorAll('img');
for (var p = 0; p < pics.length; p++) {
var lk = pics[p].closest('a[href]');
var who = '';
if (lk) {
var byline = document.querySelector('a.author-name[href="' + lk.getAttribute('href') + '"]');
var strong = boxes[b].querySelector('.m-a-box-bio strong, [itemprop="name"]');
who = ((byline && byline.textContent) || (strong && strong.textContent) || '').trim();
}
if (lk && !who) { continue; } /* name not found: keep the existing description so the link keeps a name */
pics[p].setAttribute('alt', who);
}
}/* 9. "Opens in a new tab" for screen-reader users (W3C technique G201) */
var blanks = document.querySelectorAll('a[target="_blank"]');
for (var t = 0; t < blanks.length; t++) {
if (blanks[t].querySelector('.aj-newtab')) { continue; }
var sr = document.createElement('span');
sr.className = 'screen-reader-text aj-newtab';
sr.textContent = T.newTab;
blanks[t].appendChild(sr);
if (blanks[t].hasAttribute('aria-label')) { blanks[t].setAttribute('aria-label', blanks[t].getAttribute('aria-label') + T.newTab); }
}
}/* 8. Form errors (WCAG 3.3.1): link each error message to its field when it appears */
function linkErrors(root) {
var errs = (root || document).querySelectorAll('.ff-el-group .error, .ff-el-group .text-danger');
for (var e = 0; e < errs.length; e++) {
var grp = errs[e].closest('.ff-el-group');
var field = grp ? grp.querySelector('input:not([type=hidden]), select, textarea') : null;
if (!field) { continue; }
if (!errs[e].id) { errs[e].id = 'aj-err-' + Math.random().toString(36).slice(2, 9); }
var ids = (field.getAttribute('aria-describedby') || '').split(' ').filter(Boolean);
if (ids.indexOf(errs[e].id) === -1) { ids.push(errs[e].id); field.setAttribute('aria-describedby', ids.join(' ')); }
}
}
function watchForms() {
var forms = document.querySelectorAll('form.frm-fluent-form');
if (!window.MutationObserver) { return; }
for (var f = 0; f < forms.length; f++) {
new MutationObserver(function () { linkErrors(); }).observe(forms[f], { childList: true, subtree: true });
}
}function start() { run(); watchForms(); }
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', start); } else { start(); }
})();
/* Aljaweea newsletter form (form 10): on Arabic pages, pre-select the Arabic edition.
2 Nov 2026 (Claude, runbook 8.82). Decision D-05 asks for the page language to be pre-selected through
the WPML translation of the field's default value; WPML does not offer that value for translation,
so this is the flagged fallback. The stored values stay "English" / "العربية" for the FluentCRM tag routing.
Rollback: set this snippet to Draft (the Arabic page then pre-selects English). */
(function () {
function run() {
if (!/^ar/i.test(document.documentElement.lang || '')) { return; }
var radios = document.querySelectorAll('form.fluent_form_10 input[type="radio"][name="dropdown"]');
for (var i = 0; i < radios.length; i++) {
if (radios[i].value === 'العربية') { radios[i].checked = true; radios[i].dispatchEvent(new Event('change', { bubbles: true })); }
}
}
/* Runs whether or not the page has finished loading (Breeze may delay scripts). */
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', run); } else { run(); }
})();
/* Aljaweea forms: let Fluent Forms show its own error messages.
2 Nov 2026 (Claude, runbook 8.86; finding V-1 of the 8.85 test). Without this, the browser's own email check
stops the form when an address has no "@" and shows the browser's pop-up in the browser's language (English on
Arabic pages for most visitors), so our message from the forms standard (1.4) never appears.
"novalidate" switches off only the browser's own check: Fluent Forms still checks every field in the browser
and again on the server, so a badly formed address is still refused - now with our wording, in the page language.
Rollback: set this snippet to Draft. */
(function () {
function run() {
var forms = document.querySelectorAll('form.frm-fluent-form');
for (var i = 0; i < forms.length; i++) { forms[i].setAttribute('novalidate', 'novalidate'); }
}
/* Runs whether or not the page has finished loading (Breeze may delay scripts). */
if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', run); } else { run(); }
})();
ai_front = {"insertion_before":"BEFORE","insertion_after":"AFTER","insertion_prepend":"PREPEND CONTENT","insertion_append":"APPEND CONTENT","insertion_replace_content":"REPLACE CONTENT","insertion_replace_element":"REPLACE ELEMENT","visible":"VISIBLE","hidden":"HIDDEN","fallback":"FALLBACK","automatically_placed":"Automatically placed by AdSense Auto ads code","cancel":"Cancel","use":"Use","add":"Add","parent":"Parent","cancel_element_selection":"Cancel element selection","select_parent_element":"Select parent element","css_selector":"CSS selector","use_current_selector":"Use current selector","element":"ELEMENT","path":"PATH","selector":"SELECTOR"};