پرش به محتوا

تست: تفاوت میان نسخه‌ها

از دانشنامه کتاب مقدس
بدون خلاصۀ ویرایش
بدون خلاصۀ ویرایش
خط ۸۵: خط ۸۵:
             margin-top: 5px;
             margin-top: 5px;
         }
         }
         .create-new {
         .admin-only {
             background-color: #28a745;
            display: none;
             background-color: #f8f9fa;
            border: 1px dashed #dc3545;
            padding: 15px;
            border-radius: 4px;
            margin-top: 10px;
         }
         }
         .create-new:hover {
         .admin-label {
             background-color: #218838;
             color: #dc3545;
            font-weight: bold;
         }
         }
     </style>
     </style>
خط ۱۱۱: خط ۱۱۷:
             </div>
             </div>
              
              
             <div class="form-group">
            <!-- بخش مدیریتی - فقط برای مدیران قابل نمایش -->
                <label for="bookSearch">یا جستجوی کتاب جدید:</label>
             <div id="adminSection" class="admin-only">
                <input type="text" id="bookSearch" placeholder="نام کتاب را وارد کنید...">
                <div class="form-group">
                <div class="help-text">اگر کتاب مورد نظر در لیست بالا نیست، نام آن را در اینجا وارد کنید</div>
                    <label for="bookSearch" class="admin-label">ثبت کتاب جدید (مخصوص مدیران):</label>
                    <input type="text" id="bookSearch" placeholder="نام کتاب جدید را وارد کنید...">
                    <div class="help-text">این بخش فقط برای مدیران سیستم قابل مشاهده است</div>
                </div>
               
                <div class="button-group">
                    <button id="createNew">ایجاد صفحه جدید</button>
                </div>
             </div>
             </div>
              
              
             <div class="button-group">
             <div class="button-group">
                 <button id="showBook">نمایش کتاب</button>
                 <button id="showBook">نمایش کتاب</button>
                <button id="createNew" class="create-new">ایجاد صفحه جدید</button>
             </div>
             </div>
         </div>
         </div>
خط ۱۳۵: خط ۱۴۷:
             const createNewBtn = document.getElementById('createNew');
             const createNewBtn = document.getElementById('createNew');
             const contentFrame = document.getElementById('contentFrame');
             const contentFrame = document.getElementById('contentFrame');
            const adminSection = document.getElementById('adminSection');
           
            // بررسی آیا در دامنه pediabible هستیم
            function isInPediabibleDomain() {
                return window.location.hostname === 'www.pediabible.com' ||
                      window.location.hostname === 'pediabible.com' ||
                      window.location.hostname === 'localhost'; // برای تست محلی
            }
           
            // بررسی آیا کاربر مدیر است (این بخش باید با منطق احراز هویت مدیاویکی شما یکپارچه شود)
            function isAdminUser() {
                // این یک نمونه ساده است - باید با سیستم احراز هویت مدیاویکی شما جایگزین شود
                return localStorage.getItem('isAdmin') === 'true' ||
                      document.cookie.includes('isAdmin=true') ||
                      window.location.search.includes('admin=true'); // برای تست
            }
           
            // تنظیمات اولیه
            function initializePage() {
                // بررسی دامنه
                if (!isInPediabibleDomain()) {
                    alert('این صفحه فقط در دامنه pediabible قابل دسترسی است');
                    document.body.innerHTML = '<div class="container"><h1>دسترسی غیرمجاز</h1><p>این صفحه فقط در دامنه pediabible قابل دسترسی است</p></div>';
                    return;
                }
               
                // نمایش بخش مدیریتی فقط برای مدیران
                if (isAdminUser()) {
                    adminSection.style.display = 'block';
                }
            }
              
              
             // هنگام تغییر در select، مقدار جستجو را به روز می‌کند
             // هنگام تغییر در select، مقدار جستجو را به روز می‌کند
             bookSelect.addEventListener('change', function() {
             bookSelect.addEventListener('change', function() {
                 if (this.value) {
                 if (this.value) {
                     bookSearch.value = this.options[this.selectedIndex].text;
                     // فقط اگر کاربر مدیر است، مقدار را در جستجو قرار دهد
                    if (isAdminUser()) {
                        bookSearch.value = this.options[this.selectedIndex].text;
                    }
                 }
                 }
            });
           
            // هنگام تغییر در جستجو، select را ریست می‌کند
            bookSearch.addEventListener('input', function() {
                bookSelect.selectedIndex = 0;
             });
             });
              
              
             // نمایش کتاب انتخاب شده
             // نمایش کتاب انتخاب شده
             showBookBtn.addEventListener('click', function() {
             showBookBtn.addEventListener('click', function() {
                 let bookName = bookSearch.value.trim();
                 let bookName = bookSelect.value;
                if (!bookName) {
                    bookName = bookSelect.value;
                }
                  
                  
                 if (bookName) {
                 if (bookName) {
خط ۱۵۹: خط ۱۹۷:
                     contentFrame.src = `https://www.pediabible.com/index.php/${encodedBookName}`;
                     contentFrame.src = `https://www.pediabible.com/index.php/${encodedBookName}`;
                 } else {
                 } else {
                     alert('لطفاً نام کتاب را انتخاب یا وارد کنید');
                     alert('لطفاً یک کتاب از لیست انتخاب کنید');
                 }
                 }
             });
             });
