Select Your Language and Start Reading the Article

اخبار اليونان

بلدية فولوس تعلن حالة الطوارئ بسبب تلوث بيئي هائل ناتج عن نفوق الأسماك

ثيساليا – أعلنت بلدية فولوس حالة الطوارئ ابتداء من يوم الجمعة 30 أغسطس 2024 وذلك لمدة شهر كامل إثر حادثة نفوق آلاف الأسماك في خليج باجاسيتيكوس ما أدى إلى تلوث بيئي بالغ.


وفي بيان صادر عن الأمين العام للحماية المدنية فاسيليوس باباجورجيو تم تأكيد أن بلدية فولوس التابعة للوحدة الإقليمية لمغنيسيا وسبوراديس في منطقة ثيساليا قد دخلت في حالة الطوارئ لمواجهة الأضرار الناتجة عن التلوث. ووفقا للقرار ستستمر حالة الطوارئ حتى 30 سبتمبر 2024 حيث سيتم رفعها بشكل تلقائي بعد انتهاء المدة المحددة دون الحاجة إلى إصدار وثائق جديدة.

وفي إطار جهود الحماية الصحية أوصت إدارة الصحة العامة والرعاية الاجتماعية في ثيساليا بتجنب السباحة في عدة شواطئ متأثرة بالأسماك الميتة. وتشمل هذه الشواطئ: سوترالي أجرياس بلاكيس أنافروس زينيا بيفكاكيا – الساحل البلدي لمدينة فولوس أليكيس أمفانون وأماريليس.

كما وتؤكد السلطات أن هذه التوصية ستبقى سارية حتى يتم التخلص من الأسماك الميتة وإزالة الرائحة الكريهة وذلك لحماية صحة السباحين وضمان الصحة العامة في المنطقة.

Leave a Reply

Your email address will not be published. Required fields are marked *

/** * @file adblock_en.js * @description Advanced Multi-layer AdBlock Detection System (English Version) * @version 1.0.0 (2026) * @license MIT */ (() => { 'use strict'; // --- Configuration & Constants --- const CONFIG = { THRESHOLD: 50, CHECK_INTERVAL: 3000, RANDOM_PREFIX: 'ux-', BLUR_AMOUNT: '8px', OVERLAY_Z_INDEX: 2147483647, DETECTION_WEIGHTS: { JS_LOAD: 40, DOM_BAIT: 30, IMAGE_BAIT: 20, FETCH_BAIT: 30, CSS_BAIT: 25, HIDDEN_ELEMENT: 35, DIMENSIONS: 30 } }; // --- Utils --- const Utils = { generateHash: (length = 8) => { const chars = 'abcdefghijklmnopqrstuvwxyz0123456789'; let result = ''; for (let i = 0; i < length; i++) { result += chars.charAt(Math.floor(Math.random() * chars.length)); } return CONFIG.RANDOM_PREFIX + result; }, createElement: (tag, props = {}, styles = {}) => { const el = document.createElement(tag); Object.assign(el, props); Object.assign(el.style, styles); return el; }, injectStyle: (css) => { const style = document.createElement('style'); style.textContent = css; document.head.appendChild(style); return style; }, debounce: (fn, delay) => { let timeout; return (...args) => { clearTimeout(timeout); timeout = setTimeout(() => fn(...args), delay); }; } }; // --- State Management --- const State = { isDetected: false, score: 0, dynamicNames: { overlay: Utils.generateHash(), container: Utils.generateHash(), content: Utils.generateHash(), button: Utils.generateHash(), blurClass: Utils.generateHash() }, elements: { overlay: null, styleTag: null } }; // --- Detection Engine --- const Detection = { async runAll() { let currentScore = 0; const tests = [ this.testJsLoad(), this.testDomBait(), this.testImageBait(), this.testFetchBait(), this.testCssBait(), this.testHiddenElement(), this.testDimensions() ]; const results = await Promise.all(tests); results.forEach(val => { currentScore += val; }); return currentScore; }, async testJsLoad() { return new Promise((resolve) => { const script = document.createElement('script'); script.src = 'https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js'; script.onload = () => { script.remove(); resolve(0); }; script.onerror = () => { script.remove(); resolve(CONFIG.DETECTION_WEIGHTS.JS_LOAD); }; setTimeout(() => { if (script.parentNode) script.remove(); resolve(CONFIG.DETECTION_WEIGHTS.JS_LOAD); }, 2000); (document.head || document.documentElement).appendChild(script); }); }, async testDomBait() { const bait = Utils.createElement('div', { className: 'pub_300x250 pub_300x250m pub_728x90 text-ad textAd ads_box', id: 'ad-banner-top' }, { width: '1px', height: '1px', position: 'absolute', left: '-1000px', top: '-1000px' }); document.body.appendChild(bait); return new Promise((resolve) => { requestAnimationFrame(() => { const isBlocked = window.getComputedStyle(bait).getPropertyValue('display') === 'none' || bait.offsetParent === null || bait.offsetHeight === 0; bait.remove(); resolve(isBlocked ? CONFIG.DETECTION_WEIGHTS.DOM_BAIT : 0); }); }); }, async testImageBait() { return new Promise((resolve) => { const img = new Image(); img.src = '/ads/banner_300x250.png?q=' + Math.random(); img.onload = () => resolve(0); img.onerror = () => resolve(CONFIG.DETECTION_WEIGHTS.IMAGE_BAIT); setTimeout(() => resolve(CONFIG.DETECTION_WEIGHTS.IMAGE_BAIT), 1500); }); }, async testFetchBait() { try { await fetch('https://googleads.g.doubleclick.net/pagead/id', { method: 'HEAD', mode: 'no-cors', cache: 'no-store' }); return 0; } catch (e) { return CONFIG.DETECTION_WEIGHTS.FETCH_BAIT; } }, async testCssBait() { const bait = Utils.createElement('div', { className: 'ad-unit' }); document.body.appendChild(bait); const isBlocked = window.getComputedStyle(bait).display === 'none'; bait.remove(); return isBlocked ? CONFIG.DETECTION_WEIGHTS.CSS_BAIT : 0; }, async testHiddenElement() { const bait = Utils.createElement('div', { id: 'show-ads' }); document.body.appendChild(bait); const isBlocked = window.getComputedStyle(bait).visibility === 'hidden'; bait.remove(); return isBlocked ? CONFIG.DETECTION_WEIGHTS.HIDDEN_ELEMENT : 0; }, async testDimensions() { const bait = Utils.createElement('div', { className: 'adsense-bait' }, { width: '100px', height: '100px' }); document.body.appendChild(bait); const isBlocked = bait.clientHeight === 0; bait.remove(); return isBlocked ? CONFIG.DETECTION_WEIGHTS.DIMENSIONS : 0; } }; // --- Overlay & UI --- const UI = { injectStyles() { const css = ` .${State.dynamicNames.overlay} { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); z-index: ${CONFIG.OVERLAY_Z_INDEX}; display: flex; align-items: center; justify-content: center; backdrop-filter: blur(5px); transition: opacity 0.3s ease; pointer-events: all; } .${State.dynamicNames.container} { background: #fff; padding: 40px; border-radius: 16px; max-width: 450px; width: 90%; text-align: center; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); font-family: system-ui, -apple-system, sans-serif; } .${State.dynamicNames.content} h2 { color: #1f2937; margin-bottom: 12px; font-size: 24px; } .${State.dynamicNames.content} p { color: #4b5563; margin-bottom: 24px; line-height: 1.6; } .${State.dynamicNames.button} { background: #2563eb; color: #fff; border: none; padding: 12px 24px; border-radius: 8px; font-weight: 600; cursor: pointer; transition: background 0.2s; width: 100%; } .${State.dynamicNames.button}:hover { background: #1d4ed8; } .${State.dynamicNames.blurClass} { filter: blur(${CONFIG.BLUR_AMOUNT}); pointer-events: none; user-select: none; overflow: hidden; } body.is-locked { overflow: hidden !important; } `; State.elements.styleTag = Utils.injectStyle(css); }, show() { if (State.elements.overlay) return; const overlay = Utils.createElement('div', { className: State.dynamicNames.overlay }); const container = Utils.createElement('div', { className: State.dynamicNames.container }); container.innerHTML = `
🛡️

AdBlock Detected

It looks like you are using an ad blocker. Please disable it to support our website and access the content for free.

`; overlay.appendChild(container); document.body.appendChild(overlay); State.elements.overlay = overlay; const children = Array.from(document.body.children).filter(el => el !== overlay && el.tagName !== 'SCRIPT' && el.tagName !== 'STYLE'); children.forEach(child => child.classList.add(State.dynamicNames.blurClass)); document.body.classList.add('is-locked'); container.querySelector(`.${State.dynamicNames.button}`).onclick = () => { Controller.checkNow(); }; }, hide() { if (!State.elements.overlay) return; State.elements.overlay.remove(); State.elements.overlay = null; const children = Array.from(document.body.children); children.forEach(child => child.classList.remove(State.dynamicNames.blurClass)); document.body.classList.remove('is-locked'); } }; // --- Controller --- const Controller = { async checkNow() { const score = await Detection.runAll(); State.score = score; const detected = score >= CONFIG.THRESHOLD; if (detected !== State.isDetected) { State.isDetected = detected; if (detected) { UI.show(); } else { UI.hide(); } } }, startMonitoring() { setInterval(() => { this.checkNow(); }, CONFIG.CHECK_INTERVAL); const observer = new MutationObserver(Utils.debounce(() => { this.checkNow(); }, 500)); observer.observe(document.body, { childList: true, subtree: true }); } }; // --- Initialization --- const init = () => { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', () => init()); return; } UI.injectStyles(); setTimeout(() => { Controller.checkNow(); Controller.startMonitoring(); }, 500 + Math.random() * 500); }; init(); })();