jQuery(document).ready(function($) { let activeParentButton = null; // جلب القنوات عند الضغط على زر function fetchChannels(slug, isParent) { $.ajax({ url: ee_channels.ajaxurl, type: 'POST', data: { action: 'fetch_channels', category: slug, nonce: ee_channels.nonce }, success: function(response) { const container = $('.channels-container'); if (container.length) { if (response.success) { // إذا لم يكن التصنيف رئيسيًا أو كان "كافة القنوات"، أو ليس له تصنيفات فرعية if (!response.data.is_parent || slug === 'كافة- القنوات' || !isParent) { container.html(response.data || '
لا توجد قنوات متاحة.
'); container.show(); } } else { container.html(`${response.data.message || 'خطأ في تحميل القنوات'}
`); container.show(); } } }, error: function(xhr) { const container = $('.channels-container'); container.html('خطأ في تحميل القنوات
').show(); console.log('Fetch Channels Error:', xhr.responseText); } }); } // إظهار/إخفاء التصنيفات الفرعية $('.ee-main-category-button').on('click', function(event) { event.preventDefault(); const slug = $(this).data('slug'); $('.ee-main-category-button, .ee-sub-category-button').removeClass('active'); $(this).addClass('active'); activeParentButton = this; const subCategoriesContainer = $('.ee-sub-categories'); subCategoriesContainer.find('.ee-sub-category-button').hide(); subCategoriesContainer.find(`.ee-sub-category-button[data-main-slug="${slug}"]`).show(); if (subCategoriesContainer.find(`.ee-sub-category-button[data-main-slug="${slug}"]`).length > 0) { subCategoriesContainer.show(); } else { subCategoriesContainer.hide(); fetchChannels(slug, false); } }); $('.ee-sub-category-button').on('click', function(event) { event.preventDefault(); const slug = $(this).data('subSlug'); $('.ee-main-category-button, .ee-sub-category-button').removeClass('active'); $(this).addClass('active'); fetchChannels(slug, false); }); // التعامل مع النقر على قناة $('.channels-container').on('click', 'a[data-shortcode]', function(event) { event.preventDefault(); const shortcode = $(this).data('shortcode'); const match = shortcode.match(/\[AlbaPlayer\s+id=["']?(\d+)["']?\]/i); const playerId = match ? match[1] : '720'; const playerContainer = $('.player-container'); if (playerContainer.length) { playerContainer.html(``).show(); } }); // التعامل مع معلمات URL const urlParams = new URLSearchParams(window.location.search); const category = urlParams.get('category')?.trim(); const subcategory = urlParams.get('subcategory')?.trim(); if (category) { $('.ee-main-category-button, .ee-sub-category-button').removeClass('active'); const categoryButton = $(`.ee-main-category-button[data-slug="${category}"]`); if (categoryButton.length) { categoryButton.addClass('active'); activeParentButton = categoryButton[0]; const subCategoriesContainer = $('.ee-sub-categories'); subCategoriesContainer.find('.ee-sub-category-button').hide(); subCategoriesContainer.find(`.ee-sub-category-button[data-main-slug="${category}"]`).show(); if (subCategoriesContainer.find(`.ee-sub-category-button[data-main-slug="${category}"]`).length > 0) { subCategoriesContainer.show(); if (subcategory) { const subButton = $(`.ee-sub-category-button[data-sub-slug="${subcategory}"]`); if (subButton.length) { subButton.addClass('active'); fetchChannels(subcategory, false); } else { fetchChannels(category, false); } } } else { subCategoriesContainer.hide(); fetchChannels(category, false); } } else { // إذا لم يكن التصنيف الرئيسي موجودًا، جرب التصنيف كفرعي $('.ee-sub-category-button').each(function() { if ($(this).data('subSlug') === category) { const mainSlug = $(this).data('mainSlug'); const mainButton = $(`.ee-main-category-button[data-slug="${mainSlug}"]`); if (mainButton.length) { mainButton.addClass('active'); activeParentButton = mainButton[0]; subCategoriesContainer.find('.ee-sub-category-button').hide(); subCategoriesContainer.find(`.ee-sub-category-button[data-main-slug="${mainSlug}"]`).show(); subCategoriesContainer.show(); $(this).addClass('active'); fetchChannels(category, false); } } }); } } else { const defaultButton = $('.ee-main-category-button[data-slug="كافة- القنوات"]'); if (defaultButton.length) { defaultButton.addClass('active'); activeParentButton = defaultButton[0]; fetchChannels('كافة- القنوات', false); } $('.ee-sub-categories').hide(); } // تجديد Nonce تلقائيًا كل 12 ساعة setInterval(function() { $.ajax({ url: ee_channels.ajaxurl, type: 'POST', data: { action: 'ee_refresh_fetch_nonce' }, success: function(response) { if (response.success) { ee_channels.nonce = response.data.nonce; } } }); }, 12 * 60 * 60 * 1000); // كل 12 ساعة // تحميل القناة الافتراضية const playerContainer = $('.player-container'); if (playerContainer.length) { const match = '[AlbaPlayer id="720"]'.match(/\[AlbaPlayer\s+id=["']?(\d+)["']?\]/i); const playerId = match ? match[1] : '720'; playerContainer.html(``).show(); } });