• דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    • הרשמה
    • התחברות

    קבצים ותוכנות לשימוש במערכות ימות המשיח

    מתוזמן נעוץ נעול הועבר עזרה הדדית למשתמשים מתקדמים
    92 פוסטים 15 כותבים 4.3k צפיות 10 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • א מנותק
      אA @מה
      נערך לאחרונה על ידי

      @מה
      בעז"ה בלנ"ד.

      תגובה 1 תגובה אחרונה תגובה ציטוט 1
      • א מנותק
        אA
        נערך לאחרונה על ידי אA

        ניהול קבלת נתונים מקצועי + כולל ריענון אוטומטי

        הקוד

        <!DOCTYPE html>
        <html lang="he" dir="rtl">
        <head>
            <meta charset="UTF-8">
            <title>מערכת ניהול - ימות המשיח</title>
            <link rel="stylesheet" href="https://cdn.datatables.net/1.13.4/css/jquery.dataTables.min.css">
            <style>
                body { font-family: 'Segoe UI', sans-serif; background: #f8f9fa; padding: 20px; }
                .main-card { background: white; padding: 20px; border-radius: 12px; box-shadow: 0 4px 6px rgba(0,0,0,0.05); overflow-x: auto; }
                .toolbar { display: flex; gap: 15px; margin-bottom: 20px; align-items: center; }
                .btn { padding: 8px 16px; cursor: pointer; background: #3b82f6; color: white; border: none; border-radius: 6px; font-weight: 600; }
                
                #data-table { font-size: 12px; width: 100% !important; table-layout: auto; }
                #data-table th, #data-table td { text-align: right !important; padding: 6px !important; white-space: nowrap; }
                table.dataTable thead .sorting:before, table.dataTable thead .sorting:after { display: none !important; }
        
                .dropdown { position: relative; display: inline-block; }
                .dropdown-content { display: none; position: absolute; background: white; min-width: 200px; box-shadow: 0 8px 16px rgba(0,0,0,0.2); z-index: 1000; padding: 15px; border-radius: 8px; border: 1px solid #ddd; }
                .show { display: block; }
                .modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 2000; }
                .modal-content { background: white; width: 400px; margin: 100px auto; padding: 25px; border-radius: 12px; }
                .token-item { display: flex; justify-content: space-between; align-items: center; margin-bottom: 5px; }
            </style>
        </head>
        <body>
        
        <div class="main-card">
            <div class="toolbar">
                <div class="dropdown">
                    <button class="btn" onclick="document.getElementById('settingsDrop').classList.toggle('show')">הגדרות ⚙️</button>
                    <div id="settingsDrop" class="dropdown-content">
                        <button style="width:100%; background:none; border:none; text-align:right; cursor:pointer;" onclick="openModal('token-modal')">ניהול טוקנים</button>
                        <button style="width:100%; background:none; border:none; text-align:right; cursor:pointer;" onclick="openModal('col-modal')">ניהול עמודות</button>
                        <div style="margin-top:10px; cursor:pointer; font-size:14px;" onclick="toggleAutoRefresh()">
                            רענון אוטומטי <span id="refresh-check" style="display:none; color:green;">✔</span>
                        </div>
                    </div>
                </div>
                <input type="text" id="path-input" placeholder="נתיב (למשל: 1)" style="padding: 9px; width: 300px; border: 1px solid #ddd; border-radius: 6px;">
                <button class="btn" onclick="initialLoad()">טען נתונים</button>
            </div>
        
            <table id="data-table" class="display">
                <thead><tr id="table-head"></tr></thead>
                <tbody></tbody>
            </table>
        </div>
        
        <div id="token-modal" class="modal"><div class="modal-content"><h3>ניהול טוקנים</h3><div id="token-list"></div><div style="margin-top:15px;"><input type="text" id="new-token" placeholder="טוקן חדש"><button class="btn" onclick="addToken()">הוסף</button></div><button class="btn" style="background:#64748b; margin-top:10px;" onclick="closeModal('token-modal')">סגור</button></div></div>
        <div id="col-modal" class="modal"><div class="modal-content"><h3>בחירת עמודות</h3><div id="col-list"></div><button class="btn" style="margin-top:15px;" onclick="closeModal('col-modal')">סגור</button></div></div>
        
        
        
        <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
        <script src="https://cdn.datatables.net/1.13.4/js/jquery.dataTables.min.js"></script>
        
        <script>
            let activeToken = localStorage.getItem('activeToken') || '';
            let refreshInterval = null;
            let knownData = new Set();
        
            function openModal(id) { document.getElementById(id).style.display = 'block'; document.getElementById('settingsDrop').classList.remove('show'); }
            function closeModal(id) { document.getElementById(id).style.display = 'none'; }
            window.onclick = (e) => { if (!e.target.matches('.btn')) document.getElementById('settingsDrop').classList.remove('show'); };
        
            function renderTokens() {
                const list = document.getElementById('token-list');
                const tokens = JSON.parse(localStorage.getItem('myTokens') || '[]');
                list.innerHTML = tokens.map((t, i) => `
                    <div class="token-item">
                        <span onclick="activeToken='${t}'; localStorage.setItem('activeToken', '${t}'); renderTokens()" style="cursor:pointer; ${t===activeToken ? 'font-weight:bold; color:#3b82f6;' : ''}">${t.substring(0,10)}...</span>
                        <button onclick="deleteToken(${i})" style="color:red; background:none; border:none; cursor:pointer;">X</button>
                    </div>`).join('');
            }
        
            function addToken() {
                const val = document.getElementById('new-token').value.trim();
                if (!val) return;
                let tokens = JSON.parse(localStorage.getItem('myTokens') || '[]');
                tokens.push(val);
                localStorage.setItem('myTokens', JSON.stringify(tokens));
                document.getElementById('new-token').value = '';
                renderTokens();
            }
        
            function deleteToken(i) {
                let tokens = JSON.parse(localStorage.getItem('myTokens') || '[]');
                tokens.splice(i, 1);
                localStorage.setItem('myTokens', JSON.stringify(tokens));
                renderTokens();
            }
        
            function toggleAutoRefresh() {
                const check = document.getElementById('refresh-check');
                if (refreshInterval) {
                    clearInterval(refreshInterval);
                    refreshInterval = null;
                    check.style.display = 'none';
                } else {
                    refreshInterval = setInterval(fetchData, 10000);
                    check.style.display = 'inline';
                }
            }
        
            async function initialLoad() {
                knownData.clear();
                await fetchData(true);
            }
        
            async function fetchData(isFullLoad = false) {
                if (!activeToken) return;
                const path = document.getElementById('path-input').value;
                const fullPath = `ivr2:${path}/ApprovalAll.ymgr`;
                const pathIni = `ivr2:${path}/ApprovalAll.ini`;
                
                try {
                    const [resYmgr, resIni] = await Promise.all([
                        fetch(`https://www.call2all.co.il/ym/api/DownloadFile?token=${activeToken}&path=${encodeURIComponent(fullPath)}`),
                        fetch(`https://www.call2all.co.il/ym/api/DownloadFile?token=${activeToken}&path=${encodeURIComponent(pathIni)}`)
                    ]);
        
                    const textYmgr = await resYmgr.text();
                    const textIni = await resIni.ok ? await resIni.text() : "";
                    const headersMap = {};
                    textIni.split('\n').forEach(line => { const [k, v] = line.split('='); if(k) headersMap[k.trim()] = v ? v.trim() : k.trim(); });
        
                    if (isFullLoad) {
                        if ($.fn.DataTable.isDataTable('#data-table')) $('#data-table').DataTable().destroy();
                        $('#table-head').empty();
                        $('#data-table tbody').empty();
                        $('#col-list').empty();
                    }
        
                    const lines = textYmgr.split('\n').filter(l => l.trim());
                    const firstRowParts = lines[0].split('%').map(p => p.split('#')[0]);
                    
                    if (isFullLoad) {
                        firstRowParts.forEach((k, i) => {
                            if(k && !['Status','Folder','DID','IncomingDID'].includes(k)) {
                                $('#table-head').append(`<th>${headersMap[k] || k}</th>`);
                                $('#col-list').append(`<div><input type="checkbox" checked onchange="toggleCol(${i}, this.checked)"> ${headersMap[k] || k}</div>`);
                            }
                        });
                        $('#data-table').DataTable({ language: { url: '//cdn.datatables.net/plug-ins/1.13.4/i18n/he.json' }, ordering: false, paging: true });
                    }
        
                    const table = $('#data-table').DataTable();
                    lines.forEach(line => {
                        if (!knownData.has(line)) {
                            knownData.add(line);
                            const rowDataObj = {};
                            line.split('%').forEach(part => { const [k, v] = part.split('#'); rowDataObj[k] = v; });
                            
                            let rowArr = [];
                            firstRowParts.forEach(k => {
                                if(!['Status','Folder','DID','IncomingDID'].includes(k)) rowArr.push(rowDataObj[k] || '');
                            });
                            table.row.add(rowArr).draw(false);
                        }
                    });
                } catch (e) { console.log("שגיאה:", e.message); }
            }
        
            function toggleCol(idx, visible) { $('#data-table').DataTable().column(idx).visible(visible); }
            renderTokens();
        </script>
        </body>
        </html>
        
        תגובה 1 תגובה אחרונה תגובה ציטוט 1
        • א מנותק
          אA @מה
          נערך לאחרונה על ידי

          @מה
          העלתי את הקובץ שרצית, ובעז"ה נוסיף לו תיקונים.
          אשמח להערות ממך ומאחרים כדי לדעת מה נצרך לכזה קובץ.

          מ תגובה 1 תגובה אחרונה תגובה ציטוט 1
          • מ מנותק
            מה @אA
            נערך לאחרונה על ידי

            @אA

            בינתיים לא עובד הכפתור טען נתונים, כמו"כ התצוגה של החלון מוסטת כלפי מעלה.

            א תגובה 1 תגובה אחרונה תגובה ציטוט 0
            • א מנותק
              אA @מה
              נערך לאחרונה על ידי

              @מה
              אצלי עובד.
              הכנסת טוקן?
              אם לא, כנס להגדרות ניהול טוקנים הכנס טוקן.

              מ תגובה 1 תגובה אחרונה תגובה ציטוט 1
              • מ מנותק
                מה @אA
                נערך לאחרונה על ידי

                @אA
                כן הכנסתי טוקן
                d0d47449-50e7-4095-9579-8555c648ac09-image.png

                א תגובה 1 תגובה אחרונה תגובה ציטוט 0
                • א מנותק
                  אA @מה
                  נערך לאחרונה על ידי

                  @מה
                  והכנסת נתיב?
                  וזה לא מעלה את הנתונים?

                  מ תגובה 1 תגובה אחרונה תגובה ציטוט 1
                  • מ מנותק
                    מה @אA
                    נערך לאחרונה על ידי

                    @אA כתב בקבצים ותוכנות לשימוש במערכות ימות המשיח:

                    והכנסת נתיב?
                    וזה לא מעלה את הנתונים?

                    נכון.

                    מ א 2 תגובות תגובה אחרונה תגובה ציטוט 0
                    • מ מנותק
                      מה @מה
                      נערך לאחרונה על ידי

                      מצורף צילו"מ
                      Recording 2026-03-09 at 13.02.10.gif

                      תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • א מנותק
                        אA @מה
                        נערך לאחרונה על ידי

                        @מה
                        אתה מתכוון לשלוחת קבלת נתונים כן?
                        זה מחולק אצלך לפי חודשים/או חלוקה אחרת?

                        מ תגובה 1 תגובה אחרונה תגובה ציטוט 1
                        • מ מנותק
                          מה @אA
                          נערך לאחרונה על ידי מה

                          @אA
                          קבלת נתונים רגילה, בשלוחה רגילה,
                          אני חושב שהכפתור טען לא עובד

                          א תגובה 1 תגובה אחרונה תגובה ציטוט 0
                          • א מנותק
                            אA @מה
                            נערך לאחרונה על ידי

                            @מה
                            ממש מוזר.
                            אצלי עובד חלק.
                            הטוקן ודאי תקין?!

                            מ תגובה 1 תגובה אחרונה תגובה ציטוט 1
                            • מ מנותק
                              מה @אA
                              נערך לאחרונה על ידי

                              @אA כתב בקבצים ותוכנות לשימוש במערכות ימות המשיח:

                              הטוקן ודאי תקין?!

                              כן

                              אולי לא העלית את הגירסה הסופית של הקוד?

                              מ א 2 תגובות תגובה אחרונה תגובה ציטוט 0
                              • מ מנותק
                                מה @מה
                                נערך לאחרונה על ידי

                                עובד ב"ה

                                עשיתי קובץ HTML חדש ועובד.
                                עכשיו אני עובר על השיפורים שאפשר לשדרג

                                תודה!

                                א תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                • א מנותק
                                  אA @מה
                                  נערך לאחרונה על ידי

                                  @מה
                                  לא.
                                  זו הגירסא הסופית.
                                  גם לקחתי את מה שהעלתי ופתחתי שוב ועבד מצויין.

                                  תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                  • א מנותק
                                    אA @מה
                                    נערך לאחרונה על ידי

                                    @מה
                                    בשמחה!
                                    יישר כח.

                                    מ תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                    • ע מנותק
                                      ע.ג.
                                      נערך לאחרונה על ידי ע.ג.

                                      קוד משוכלל למעקב אחר נתוני האזנה של התלמידים במרחב הקולי
                                      https://f2.freeivr.co.il/post/176080

                                      מתענייןמ תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                      • מ מנותק
                                        מה @אA
                                        נערך לאחרונה על ידי מה

                                        @אA

                                        באג:
                                        כשמסמנים או מסירים סימון מעמודות, השינויים חלים על עמודות אחרות (לדוג' אני מוריד סימון מעמודה 050, והעמודה 052 נמחקה)

                                        שדרוגים:

                                        1. טבלאות סיכום בצד שמאל של העמוד- כמו 'טבלת צירים' בגוגל שיטס, Pivot Table באקסל
                                        2. אשפרות צפייה באותו ממשק, בנתונים של 2 שלוחות ויותר,
                                        3. גלילת השורות ללא סוף - בלי לחלק לדפים נפרדים
                                        4. אפשרות הורדה לאקסל
                                        5. קרדיט למפתח התוכנה....
                                        מ תגובה 1 תגובה אחרונה תגובה ציטוט 1
                                        • מ מנותק
                                          מה @מה
                                          נערך לאחרונה על ידי מה

                                          עוד דבר אחד נחוץ ששכחתי:

                                          שיתוף חבירים לצפות ברשימה.

                                          א תגובה 1 תגובה אחרונה תגובה ציטוט 0
                                          • א מנותק
                                            אA @מה
                                            נערך לאחרונה על ידי

                                            @מה
                                            כלומר?
                                            כל מי שיהיה לו את הטוקן יוכל לצפות.
                                            או שאתה מתכוון בלי לתת להם את הטוקן?!

                                            מ תגובה 1 תגובה אחרונה תגובה ציטוט 1

                                            שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

                                            נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.

                                            בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                                            הרשמה התחברות
                                            • פוסט ראשון
                                              פוסט אחרון