קיים API מוכן לבדיקה האם עכשיו שבת או חג?
-
-
עכשיו היה לי צורך לעשות כזו בדיקה ב 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 "מותר לשלוח צינתוק"; }
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות