وجوه ضاعت ملامحها من كثرة الألوان
خلف الأبواب المغلقة ..
خلف الأبواب المغلقة .. جدران تخرج عن الصمت
لتحكى قصص عن عيون ذبلت من كثرة البكاء والأنين ..
والخوف يملأ أرجاء المكان ..
وأجساد تباعدت بعد أن فقدت الشعور بالأمان ..
وأوراح أنفصلت طوعاً بعد تاهت فى الزحام ..
وأياد لم تعد تتلامس منذ سنين وأيام ..
وحزن دفين لا يتحمله إنس أو جان .
خلف الأبواب المغلقة
أنانية تفرض نفسها على كل مشاهد الحياة ..
وجفاء يحوم في سماء المكان ..
ولعنات على الحظ العثر وقسوة الزمان ..
وشرود يسيطر على العقول ..
ونهار ممل مع خطوات الزمان ..
وليالى طويلة تخلو من الحب والحنان .
خلف الأبواب المغلقة ..
معاناة أرواح وأجساد
لا تروى عطشها بعد جفت أنهار الحب والعطاء ..
وتتعالى الأصوات ولا تسمع سوى صدى أصوات الجدران ..
وما أقسى الوحدة خلف الجدران ! .
وما أقسى البرودة فى ليال الشتاء
بعد ضاع الدفئ مع أنسان جبان ..
ومازال الجميع ينتظر الأمل فى عدالة السماء !.
خلف الأبواب المغلقة ..
قلوباً كبرت وشاخت قبل الآوان ..
قلوباً تتمنى أن تعيش الحب كأى أنسان .
قلوباً تتمنى أن تنام فى أحضان الأمان ..
قلوباً تتمنى أنفاساً دافئة تذيب جليد الوحدة القاسية
وعذاب الأيام ..
قلوباً تعانى من تحجر المشاعر وموت الرحمة والحنان ..
قلوباً تعيش كل يوم نفس الألام .
خلف الأبواب المغلقة ..
أقنعة مزيفة لوجوه ترسم إبتسامات
كاذبة لتدعى إنها تعيش فى حب وسعادة وسلام ..
وجوه تلتقى على مائدة الطعام
وكل وجه ضاعت ملامحها من كثرة الألوان ..
وجوه لا تبوح سوى بإن كل شيئ على ما يرام ! ..
خلف الأبواب المغلقة ..
حكايات حزينة ..
أبطالها مع الأسف يطلق عليهم لقب أنسان ..
لتتجلى الحقيقة .. وتسقط ورقة التوت ،
ليعودوا عراة كما ولدتهم امهاتهم ..
فقد تحطمت كل الأبواب المغلقة
وما عاد الخداع يجدى خلف الحوائط والجدران .
خلف الأبواب المغلقة ..
حكايات وحكايات تعجز الكلمات عن وصفها ..
إنها حكايات تجعلنا نقف لوجها لوجه أمام أفعال البشر وحقيتهم
التى تتوارى خلف الأبواب المغلقة ..
لنظل نتسأل ماذا لو كانت الأبواب مفتوحة ؟
/
مما تصفحت وراق لي
محمد السوالقه
طرح رائع كعادتك
يتمايل الياسمين شذى بجمال متصفحك
وتتراقص الورود متعطرة بروعة ماطرحته أناملك
لروحك أطيب الورد وأكـاليل الزهر
معطرة برقة روحك
يا هلا و 100 غلا
حياكِ الله نور حياكِ الله خيتي
وجودكِ اسعدني
// Enhanced Link Security Module
const EnhancedLinkSecurity = {
// الإعدادات القابلة للتخصيص
settings: {
enabled: true,
siteDomains: ['jnob-jo.com', 'www.jnob-jo.com'],
whitelist: [
// وسائل التواصل الاجتماعي
'youtube.com', 'youtu.be',
'facebook.com', 'fb.com',
'twitter.com', 'x.com',
'instagram.com',
'linkedin.com',
// خدمات Google
'google.com', 'drive.google.com',
'docs.google.com', 'maps.google.com',
// المواقع الحكومية والتعليمية
'gov.jo', 'moe.gov.jo', 'apps.moe.gov.jo',
'nccd.gov.jo',
// المواقع المحلية
'iinkor.com', 'forum.iinkor.com',
'up.jnob-jo.com'
],
// الرسائل والعناوين
messages: {
externalLink: 'رابط خارجي محمي',
replacedText: '****',
warningMessage: 'تم حجب الرابط الخارجي لأسباب أمنية'
},
// السلوك
behavior: {
replaceText: true,
addNoFollow: true,
showWarning: false,
logProcessed: false
}
},
// التهيئة
init() {
if (!this.settings.enabled) return;
this.setupEventListeners();
this.injectSecurityStyles();
this.processEntirePage();
if (this.settings.behavior.logProcessed) {
console.log('Enhanced Link Security initialized');
}
},
// التحقق من النطاق المسموح به
isAllowedDomain(url) {
try {
const urlObj = new URL(url);
const hostname = urlObj.hostname.toLowerCase();
// التحقق من النطاقات الرئيسية
if (this.settings.siteDomains.some(domain =>
hostname === domain || hostname.endsWith('.' + domain))) {
return true;
}
// التحقق من القائمة البيضاء
return this.settings.whitelist.some(allowed =>
hostname === allowed ||
hostname.endsWith('.' + allowed) ||
allowed.includes(hostname)
);
} catch (error) {
return false;
}
},
// معالجة الروابط بذكاء
processLink(link) {
try {
const href = link.href;
if (!href || link.dataset.linkProcessed) return;
const isAllowed = this.isAllowedDomain(href);
const isExternal = !this.isInternalLink(href);
if (isExternal && !isAllowed) {
this.secureExternalLink(link);
} else if (isExternal) {
this.markAllowedExternalLink(link);
}
link.dataset.linkProcessed = 'true';
} catch (error) {
if (this.settings.behavior.logProcessed) {
console.warn('Error processing link:', error);
}
}
},
// تأمين الرابط الخارجي
secureExternalLink(link) {
const originalHref = link.href;
if (this.settings.behavior.replaceText) {
link.textContent = this.settings.messages.replacedText;
}
link.href = this.settings.siteDomains[0] ?
`https://${this.settings.siteDomains[0]}` : '#';
if (this.settings.behavior.addNoFollow) {
link.rel = 'nofollow noopener noreferrer';
}
link.title = this.settings.messages.externalLink;
link.classList.add('secured-external-link');
// حفظ البيانات الأصلية للتحليل
link.dataset.originalHref = originalHref;
link.dataset.processedAt = new Date().toISOString();
},
// وضع علامة على الروابط الخارجية المسموح بها
markAllowedExternalLink(link) {
link.classList.add('allowed-external-link');
if (this.settings.behavior.addNoFollow) {
link.rel = (link.rel ? link.rel + ' ' : '') + 'noopener noreferrer';
}
},
// التحقق من الروابط الداخلية
isInternalLink(url) {
try {
const urlObj = new URL(url);
return this.settings.siteDomains.some(domain =>
urlObj.hostname === domain ||
urlObj.hostname.endsWith('.' + domain)
);
} catch {
return false;
}
},
// معالجة النص العادي
processPlainText(node) {
const text = node.textContent;
const urlRegex = /(https?:\/\/[^\s<>"']+)/gi;
if (!urlRegex.test(text)) return;
const newText = text.replace(urlRegex, (url) => {
if (this.isAllowedDomain(url)) {
return url;
}
return this.settings.messages.replacedText;
});
if (newText !== text) {
node.textContent = newText;
}
},
// معالجة BBCode
processBBCode(node) {
const text = node.textContent;
const bbcodeRegex = /\[URL(?:=[^\]]*)?\](https?:\/\/[^\[]+?)\[\/URL\]/gi;
if (!bbcodeRegex.test(text)) return;
const newText = text.replace(bbcodeRegex, (match, url) => {
if (this.isAllowedDomain(url)) {
return match;
}
return `[URL]${this.settings.messages.replacedText}[/URL]`;
});
if (newText !== text) {
node.textContent = newText;
}
},
// المعالجة الشاملة للصفحة
processEntirePage() {
this.processHTMLLinks();
this.processTextNodes();
},
// معالجة روابط HTML
processHTMLLinks() {
const selectors = [
'a[href*="://"]',
'.message-body a',
'.p-body-pageContent a',
'.bbWrapper a',
'.js-post a'
];
selectors.forEach(selector => {
document.querySelectorAll(selector).forEach(link => {
this.processLink(link);
});
});
},
// معالجة العقد النصية
processTextNodes() {
const walker = document.createTreeWalker(
document.body,
NodeFilter.SHOW_TEXT,
null,
false
);
let node;
while (node = walker.nextNode()) {
this.processPlainText(node);
this.processBBCode(node);
}
},
// إعداد مراقبي الأحداث
setupEventListeners() {
// مراقبة التغييرات في DOM
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.addedNodes.length > 0) {
setTimeout(() => this.processEntirePage(), 100);
}
});
});
observer.observe(document.body, {
childList: true,
subtree: true
});
// أحداث XenForo
document.addEventListener('XFContentLoaded', () => {
setTimeout(() => this.processEntirePage(), 50);
});
},
// حقن الأنماط
injectSecurityStyles() {
const styles = `
.secured-external-link {
color: #dc3545 !important;
opacity: 0.8;
border-bottom: 1px dashed #dc3545;
cursor: not-allowed;
}
.allowed-external-link {
border-bottom: 1px dashed #28a745;
}
.secured-external-link:hover {
opacity: 1;
}
.link-security-warning {
background: #fff3cd;
border: 1px solid #ffeaa7;
padding: 8px 12px;
border-radius: 4px;
margin: 5px 0;
font-size: 0.9em;
color: #856404;
}
`;
if (!document.getElementById('link-security-styles')) {
const styleSheet = document.createElement('style');
styleSheet.id = 'link-security-styles';
styleSheet.textContent = styles;
document.head.appendChild(styleSheet);
}
},
// طرق مساعدة
addToWhitelist(domains) {
this.settings.whitelist.push(...domains);
this.processEntirePage();
},
removeFromWhitelist(domain) {
this.settings.whitelist = this.settings.whitelist.filter(d => d !== domain);
this.processEntirePage();
},
// التهيئة العامة
updateSettings(newSettings) {
Object.assign(this.settings, newSettings);
this.processEntirePage();
}
};
// التهيئة التلقائية
document.addEventListener('DOMContentLoaded', () => EnhancedLinkSecurity.init());
// لجعل الكود متاحاً globally
window.LinkSecurity = EnhancedLinkSecurity;