• דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    • הרשמה
    • התחברות
    1. דף הבית
    2. CUBASE
    3. הגבוה ביותר
    C
    מנותק
    • פרופיל
    • עוקב אחרי 5
    • עוקבים 15
    • נושאים 47
    • פוסטים 2,310
    • קבוצות 0

    פוסטים

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

      אהלן חברים, 👋

      בשנייה שעליתי על זה, היה לי ברור שאני חייב לשתף אתכם!

      🔥 מסתבר שיש הגדרה מובנית למעבר למערכת מיד במענה לצינתוק!

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

      tzintuk_say_system_info_on_answer=yes
      

      רוצים להגדיר בשלוחה ספציפית? הגדירו את ההגדרה בקובץ ext.ini

      רוצים שההגדרה תעבוד לכם בכל המערכת? - פשוט הגדירו אותה בקובץ ivr.ini בתפריט הראשי!

      תשאלו איך עליתי על זה? 🤔
      זה הגיע מכיוון ממש לא צפוי!
      שלחתי קריאת API ל-GetIVR2Dir. בתשובה שקיבלתי, הצצתי במערך extIni שמכיל את כל ההגדרות בשלוחה, כולל הגדרות ברירת מחדל נסתרות שלא אנחנו כתבנו בקובץ.
      פתאום קפצה לי לעין השורה הבאה:
      tzintuk_say_system_info_on_answer=no

      פשוט שיניתי ל-yes, וזה עובד פצצה! 🤯

      תיהנו, ותעדכנו אם זה שימושי לכם!

      שימו לב שכרגע בעת מענה לא עובד ההגדרות של מחייג ומחוייג, ככה שגם אם תשלוח מזיהוי שונה של המערכת יגיעו לאפה שמגיעים בחיוג למספר הרגיל
      פורסם בטיפים עצות והדגמות מהמשתמשים
      C
      CUBASE
    • קובץ סופר שקט, תקין והכי קצר שאפשר!!!!

      לתועלת הרבים יצרתי קובץ שקט הכי קצר שהמערכת מסוגלת להשמיע (ישבתי ובדקתי מכמה אלפיות שנייה המערכת לא עושה שגיאה)

      הקובץ באורך של כמעט 5 אלפיות השנייה בהשוואה לקובץ הרשמי בפורום שהוא 14 אלפיות השנייה...

      רלוונטי למי שצריך לפעמים להשתיק הרבה הודעות מערכת וזה מצטבר לשנייה (שנייה שקט = אין סבלנות...)

        super-quite.wav

      פורסם בטיפים עצות והדגמות מהמשתמשים
      C
      CUBASE
    • ה-AI שיענה לכם על כל שאלה בהגדרות מתקדמות!

      בס"ד עלה בידי לפתוח תיקיית notebooklm עם מקורות לכל ההגדרות המתקדמות במערכת

      לינק לתיקיה

      בהצלחה!

      פורסם בטיפים עצות והדגמות מהמשתמשים
      C
      CUBASE
    • המרת טקסט לדיבור מטורפת!!!! ב ח י נ ם!!!!!

      במהלך שימוש ב-AI Studio של גוגל נתקלתי במודל חדש של המרת טקסט לדיבור כמו שלא שמעתם מעולם!!! ובחינם!!

      https://aistudio.google.com/generate-speech

      שימו לב שיש שם אפשרות למודל Flash ויש אפשרות למודל Pro שנראה לי יותר טוב

      אני השתמשתי בקול "Charon" שהיה נשמע לי הכי קרייני, וכמובן שכדאי להשתמש בנקדן על מנת להוציא תוצאות מושלמות

        charon.wav

      קרא בקול פרסומת ובקול מתלהב:
      נָעִים לְהַכִּיר, אֲנִי שָׁרוֹן וַאֲנִי כָּאן כְּדֵי לָתֵת לָכֶם אֶת הַקַּרְיָנוּת הֲכִי טוֹבָה שֶׁיֵּשׁ,
      רוֹצִים לְהִשְׁתַּמֵּשׁ בִּי?
      פָּשׁוּט מְאוֹד!, הִכָּנְסוּ לְ-AI Studio וְאָז עַל Generate Media וְאָז עַל
      Generate speech, אַחַר כָּךְ יִהְיֶה לָכֶם אֶפְשָׁרוּת לִבְחֹר בְּהַקְרָאָה בְּקוֹל בּוֹדֵד וְשָׁם בָּחֲרוּ בִּי - שָׁרוֹן,
      אַתֶּם יְכוֹלִים לְהוֹרוֹת לִי מָה שֶׁאַתֶּם רוֹצִים עַל צוּרַת הַהַקְרָאָה שֶׁלִּי וַאֲנִי אֶשְׁתַּדֵּל לְהָבִיא לָכֶם תּוֹצָאוֹת בְּהֶתְאֵם,
      נַסּוּ וְתֵהָנוּ!

      פורסם בטיפים עצות והדגמות מהמשתמשים
      C
      CUBASE
    • הדרך הפשוטה ביותר לניתוב המאזין לשלוחה פנימית במערכת אחרת!!!

      על נושא זה כבר קיימים כמה דיונים בפורום, יש את הטריק של @ivrפון וגם את הפיתוח של @יוסף-ח , שניהם כבר לא עובדים היום...

      וב"ה עלה בידי טריק חדש לביצוע פעולה זו, ההגדרות פשוטות ביותר,

      במערכת המנתבת יש להגדיר:

      type=routing_yemot
      ;מספר המערכת לניתוב
      routing_yemot_number=0772222770
      
      limit_call_seconds=yes
      limit_call_seconds_disconnect_time=1
      ;כתובת השלוחה להפניה במערכת היעד
      limit_call_seconds_end_time_go_to=/5/5
      

      במערכת המנותבת יש להגדיר בשלוחה הראשית:

      ;מספר המערכת המנתבת, ניתן לכתוב כמה מערכות ולהפריד עם פסיק
      limit_call_seconds_next=0771234567,0791234567
      

      יש להעלות במערכת המנותבת קובץ שקט בשם M1167

        %D7%A9%D7%A7%D7%98.wav

      הסבר:
      מה שבעצם עשינו פה זה שהגדרנו במערכת המנתבת טיימר של שנייה לשהות בשלוחה, הגדרנו שלאחר שנגמר הטיימר אז יעבור לשלוחה 5/5/, במערכת המנותבת הגדרנו שימשיך את הטיימר מהמערכת הקודמת ואז עוברת השנייה של הטיימר כבר במעבר למערכת השנייה והמאזין מועבר לשלוחה 5/5/.

      כך גם המעבר לשלוחות פנימיות מוגבל רק למערכות שלכם שכתבתם בהגדרה במערכת היעד, מערכת שתנתב אליכם ולא רשומה בהגדרה - תישאר בשלוחה הראשית ולא יוכלו להיכנס לניהול וכדו'!!

      בהצלחה!

      פורסם בטיפים עצות והדגמות מהמשתמשים
      C
      CUBASE
    • הקלטת הודעה אישית בעת שמיעת הודעה ללא הקשת המספר!! (פיתוח פרטי)

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


      קרדיט ענק ל @amp-Software-0 על האחסון של הקוד!!!


      אז בואו נתחיל!


      לפני הכל יש לתת אפשרות למאזינים להירשם לצינתוקים אישיים, ניתן להשתמש בזה או בזה


      קודם כל יש לבחור את המקש עליו יקיש המאזין כדי לעבור להקלטת ההודעה:

      בדוגמא הבאה המאזין יעבור להקלטת ההודעה בעת הקשה על 9 במהלך ההאזנה להודעה

      control_play9=send_api
      

      בדוגמא הבאה המאזין יעבור להקלטת ההודעה בעת ההקשה על *4

      control_play_moreA4=send_api
      

      לעוד אפשרויות כנסו לכאן


      כעת יש להגדיר את הלינק ל-API ואת הסיסמה של המערכת שלכם:

      api_link=https://utilitiesphone.com/PlayfilePersonalMessage/PlayfilePersonalMessage.php
      api_add_0=pass=סיסמה
      

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


      ברירת מחדל מקליט לתיקייה personalMessages/ כאילו מוגדר כך:

      api_add_1=folder_move=/personalMessages
      
      שימו לב! - יש לכתוב את כתובת השלוחה בצורה רגילה ללא for_id בהתחלה וללא Phone/ בסוף

      ברירת מחדל ההקלטה לא נשמרת בניתוק, כדי שההקלטה תשמר בניתוק יש להגדיר:

      api_add_2=hangup_insert_file=yes
      

      אם אתם רוצים שגם ישלח צינתוק בניתוק:

      api_add_3=hangup_send_tzintuk=yes
      

      ברירת מחדל שולח צינתוק מהזיהוי הראשי של המערכת, אם רוצים שהצינתוק ישלח מזיהוי אחר מאושר יש להגדיר:

      api_add_4=tzintuk_your_id=הזיהוי לשליחה
      

      ברירת מחדל אורך הצינתוק 9 שניות, ניתן להגדיר אורך שונה עד 16 שניות (ניתן לכתוב מספר עשרוני):

      api_add_5=tzintuk_timeout=10.3
      

      ברירת מחדל ההקשות בתפריט כאילו מוגדר כך:

      api_add_6=menu_record_options_1=record_play
      api_add_7=menu_record_options_2=record_ok_and_run_tzintuk
      api_add_8=menu_record_options_3=record_again
      api_add_9=menu_record_options_4=record_cancel
      api_add_10=menu_record_options_5=continue_recording
      api_add_11=menu_record_options_6=noop
      api_add_12=menu_record_options_7=noop
      api_add_13=menu_record_options_8=noop
      api_add_14=menu_record_options_9=noop
      api_add_15=menu_record_options_*=noop
      

      אם אתם רוצים להגדיר מקש לאישור ההודעה ללא שליחת צינתוק ניתן להגדיר record_ok


      שימו לב שאם אתם מכניסים רק חלק מההגדרות אז חובה לשמור על רצף המספרים ב-api_add_X


      בהצלחה!!

      פורסם בטיפים עצות והדגמות מהמשתמשים
      C
      CUBASE
    • רישום לצינתוקים אישיים בצורה המהירה ביותר וללא API!

      קרדיט ל @צבי-ד-צ על חלק מהרעיונות שיובאו במשך!

      אז איך עושים שלוחת רישום לצינתוקים אישיים ללא שימוש ב-API (וממילא הכי מהיר שאפשר)?

      הרעיון עובד בצורה שכל מי שנכנס לשלוחה - משנה את שלוחת הרישום לצינתוקים לרישום לרשימת צינתוקים שהיא המספר שלו, לדוג' מס' 0772222770 נרשם לרשימת צינתוקים 0772222770, הרעיון נצרך למי שמשתמש בהודעות אישיות של @HMJE22 וכן בשליחת הודעה אישית בזמן האזנה להודעה

      נצטרך לפתוח 4 שלוחות,

      1. שלוחת מעבר לשלוחה של שינוי רשימת הצינתוקים למספר הטלפון (בדוגמה שלוחה 0/3/)
      2. שלוחה A בשלוחה 0/3/ - שינוי רשימת הצינתוקים למספר הטלפון
      3. שלוחה B בשלוחה 0/3/ - איפוס מונה כניסות לשלוחה A
      4. שלוחה C בשלוחה 0/3/ - רישום לצינתוקים בפועל

      ועכשיו, להגדרות---


      בשלוחה 0/3/ :

      type=go_to_folder
      go_to_folder=A
      

      שלוחה זו על מנת שתוכלו לדעת כמה נכנסו לשלוחה למרות האיפוס בהמשך


      בשלוחה /0/3/A:

      שימו לב שבשורה 9 כתוב /0/3, תצטרכו לשנות את זה בהתאם למיקום ששמתם את השלוחה

      type=add_id_to_list
      
      enter_id=yes
      enter_id_type=phone
      record_name=no
      say_name=no
      
      ;כתובת השלוחה הנוכחית /A/ext
      add_id_to_list_location_list=/0/3/C/ext
      add_id_to_list_key=list_tzintuk
      add_id_to_list_value_type=EnterID
      add_id_to_list_value_change=yes
      add_id_to_list_end_goto=../B
      
      limit_entries_folder_max=1
      limit_entries_folder_goto=.
      

      יש להעלות לשלוחה שני קבצי שקט בשמות M3411 ו-M3752

        quiet.wav


      בשלוחה /0/3/B :

      גם כאן שימו לב שעליכם לשנות את כתובת השלוחה בשורה 4

      type=add_id_to_list
      
      add_id_to_list_location_list=/Log/LogCounters
      add_id_to_list_key=Foldar-0/3/A
      add_id_to_list_value=0
      add_id_to_list_value_change=yes
      add_id_to_list_end_goto=../C
      

      יש להעלות לשלוחה קובץ שקט בשם M3411


      בשלוחה /0/3/C :

      type=tzintuk
      title=ניהול קבלת צינתוקים אישיים
      
      list_tzintuk=
      
      ;לאן יעבור בסיום הרישום
      tzintuk_end=/
      

      בהצלחה!!

      פורסם בטיפים עצות והדגמות מהמשתמשים
      C
      CUBASE
    • פיתוח פרטי | לייק ודיסלייק בהשמעת קבצים 👍/👎

      שלום לכולם! 🎉

      לבקשת החברים היקרים @פלוס ו @פיתה, הרמתי את הכפפה ופיתחתי מודול חדש שמשדרג את חוויית המשתמש בשלוחות השמעת קבצים. לאחרונה המודול עבר שדרוג משמעותי עם המון פיצ'רים חדשים!

      מה החידושים והיתרונות של המודול?
      • שיטת דירוג עדכנית: במקום מערכת הדירוג המובנית והישנה של 1 עד 5 כוכבים, המאזינים שלכם יכולים לפרגן בלייק 👍 או דיסלייק 👎 בצורה פשוטה, אינטראקטיבית ומוכרת.

      • הקראה טבעית וחכמה: המערכת יודעת לדבר נכון! אם יש רק לייק אחד, היא תגיד "לייק אחד". אם יש רק דיסלייקים – היא תשמיע רק אותם. ואם יש גם וגם, היא תדע לחבר ביניהם בטבעיות עם האות "ו...".

      • דירוג לפני ההשמעה: פיצ'ר חדש! ניתן להגדיר שהמאזין ישמע את הדירוג של הקובץ עוד לפני שההשמעה מתחילה.

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

      • מניעת הצבעות כפולות ומניפולציות: המערכת חכמה! מאזין לא יכול להצביע לקובץ שהוא עצמו העלה, ולא ניתן לדרג ללא זיהוי טלפוני.

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

      • מדבר בעצמו (TTS): כברירת מחדל, המערכת משתמשת בהקראת טקסט אוטומטית (ניתן גם להעלות קבצי שמע שלכם למי שרוצה - פירוט בהמשך).


      🛠️ שלב 1: הגדרות הבסיס (חובה)

      ראשית, העתיקו את שתי השורות הבאות לשלוחת השמעת הקבצים שלכם. אלו ההגדרות שמחברות את השלוחה למודול (אל תשכחו להחליף את המילה "טוקן" בטוקן האישי שלכם):

      api_link=https://rating-playfile.onrender.com/ratingPlayfile.php
      api_add_0=token=טוקן
      

      🕹️ שלב 2: בחירת מקש ההפעלה

      כעת, בחרו אחת מהאפשרויות הבאות כדי לקבוע באיזה שלב המאזין יוכל לדרג את הקובץ, והוסיפו את השורה לשלוחה:

      • אפשרות 1 - מקש ישיר תוך כדי השמעה (לדוגמה מקש 7):
        control_play7=send_api

      • אפשרות 2 - דרך תפריט "אפשרויות נוספות" (לדוגמה הקשת *8):
        control_play_moreA8=send_api

      • אפשרות 3 - מעבר אוטומטי מיד לאחר סיום שמיעת הקובץ:
        after_play=send_to_api

      🔗לפירוט המלא של כל אפשרויות הגדרות המקשים השונות לחצו כאן

      ⚙️ שלב 3: שדרוגים והתאמות אישיות (רשות)

      רוצים להתאים את המודול בדיוק לצרכים שלכם? הוסיפו את השורות הבאות.
      (שימו לב: יש להחליף את ה-X במספרים רצים בהתאם להגדרות שלכם).

      📢 רוצים שהמאזינים ישמעו את הדירוג לפני תחילת ההשמעה?
      (המודול יעדכן אוטומטית את קובץ ה-TitleVoice בכל פעם שתהיה הצבעה). חובה להוסיף את שתי השורות הבאות:

      api_add_X=say_rating_first=yes
      say_title_voice=yes
      

      👍 רוצים לאפשר רק פרגונים? (הצבעת "לייק" בלבד, ללא דיסלייק):

      api_add_X=like_only=yes
      

      🔒 חסימת שינוי הצבעה (לייק/דיסלייק אחד בלבד למאזין):

      api_add_X=allow_change_vote=no
      

      🙈 הסתרת כמות הדיסלייקים מהמאזינים:

      api_add_X=say_dislikes=no
      

      🤫 הסתרת כל נתוני הדירוג מהמאזינים (הצבעה שקטה):

      api_add_X=say_rating=no
      

      🎙️ ביטול ההקראה האוטומטית (TTS) ושימוש בקבצי שמע שלכם:

      api_add_X=say_tts=no
      

      (אם הוספתם את השורה הזו - חובה לעבור לשלב 4).


      📁 שלב 4: העלאת קבצי שמע (רק למי שהגדיר say_tts=no)

      אם בחרתם להשתמש בקול שלכם, עליכם להעלות את קבצי השמע הבאים לתיקייה ייעודית בנתיב הראשי של המערכת:
      /Smartel/Messages/
      (אם התיקייה לא קיימת במערכת שלכם, פשוט צרו אותה).

      רשימת הקבצים המעודכנת הנדרשת:

      • S1000 לייקים
      • S1001 דיסלייקים
      • S1002 להשמעה זו יש דירוג של...
      • S1003 ההצבעה שלכם היא...
      • S1004 לייק
      • S1005 דיסלייק
      • S1006 עדיין לא הצבעתם
      • S1007 להצבעת לייק הקישו 1, להצבעת דיסלייק הקישו 2, לביטול ההצבעה הקישו 3
      • S1008 להצבעת לייק הקישו 1, לביטול ההצבעה הקישו 2 (למי שהגדיר לייק בלבד)
      • S1009 לחזרה להשמעה הקישו כוכבית
      • S1100 קובץ זה עדיין לא דורג
      • S1101 לא ניתן להצביע לקובץ שהעליתם בעצמכם
      • S1102 לדירוג הקישו 1, לשמיעת הדירוגים הקישו 2, להמשך הקישו 3 או המתינו
      • S1103 אין זיהוי טלפוני. לא ניתן לדרג
      • S1104 על פי רישומי המערכת כבר דירגתם את ההשמעה הזו
      • S1105 ההצבעה התקבלה בהצלחה

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


      זהו, סיימתם! 🚀
      אשמח מאוד לשמוע מכם איך המודול עובד אצלכם, וכמובן שאם יש שאלות – אני כאן בתגובות.
      תהנו!

      פורסם בהסברים מסודרים ממשתמשים
      C
      CUBASE
    • פיתוח פרטי | 🚀 מודול הקלטה וניתוב חכם Pro – הגרסה המשודרגת!

      🚀 מודול "הקלטה וניתוב חכם Pro" – המדריך המלא והמשודרג!

       
       
      שלום חברים! 👋

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

      איך המודול עובד בפועל? תהליך פשוט ב-2 שלבים:

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

      בגרסת ה-Pro הוספתי המון אפשרויות: הרשאות ניהול, זמני תפוגה לניתוב, העלאת הודעות מערכת ועוד.

      בואו נגדיר את זה יחד, צעד אחר צעד:


      🧠 שלב 1: שלוחת הניהול (המוח של המודול)

      בחרו שלוחה במערכת (לדוגמה שלוחה 1).
      העתיקו אליה תחילה את הגדרות החובה הבאות:

      type=api
      api_link=https://record-routing.onrender.com/recordRoutingPro.php
      
      ; חובה להחליף בטוקן של המערכת שלכם
      api_add_0=token=טוקן_ההתחברות_שלכם
      
      ; לאיזו שלוחה יעברו ההקלטות כדי שאנשים ישמעו אותן? (לדוגמה: שלוחה 2)
      api_add_1=path=/2
      

      ⚙️ הגדרות רשות (שדרוגים לשלוחה זו):
      רוצים להוסיף יכולות מתקדמות? הוסיפו את ההגדרות הבאות בהתאם לצורך שלכם (שימו לב למספר את ה-api_add לפי הסדר: 2, 3, 4 וכו').

      🤖 הקראה רובוטית: המערכת תקריא את ההוראות בקול רובוטי במקום שתצטרכו להעלות קבצי שמע.

      api_add_X=say_tts=yes
      

      📁 הזרקת הגדרות לקובץ ext.ini של שלוחת הניתוב: למשל, שליחת ההקלטה למייל ומעבר בסיום.

      api_add_X=ext_ini=queue_end_goto=/%0Aqueue_record_send_mail=yes
      

      📞 הזרקת הגדרות לקובץ queue.ini של שלוחת הניתוב: למשל, קביעת זמן המתנה לשיחה וכמות ניסיונות.

      api_add_X=queue_ini=timeout=20%0Aretry=5
      

      ⏳ תוקף ההפניה: קביעה מתי יפוג תוקף הניתוב מרגע ההקלטה. ניתן להגדיר את הזמן בכמה פורמטים (ראו טבלה למטה).

      api_add_X=route_expire=24h
      

      טבלת אפשרויות להגדרת זמני תפוגה (route_expire) :

      פורמט הגדרה הסבר דוגמה לשימוש משמעות הדוגמה
      ספרות בלבד מחושב כשניות 3600 הניתוב יפוג בעוד שעה
      שעות ודקות (HH:MM או HH:MM:SS) מחושב במדויק 01:30 שעה וחצי
      אותיות קיצור אנגלית s=שניות, m=דקות, h=שעות, d=ימים, w=שבועות 2d 12h יומיים ו-12 שעות

      🎙️ שלב 2: שלוחת ההקלטה (record)

      תחת השלוחה שיצרתם בשלב 1, עליכם לפתוח תת-שלוחה (תיקייה פנימית) ולקרוא לה בדיוק בשם record (לדוגמה: 1/record).
      הערה: אין להגדיר שהקלטות יעברו אוטומטית לשלוחה אחרת, המודול עושה זאת בעצמו!

      הכניסו לשלוחת ה-record את ההגדרות הבאות:

      type=record
      
      ; ביטול הקראת מספר ההקלטה ותפריט האישור (כדי לזרז למקליט את התהליך)
      say_record_number=no
      say_record_menu=no
      
      ; חובה! ההגדרה שמעבירה את המקליט להמשך התהליך במודול
      record_end_goto=After
      

      🔇 פעולת חובה בשלוחה זו - השתקת קובץ M1452:
      קובץ ההודעה M1452 אומר "ההודעה הוקלטה בהצלחה". חובה עליכם להשתיק אותו (על ידי העלאת קובץ שקט בשם M1452.wav לתוך השלוחה).
      למה? ברגע שההקלטה מסתיימת, המודול מעביר את המשתמש אוטומטית לשלוחה וירטואלית שמשמיעה לו בעצמה שההקלטה עברה בהצלחה. אם לא תשתיקו את הקובץ כאן, המקליט ישמע את האישור פעמיים ברצף.


      🎧 שלב 3: שלוחת ההשמעה למאזינים

      לכו לשלוחה שהגדרתם בנתיב (בדוגמה שלנו - שלוחה /2). זו השלוחה שבה המאזינים שומעים את הקבצים.

      לפני הכל, אם השלוחה עוד לא מוגדרת - הגדירו אותה כהשמעת קבצים באמצעות ההגדרה הבאה:

      type=playfile
      

      בחירת מקש הניתוב וחיבור למודול (הגדרות חובה):
      בחרו אחת מהאפשרויות הבאות כדי לקבוע איך המאזין יוכל לעבור לניתוב, והעתיקו לשלוחה (אל תשכחו לעדכן את הטוקן שלכם):

      • אפשרות 1 - מקש ישיר תוך כדי השמעה (לדוגמה מקש 9):
      control_play9=send_api
      api_link=https://record-routing.onrender.com/recordRoutingPro.php
      api_add_0=token=טוקן_ההתחברות_שלכם
      
      • *אפשרות 2 - דרך תפריט "אפשרויות נוספות" (לדוגמה הקשת 8):
      control_play_moreA8=send_api
      api_link=https://record-routing.onrender.com/recordRoutingPro.php
      api_add_0=token=טוקן_ההתחברות_שלכם
      
      • אפשרות 3 - מעבר אוטומטי מיד לאחר סיום שמיעת ההקלטה:
      after_play=send_to_api
      api_link=https://record-routing.onrender.com/recordRoutingPro.php
      api_add_0=token=טוקן_ההתחברות_שלכם
      

      ⚙️ הגדרות רשות (שדרוגים לשלוחת ההשמעה):
      (שימו לב למספר את ה-api_add בהתאם).

      🤖 הקראה רובוטית להוראות:

      api_add_X=say_tts=yes
      

      👨‍💼 הרשאות מנהלים: מספרי טלפון שמורשים לשנות את יעד הניתוב בזמן ההשמעה (מופרדים בפסיקים).

      api_add_X=allowed_manage_route=0531111111,0542222222
      

      🔄️ גיבוי חכם: אם למאזין אין מספר מוגדר לניתוב, המערכת תחייג כגיבוי למספר הטלפון של מי שהקליט את ההודעה במקור.

      api_add_X=fallback_to_recorder=yes
      

      🔊 שלב 4: הודעות מערכת

      אם לא בחרתם להשתמש בהגדרת ההקראה הרובוטית (say_tts=yes), עליכם להקליט את ההודעות הבאות בקולכם ולהעלות לתיקייה Smartel/Messages/ בתוך המערכת.

      ערכתי עבורכם נוסחים מומלצים, ברורים ומקצועיים להקלטה:

      • S1010 - "אנא הקישו את מספר הטלפון אליו תרצו לנתב את השיחה, ובסיום הקישו סולמית."
      • S1011 - "למעבר למספר הטלפון השמור במערכת הקישו 1, לחזרה הקישו 2."
      • S1012 - "תוקף הניתוב לקובץ זה פג, או שלא הוגדר יעד לניתוב."
      • S1013 - "לביטול הניתוב הקיים הקישו 1, לעדכון מספר חדש לניתוב הקישו 2, למעבר לניתוב הנוכחי הקישו 3."
      • S1014 - "אנא הקישו את מספר הטלפון החדש לניתוב, ובסיום הקישו סולמית."
      • S1015 - "לא הוגדר מספר טלפון לניתוב עבור קובץ זה."
      • S1016 - "הניתוב בוטל בהצלחה."
      • S1017 - "מספר הטלפון לניתוב עודכן בהצלחה."

      זהו, יש לכם מודול סופר-משוכלל ומוכן לעבודה! 🔥
      השתדלתי לפרט הכל כדי שגם מי שרק מתחיל להכיר את המערכת יוכל להגדיר את זה בקלות רבה.
      תודה לכל מי שכתב והציע הצעות – בזכותכם המודול הזה נוצר ומשתדרג.

      ספרו לי בתגובות איך זה עובד אצלכם ואם יש שאלות נוספות.
      בהצלחה רבה לכולם!

      פורסם בהסברים מסודרים ממשתמשים
      C
      CUBASE
    • מדריך מלא | הקמת שלוחת וירטואל פלוס (שיחות יוצאות ונכנסות) ב-IVR2

      שלום לכולם! 👋

      הפעם הכנתי עבורכם מדריך שלם, מפורט ומסודר להגדרת מערכת "וירטואל+" (הוצאה וקבלת שיחות דרך מספר המערכת) בתוך מערכת IVR2 רגילה.

      המדריך מחולק לפי שלוחות. פשוט עקבו אחר השלבים, צרו את השלוחות, והעתיקו את ההגדרות לקבצים המתאימים. מתחילים! 🚀


      🏠 1. שלוחה ראשית (השורש של המערכת)

      בתיקייה הראשית של המערכת, עליכם ליצור או לערוך 3 קבצים.

      📄 קובץ ext.ini

      type=go_to_folder
      title=מעבר לשלוחת השיחות הנכנסות
      go_to_folder=נכנסות
      

      📄 קובץ ivr.ini

      ; שיחה נכנסת תיענה רק לאחר שהצד השני ענה לשיחה
      call_no_answer=yes
      
      ; הפנייה לפי מחייג ומחוייג
      check_did_and_go_to_folder=yes
      did_and_phone_check=yes
      did_and_phone_not_found=check_did
      

      📄 קובץ Did_Go_To.ini
      ⚠️ שימו לב: החליפו את 0773137770 במספר המערכת שלכם, ואת 0555555555 במספר הטלפון האישי שלכם!

      0555555555-0773137770=/יוצאות
      0773137770=/נכנסות
      

      📥 2. שלוחה נכנסות (קבלת שיחות)

      צרו שלוחה בשם נכנסות והגדירו בה את שני הקבצים הבאים:

      📄 קובץ ext.ini

      type=routing_queue
      
      ; הוספת ספרות בסוף המספר המזוהה כדי שתדעו שהשיחה הגיעה מהמערכת (ניתן לשנות/להוסיף עד 6 ספרות)
      queue_your_id_add=888
      
      ; מעבר לניתוק בסיום השיחה או במקרה של שגיאה
      queue_end_continue_goto=hangup
      queue_error_goto=hangup
      queue_end_goto=hangup
      

      📄 קובץ queue.ini
      ⚠️ שימו לב: החליפו את 0555555555 במספר הטלפון שלכם.

      0555555555
      announce-position=no
      announce-frequency=0
      periodic-announce-frequency=0
      ringinuse=yes
      ; מוזיקה בהמתנה (ייתכן שבחלק מהמערכות זה לא יעבוד ותושמע מוזיקת ברירת המחדל)
      musicclass=447292_musicclass
      

      📤 3. שלוחה יוצאות (הקשת המספר ליעד)

      צרו שלוחה בשם יוצאות והגדירו אותה כך:

      📄 קובץ ext.ini

      type=add_id_to_list
      title=הקשת מספר לחיוג
      
      ; ביטול הפנייה לפי מחייג ומחויג על מנת למנוע לופ
      check_did_and_go_to_folder=
      
      add_id_to_list_location_list=/יוצאות/A/ext
      add_id_to_list_key=api_add_2
      add_id_to_list_value_first=contents=announce-position=no%0Aannounce-frequency=0%0Aperiodic-announce-frequency=0%0Aringinuse=yes%0Amusicclass=447292_musicclass%0A
      add_id_to_list_value_type=digits
      add_id_to_list_value_change=yes
      add_id_to_list_end_goto=A
      

      🎙️ קבצי שמע חובה לשלוחה זו:
      העלו את שני הקבצים הבאים לתוך שלוחת יוצאות:
      📥

        m3411-1.wav

      📥
        m4358-1.wav


      ⚙️ 4. שלוחה יוצאות/A (שלוחת ה-API)

      בתוך שלוחת יוצאות, צרו תת-שלוחה בשם A:

      📄 קובץ ext.ini
      ⚠️ שימו לב: בשורה של ה-api_add_0 יש להכניס את פרטי ההתחברות שלכם למערכת!

      type=api
      title=שינוי המספר לחיוג
      
      ; ביטול הפנייה לפי מחייג ומחויג על מנת למנוע לופ
      check_did_and_go_to_folder=
      
      api_link=https://www.call2all.co.il/ym/api/UploadTextFile
      
      ; חובה לעדכן כאן: מספר מערכת:סיסמה / טוקן / מפתח API
      api_add_0=token=מספר_מערכת:סיסמה/טוקן_התחברות/מפתח_API
      
      api_add_1=what=ivr2:/יוצאות/B/queue.ini
      api_add_2=contents=announce-position=no%0Aannounce-frequency=0%0Aperiodic-announce-frequency=0%0Aringinuse=yes%0Amusicclass=447292_musicclass%0A
      
      ; ביטול שליחה בניתוק
      api_hangup_send=no
      
      ; מעבר בסיום לשלוחת החיוג בפועל
      api_end_goto=../B
      

      🎙️ קבצי שמע חובה לשלוחה זו:
      העלו את הקובץ הבא לתוך שלוחת יוצאות/A:
      📥

        m1607.wav


      📞 5. שלוחה יוצאות/B (החיוג בפועל)

      בתוך שלוחת יוצאות, צרו תת-שלוחה נוספת בשם B:

      📄 קובץ ext.ini

      type=routing_queue
      title=שיחות יוצאות
      
      ; ביטול ההפנייה לפי מחייג ומחויג על מנת למנוע לופ
      check_did_and_go_to_folder=
      
      ; חיוג ליעד כאשר המספר המזוהה הוא מספר המערכת שלכם
      queue_caller_id=customer_did
      
      ; מעבר לניתוק בסיום השיחה
      queue_end_continue_goto=hangup
      

      זהו, המערכת שלכם מוגדרת ומוכנה לפעולה! 🎯
      אם עקבתם אחרי כל השלבים, תוכלו עכשיו להוציא ולקבל שיחות בצורה חלקה דרך המערכת.

      יש שאלות? משהו הסתבך? תכתבו כאן בתגובות ואשמח לעזור!
      בהצלחה לכולם!

      פורסם בהסברים מסודרים ממשתמשים
      C
      CUBASE
    • פיתוח פרטי | ניתוב למספר בהשמע"ק לפי הקשה בהקלטה

      שלום לכולם!

      בעקבות בקשה של החברים היקרים @יצחק-י. ו- @פלפל-שחור, אני שמח לשתף אתכם במודול חדש שפיתחתי.

      מה המודול הזה עושה בעצם?
      הוא מאפשר לכם להקליט הודעה ולשייך אותה למספר טלפון לניתוב. בהמשך, כשמאזינים נכנסים לשלוחת ההשמעה, הם יכולים לעבור ישירות לאותו מספר - או על ידי הקשה על מקש שתגדירו מראש, או באופן אוטומטי מיד בסיום השמעת ההודעה. פשוט ונוח! 😎

      כדי להשתמש במודול, יש להגדיר שתי שלוחות - שלוחת הקלטה ושלוחת השמעה. להלן ההגדרות שעליכם להכניס:

      🎙️ חלק א': הגדרות לשלוחת ההקלטה

      הכניסו את הקוד הבא לשלוחה שבה אתם רוצים שיקליטו את ההודעות (אל תשכחו לעדכן את הטוקן ואת נתיב השלוחה שלכם):

      type=api
      title=הקלטה בהקשת מספר
      
      api_link=https://record-routing.onrender.com/recordRouting.php
      
      ; חובה להחליף את המילה "טוקן" בטוקן האישי שלכם במערכת
      api_add_0=token=טוקן
      
      ; כאן יש להכניס את נתיב השלוחה שבה יישמרו הקבצים
      api_add_1=path=/1
      
      ; לאן לעבור בסיום ההקלטה (אפשר למחוק את השורה הזו אם תרצו שהמערכת פשוט תחזור שלב אחד אחורה)
      api_end_goto=..
      

      🎧 חלק ב': הגדרות לשלוחת השמעת הקבצים

      בשלוחה שבה המאזינים שומעים את הקבצים, תוכלו לבחור מתי ואיך יתבצע הניתוב. הנה 3 אפשרויות נפוצות, ניתן לראות פרטים נוספים כאן:

      אפשרות 1: מעבר באמצעות מקש ישיר (בדוגמה - מקש 9)
      המאזין לוחץ על 9 תוך כדי ההשמעה ועובר לניתוב.

      control_play9=send_api
      api_link=https://record-routing.onrender.com/recordRouting.php
      api_add_0=token=טוקן
      

      אפשרות 2: מעבר דרך תפריט "אפשרויות נוספות" (בדוגמה - הקשת *8 )
      המאזין מקיש כוכבית, ואז 8 כדי לעבור.

      control_play_moreA8=send_api
      api_link=https://record-routing.onrender.com/recordRouting.php
      api_add_0=token=טוקן
      

      אפשרות 3: מעבר אוטומטי מיד לאחר סיום הקובץ
      ברגע שההודעה מסתיימת, המאזין יועבר אוטומטית למספר שהוגדר.

      after_play=send_to_api
      api_link=https://record-routing.onrender.com/recordRouting.php
      api_add_0=token=טוקן
      

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

      בהצלחה!

      פורסם בהסברים מסודרים ממשתמשים
      C
      CUBASE
    • RE: חדש! ניתוב שיחה ליעד מוגדר מראש במודול ניתוביה - ללא עלות יחידות!

      @HTML חרטוטים של בינה מלאכותית!

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

      מצטער על העזות והחוצפה לפגוע בכבודה של הבינה שלך, אבל זה פשוט נמאס!

      פורסם בחדש במערכת
      C
      CUBASE
    • צפייה במספרים שהוזמנו לרשימת צינתוקים באתר (Tampermonkey)!!!

      קרה לכם שרציתם לצפות במספרים שהוזמנו לרשימת צינתוקים והתאכזבתם לראות שזה לא אפשרי?
      אז מהיום זה אפשרי!, ובתהליך פשוט מאוד!

      1. באם עדיין לא מותקן לכם התוסף Tampermonkey לכרום - התקינו אותו מכאן

      2. לאחר ההתקנה עברו לקישור הזה ובדף השני שנתפח לחצו על Install
        ee03cdf3-7539-4e9a-b16a-9c5a5c8632a0-image.png

      3. זהו!, עברו לצפייה ברשימות הצינתוקים באתר הניהול ותופתעו!

      תהנו!

      b4a0f33b-ee25-4731-a9fe-ae069fd512cf-image.png
      1d4314e7-906c-4f96-9cc1-d28ae575b10a-image.png

      פורסם בטיפים עצות והדגמות מהמשתמשים
      C
      CUBASE
    • RE: שורה מוזרה ביצירת שלוחה

      @HTML אתה יכול לסמוך עליו, אבל עד תשובות לדברים שלא כתוב עליהם כלום בפורום - אז הוא מועד לחרטוטים שנראים רציניים, AI לא באמת אמור לדעת על המזהים הפנימיים של ימות המשיח

      פורסם בבאגים במערכת
      C
      CUBASE
    • RE: הפניה לשלוחה פנימית במערכת אחרת, של IVRפון.

      @צבי-ד-צ ב"ה מצאתי קומבינה לבצע את זה, הבאתי כאן

      פורסם בשאלות ועזרה הדדית
      C
      CUBASE
    • RE: קומבינה לשיחה יוצאת עם זיהוי מערכת על בסיס שלוחת API ושלוחת תור החדשה

      ראיתי שקצת הסתבכו כאן, אכתוב את הדרך שבה השתמשתי ועובדת לי מצוין ללא השהיות:

      1.
      שלוחה 1/

      type=add_id_to_list
      title=הקשת מספר לחיוג
      
      add_id_to_list_location_list=/1/1/ext
      
      add_id_to_list_key=api_add_2
      
      add_id_to_list_value_first=contents=announce-position=no%0Aannounce-frequency=0%0Aperiodic-announce-frequency=0%0Aringuse=yes%0Amusicclass=447292_musicclass%0A
      
      add_id_to_list_value_type=digits
      
      add_id_to_list_value_change=yes
      
      add_id_to_list_end_goto=1
      

      יש להעלות לשלוחה קובץ M3411 שקט,
      בשורה 8 אחרי ה-contents= זה ההגדרות בקובץ queue.ini עם %0A במקום ירידת שורה, ניתן לשנות/להוסיף הגדרות כרצונכם.

      ה-musicclass (מוזיקה בהמתנה) בשורה 8 זה צליל חיוג שיצרתי לו מוזיקה בהמתנה - מערכות בשרת ymta יעבוד להם, אחרים יצטרכו ליצור בעצמם ולשנות בשורה 8.


      2.
      שלוחה 1/1/

      type=api
      title=שינוי המספר לחיוג בפועל
      
      api_link=https://www.call2all.co.il/ym/api/UploadTextFile
      
      ;מפתח API
      api_add_0=token=***
      
      api_add_1=what=ivr2:/1/2/queue.ini
      api_hangup_send=no
      
      api_end_goto=../2
      

      יש ליצור מפתח API ולשים אותו בשורה 7, ובנוסף להעלות לשלוחה קובץ M1607 שקט.


      3.
      שלוחה 1/2/

      type=routing_queue
      title=שיחות יוצאות
      
      queue_caller_id=customer_did
      
      queue_end_continue_goto=hangup
      

      כמובן שבשלוחה זו אפשר להוסיף הגדרות כרצונכם.


      זה הכל, מקווה שיעזור למישהו.

      פורסם בעזרה הדדית למשתמשים מתקדמים
      C
      CUBASE
    • סקריפט ל-Tampermonkey בדף רשימות צינתוקים

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

      1. יש להתקין מכאן את Tampermonkey
      2. יש ללחוץ על התוסף ולבחור ב-Create a new script 82c57a27-db81-4923-9a2e-2e3603d974b1-image.png
      3. בעורך הקוד שנפתח יש להדביק את הסקריפט:
      // ==UserScript==
      // @name       הוספת כפתורים ברשימות צינתוקים - ימות
      // @version    1.3
      // @author     Shlomo and Jonny
      // @match      https://www.call2all.co.il/ym/index.php?view=Tzintukim
      // @match      https://private.call2all.co.il/ym/index.php?view=Tzintukim
      // ==/UserScript==
      
      (() => {
          // פונקציה לשליפת תאריך הפעולה האחרונה
          const getLastActionDate = async (listNumber) => {
              const url = `index.php?view=Tzintukim&action=getLogList&list=${listNumber}`;
              const response = await fetch(url);
              const pageText = await response.text();
              const parser = new DOMParser();
              const doc = parser.parseFromString(pageText, 'text/html');
              const tableRows = doc.querySelectorAll('#table_data .scrollContent tr');
      
              const lastRow = tableRows[tableRows.length - 1];
              const lastActionTime = lastRow ? lastRow.querySelector('td:nth-child(4)').innerText.trim() : null;
      
              if (lastActionTime) {
                  const [time, date] = lastActionTime.split(' ');
                  const [day, month, year] = date.split('/');
                  const [hours, minutes, seconds] = time.split(':');
                  return new Date(`${year}-${month}-${day}T${hours}:${minutes}:${seconds}`);
              }
              return null;
          };
      
          // יצירת קוביית חסימה עם אנימציית טעינה **רק על הטבלה**
          const createBlockingOverlay = () => {
              const table = $('#table_data');
              if (!table.length) return null;
      
              // יצירת שכבת חסימה עם האנימציה של "אנא המתינו..."
              const overlay = $('<div/>', { id: 'blockingOverlay' }).css({
                  'position': 'absolute',
                  'top': '0',
                  'left': '0',
                  'width': '100%',
                  'height': '100%',
                  'background-color': 'rgba(255, 255, 255, 0.7)', // רקע לבן שקוף
                  'z-index': '1000',
                  'display': 'flex',
                  'align-items': 'center',
                  'justify-content': 'center',
              }).html('<img src="res/ajax-loader-small.gif" alt="אנא המתינו...">');
      
              // הגדרת מיקום יחסית לטבלה
              table.css({ 'position': 'relative' }).append(overlay);
              return overlay;
          };
      
          // פונקציות מיון
          const sortTzintukimByLastAction = async (isAscending) => {
              const overlay = createBlockingOverlay();
              const rows = document.querySelectorAll('tr.listR');
              const rowsWithDates = [];
      
              for (let row of rows) {
                  const listNumber = row.querySelector('td:nth-child(1)').innerText.trim();
                  const lastActionDate = await getLastActionDate(listNumber);
                  if (lastActionDate) {
                      rowsWithDates.push({ row, lastActionDate });
                  }
              }
      
              rowsWithDates.sort((a, b) => isAscending ? a.lastActionDate - b.lastActionDate : b.lastActionDate - a.lastActionDate);
              document.querySelector('.scrollContent').append(...rowsWithDates.map(item => item.row));
              filterTzintukimByStart();
              if (overlay) overlay.remove();
          };
      
          const sortTzintukimByName = (isAscending) => {
              const rows = [...document.querySelectorAll('tr.listR')];
              rows.sort((a, b) => {
                  const nameA = a.querySelector('td:nth-child(1)').innerText.trim().toLowerCase();
                  const nameB = b.querySelector('td:nth-child(1)').innerText.trim().toLowerCase();
                  return isAscending ? nameA.localeCompare(nameB) : nameB.localeCompare(nameA);
              });
      
              document.querySelector('.scrollContent').append(...rows);
              filterTzintukimByStart();
          };
      
          const sortTzintukimBySize = (isAscending) => {
              const rows = [...document.querySelectorAll('tr.listR')];
              rows.sort((a, b) => {
                  const sizeA = parseInt(a.querySelector('td:nth-child(3)').innerText.trim(), 10);
                  const sizeB = parseInt(b.querySelector('td:nth-child(3)').innerText.trim(), 10);
                  return isAscending ? sizeA - sizeB : sizeB - sizeA;
              });
      
              document.querySelector('.scrollContent').append(...rows);
              filterTzintukimByStart();
          };
      
          // פונקציה לסינון רשימות אישיות
          const filterTzintukimByStart = () => {
              const shouldHidePersonalLists = $('#filterCheckbox').prop('checked');
              $('tr.listR').each(function () {
                  const listName = $(this).find('td:nth-child(1)').text().trim();
                  const shouldHide = listName.startsWith('05') || listName.startsWith('08');
                  $(this).toggle(!(shouldHide && shouldHidePersonalLists));
              });
          };
      
          // יצירת כפתורים
          const createButton = (id, text) => {
              return $('<button/>', { id, text }).css({
                  'padding': '10px',
                  'background-color': '#16638f',
                  'color': 'white',
                  'border': 'none',
                  'border-radius': '5px',
                  'cursor': 'pointer',
                  'margin': '10px'
              });
          };
      
          // כפתורי מיון
          const sortNameButton = createButton('sortNameTzintukim', 'סדר לפי שם הרשימה ▼');
          const sortSizeButton = createButton('sortSizeTzintukim', 'סדר לפי גודל הרשימה ▼');
          const sortDateButton = createButton('sortDateTzintukim', 'סדר לפי פעולה אחרונה ▼');
      
          const buttonContainer = $('<div/>', { id: 'buttonContainer' }).css({
              'display': 'flex',
              'justify-content': 'center',
              'gap': '20px',
              'margin-top': '20px',
          }).append(sortNameButton, sortSizeButton, sortDateButton);
      
          // תיבת סימון לסינון רשימות
          const filterCheckbox = $('<input type="checkbox" id="filterCheckbox" />').change(filterTzintukimByStart);
          const filterLabel = $('<label for="filterCheckbox"> הסתר רשימות צינתוקים אישיות</label>').css({
              'color': '#16638f',
              'font-size': '18px',
              'margin-left': '10px',
              'cursor': 'pointer',
          });
      
          const filterContainer = $('<div/>', { id: 'filterContainer' }).css({
              'display': 'flex',
              'align-items': 'center',
              'justify-content': 'center',
              'margin-top': '20px',
          }).append(filterCheckbox, filterLabel);
      
          // הוספת אלמנטים לדף
          $('.admin-section').after(buttonContainer, filterContainer);
      
          // משתנים למעקב אחר סדר המיון
          let nameSortOrder = true; // משתנה למעקב אחר סדר המיון של שם הרשימה
          let dateSortOrder = false;
          let sizeSortOrder = false;
      
          // חיבור אירועים לכפתורים
          sortSizeButton.click(() => {
              sortTzintukimBySize(sizeSortOrder);
              sizeSortOrder = !sizeSortOrder;
              sortSizeButton.text(sizeSortOrder ? 'סדר לפי גודל הרשימה ▲' : 'סדר לפי גודל הרשימה ▼');
          });
      
          sortNameButton.click(() => {
              // כל לחיצה משנה את סדר המיון
              sortTzintukimByName(nameSortOrder);
              nameSortOrder = !nameSortOrder; // הפוך את סדר המיון
              sortNameButton.text(nameSortOrder ? 'סדר לפי שם הרשימה ▲' : 'סדר לפי שם הרשימה ▼');
          });
      
          sortDateButton.click(async () => {
              await sortTzintukimByLastAction(dateSortOrder);
              dateSortOrder = !dateSortOrder;
              sortDateButton.text(dateSortOrder ? 'סדר לפי פעולה אחרונה ▲' : 'סדר לפי פעולה אחרונה ▼');
          });
      
          // סינון ראשוני
          $(document).ready(() => {
              filterTzintukimByStart();
      
              // מיון ראשוני לפי שם הרשימה בסדר יורד
              sortTzintukimByName(false); // false = יורד
              sortNameButton.text('סדר לפי שם הרשימה ▲'); // עדכון הטקסט של הכפתור
          });
      })();
      
      
      
      1. ללחוץ Ctrl+S
        5.זהו, כעת כשתכנסו לדף רשימות הצינתוקים תראו שהתווסף לכם כפתורים!

      בהצלחה!!


      רוצים עוד?, טקבקו!

      פורסם בטיפים עצות והדגמות מהמשתמשים
      C
      CUBASE
    • RE: שמיעת כמות המספרים ששמעו הודעה 🎰🎧📡 רישום אמיתי 📊📉✔

      ברמת העיקרון, הבקשה של @lavitoren-הטי-ל ניתנת לביצוע באמצעות API רק זה מצריך זמן מחשבה ותכנון נכון.

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

      פורסם בבקשות לפיתוח
      C
      CUBASE
    • RE: דרסתי שלוחה

      @פיתה אם מחקת בעבר ועד שלוחות שהם מספר 2 אז השלוחה שמחקת עכשיו תהיה כתובה 2-X כלומר המספר 2 ואז תוספת סיפרה פשוט תחפש את שלוחה 2-X עם המספר הכי גבוה

      פורסם בשאלות ועזרה הדדית
      C
      CUBASE
    • RE: יחידות במינוס - לא ניתן לשלוח צינתוק חינמי!!

      @שואל-שאלה מלך!! 👑

      פורסם בעזרה הדדית למשתמשים מתקדמים
      C
      CUBASE