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

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

    מתוזמן נעוץ נעול הועבר עזרה הדדית למשתמשים מתקדמים
    50 פוסטים 9 כותבים 1.3k צפיות 6 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • מ מנותק
      מה @אA
      נערך לאחרונה על ידי

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

      קובץ לצפייה בדוחות של קבלת נתונים

      הקובץ הזה הוא לא איי איי איי

      אולי בונים ממשק חדש ויציב, לצפייה בנתונים בזמן אמת, עם אפשרות ריענון אוטמטי.

      א 2 תגובות תגובה אחרונה תגובה ציטוט 0
      • א מחובר
        א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 תגובה אחרונה תגובה ציטוט 0
                                      • ע מנותק
                                        ע.ג.
                                        נערך לאחרונה על ידי ע.ג.

                                        קוד משוכלל למעקב אחר נתוני האזנה של התלמידים במרחב הקולי
                                        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
                                            • פוסט ראשון
                                              פוסט אחרון