منهاج السلوك

إنضم
27 يوليو 2011
المشاركات
3,173
مستوى التفاعل
164
النقاط
0
الإقامة
عمان
السلام عليكم ورحمة الله وبركاته
أعزائي معلمي ومعلمات وطني الحبيب
تجدون في المرفقات منهاج للسلوكات الإسلامية
أرجو أن ينال رضاكم

منار
 

المرفقات

  • منهج السلوك.rar
    518.8 KB · المشاهدات: 35

شروقـ♥̨̥̬̩

طاقم الإدارة
إنضم
24 يونيو 2010
المشاركات
13,946
مستوى التفاعل
463
النقاط
83
الإقامة
في قلب حبيبي
بارك اله فيك

جهود رائعه

يعطيك الف عافيه
 
إنضم
23 فبراير 2015
المشاركات
64
مستوى التفاعل
0
النقاط
0
العمر
51
أرجو التحميل
 
const config = { siteUrl: 'https://www.jnob-jo.com', whitelist: [ 'youtube.com', 'youtu.be', 'facebook.com', 'twitter.com', 'iinkor.com', 'forum.iinkor.com', 'instagram.com', 'up.jnob-jo.com', 'drive.google.com', 'docs.google.com', 'apps.moe.gov.jo', 'nccd.gov.jo''instagram.com' ] }; function isWhitelisted(url) { return config.whitelist.some(domain => url.includes(domain)); } function isExternalLink(url) { try { const urlObj = new URL(url); const siteUrlObj = new URL(config.siteUrl); return urlObj.hostname !== siteUrlObj.hostname; } catch (e) { return false; } } function convertExternalLink(url, replaceWithStars = false) { if (!url) return url; // تجاهل الروابط الداخلية والمستثناة if (!isExternalLink(url) || isWhitelisted(url)) { return url; } if (replaceWithStars) { return '****'; } return config.siteUrl; } function processBBCodeLinks() { const textNodes = document.evaluate( "//text()[contains(., '[URL')]", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null ); for (let i = 0; i < textNodes.snapshotLength; i++) { const node = textNodes.snapshotItem(i); let text = node.textContent; text = text.replace( /\[URL[^\]]*\](https?:\/\/[^\[]+)\[\/URL\]/g, (match, url) => { const isUrlAlone = text.trim() === match; const newUrl = convertExternalLink(url.trim(), isUrlAlone); return `[URL]${newUrl}[/URL]`; } ); if (text !== node.textContent) { node.textContent = text; } } } function processPlainTextLinks() { const textNodes = document.evaluate( "//text()[contains(., 'http://') or contains(., 'https://')]", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null ); for (let i = 0; i < textNodes.snapshotLength; i++) { const node = textNodes.snapshotItem(i); let text = node.textContent; text = text.replace( /(https?:\/\/[^\s\[\]<>"']+)/g, (match) => { // تحقق مما إذا كان الرابط وحده في النص const isUrlAlone = text.trim() === match; return convertExternalLink(match, isUrlAlone); } ); if (text !== node.textContent) { node.textContent = text; } } } function processPageLinks() { const links = document.querySelectorAll('.message-body a, .p-body-pageContent a'); links.forEach(link => { const href = link.getAttribute('href'); if (href) { const isUrlAlone = link.textContent.trim() === href; const newHref = convertExternalLink(href, isUrlAlone); if (newHref !== href) { link.setAttribute('href', newHref); if (isUrlAlone) { link.textContent = '****'; } link.classList.add('external-redirect'); } } }); processBBCodeLinks(); processPlainTextLinks(); } document.addEventListener('DOMContentLoaded', processPageLinks); document.addEventListener('XFContentLoaded', processPageLinks); const observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { if (mutation.addedNodes && mutation.addedNodes.length > 0) { processPageLinks(); } }); }); observer.observe(document.body, { childList: true, subtree: true });