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

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. קיים API מוכן לבדיקה האם עכשיו שבת או חג?

קיים API מוכן לבדיקה האם עכשיו שבת או חג?

מתוזמן נעוץ נעול הועבר תכנות
3 פוסטים 2 כותבים 390 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • איש ימיניא מחובר
    איש ימיניא מחובר
    איש ימיני
    כתב ב נערך לאחרונה על ידי
    #1

    קיים API מוכן לבדיקה האם עכשיו שבת או חג?
    או צריך לחשבן לבד לפי השקיעה?

    chocolateC תגובה 1 תגובה אחרונה
    0
    • chocolateC מנותק
      chocolateC מנותק
      chocolate
      השיב לאיש ימיני ב נערך לאחרונה על ידי
      #2

      @איש-ימיני https://kosherjava.com/zmanim/docs/api/com/kosherjava/zmanim/hebrewcalendar/JewishCalendar.html

      תגובה 1 תגובה אחרונה
      2
      • איש ימיניא מחובר
        איש ימיניא מחובר
        איש ימיני
        כתב ב נערך לאחרונה על ידי
        #3

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

        echo IsPermissibleSendTsintok();
        
        function IsPermissibleSendTsintok(){
            //בדיקת זמני היום, האם מותר הלכתית לשלוח צינתוק
            $YYYY = date('Y');
            $MM = date('m');
            $DD = date('d');
            /*
             * לבדיקות
                $YYYY = $_REQUEST['YYYY'];
                $MM = $_REQUEST['MM'];
                $DD = $_REQUEST['DD'];
            */
        
            $json = file_get_contents('https://www.hebcal.com/hebcal?v=1&cfg=json&geo=geoname&geonameid=281184&start='.$YYYY.'-'.$MM.'-'.$DD.'&end='.$YYYY.'-'.$MM.'-'.$DD.'&maj=on&s=on&leyning=off&b=59&m=90');
            $json = json_decode($json, true);
            /*
             * לבדיקות
                echo "<pre>";
                print_r($json);
                echo "</pre>";
            */
        
            $items = $json['items'];
        //אם יש ערך במערך
            if(count($items) > 0){
        
                foreach ($items as $item) {
                    if ($item['category'] == 'candles') {
                        $candles = explode( "T", $item['date']);
                        $candlesDate = $candles[0];
                        $candlesTime = explode( "+", $candles[1])[0];
                    }
                    if ($item['category'] == 'havdalah') {
                        $havdalah = explode( "T", $item['date']);
                        $havdalahDate = $havdalah[0];
                        $havdalahTime = explode( "+", $havdalah[1])[0];
                    }
                }
        
                if($items[0]['category'] == 'parashat'){
                    //בדוק אם כבר עבר זמן havdalah
                    if(strtotime($havdalahDate." ".$havdalahTime) < strtotime(date('Y-m-d H:i:s'))){
                        return "מותר לשלוח צינתוק";
                    }else{
                        exit('אסור לשלוח צינתוק');
                    }
                }elseif ($items[0]['yomtov'] == '1'){
                    if(strtotime($havdalahDate." ".$havdalahTime) < strtotime(date('Y-m-d H:i:s'))){
                        return "מותר לשלוח צינתוק";
                    }else{
                        exit('אסור לשלוח צינתוק');
                    }
                }else{
                    //בדוק אם כבר עבר זמן נרות
                    if(strtotime($candlesDate." ".$candlesTime) < strtotime(date('Y-m-d H:i:s'))){
                        exit('אסור לשלוח צינתוק');
                    }else{
                        return "מותר לשלוח צינתוק";
                    }
                }
            }
            return "מותר לשלוח צינתוק";
        }
        
        תגובה 1 תגובה אחרונה
        9

        בא תתחבר לדף היומי!
        • התחברות

        • אין לך חשבון עדיין? הרשמה

        • התחברו או הירשמו כדי לחפש.
        • פוסט ראשון
          פוסט אחרון
        0
        • דף הבית
        • קטגוריות
        • פוסטים אחרונים
        • משתמשים
        • חיפוש
        • חוקי הפורום