• דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    • הרשמה
    • התחברות
    1. דף הבית
    2. yankl
    3. נושאים
    Y מנותק
    • פרופיל
    • עוקב אחרי 0
    • עוקבים 0
    • נושאים 21
    • פוסטים 142
    • קבוצות 0

    נושאים

    • Y

      קבצי שידור חי משוטטים בקו. הבו פתרון!

      במעקב התעלמות מתוזמן נעוץ נעול הועבר עזרה הדדית למשתמשים מתקדמים
      14
      0 הצבעות
      14 פוסטים
      663 צפיות
      ע
      @צבי-ד-צ שהמנהל יעבור דרך שם. ושיגידו לו לחכות עד הסוף, א"א לסמוך על המאזין. לכאורה זה פשוט לעשות את זה. התחום שלך זה כל הדברים בלי-צורך-בשרת.
    • Y

      שינוי מיקום הקלטות לפי לוח זמנים

      במעקב התעלמות מתוזמן נעוץ נעול הועבר עזרה הדדית למשתמשים מתקדמים
      9
      0 הצבעות
      9 פוסטים
      393 צפיות
      Y
      ב"ה יצרתי בפייתון 60 שלוחות הקלטה כמספר הפרשיות עם המחוברות. עם שמירה לכל פרשה למיקום שלה. פילטר אקסס מוגדר מראש שמנווט את ההקלטה לשלוחת ההקלטה הרצוייה. יישר כח למסייעים ברעיונות.
    • Y

      יצירת אסימון 'זכור אותי' בAPI

      במעקב התעלמות מתוזמן נעוץ נעול הועבר עזרה הדדית למשתמשים מתקדמים
      12
      1
      1 הצבעות
      12 פוסטים
      543 צפיות
      שמואלש
      @yankl כתב ביצירת אסימון 'זכור אותי' בAPI: ניסיתי עשרות נסיונות, מחקתי אסימונים ושוב.. מצליח רק לעשות רק כתובת IP מאושרת, אבל בכל דרך לא הצלחתי לעשות אסימון זכור אותי משום סוג שהוא, רק דרך האתר תכתוב לי פרטים מלאים במייל, אבדוק לעומק.
    • Y

      הקלטת חדר ועידה לא מפסיקה

      במעקב התעלמות מתוזמן נעוץ נעול הועבר עזרה הדדית למשתמשים מתקדמים
      3
      1
      0 הצבעות
      3 פוסטים
      159 צפיות
      Y
      נמצא הגנב... הבאג בגלל שבנתיב השמירה היה בטעות סלש (/). במקום - folder_move=08, היה - folder_move=/08.
    • Y

      הקלטת חדר ועידה לא מפסיקה

      במעקב התעלמות מתוזמן נעוץ נעול הועבר שאלות ועזרה הדדית
      1
      0 הצבעות
      1 פוסטים
      100 צפיות
      אין תגובות
    • Y

      השמעה יומית לפי תאריך עברי, זיהוי אדר ב'

      במעקב התעלמות מתוזמן נעוץ נעול הועבר עזרה הדדית למשתמשים מתקדמים
      9
      3 הצבעות
      9 פוסטים
      601 צפיות
      ה
      @yankl הנושא ישן, הוא גם לא רלוונטי לא לשנה הנוכחית ולא לשנה הבאה שהן שנים פשוטות, בכל אופן עברתי עכשיו קצת ומצאתי - אולי יועיל בהמשך אם לא יפתרו את זה בדרך המלך. יש פתרון פשוט יחסית, רק להוסיף כמה שורות עבור הקבצים הספציפיים של תחילת אד"א ותחילת ניסן. מה שצריך זה רק להגדיר מעבר לשלוחה ייעודית בהקשה על 8 בקובץ המדובר, וכן מעבר בסיום הקובץ המסויים לשלוחה הייעודית, בשלוחה ההיא להגדיר השמעת קבצים מהתיקייה הנוכחית ולהתחיל מהקובץ הרצוי. נניח שאתה נמצא בשלוחה 7 בתפריט הראשי, כך צריכה להיראות השלוחה שלך: type=playfile title=הלימוד היומי ;הפעלה לפי תאריך עברי folder_play=heb_date ;שנת תשפ"ז תהיה מעוברת ;נצטרך להצמיד את ל' שבט לא' אד"א ואת כ"ט אד"ב לא' ניסן ;מעבר לל' שבט בהקשת 8 בשיעור א' אד"א playfile_57871301_control_play_8=go_to_folder playfile_57871301_control_play_8_goto=/meuberet/7_57870530 ;מעבר לא' אד"א בהקשת 2 בשיעור ל' שבט playfile_57870530_control_play_8=go_to_folder playfile_57870530_control_play_8_goto=/meuberet/7_57871301 ;מעבר לל' שבט בסיום שיעור א' אד"א ללא הקשה after_play_57871301_go_to_folder=/meuberet/7_57870530 ;מעבר לכ"ט אד"ב בהקשת 8 בשיעור א' ניסן playfile_57870701_control_play_8=go_to_folder playfile_57870701_control_play_8_goto=/meuberet/7_57871429 ;מעבר לא' ניסן בהקשת 2 בשיעור כ"ט אד"ב playfile_57871429_control_play_8=go_to_folder playfile_57871429_control_play_8_goto=/meuberet/7_57870701 ;מעבר לכ"ט אד"ב בסיום שיעור א' ניסן ללא הקשה after_play_57870701_go_to_folder=/meuberet/7_57871429 ניצור שלוחה חדשה בשם meuberet (מעוברת) - או כל שם אחר שימצא חן בעיניך.. בתוכה ניצור שלוחה עבור כל הפנייה, אני קראתי לשלוחות בשם "שלוחה_קובץ לניתוב פנימי" למען הסדר הטוב, תעשה ככך העולה בדמיונך.. כך ייראו השלוחות בתיקייה "meuberet": ניתוב ל-ל' בשבט התשפ"ז type=playfile title=ל שבט תשפז ;השלוחה ממנה יושמעו הקבצים folder_to_play=/7 ;הקובץ אותו יש להשמיע ראשון start_play=57870530 ניתוב ל-א' באדר א' התשפ"ז type=playfile title=א אדר א תשפז folder_to_play=/7 start_play=57871301 ניתוב ל-כ"ט באדר ב' התשפ"ז type=playfile title=כט אדר ב תשפז folder_to_play=/7 start_play=57871429 ניתוב ל-א' בניסן התשפ"ז type=playfile title=א ניסן תשפז folder_to_play=/7 start_play=57870701 בהצלחה!!!
    • Y

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

      במעקב התעלמות מתוזמן נעוץ נעול הועבר עזרה הדדית למשתמשים מתקדמים
      73
      1
      4 הצבעות
      73 פוסטים
      4k צפיות
      פ
      @yt2178 שלחתי לך מייל לגבי התוכנה אשמח שתגיב לי עליו שם תודה
    • Y

      מספור הקלטה ושם קובץ מוגדר מראש

      במעקב התעלמות מתוזמן נעוץ נעול הועבר בקשות לפיתוח
      6
      2 הצבעות
      6 פוסטים
      473 צפיות
      ה
      @שמחה-זו-הסיסמא כתב במספור הקלטה ושם קובץ מוגדר מראש: @הלוי-הלוי תראה גם כאן https://f2.freeivr.co.il/post/79598 זה באמת נראה קרוב למה שאני מחפש ונראה שזה גם מה ש - @yankl חיפש. שאלה 1. האם ניתן להגדיר את playdir_time_type=admin גם עבור הקלטה רגילה שאיננה שידור חי? שאלה 2. האם ניתן להגדרה גם על תאריך עברי? שאלה 3. האם אוכל איכשהו לדלג על אפשרויות ההקשה ומייד ייחשב שהקישו 00 לתאריך של היום? @שמחה-זו-הסיסמא תודה רבה רבה!! תזכה למצוות רבות!!! אין לך מושג כמה זה יחסוך לי.. במערכת משתמשים לא רק רב אחד ולא רק בשלוחה אחת (בלשון המעטה...). כל פעם במוצאי שבת אני צריך לשנות את השם של הקובץ הריק בשביל שההקלטה של יום ראשון תהיה בתאריך הנכון... באדר א' ואדר ב' זה היה עוד יותר מסובך, כי שבט הוא 05, אד"א הוא 13 ואד"ב הוא 14, הבעיה הכי גדולה תהיה לי (אם לא ייפתר עד אז) בניסן, כי אם לא אשנה את כל שמות הקבצים של האדרים, הכל יהיה רחוק מאד מניסן - 07. פחות או יותר זה עובד כך: אחרי ל שבט תשפד - 57840530, אם לא הייתי כותב קובץ ריק בשם - 57841300, הקובץ הבא היה - 57840531 במקום - 57841301, כך אני עושה בכל ראש חודש (כל עוד בחודש יש 29/30 יום ולא 100...) לקראת ניסן, לא יעזור לי לעשות קובץ בשם - 57840700, כי כל אדר א' ואדר ב' הם במספר שיותר גבוה מזה. מקווה שהובנתי.. לא מצאתי דרך יותר פשוטה ומובנת...
    • Y

      עזרה בהורדת דו"ח ymgr בAPI

      במעקב התעלמות מתוזמן נעוץ נעול הועבר עזרה הדדית למשתמשים מתקדמים
      7
      0 הצבעות
      7 פוסטים
      426 צפיות
      Y
      @צדיק-תמים עובד לי מצוין! קצת שינוי כמובן בצורת הדו"ח, עמודות וכו'. אבל עובד לי מעולה!! תודה ענקית!! אם יועיל למישהו אני משתף את הקוד בצורה מלאה: $client = new-object System.Net.WebClient $client.DownloadFile("https://private.call2all.co.il/ym/api/RenderYMGRFile?token=0********:1234&wath=ivr2:Log/LogFolderEnterExit-2022-06.ymgr&convertType=csv","C:\log\LogFolderEnterExit-2022-06.csv") כמובן שמירה כPS1 והפעלה.
    • Y

      הגדרת end_goto= עובר רק פעם אחת בכל שיחה

      במעקב התעלמות מתוזמן נעוץ נעול הועבר עזרה הדדית למשתמשים מתקדמים
      2
      0 הצבעות
      2 פוסטים
      211 צפיות
      Y
      איכשהו הסתדרתי דרך מודל רגיל של השמעת קבצים עם הגדרת השמעה יומית folder_play=heb_date הבאג נשאר כנ"ל. תודה למי שניסה...
    • Y

      מספור הקלטה קבוע מראש

      במעקב התעלמות מתוזמן נעוץ נעול הועבר שאלות ועזרה הדדית
      8
      0 הצבעות
      8 פוסטים
      380 צפיות
      Y
      @yankl אמר במספור הקלטה קבוע מראש: אשמח שתציין איזה באגים יש בזה, על מנת שנוכל לטפל. ראיתי שאני לא הראשון שנתקל בתקלה הנ"ל. עיין כאן שכבר הגיבו לך על העניין. תודה.
    • Y

      אם לא הוקשה בחירה שישמיע מהקטן לגדול

      במעקב התעלמות מתוזמן נעוץ נעול הועבר שאלות ועזרה הדדית
      33
      0 הצבעות
      33 פוסטים
      2k צפיות
      Y
      תודה לכל העוזרים!! חבל שלא זכיתי להיות זמין כשהייתם לצידי. מה שמוגדר כעת זה: start=select_up start_select_digits=2 timeout_select_file=5 timeout_no_selection=min attempts=1 התוצאה היא 'לא הוקשה בחירה' שוב ושוב. ניסיתי הרבה לשחק עם הגדרה כזו או אחרת, שום דבר לא הצליח להביא לפתרון הפשוט לכאורה. אופציה לבחור קובץ, וכשאין בחירה יתחיל מהקובץ הקטן. מחכה לגאון שיפתור את התעלומה...
    • Y

      הגדרה כללית לכל שלוחות השמעת קבצים - playfile

      במעקב התעלמות מתוזמן נעוץ נעול הועבר נפתר שאלות ועזרה הדדית
      3
      0 הצבעות
      3 פוסטים
      236 צפיות
      Y
      @א-גוטן תודהההה! כמה זמן חסכת לי!....
    • Y

      השמעה ברצף או לפי בחירה

      במעקב התעלמות מתוזמן נעוץ נעול הועבר עזרה הדדית למשתמשים מתקדמים
      5
      1 הצבעות
      5 פוסטים
      336 צפיות
      Y
      @avrham אמר בהשמעה ברצף או לפי בחירה: @yankl אמר בהשמעה ברצף או לפי בחירה: @שרות-פלוס-ivr השמעה רציפה בלי הודעה, לקובץ הבא הקישו 1 וכדו'. כן זה הברירת מחדל שזה לא שואל לקובץ הבא וכו' תודה רבה!
    • Y

      ניתוב לפי תאריך ב2 חודשים, כיצד?

      במעקב התעלמות מתוזמן נעוץ נעול הועבר שאלות ועזרה הדדית
      5
      0 הצבעות
      5 פוסטים
      310 צפיות
      Y
      @eliyahu כי אני עושה את זה באקסל באופן אוטומטי להרבה מופעים. עיין כאן וזה אומר שינוי ידני בכל מעבר חודש.
    • Y

      שלוחת פרשת שבוע אוטומטית

      במעקב התעלמות מתוזמן נעוץ נעול הועבר שאלות ועזרה הדדית
      35
      2 הצבעות
      35 פוסטים
      3k צפיות
      Y
      ב"ה עשיתי כעת פתרון עצמאי, במקום לשנות לכל שנה בנפרד. מועיל גם לשידור חי לפי פרשה וגם לניתוב לשלוחת האזנה לפי פרשה, קבוע. ניתן לשנות כמובן כ"א לפי המערכת שלו, וכמובן להעלות לשרת ולפ"ז להגדיר את הAPI. השארתי את ההסבר לכל הגדרה לנוחות העברה. להלן הקוד להעלאה לשרת: <?php /** * =========================================================================== * parsha.php - ניתוב אוטומטי קבוע לפי פרשת השבוע (שידור + האזנה) * =========================================================================== * מטרה: להחליף את שתי טבלאות ה-go_to_folder_time הידניות (שדרשו עדכון שנתי) * בשלוחת API אחת שמחשבת את פרשת השבוע מהלוח העברי - "הגדר ושכח" ל-50 שנה. * * שימוש כשלוחת ימות (type=api): * שידור (שלוחה 90/08): api_link=https://********/yemot/parsha.php?mode=broadcast * האזנה (שלוחה /10/.../01): api_link=https://********/yemot/parsha.php?mode=listen * * בדיקה ידנית בדפדפן: * ?mode=listen&debug=1 -> JSON עם כל הפרטים לפרשה הנוכחית * ?mode=broadcast&debug=1&date=2026-05-09 -> בדיקת תאריך ספציפי (בהר-בחקתי) * * איך זה עובד: * - מחשב את "השבת הקרובה" (השבת שאליה מכוון שיעור השבוע). * - מושך את לוח הפרשות/חגים מ-Hebcal (ארץ ישראל) ושומר בקאש מקומי. * הקאש מתרענן אוטומטית פעם בשנה - אין שום עדכון ידני לעולם. * - אם באותה שבת נקראת פרשה רגילה -> מנתב לשלוחת הפרשה. * - אם השבת היא חג שאין בו פרשה רגילה (פסח/שבועות/ר"ה/יו"כ/סוכות) -> * מנתב לשלוחת החג (בהאזנה). בשידור: הודעה שאין שידור בחג (ניתן להגדיר שלוחה). * =========================================================================== */ date_default_timezone_set('Asia/Jerusalem'); define('PARSHA_ENGINE_VER', '1.1'); // סמן גרסה לאימות הפריסה /* ---------------------------- הגדרות ---------------------------- */ $CONFIG = [ // בסיסי הנתיבים (מתאים לטבלאות הקיימות שלך) 'broadcast_base' => '/90/10', // שלוחות השידור (קונפרנס) לפי פרשה 'listen_base' => '/10/02', // שלוחות ההאזנה לפי פרשה // שלוחות חג להאזנה (מתוך הרשימה שנתת) 'festival_listen' => [ 'pesach' => '/301/04/01', // פסח (כולל חוה"מ) 'shavuot' => '/301/04/03', // שבועות 'rosh' => '/301/04/05/02', // ראש השנה 'kippur' => '/301/04/05/04', // יום הכיפורים 'sukkot' => '/301/04/05/05', // סוכות / שמע"צ / שמח"ת ], // שלוחות חג לשידור. השאר ריק => הודעה "אין שידור בחג". // אם תרצה שידור גם בחג, הוסף כאן, למשל: 'pesach' => '/90/10/XX' 'festival_broadcast' => [ ], 'cache_file' => __DIR__ . '/parsha_cache.json', 'log_file' => __DIR__ . '/parsha_log.txt', 'fallback_msg' => 'השבוע אין פרשה לפי הסדר, ניתן להאזין לשיעורי החג', 'no_broadcast_chag_msg' => 'השבוע חג, אין שידור שיעור', ]; /* * מיפוי פרשה (שם אנגלי מנורמל של Hebcal) => [מספר שלוחת שידור, נתיב שלוחת האזנה]. * הנתונים חולצו מהרשימות המדויקות שסיפקת (שלוחות /90/10 ו-/10/02). */ $PARSHA_MAP = [ // בראשית 'bereshit' => ['01', '01/01'], 'noach' => ['02', '01/02'], 'lechlecha' => ['03', '01/03'], 'vayera' => ['04', '01/04'], 'chayeisara' => ['05', '01/05'], 'toldot' => ['06', '01/06'], 'vayetzei' => ['07', '01/07'], 'vayishlach' => ['08', '01/08'], 'vayeshev' => ['09', '01/09'], 'miketz' => ['10', '01/10'], 'vayigash' => ['11', '01/11'], 'vayechi' => ['12', '01/12'], // שמות 'shemot' => ['13', '02/01'], 'vaera' => ['14', '02/02'], 'bo' => ['15', '02/03'], 'beshalach' => ['16', '02/04'], 'yitro' => ['17', '02/05'], 'mishpatim' => ['18', '02/06'], 'terumah' => ['19', '02/07'], 'tetzaveh' => ['20', '02/08'], 'kitisa' => ['21', '02/09'], 'vayakhel' => ['22', '02/10'], 'pekudei' => ['23', '02/11'], 'vayakhelpekudei' => ['24', '02/12'], // ויקרא 'vayikra' => ['25', '03/01'], 'tzav' => ['26', '03/02'], 'shmini' => ['27', '03/03'], 'tazria' => ['28', '03/04'], 'metzora' => ['29', '03/05'], 'tazriametzora' => ['35', '03/11'], 'achreimot' => ['30', '03/06'], 'kedoshim' => ['31', '03/07'], 'achreimotkedoshim' => ['36', '03/12'], 'emor' => ['32', '03/08'], 'behar' => ['33', '03/09'], 'bechukotai' => ['34', '03/10'], 'beharbechukotai' => ['37', '03/13'], // במדבר 'bamidbar' => ['38', '04/01'], 'nasso' => ['39', '04/02'], 'behaalotcha' => ['40', '04/03'], 'shlach' => ['41', '04/04'], 'korach' => ['42', '04/05'], 'chukat' => ['43', '04/06'], 'balak' => ['44', '04/07'], 'pinchas' => ['45', '04/08'], 'matot' => ['46', '04/09'], 'masei' => ['47', '04/10'], 'matotmasei' => ['48', '04/11'], // דברים 'devarim' => ['49', '05/01'], 'vaetchanan' => ['50', '05/02'], 'eikev' => ['51', '05/03'], 'reeh' => ['52', '05/04'], 'shoftim' => ['53', '05/05'], 'kiteitzei' => ['54', '05/06'], 'kitavo' => ['55', '05/07'], 'nitzavim' => ['56', '05/08'], 'vayeilech' => ['57', '05/09'], 'nitzavimvayeilech' => ['60', '05/12'], 'haazinu' => ['58', '05/10'], 'vezothaberachah' => ['59', '05/11'], ]; /* ---------------------------- קוד ---------------------------- */ function p_log($m) { global $CONFIG; if (!empty($CONFIG['log_file'])) { @file_put_contents($CONFIG['log_file'], date('Y-m-d H:i:s') . " $m\n", FILE_APPEND); } } /** ניקוי טקסט לתשובת ימות (הסרת תווים ששוברים את הפרוטוקול) */ function say_clean($text) { $text = str_replace(['&', '=', '.', "\r", "\n"], [' ', ' ', ' ', ' ', ' '], $text); return trim($text); } /** נרמול שם פרשה אנגלי לשם מפתח (אותיות/ספרות בלבד, אותיות קטנות) */ function normalize_parsha($title) { $t = preg_replace('/^Parashat\s+/i', '', $title); $t = strtolower($t); return preg_replace('/[^a-z0-9]/', '', $t); } /** חותמת השבת הקרובה (השבת הראשונה שגדולה/שווה להיום) */ function coming_shabbat_ts($ts) { $d = strtotime(date('Y-m-d', $ts)); $dow = (int)date('w', $d); // 0=ראשון .. 6=שבת $add = (6 - $dow + 7) % 7; // 0 אם היום שבת return $d + $add * 86400; } /** שליפת לוח פרשות+חגים מ-Hebcal (ארץ ישראל) לטווח תאריכים */ function fetch_hebcal($start, $end) { $url = "https://www.hebcal.com/hebcal?cfg=json&v=1&s=on&maj=on&i=on" . "&start=" . urlencode($start) . "&end=" . urlencode($end); $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 20, CURLOPT_SSL_VERIFYPEER => false, // תאימות NetFree/פרוקסי CURLOPT_SSL_VERIFYHOST => false, CURLOPT_USERAGENT => 'parsha/1.0', ]); $raw = curl_exec($ch); $err = curl_error($ch); curl_close($ch); if ($raw === false) { p_log("Hebcal fetch error: $err"); return null; } $data = json_decode($raw, true); if (!isset($data['items']) || !is_array($data['items'])) { p_log('Hebcal: תשובה לא תקינה'); return null; } $items = []; foreach ($data['items'] as $it) { if (!isset($it['date'], $it['category'])) continue; if ($it['category'] !== 'parashat' && $it['category'] !== 'holiday') continue; $items[] = [ 'date' => substr($it['date'], 0, 10), 'category' => $it['category'], 'title' => isset($it['title']) ? $it['title'] : '', ]; } return $items; } function load_cache() { global $CONFIG; if (!is_file($CONFIG['cache_file'])) return null; $d = json_decode(@file_get_contents($CONFIG['cache_file']), true); return is_array($d) ? $d : null; } function save_cache($c) { global $CONFIG; @file_put_contents($CONFIG['cache_file'], json_encode($c, JSON_UNESCAPED_UNICODE)); } /** * מחזיר את רשימת הפריטים (פרשות+חגים) המכסה את השבת המבוקשת. * במצב רגיל משתמש בקאש ומרענן פעם בשנה. במצב בדיקה (date=) לא נוגע בקאש. */ function items_for($shabbatTs, $isTest) { global $CONFIG; $D = date('Y-m-d', $shabbatTs); if ($isTest) { $items = fetch_hebcal(date('Y-m-d', $shabbatTs - 14 * 86400), date('Y-m-d', $shabbatTs + 14 * 86400)); return $items !== null ? ['items' => $items] : null; } $cache = load_cache(); $covered = $cache && isset($cache['start'], $cache['end']) && $cache['start'] <= $D && $D <= $cache['end']; if (!$covered) { $start = date('Y-m-d', time() - 14 * 86400); $end = date('Y-m-d', time() + 400 * 86400); $items = fetch_hebcal($start, $end); if ($items !== null) { $cache = ['start' => $start, 'end' => $end, 'fetched_at' => date('c'), 'items' => $items]; save_cache($cache); } } return $cache; } /** זיהוי חג משמעותי (שאין בו פרשה רגילה) מתוך רשימת חגים באותה שבת */ function festival_key($holidays) { foreach ($holidays as $h) { $t = $h['title']; if (stripos($t, 'Pesach') !== false) return 'pesach'; if (stripos($t, 'Shavuot') !== false) return 'shavuot'; if (stripos($t, 'Rosh Hashana') !== false) return 'rosh'; if (stripos($t, 'Yom Kippur') !== false) return 'kippur'; if (stripos($t, 'Sukkot') !== false || stripos($t, 'Shmini Atzeret') !== false || stripos($t, 'Simchat Torah') !== false) return 'sukkot'; } return null; } /** הלוגיקה המרכזית: קביעת היעד לפי התאריך והמצב */ function resolve_route($ts, $mode, $isTest) { global $CONFIG, $PARSHA_MAP; $sat = coming_shabbat_ts($ts); $D = date('Y-m-d', $sat); $res = ['shabbat' => $D, 'mode' => $mode]; $cache = items_for($sat, $isTest); if (!$cache || empty($cache['items'])) { $res['type'] = 'error'; return $res; } $par = null; $hol = []; foreach ($cache['items'] as $it) { if ($it['date'] !== $D) continue; if ($it['category'] === 'parashat') $par = $it; elseif ($it['category'] === 'holiday') $hol[] = $it; } // 1) פרשה רגילה if ($par) { $key = normalize_parsha($par['title']); if (isset($PARSHA_MAP[$key])) { $m = $PARSHA_MAP[$key]; $res['type'] = 'parsha'; $res['parsha'] = $par['title']; $res['folder'] = $mode === 'broadcast' ? $CONFIG['broadcast_base'] . '/' . $m[0] : $CONFIG['listen_base'] . '/' . $m[1]; return $res; } $res['type'] = 'unknown_parsha'; // לא אמור לקרות - להתראה בלוג $res['parsha'] = $par['title']; p_log('פרשה לא ממופה: ' . $par['title'] . ' (' . $key . ')'); return $res; } // 2) שבת-חג (אין פרשה רגילה) $fkey = festival_key($hol); if ($fkey) { $res['festival'] = $fkey; $res['holidays'] = array_column($hol, 'title'); if ($mode === 'broadcast') { if (isset($CONFIG['festival_broadcast'][$fkey])) { $res['type'] = 'festival'; $res['folder'] = $CONFIG['festival_broadcast'][$fkey]; } else { $res['type'] = 'no_broadcast'; } } else { $res['type'] = 'festival'; $res['folder'] = $CONFIG['festival_listen'][$fkey]; } return $res; } // 3) גיבוי $res['type'] = 'none'; $res['holidays'] = array_column($hol, 'title'); return $res; } /* ---------------------------- ניתוב הבקשה ---------------------------- */ // קביעת המצב. אפשר לכפות מבחוץ עם $FORCE_MODE (ראה shidur.php) - הכי חסין, // כי אין תלות בפרמטר URL שימות עלול לא להעביר. אחרת - זיהוי סובלני מה-mode. if (isset($FORCE_MODE)) { $mode = $FORCE_MODE === 'broadcast' ? 'broadcast' : 'listen'; } else { $raw = isset($_REQUEST['mode']) ? strtolower((string)$_REQUEST['mode']) : ''; if (strpos($raw, 'broadcast') !== false || strpos($raw, 'shidur') !== false) { $mode = 'broadcast'; } else { $mode = 'listen'; } } $isTest = isset($_REQUEST['date']); $ts = $isTest ? strtotime($_REQUEST['date']) : time(); if (!$ts) $ts = time(); $r = resolve_route($ts, $mode, $isTest); // מצב בדיקה: החזרת JSON מפורט if (isset($_REQUEST['debug'])) { $r['engine_ver'] = PARSHA_ENGINE_VER; $r['force_mode'] = isset($FORCE_MODE) ? $FORCE_MODE : '(none)'; header('Content-Type: application/json; charset=utf-8'); echo json_encode($r, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT); exit; } // תשובת ימות header('Content-Type: text/plain; charset=utf-8'); switch ($r['type']) { case 'parsha': case 'festival': echo 'go_to_folder=' . $r['folder']; break; case 'no_broadcast': echo 'id_list_message=t-' . say_clean($CONFIG['no_broadcast_chag_msg']) . '.'; break; default: p_log('גיבוי/שגיאה: ' . json_encode($r, JSON_UNESCAPED_UNICODE)); echo 'id_list_message=t-' . say_clean($CONFIG['fallback_msg']) . '.'; }
    • Y

      שמות קבצים בשלוחת playfile בעברית, אפשרי?

      במעקב התעלמות מתוזמן נעוץ נעול הועבר עזרה הדדית למשתמשים מתקדמים
      1
      1 הצבעות
      1 פוסטים
      127 צפיות
      אין תגובות
    • Y

      אפשרות התחברות לממשק האינטרנטי לצפיה בלבד

      במעקב התעלמות מתוזמן נעוץ נעול הועבר שאלות ועזרה הדדית
      7
      1 הצבעות
      7 פוסטים
      437 צפיות
      Y
      @שמואל אדיר!!!! אין מילים!
    • Y

      יש אפשרות שסולמית תהיה שלב אחורה ולא למעלה?

      במעקב התעלמות מתוזמן נעוץ נעול הועבר עזרה הדדית למשתמשים מתקדמים
      8
      1 הצבעות
      8 פוסטים
      321 צפיות
      י
      @yankl אמר ביש אפשרות שסולמית תהיה שלב אחורה ולא למעלה?: ראשית תודה לכל העונים, אני מלמד בשעות הבוקר ולכן לא הייתי כאן להתפעל מהאדיבות. הבנתם אותי מעולה, רק שזה לא משהו נקודתי. יש לי מערכת של שיעורים, כל השיעורים היו מסודרים לפי שם הרב. כעת עשיתי שלוחה שכולה הפניות לשמיעה לפי נושא. כמובן יש בה שלוחות תפריט ויש בה שלוחות השמעת קבצים. שאיפתי שהשלוחה הזו תתנהג כשלוחה רגילה לכל דבר, ולא שבכל פעם שזה מופנה לעץ השלוחות המקורי כאשר הולכים שלב אחורה בסולמית הוא עובר לשלוחות השיעורים לפי שם. כמובן בלי לזכור את סדר ההקשות וההפניות. אילו היה אפשר להגדיר את הסולמית כך שתלך אחורה זה היה הכי טוב, או לפחות להגדיר מקש אחר לשימוש הזה. לצערי לא מצאתי הגדרה תואמת. הפתרון הנ"ל להגדיר בתיקייה המופנית, לא יועיל כיוון שיש לי צורך בשימוש רגיל בסולמית. תודה על הלימוד בנדיבות הלב שנתתם לי! הערכתי. זה אי אפשר גם אני עשיתי כזה שלוחה שמפנה לכמה מקומות ובהקשה על סולמית הוא חוזר שלב קום איפה שהופנה ולא למקום שהפנתי אבל אני מציע לך אולי להגיד הודעה לפני ההפניה שבהקשה על X אתם מופנים לשלוחה זו אם אתה רוצים לחזור לתפריט הזה הקישו כוכבית לחזרה לתפריט הראשי ושוב XX להגיע לתפריט זה