خط ۱۶۷: خط ۲۰۵:
                 let bookName = bookSearch.value.trim();
                 let bookName = bookSearch.value.trim();
                 if (!bookName) {
                 if (!bookName) {
                     alert('لطفاً نام کتاب را وارد کنید');
                     alert('لطفاً نام کتاب جدید را وارد کنید');
                    return;
                }
               
                // بررسی مجوز مدیر
                if (!isAdminUser()) {
                    alert('شما مجوز ایجاد کتاب جدید را ندارید');
                     return;
                     return;
                 }
                 }
خط ۱۷۴: خط ۲۱۸:
                 const newPageUrl = `https://www.pediabible.com/index.php/${encodedBookName}`;
                 const newPageUrl = `https://www.pediabible.com/index.php/${encodedBookName}`;
                  
                  
                 // باز کردن صفحه جدید در تب جدید
                 // ایجاد درخواست برای بررسی وجود صفحه
                window.open(newPageUrl, '_blank');
                fetch(newPageUrl)
               
                    .then(response => {
                // همچنین محتوای صفحه را در iframe نمایش می‌دهد
                        if (response.status === 404) {
                contentFrame.src = newPageUrl;
                            // صفحه وجود ندارد - ایجاد صفحه جدید
                            window.open(newPageUrl + '?action=edit', '_blank');
                            alert(`صفحه جدید برای "${bookName}" در حال ایجاد است`);
                        } else {
                            // صفحه وجود دارد
                            alert(`صفحه "${bookName}" از قبل وجود دارد`);
                            contentFrame.src = newPageUrl;
                        }
                    })
                    .catch(error => {
                        console.error('Error:', error);
                        // در صورت خطا، مستقیماً به صفحه ویرایش هدایت شود
                        window.open(newPageUrl + '?action=edit', '_blank');
                    });
             });
             });
           
            // راه‌اندازی اولیه صفحه
            initializePage();
           
            // برای تست: اضافه کردن قابلیت مدیر شدن (در محیط واقعی حذف شود)
            if (window.location.search.includes('setadmin=true')) {
                localStorage.setItem('isAdmin', 'true');
                adminSection.style.display = 'block';
                alert('حالت مدیر فعال شد');
            }
           
            if (window.location.search.includes('removeadmin=true')) {
                localStorage.setItem('isAdmin', 'false');
                adminSection.style.display = 'none';
                alert('حالت مدیر غیرفعال شد');
            }
         });
         });
     </script>
     </script>
</body>
</body>
</html>
</html>

نسخهٔ ‏۱۲ اکتبر ۲۰۲۵، ساعت ۱۷:۳۱

<!DOCTYPE html> کتابخانه - پدیا بایبل

کتابخانه پدیا بایبل

این بخش فقط برای مدیران سیستم قابل مشاهده است