• בעיה בקישור באתר החדש (האמצעי)

    על הפורום
    5
    1
    0 הצבעות
    5 פוסטים
    6 צפיות
    י
    @אז-נדברו סליחה לכאורה כן אפשר להעלות קבצים פשוט לקח לי זמן עד שמצאתי את העמוד של כל השלוחות בקו בכל מקרה תודה רבה אין עליך!!
  • הסוף להקשות בטלפון !!!

    עזרה הדדית למשתמשים מתקדמים
    15
    1 הצבעות
    15 פוסטים
    53 צפיות
    א
    @המתכנת-הראשי כתב: @אז-נדברו האם יש עלות חד"פ לסיפ או שרק עלות חודשית? רק עלות חודשית. כמו שאתה משלם חודשי על הקו סלולר שלך, ולא ח"פ.
  • 1 הצבעות
    18 פוסטים
    316 צפיות
    מ
    @המתכנת-הראשי יש לי טוקמן של הוט מובייל כבר כמה שנים ועד היום כולל היום הוא פעיל בלי בעיה כלל, מאנם בהתחלה קניתי חבילה חאת של דקות, אולי בזה נעוץ ההבדל
  • שינוי קריין

    פורום מפתחים API
    2
    0 הצבעות
    2 פוסטים
    24 צפיות
    ה
    @דוד-1 לא הסברת מה הAPI עושה, אבל לרוב אפשר להכניס בהגדרות הגלובליות בלי בעיה. עיין כאן בקולות הזמינים.
  • חיפוש גוגל בפורום

    על הפורום
    2
    0 הצבעות
    2 פוסטים
    11 צפיות
    א
    @אז-נדברו כתב: כיון ששמואל לכאורה לא יקדיש זמן לטפל בזה יצרתי לך סקריפט בtampermonkey לתיקון כפתורי "חיפוש גוגל בפורום" ו"חיפוש בהגדרות מתקדמות" (כאן יש הוראות התקנה לתוסף). הנה הסקריפט: // ==UserScript== // @name פורום ימות - תיקון כפתורי החיפוש // @namespace https://f2.freeivr.co.il/ // @version 1.0.0 // @description מתקן את "חיפוש גוגל בפורום" ואת "חיפוש בהגדרות המתקדמות" - שניהם פותחים חלון חיפוש // @match https://f2.freeivr.co.il/* // @run-at document-idle // @grant none // ==/UserScript== (function () { 'use strict'; const LOGO_URL = 'https://f2.freeivr.co.il/assets/uploads/system/site-logo.gif?v=090613ffd44'; const SITE = location.hostname; // f2.freeivr.co.il const MODAL_ID = 'ym-search-modal'; const ADV_OLD_LABEL = 'חיפוש בהגדרות המתקדמות'; const ADV_LABEL = 'חיפוש באזור התעשייה - הגדרות המערכת'; // ================= עזרים ================= function matchesNavButton(el, hrefRegex, title) { const a = el.closest('a'); if (!a) return false; if (hrefRegex.test(a.getAttribute('href') || '')) return true; const li = a.closest('li'); return !!(li && (li.getAttribute('data-bs-original-title') === title || li.getAttribute('title') === title)); } function currentTopicId() { const m = location.pathname.match(/\/topic\/(\d+)/); return m ? m[1] : null; } // ================= חיפוש גוגל ================= function googleSearch(query, topicId) { const scope = topicId ? `site:${SITE}/topic/${topicId}/` : `site:${SITE}`; const url = 'https://www.google.com/search?q=' + encodeURIComponent(`${scope} ${query}`); window.open(url, '_blank', 'noopener'); } function openGoogleModal() { const topicId = currentTopicId(); openSearchModal({ placeholder: 'הקלידו כדי לחפש בגוגל', logoAlt: 'חיפוש בגוגל', buttons: [ { label: 'חיפוש בכל הפורום', cls: 'btn-secondary', title: 'לחצו על אנטר כדי לחפש', isEnter: true, run: (q) => googleSearch(q, null), }, { label: 'חיפוש בנושא זה', cls: 'btn-primary', available: !!topicId, unavailableTitle: 'זמין רק בתוך נושא', run: (q) => googleSearch(q, topicId), }, ], }); } // ================= חיפוש בהגדרות המתקדמות ================= function advancedSearchPath(term) { return 'search?in=titlesposts&term=' + encodeURIComponent(term) + '&matchWords=all&by=&categories%5B%5D=1&searchChildren=true&hasTags=&replies=' + '&repliesFilter=atleast&timeFilter=newer&timeRange=&sortBy=relevance' + '&sortDirection=desc&showAs=posts'; } function goAdvancedSearch(term, newTab) { const path = advancedSearchPath(term); if (newTab) { window.open('/' + path, '_blank', 'noopener'); } else if (window.ajaxify && typeof window.ajaxify.go === 'function') { window.ajaxify.go(path); // ניווט SPA בלי רענון } else { location.href = '/' + path; } } function openAdvancedModal() { openSearchModal({ placeholder: ADV_LABEL, logoAlt: 'חיפוש בפורום', buttons: [ { label: 'חיפוש', cls: 'btn-primary', title: 'אנטר לחיפוש, Ctrl+אנטר או Ctrl+לחיצה לפתיחה בלשונית חדשה', isEnter: true, run: (q, newTab) => goAdvancedSearch(q, newTab), }, ], }); } // ================= יירוט הלחיצות ================= document.addEventListener('click', (e) => { let handler = null; if (matchesNavButton(e.target, /\/misc\/freeivr\/?$/, 'חיפוש גוגל בפורום')) { handler = openGoogleModal; } else if (matchesNavButton(e.target, /^\/?SearchSettings\/?$/i, ADV_OLD_LABEL) || matchesNavButton(e.target, /^\/?SearchSettings\/?$/i, ADV_LABEL)) { handler = openAdvancedModal; } if (!handler) return; e.preventDefault(); e.stopImmediatePropagation(); // מונע את ajaxify של NodeBB handler(); }, true); // ================= שינוי התווית של כפתור ההגדרות המתקדמות ================= function relabelAdvancedButton() { document.querySelectorAll('a[href="/SearchSettings"], a[href="SearchSettings"]').forEach((a) => { const li = a.closest('li'); if (!li || li.dataset.ymRelabeled === '1') return; li.dataset.ymRelabeled = '1'; // הטקסט הצף (Bootstrap tooltip) li.setAttribute('data-bs-original-title', ADV_LABEL); if (li.hasAttribute('title')) li.setAttribute('title', ADV_LABEL); a.setAttribute('aria-label', ADV_LABEL); try { const tip = window.bootstrap && window.bootstrap.Tooltip && window.bootstrap.Tooltip.getInstance(li); if (tip && typeof tip.setContent === 'function') { tip.setContent({ '.tooltip-inner': ADV_LABEL }); } } catch (err) { /* לא קריטי */ } // הטקסט שמוצג בתפריט בנייד const span = a.querySelector('span.visible-xs-inline'); if (span) span.textContent = ADV_LABEL; }); } relabelAdvancedButton(); let relabelPending = false; new MutationObserver(() => { if (relabelPending) return; relabelPending = true; requestAnimationFrame(() => { relabelPending = false; relabelAdvancedButton(); }); }).observe(document.body, { childList: true, subtree: true }); // ================= סגנון ================= function injectStyle() { if (document.getElementById(MODAL_ID + '-style')) return; const css = ` #${MODAL_ID}{position:fixed;inset:0;z-index:2000;display:flex;align-items:flex-start;justify-content:center; padding:1.75rem .5rem;background:rgba(0,0,0,.5);direction:rtl;} #${MODAL_ID} .ymg-dialog{background:var(--bs-body-bg,#fff);color:var(--bs-body-color,#212529); width:100%;max-width:500px;border-radius:.5rem;box-shadow:0 .5rem 1rem rgba(0,0,0,.25);overflow:hidden;} #${MODAL_ID} .ymg-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem; padding:1rem;border-bottom:1px solid var(--bs-border-color,#dee2e6);} #${MODAL_ID} .ymg-logo{flex:1;text-align:center;} #${MODAL_ID} .ymg-logo img{max-width:100%;max-height:90px;} #${MODAL_ID} .ymg-close{background:none;border:0;font-size:1.75rem;line-height:1;cursor:pointer; color:inherit;opacity:.6;padding:0 .25rem;} #${MODAL_ID} .ymg-close:hover{opacity:1;} #${MODAL_ID} .ymg-body{padding:1rem;} #${MODAL_ID} .ymg-footer{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start; padding:.75rem 1rem;border-top:1px solid var(--bs-border-color,#dee2e6);} #${MODAL_ID} .btn[disabled]{opacity:.5;cursor:not-allowed;} `; const style = document.createElement('style'); style.id = MODAL_ID + '-style'; style.textContent = css; document.head.appendChild(style); } // ================= חלון חיפוש כללי ================= // buttons: [{ label, cls, title?, isEnter?, available? (ברירת מחדל true), unavailableTitle?, run(query, newTab) }] function openSearchModal({ placeholder, logoAlt, buttons }) { if (document.getElementById(MODAL_ID)) return; injectStyle(); const wrap = document.createElement('div'); wrap.id = MODAL_ID; wrap.setAttribute('role', 'dialog'); wrap.setAttribute('aria-modal', 'true'); wrap.innerHTML = ` <div class="ymg-dialog"> <div class="ymg-header"> <div class="ymg-logo"><img alt=""></div> <button type="button" class="ymg-close" aria-label="סגירה">&times;</button> </div> <div class="ymg-body"> <input type="text" class="form-control ymg-input" autocomplete="off"> </div> <div class="ymg-footer"></div> </div>`; const img = wrap.querySelector('.ymg-logo img'); img.src = LOGO_URL; img.alt = logoAlt; const input = wrap.querySelector('.ymg-input'); input.placeholder = placeholder; const footer = wrap.querySelector('.ymg-footer'); const btnEls = buttons.map((b) => { const el = document.createElement('button'); el.type = 'button'; el.className = 'btn ' + b.cls; el.textContent = b.label; el.disabled = true; const available = b.available !== false; const t = available ? b.title : b.unavailableTitle; if (t) el.title = t; el.addEventListener('click', (e) => run(b, e.ctrlKey || e.metaKey)); footer.appendChild(el); return { def: b, el, available }; }); const cancel = document.createElement('button'); cancel.type = 'button'; cancel.className = 'btn btn-light'; cancel.textContent = 'ביטול'; footer.appendChild(cancel); document.body.appendChild(wrap); const query = () => input.value.trim(); const updateButtons = () => { const hasText = query().length > 0; btnEls.forEach(({ el, available }) => { el.disabled = !hasText || !available; }); }; const close = () => { wrap.remove(); document.removeEventListener('keydown', onKey, true); }; function run(b, newTab) { const q = query(); if (!q) { input.focus(); return; } close(); b.run(q, newTab); } const onKey = (e) => { if (e.key === 'Escape') { e.preventDefault(); close(); } else if (e.key === 'Enter' && document.activeElement === input) { e.preventDefault(); const enterBtn = btnEls.find(({ def }) => def.isEnter); if (enterBtn && !enterBtn.el.disabled) run(enterBtn.def, e.ctrlKey || e.metaKey); } }; input.addEventListener('input', updateButtons); wrap.querySelector('.ymg-close').addEventListener('click', close); cancel.addEventListener('click', close); wrap.addEventListener('mousedown', (e) => { if (e.target === wrap) close(); }); document.addEventListener('keydown', onKey, true); setTimeout(() => input.focus(), 0); } })();
  • 3 הצבעות
    19 פוסטים
    406 צפיות
    י
    @המומחה יענקי-פולק כתב: כי הקישור להוצאת המפתח חסום לי מנטפרי
  • ניוד מספר נייד כשר לימות+קבלת SMS

    לא נפתר טיפים עצות והדגמות מהמשתמשים
    6
    0 הצבעות
    6 פוסטים
    49 צפיות
    א
    @מזוזת תנייד את המספר הכשר שלך לוירטואל פלוס וזהו.
  • דחוף עזרה

    שאלות ועזרה הדדית
    7
    0 הצבעות
    7 פוסטים
    51 צפיות
    י
    @דוד-1 אגב תסתכל כאן
  • תקלה בהעלאת קבצים למערכת

    לא נפתר שאלות ועזרה הדדית
    38
    0 הצבעות
    38 פוסטים
    226 צפיות
    י
    @בעל-כישרון זה בעיה ידועה אז מה שאני עושה בדרך כלל: כשאני רוצה להעלות הודעת מערכת לשלוחה הראשית אני מעלה קודם את ההודעה לשלוחת השמעת קבצים פנימית ושם אני מחליף לו את השם להודעת מערכת שאני רוצה ואחרי זה אני עושה העתק הדבק לשלוחה הראשית כשאני רוצה להחליף קבצים אני עושה את זה רק ע''י האתר הישן שם זה עובד מצוין בהצלחה!!!
  • 0 הצבעות
    2 פוסטים
    16 צפיות
    I
    @חוויה-טלפונית אתה מתכוון פקסים ששולחים אליך אל המערכת ואמורים להגיע אליך למייל? או פקסים שנשלחים מהמערכת למשל אל מי שנכנס לשלוחה מסוימת?
  • 5 הצבעות
    22 פוסטים
    555 צפיות
    ה
    @הללוהו זה מודל API,שמשמש כמודל קבלת נתונים, והאם אפשרי שתוך כדי שהלקוח במערכת הוא ישמע את התמלול ויאשר והמערכת תמשיך לעוד כמה שאלות, - זה מה שזה עושה עכשיו
  • שליחת פרטי הקובץ

    פורום מפתחים API
    5
    0 הצבעות
    5 פוסטים
    21 צפיות
    מ
    @שלוחה-404 תודה
  • דרמה!! מישהו שמע על זה????

    שאלות ועזרה הדדית
    295
    1 הצבעות
    295 פוסטים
    10k צפיות
    ש
    @מסובך-מאוד כתב: ואיך החישוב יעבוד? @isi כתב: אבל מחלק ההצעה והאילך, לדעתי זה לא נכון וההצעה לא טובה. גם מי ששייך לקטגוריה 2, עדיין לא ירצה לשלם יותר מהמצב כהיום, בעיקר כי אז כבר יש לו חלופות. הרעיון של מה שאמרתי הוא: שאחרי מגבלת הערוצים- יהיה השמעת פרסומות, ואז גם ימות מרוויחה מזה- את החלק ההוא של הפרסומות וכך כל הצדדים יהיו מרוצים מפעיל הקו- בעיקרון יש ביטול פרסומות, ורק בזמני עומס יתכן ויהיה פרסומת ימות המשיח- יקבלו גם על הסרת פרסומות וגם על פרסומות- שלאחר מגבלת הערוצים מאזיני הקו- יהנו מביטול פרסומות באופן עקרוני אך לא גורף ומי שלא יכול להרשות בקו שלו פרסומות בכלל? שיקנה יותר ערוצים או שישלם ביחידות Spoiler אני חושב על עצמי- יש לי כמה קווים בסדר גודל של קהילה, ללא שום רווח או הכנסה מהקו יהודים טובים בקהילה, הסכימו לשלם 9.9 בחודש לכל קו כדי שלא יהיה פרסומות כעת? אני לא חושב שמישהו יסכים לשלם לי 50 ש"ח- כדי שבאופן קבוע לא יהיה פרסומות ולא ייחסם מגבלת הערוצים אם אני ימשיך לשלם 10/20 ש"ח בחודש, ומקסימום בזמני עומס- יהיה קצת פרסומות- אני לא ירגיש בעל קו "דפוק" (אנשים יוכלו להבין את זה) אך אם ייחסמו לי הערוצים- זה יעצבן הרבה יותר!! ואז אני כבר אשקול קו ללא ביטול פרסומות בכלל
  • 0 הצבעות
    3 פוסטים
    43 צפיות
    ש
    @אA כתב: אתה שואל האם ישנה אפשרות למוזיקה בזמן ההמתנה לתשובת השרת? כן! אבל לא במודל API אלא במודל תור
  • 11 הצבעות
    118 פוסטים
    3k צפיות
    ש
    @המתכנת-הראשי מושלם!! עדכנתי ב- tts.link.tz את הגירסה המקוצרת החדשה אם תרצה ש- link.tz/tts לא רק יפנה לקישור שלך אלא ממש יהיה הכתובת שלו, תשלח לי מייל y@link.tz
  • באג בAPI להגדרת הגדרות?

    עזרה הדדית למשתמשים מתקדמים
    2
    0 הצבעות
    2 פוסטים
    27 צפיות
    א
    @אA באיזה פקודה השתמשת?
  • 12 הצבעות
    36 פוסטים
    1k צפיות
    א
    @אA ניסית להשתמש במספור אוטמטי בהעלאת קובץ גדול? כי מניסיון זה יכול לעזור.
  • 0 הצבעות
    11 פוסטים
    442 צפיות
    T
    tova כתב: @חיה-שיר תודה רבה על הנכונות! אשמח לדעת האם חדר ועידה יכול לקבל מעל 100 מאזינים בו זמנית או שיש מגבלת כמות? תודה רבה! התכוונתי לשידור חי.. תודה!
  • 2 הצבעות
    67 פוסטים
    3k צפיות
    L
    @אA תודה רבה רבה
  • מה זה תיבה אישית?

    שאלות ועזרה הדדית
    21
    0 הצבעות
    21 פוסטים
    303 צפיות
    מ
    @אA @אA כתב: @מסובך-מאוד זו הגדרה בהשמעת קבצים של שיכפול ואפילו אם אני מוחק את הקובץ המקורי נשאר הלינק? ואני גם יכול להעביר את הקובץ של הלינק לעוד שלוחה?