דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • בהיר
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • כהה
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
  1. דף הבית
  2. מחשבים וטכנולוגיה
  3. רשתות
  4. בקשת מידע | API של פקע"ר

בקשת מידע | API של פקע"ר

מתוזמן נעוץ נעול הועבר רשתות
42 פוסטים 4 כותבים 2.4k צפיות 2 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • י יהודי זה הכי

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

    י מנותק
    י מנותק
    יוסי רחמים
    כתב נערך לאחרונה על ידי יוסי רחמים
    #19

    @יהודי-זה-הכי כתב בבקשת מידע | API של פקע"ר:

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

    בא לך להסביר מה אתה רוצה?
    אתה בנטפרי?

    י תגובה 1 תגובה אחרונה
    0
    • י יוסי רחמים

      @יהודי-זה-הכי כתב בבקשת מידע | API של פקע"ר:

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

      בא לך להסביר מה אתה רוצה?
      אתה בנטפרי?

      י מנותק
      י מנותק
      יהודי זה הכי
      כתב נערך לאחרונה על ידי
      #20

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

      י תגובה 1 תגובה אחרונה
      0
      • י יהודי זה הכי

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

        י מנותק
        י מנותק
        יוסי רחמים
        כתב נערך לאחרונה על ידי
        #21

        @יהודי-זה-הכי ואתה בנטפרי?

        י תגובה 1 תגובה אחרונה
        0
        • י יוסי רחמים

          @יהודי-זה-הכי ואתה בנטפרי?

          י מנותק
          י מנותק
          יהודי זה הכי
          כתב נערך לאחרונה על ידי
          #22

          @יוסי-רחמים כן

          יש לי אופצייה למכשיר בלי בעיקרון

          י תגובה 1 תגובה אחרונה
          0
          • י יהודי זה הכי

            @יוסי-רחמים כן

            יש לי אופצייה למכשיר בלי בעיקרון

            י מנותק
            י מנותק
            יוסי רחמים
            כתב נערך לאחרונה על ידי יוסי רחמים
            #23

            @יהודי-זה-הכי הבעיה היא שאי אפשר יהיה לגשת לשרת(PHP) כי נטפרי לא יאשרו את זה.אפשר לנסות אבל הם לא יאשרו.

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

            https://send.magicode.me/send-file/file/1a9cc7f2f9e7530c7f99f771db5021373b694f6f/view

            י תגובה 1 תגובה אחרונה
            0
            • י יוסי רחמים

              @יהודי-זה-הכי הבעיה היא שאי אפשר יהיה לגשת לשרת(PHP) כי נטפרי לא יאשרו את זה.אפשר לנסות אבל הם לא יאשרו.

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

              https://send.magicode.me/send-file/file/1a9cc7f2f9e7530c7f99f771db5021373b694f6f/view

              י מנותק
              י מנותק
              יהודי זה הכי
              כתב נערך לאחרונה על ידי
              #24

              @יוסי-רחמים שגיאה 403

              לא בנטפרי

              י תגובה 1 תגובה אחרונה
              0
              • י יהודי זה הכי

                @יוסי-רחמים שגיאה 403

                לא בנטפרי

                י מנותק
                י מנותק
                יוסי רחמים
                כתב נערך לאחרונה על ידי
                #25

                @יהודי-זה-הכי קישור עודכן

                י תגובה 1 תגובה אחרונה
                0
                • י יוסי רחמים

                  @יהודי-זה-הכי קישור עודכן

                  י מנותק
                  י מנותק
                  יהודי זה הכי
                  כתב נערך לאחרונה על ידי יהודי זה הכי
                  #26

                  @יוסי-רחמים למה לא יעבוד בנטפרי ומי פיתח את זה?

                  בניתי את זה אבל אין לי מושג אם זה יעבוד וזה גם בדיליי

                  י תגובה 1 תגובה אחרונה
                  0
                  • י יהודי זה הכי

                    @יוסי-רחמים למה לא יעבוד בנטפרי ומי פיתח את זה?

                    בניתי את זה אבל אין לי מושג אם זה יעבוד וזה גם בדיליי

                    י מנותק
                    י מנותק
                    יוסי רחמים
                    כתב נערך לאחרונה על ידי
                    #27

                    @יהודי-זה-הכי כתב בבקשת מידע | API של פקע"ר:

                    למה לא יעבוד בנטפרי

                    כמו שאמרתי.לא מאשרים PHP שהם לא יודעים מה מכיל.

                    @יהודי-זה-הכי כתב בבקשת מידע | API של פקע"ר:

                    מי פיתח את זה

                    אני

                    י תגובה 1 תגובה אחרונה
                    0
                    • י יוסי רחמים

                      @יהודי-זה-הכי כתב בבקשת מידע | API של פקע"ר:

                      למה לא יעבוד בנטפרי

                      כמו שאמרתי.לא מאשרים PHP שהם לא יודעים מה מכיל.

                      @יהודי-זה-הכי כתב בבקשת מידע | API של פקע"ר:

                      מי פיתח את זה

                      אני

                      י מנותק
                      י מנותק
                      יהודי זה הכי
                      כתב נערך לאחרונה על ידי
                      #28

                      @יוסי-רחמים אגיד להם מה מכיל
                      יש מצב לקרוא את זה מהשרת שלך?

                      י תגובה 1 תגובה אחרונה
                      0
                      • י יהודי זה הכי

                        @יוסי-רחמים אגיד להם מה מכיל
                        יש מצב לקרוא את זה מהשרת שלך?

                        י מנותק
                        י מנותק
                        יוסי רחמים
                        כתב נערך לאחרונה על ידי
                        #29

                        @יהודי-זה-הכי כתב בבקשת מידע | API של פקע"ר:

                        אגיד להם מה מכיל

                        זה לא עוזר.הם לא מאמינים

                        @יהודי-זה-הכי כתב בבקשת מידע | API של פקע"ר:

                        יש מצב לקרוא את זה מהשרת שלך

                        רק אם אני יביא לך.

                        י תגובה 1 תגובה אחרונה
                        0
                        • י יוסי רחמים

                          @יהודי-זה-הכי כתב בבקשת מידע | API של פקע"ר:

                          אגיד להם מה מכיל

                          זה לא עוזר.הם לא מאמינים

                          @יהודי-זה-הכי כתב בבקשת מידע | API של פקע"ר:

                          יש מצב לקרוא את זה מהשרת שלך

                          רק אם אני יביא לך.

                          י מנותק
                          י מנותק
                          יהודי זה הכי
                          כתב נערך לאחרונה על ידי
                          #30

                          @יוסי-רחמים זה מה שאני רוצה

                          י תגובה 1 תגובה אחרונה
                          0
                          • י יהודי זה הכי

                            @יוסי-רחמים זה מה שאני רוצה

                            י מנותק
                            י מנותק
                            יוסי רחמים
                            כתב נערך לאחרונה על ידי
                            #31

                            @יהודי-זה-הכי

                            <?php
                            // =================================================================
                            //      API לקבלת התראות פיקוד העורף - גרסת cURL משופרת
                            // =================================================================
                            
                            // קובעים את אזור הזמן לישראל
                            date_default_timezone_set('Asia/Jerusalem');
                            
                            // ============== CORS Headers ==============
                            header("Access-Control-Allow-Origin: *");
                            header("Content-Type: application/json; charset=utf-8");
                            header("Access-Control-Allow-Methods: GET");
                            header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
                            
                            // כתובת ה-API של פיקוד העורף
                            $apiUrl = 'https://www.oref.org.il/WarningMessages/alert/alerts.json';
                            
                            // 1. אתחול cURL
                            $ch = curl_init();
                            
                            // 2. הגדרת האפשרויות של cURL
                            // הגדרת הכתובת לביצוע הבקשה
                            curl_setopt($ch, CURLOPT_URL, $apiUrl);
                            
                            // החזרת התוצאה כמחרוזת במקום להדפיס אותה ישירות
                            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                            
                            // הגדרת Headers כדי לדמות דפדפן אמיתי
                            curl_setopt($ch, CURLOPT_HTTPHEADER, [
                                'Referer: https://www.oref.org.il/',
                                'X-Requested-With: XMLHttpRequest',
                                'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36'
                            ]);
                            
                            // הגדרת זמן קצוב (timeout) של 10 שניות לחיבור
                            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
                            curl_setopt($ch, CURLOPT_TIMEOUT, 10);
                            
                            // עקיבת אחר הפניות מחדש (redirects) אם יש
                            curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
                            
                            // אימות תעודת SSL של השרת (חשוב לאבטחה)
                            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
                            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
                            
                            // 3. ביצוע הבקשה
                            $rawResponse = curl_exec($ch);
                            
                            // יצירת מערך שיכיל את התגובה הסופית
                            $response = [];
                            
                            // 4. בדיקת שגיאות
                            if (curl_errno($ch)) {
                                // אם הייתה שגיאת cURL (למשל, אין תקשורת, timeout)
                                http_response_code(500);
                                $response = [
                                    'status' => 'error',
                                    'message' => 'Failed to connect to Oref server. cURL Error: ' . curl_error($ch),
                                    'timestamp' => date('c')
                                ];
                            } else {
                                // אם הבקשה הצליחה
                                $alertsData = json_decode($rawResponse, true);
                            
                                if (empty($alertsData) || !isset($alertsData['data']) || empty($alertsData['data'])) {
                                    $response = [
                                        'status' => 'success',
                                        'alerts_active' => false,
                                        'data' => null,
                                        'message' => 'No active alerts.',
                                        'timestamp' => date('c')
                                    ];
                                } else {
                                    $response = [
                                        'status' => 'success',
                                        'alerts_active' => true,
                                        'data' => [
                                            'id' => $alertsData['id'],
                                            'title' => $alertsData['title'],
                                            'locations' => $alertsData['data']
                                        ],
                                        'timestamp' => date('c')
                                    ];
                                }
                            }
                            
                            // 5. סגירת cURL
                            curl_close($ch);
                            
                            // הדפסת התגובה בפורמט JSON
                            echo json_encode($response, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
                            
                            ?>
                            
                            י תגובה 1 תגובה אחרונה
                            0
                            • י יוסי רחמים

                              @יהודי-זה-הכי

                              <?php
                              // =================================================================
                              //      API לקבלת התראות פיקוד העורף - גרסת cURL משופרת
                              // =================================================================
                              
                              // קובעים את אזור הזמן לישראל
                              date_default_timezone_set('Asia/Jerusalem');
                              
                              // ============== CORS Headers ==============
                              header("Access-Control-Allow-Origin: *");
                              header("Content-Type: application/json; charset=utf-8");
                              header("Access-Control-Allow-Methods: GET");
                              header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
                              
                              // כתובת ה-API של פיקוד העורף
                              $apiUrl = 'https://www.oref.org.il/WarningMessages/alert/alerts.json';
                              
                              // 1. אתחול cURL
                              $ch = curl_init();
                              
                              // 2. הגדרת האפשרויות של cURL
                              // הגדרת הכתובת לביצוע הבקשה
                              curl_setopt($ch, CURLOPT_URL, $apiUrl);
                              
                              // החזרת התוצאה כמחרוזת במקום להדפיס אותה ישירות
                              curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                              
                              // הגדרת Headers כדי לדמות דפדפן אמיתי
                              curl_setopt($ch, CURLOPT_HTTPHEADER, [
                                  'Referer: https://www.oref.org.il/',
                                  'X-Requested-With: XMLHttpRequest',
                                  'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36'
                              ]);
                              
                              // הגדרת זמן קצוב (timeout) של 10 שניות לחיבור
                              curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
                              curl_setopt($ch, CURLOPT_TIMEOUT, 10);
                              
                              // עקיבת אחר הפניות מחדש (redirects) אם יש
                              curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
                              
                              // אימות תעודת SSL של השרת (חשוב לאבטחה)
                              curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
                              curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
                              
                              // 3. ביצוע הבקשה
                              $rawResponse = curl_exec($ch);
                              
                              // יצירת מערך שיכיל את התגובה הסופית
                              $response = [];
                              
                              // 4. בדיקת שגיאות
                              if (curl_errno($ch)) {
                                  // אם הייתה שגיאת cURL (למשל, אין תקשורת, timeout)
                                  http_response_code(500);
                                  $response = [
                                      'status' => 'error',
                                      'message' => 'Failed to connect to Oref server. cURL Error: ' . curl_error($ch),
                                      'timestamp' => date('c')
                                  ];
                              } else {
                                  // אם הבקשה הצליחה
                                  $alertsData = json_decode($rawResponse, true);
                              
                                  if (empty($alertsData) || !isset($alertsData['data']) || empty($alertsData['data'])) {
                                      $response = [
                                          'status' => 'success',
                                          'alerts_active' => false,
                                          'data' => null,
                                          'message' => 'No active alerts.',
                                          'timestamp' => date('c')
                                      ];
                                  } else {
                                      $response = [
                                          'status' => 'success',
                                          'alerts_active' => true,
                                          'data' => [
                                              'id' => $alertsData['id'],
                                              'title' => $alertsData['title'],
                                              'locations' => $alertsData['data']
                                          ],
                                          'timestamp' => date('c')
                                      ];
                                  }
                              }
                              
                              // 5. סגירת cURL
                              curl_close($ch);
                              
                              // הדפסת התגובה בפורמט JSON
                              echo json_encode($response, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
                              
                              ?>
                              
                              י מנותק
                              י מנותק
                              יהודי זה הכי
                              כתב נערך לאחרונה על ידי
                              #32

                              @יוסי-רחמים אני רוצה לשאוב את מה שכבר מתקבל אצלך כי אין לי גישה לAPI של פקע"ר כי השרת שלי לא בארץ
                              ואגב הוא בודק גם כשהאתר סגור?

                              י תגובה 1 תגובה אחרונה
                              0
                              • י יהודי זה הכי

                                @יוסי-רחמים אני רוצה לשאוב את מה שכבר מתקבל אצלך כי אין לי גישה לAPI של פקע"ר כי השרת שלי לא בארץ
                                ואגב הוא בודק גם כשהאתר סגור?

                                י מנותק
                                י מנותק
                                יוסי רחמים
                                כתב נערך לאחרונה על ידי
                                #33

                                @יהודי-זה-הכי

                                @יהודי-זה-הכי כתב בבקשת מידע | API של פקע"ר:

                                כי השרת שלי לא בארץ

                                זה לא משנה.

                                ואגב הוא בודק גם כשהאתר סגור?

                                לא(איך הוא יבדוק?)

                                י תגובה 1 תגובה אחרונה
                                0
                                • י יוסי רחמים

                                  @יהודי-זה-הכי

                                  @יהודי-זה-הכי כתב בבקשת מידע | API של פקע"ר:

                                  כי השרת שלי לא בארץ

                                  זה לא משנה.

                                  ואגב הוא בודק גם כשהאתר סגור?

                                  לא(איך הוא יבדוק?)

                                  י מנותק
                                  י מנותק
                                  יהודי זה הכי
                                  כתב נערך לאחרונה על ידי
                                  #34

                                  @יוסי-רחמים לא יודע?

                                  י תגובה 1 תגובה אחרונה
                                  0
                                  • י יהודי זה הכי

                                    @יוסי-רחמים לא יודע?

                                    י מנותק
                                    י מנותק
                                    יוסי רחמים
                                    כתב נערך לאחרונה על ידי
                                    #35

                                    @יהודי-זה-הכי לגבי אם הוא בודק אם האתר סגור?
                                    אם זה פועל ברקע אז כן אם לא אז לא

                                    תגובה 1 תגובה אחרונה
                                    0
                                    • י מנותק
                                      י מנותק
                                      יהודי זה הכי
                                      כתב נערך לאחרונה על ידי יהודי זה הכי
                                      #36

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

                                      index.php

                                      <!DOCTYPE html>
                                      <html lang="he" dir="rtl">
                                      <head>
                                      <meta charset="UTF-8" />
                                      <meta name="viewport" content="width=device-width, initial-scale=1" />
                                      <title>🎗️האלפון של הזירה הית🎗️</title>
                                      <link rel="icon" href="https://lh3.googleusercontent.com/a/ACg8ocLCPoxjLoSems6ya7IDqC2PPZ8pbKjT6MCpYDvD9_yU2-tcV6JQ=s288-c-no" type="image/png" />
                                      
                                      <meta name="description" content="האלפון של הזירה הית">
                                      <meta name="keywords" content="תגיותב">
                                      
                                      <style>
                                        body {
                                          font-family: Arial, sans-serif;
                                          text-align: center;
                                          background-image: url("https://i.ibb.co/Q3fVHtsZ/unnamed.png");
                                          background-size: cover;
                                          background-position: center;
                                          background-repeat: no-repeat;
                                          padding: 80px 20px 100px 20px;
                                          position: relative;
                                          direction: rtl;
                                        }
                                        .container {
                                          background-color: rgba(255, 255, 255, 0.8);
                                          padding: 20px;
                                          border-radius: 10px;
                                          box-shadow: 0 0 10px rgba(0,0,0,0.1);
                                          display: inline-block;
                                          text-align: right;
                                          margin: 10px auto;
                                          max-width: 600px;
                                          width: 100%;
                                        }
                                        .input-group {
                                          display: flex;
                                          align-items: center;
                                          margin: 10px 0;
                                        }
                                        .input-group input {
                                          flex: 1;
                                          padding: 10px;
                                          border: 1px solid #ccc;
                                          border-radius: 5px 0 0 5px;
                                          font-size: 16px;
                                          direction: rtl;
                                        }
                                        .input-group span {
                                          padding: 10px;
                                          background-color: #0073e6;
                                          color: white;
                                          border-radius: 0 5px 5px 0;
                                          cursor: default;
                                        }
                                        button {
                                          padding: 10px 20px;
                                          border: none;
                                          background-color: #0073e6;
                                          color: white;
                                          border-radius: 5px;
                                          cursor: pointer;
                                          margin: 5px 0;
                                          font-size: 16px;
                                        }
                                        button:hover {
                                          background-color: #005bb5;
                                        }
                                        .footer {
                                          margin-top: 30px;
                                          padding: 10px;
                                          background-color: rgba(221, 221, 221, 0.8);
                                          border-radius: 5px;
                                          font-size: 14px;
                                          max-width: 600px;
                                          margin-left: auto;
                                          margin-right: auto;
                                        }
                                        #results {
                                          display: flex;
                                          flex-wrap: wrap;
                                          justify-content: center;
                                          margin-top: 20px;
                                          gap: 15px;
                                        }
                                        .result-item {
                                          background-color: rgba(255, 255, 255, 0.8);
                                          border-radius: 8px;
                                          border: 1px solid #ddd;
                                          width: 250px;
                                          min-height: 160px;
                                          padding: 15px;
                                          box-sizing: border-box;
                                          text-align: right;
                                          display: flex;
                                          flex-direction: column;
                                          justify-content: space-between;
                                          position: relative;
                                        }
                                        .result-item strong {
                                          font-size: 16px;
                                        }
                                        .details-btn {
                                          margin-top: 10px;
                                          align-self: flex-start;
                                          background-color: #28a745;
                                        }
                                        .details-btn:hover {
                                          background-color: #1e7e34;
                                        }
                                        /* חלון קופץ לפרטים */
                                        #detailsModal {
                                          display: none;
                                          position: fixed;
                                          z-index: 1500;
                                          left: 0; top: 0;
                                          width: 100%; height: 100%;
                                          background-color: rgba(0,0,0,0.5);
                                          overflow: auto;
                                          justify-content: center;
                                          align-items: center;
                                          display: flex;
                                        }
                                        #detailsModal.hidden {
                                          display: none !important;
                                        }
                                        #detailsModalContent {
                                          background-color: white;
                                          padding: 20px 30px;
                                          border-radius: 10px;
                                          max-width: 400px;
                                          width: 90%;
                                          text-align: right;
                                          font-size: 18px;
                                          position: relative;
                                          box-sizing: border-box;
                                        }
                                        #closeModalBtn {
                                          position: absolute;
                                          top: 10px;
                                          left: 10px;
                                          background-color: #dc3545;
                                          border: none;
                                          color: white;
                                          font-size: 18px;
                                          padding: 5px 10px;
                                          border-radius: 5px;
                                          cursor: pointer;
                                        }
                                        #closeModalBtn:hover {
                                          background-color: #a71d2a;
                                        }
                                        #showMapBtn {
                                          margin-top: 15px;
                                          background-color: #0073e6;
                                          color: white;
                                          padding: 10px 15px;
                                          border: none;
                                          border-radius: 5px;
                                          cursor: pointer;
                                          font-size: 16px;
                                        }
                                        #showMapBtn:hover {
                                          background-color: #005bb5;
                                        }
                                        /* חלון קופץ למפה */
                                        #mapModal {
                                          display: none;
                                          position: fixed;
                                          z-index: 1600;
                                          left: 0; top: 0;
                                          width: 100vw; height: 100vh;
                                          background-color: rgba(0,0,0,0.7);
                                          justify-content: center;
                                          align-items: center;
                                          display: flex;
                                        }
                                        #mapModal.hidden {
                                          display: none !important;
                                        }
                                        #mapContent {
                                          position: relative;
                                          background: white;
                                          border-radius: 10px;
                                          width: 90%;
                                          max-width: 600px;
                                          height: 400px;
                                          box-sizing: border-box;
                                          padding-top: 35px;
                                        }
                                        #closeMapBtn {
                                          position: absolute;
                                          top: 8px; right: 8px;
                                          background: #dc3545;
                                          border: none;
                                          color: white;
                                          font-size: 16px;
                                          padding: 6px 10px;
                                          border-radius: 5px;
                                          cursor: pointer;
                                          z-index: 10;
                                        }
                                        #closeMapBtn:hover {
                                          background: #b02a37;
                                        }
                                        #mapIframe {
                                          width: 100%;
                                          height: 100%;
                                          border: none;
                                          border-radius: 0 0 10px 10px;
                                          display: block;
                                        }
                                        /* משחק נחש */
                                        #snakeGameContainer {
                                          display: none;
                                          position: fixed;
                                          bottom: 10px;
                                          left: 10px;
                                          background-color: rgba(255,255,255,0.8);
                                          padding: 10px;
                                          border-radius: 10px;
                                          box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
                                          z-index: 1000;
                                        }
                                      
                                        /* pagination controls */
                                        #paginationControls {
                                          text-align: center;
                                          margin-top: 10px;
                                          max-width: 600px;
                                          margin-left: auto;
                                          margin-right: auto;
                                        }
                                        #paginationControls button {
                                          margin: 0 10px;
                                          padding: 8px 16px;
                                          font-size: 14px;
                                        }
                                      
                                        /* results per page selector */
                                        #resultsPerPageContainer {
                                          max-width: 600px;
                                          margin: 10px auto 0 auto;
                                          text-align: right;
                                        }
                                      
                                        /* הוספת תיבת התראות צבע אדום במקום הטלפון */
                                        .phone-box {
                                          position: fixed;
                                          top: 120px;
                                          right: 15px;
                                          width: 260px;
                                          height: 480px;
                                          background: #222;
                                          border-radius: 30px;
                                          border: 6px solid #000;
                                          box-shadow: 0 0 20px rgba(0,0,0,0.5);
                                          z-index: 9999;
                                          overflow: hidden;
                                          display: flex;
                                          flex-direction: column;
                                        }
                                        .phone-box .screen {
                                          background: #fff;
                                          height: 100%;
                                          display: flex;
                                          flex-direction: column;
                                          align-items: stretch;
                                          justify-content: flex-start;
                                          direction: rtl;
                                          overflow: hidden;
                                        }
                                        #alert-box {
                                          flex: 1;
                                          overflow-y: auto;
                                          padding: 10px;
                                        }
                                        #alert-box .message {
                                          padding: 10px;
                                          font-size: 14px;
                                          text-align: right;
                                          border-bottom: 1px solid #ddd;
                                          background-color: #fff;
                                          color: #c0392b;
                                        }
                                        .phone-box .controls {
                                          background: #111;
                                          padding: 10px;
                                          text-align: center;
                                          user-select: none;
                                        }
                                        .phone-box .controls button {
                                          margin: 2px;
                                          padding: 5px 10px;
                                          font-size: 14px;
                                          cursor: pointer;
                                          border-radius: 5px;
                                          border: none;
                                          background-color: #0073e6;
                                          color: white;
                                        }
                                        .phone-box .controls button:hover {
                                          background-color: #005bb5;
                                        }
                                      </style>
                                      </head>
                                      
                                      <body>
                                      
                                      <div id="bthn" lang="he"></div>
                                      <script>
                                       (function () {
                                         var script = document.createElement("script");
                                         script.type = "text/javascript";
                                         script.src = "https://bringthemhomenow.net/1.3.0/hostages-ticker.js";
                                         script.setAttribute(
                                           "integrity",
                                           "sha384-MmP7bD5QEJWvJccg9c0lDnn3LjjqQWDiRCxRV+NU8hij15icuwb29Jfw1TqJwuSv"
                                         );
                                         script.setAttribute("crossorigin", "anonymous");
                                         document.getElementsByTagName("head")[0].appendChild(script);
                                       })();
                                      </script>
                                      
                                      <h1>📖 🎗️האלפון של הזירה הית 🎗️📖</h1>
                                      <h1>שימו לב האלפון בשלבי בנייה ופיתוח ייתכנו תקלות</h1>
                                      
                                      <!-- תיבת ההתראות בצבע אדום - הטלפון בצד ימין -->
                                      <div class="phone-box" role="region" aria-label="התראות צבע אדום">
                                        <div class="screen">
                                          <div id="alert-box" aria-live="polite" aria-relevant="additions">
                                            <div class="message">📞 האלפון מתעדכן מדי יום!</div>
                                          </div>
                                          <div class="controls" role="group" aria-label="כפתורי עדכון התראות">
                                            <button onclick="fetchAlerts()" aria-label="עדכן התראות צבע אדום">🔄 עדכן</button>
                                            <button onclick="sendTestAlert()" aria-label="שלח התראת בדיקה">🧪 בדיקה</button>
                                          </div>
                                        </div>
                                      </div>
                                      
                                      <!-- מערכת חיפוש -->
                                      <div class="container">
                                          <h2>🔍 מערכת חיפוש</h2>
                                          <div class="input-group">
                                              <span>🔍</span>
                                              <input
                                                  type="text"
                                                  id="searchInput"
                                                  placeholder="הקלד שם, כתובת או מספר טלפון"
                                                  onkeydown="if(event.key === 'Enter') searchData()"
                                              />
                                          </div>
                                          <button onclick="searchData()">חפש</button>
                                      
                                          <!-- בחירת מספר תוצאות בדף -->
                                          <div id="resultsPerPageContainer" style="display:none;">
                                            <label for="resultsPerPage">הצג תוצאות בכל דף: </label>
                                            <select id="resultsPerPage" onchange="renderResults()">
                                              <option value="5">5</option>
                                              <option value="10" selected>10</option>
                                              <option value="20">20</option>
                                            </select>
                                          </div>
                                      
                                          <div id="results"></div>
                                      <div id="paginationControls" style="display:none;">
                                        <button onclick="changePage(1)" id="nextBtn" disabled>הבא ➡</button>
                                        <span id="pageInfo" style="margin: 0 10px;"></span>
                                        <button onclick="changePage(-1)" id="prevBtn" disabled>⬅ קודם</button>
                                      </div>
                                      </div>
                                      
                                      <!-- חלון קופץ לפרטים -->
                                      <div id="detailsModal" class="hidden" aria-modal="true" role="dialog" aria-labelledby="detailsTitle">
                                          <div id="detailsModalContent">
                                              <button id="closeModalBtn" onclick="closeDetails()" aria-label="סגור חלון">✖</button>
                                              <div id="detailsContent" dir="rtl"></div>
                                              <button id="showMapBtn" onclick="openMap()" style="display:none;">הצג מיקום במפה</button>
                                          </div>
                                      </div>
                                      
                                      <!-- חלון קופץ למפה -->
                                      <div id="mapModal" class="hidden" aria-modal="true" role="dialog" aria-labelledby="mapTitle" aria-hidden="true">
                                          <div id="mapContent">
                                              <button id="closeMapBtn" onclick="closeMap()" aria-label="סגור מפה">✖</button>
                                              <iframe id="mapIframe" src="" allowfullscreen loading="lazy" title="מפת מיקום"></iframe>
                                          </div>
                                      </div>
                                      
                                      <!-- כפתור למשחק נחש -->
                                      <button onclick="openSnakeGame()" style="position: fixed; bottom: 80px; left: 10px;">
                                          🎮 שחק נחש
                                      </button>
                                      <div
                                          id="snakeGameContainer"
                                          style="display: none; position: fixed; bottom: 10px; left: 10px; background-color: rgba(255,255,255,0.8); padding: 10px; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); z-index: 1000;">
                                          <button onclick="closeSnakeGame()" style="float: left;">❌ סגור</button>
                                          <h3>🐍 משחק נחש</h3>
                                          <canvas
                                              id="snakeCanvas"
                                              width="300"
                                              height="300"
                                              style="background-color: #f4f4f4">
                                          </canvas>
                                      </div>
                                      
                                      <!-- תחתית -->
                                      <div class="footer">
                                          <p>📢 הפיתוח נעשה בחסות <strong>הזירה הית</strong> - המרחב החם של הציבור הי</p>
                                          <p>☎️ טלפון: 02-313-60-90</p>
                                          <p>🛠️ פיתוח ע"י <strong>אבי ש.</strong> אל תדאגו נעזרתי בבינה מלאכותית 😋😋😋 אני לא כזה מומחה</p>
                                          <p>💬 לכניסה לצ'אט: <a href="https://chat.google.com/room/AAQApcvo9RM?cls=7" target="_blank" rel="noopener noreferrer">לחץ כאן</a></p>
                                          <p>📧 להצטרפות שלח מייל ל: <a href="mailto:avshainin@gmail.com">avshainin@gmail.com</a></p>
                                          <p>© 2025 הזירה הית</p>
                                      </div>
                                      
                                      <script>
                                      let currentResults = [];
                                      let currentPage = 1;
                                      let resultsPerPage = 10;
                                      
                                      function searchData() {
                                          let input = document.getElementById("searchInput").value.trim();
                                          const resultsDiv = document.getElementById("results");
                                          const paginationControls = document.getElementById("paginationControls");
                                          const resultsPerPageContainer = document.getElementById("resultsPerPageContainer");
                                      
                                          resultsDiv.innerHTML = "🔍 טוען...";
                                          paginationControls.style.display = "none";
                                          resultsPerPageContainer.style.display = "none";
                                      
                                          fetch("get.php")
                                              .then(res => res.json())
                                              .then(database => {
                                                  let results = database.filter(item =>
                                                      item["שם"].includes(input) ||
                                                      item["כתובת"].includes(input) ||
                                                      item["פלאפון"].includes(input)
                                                  );
                                      
                                                  results.sort((a, b) => a["שם"].localeCompare(b["שם"], "he", { sensitivity: "base" }));
                                      
                                                  currentResults = results;
                                                  currentPage = 1;
                                      
                                                  if(results.length === 0) {
                                                      resultsDiv.innerHTML = "❌ לא נמצאו תוצאות";
                                                      paginationControls.style.display = "none";
                                                      resultsPerPageContainer.style.display = "none";
                                                      return;
                                                  }
                                      
                                                  paginationControls.style.display = "block";
                                                  resultsPerPageContainer.style.display = "block";
                                      
                                                  renderResults();
                                              })
                                              .catch(() => {
                                                  resultsDiv.innerHTML = "❌ קרתה שגיאה בטעינת הנתונים";
                                                  paginationControls.style.display = "none";
                                                  resultsPerPageContainer.style.display = "none";
                                              });
                                      }
                                      
                                      function renderResults() {
                                          const resultsDiv = document.getElementById("results");
                                          resultsPerPage = parseInt(document.getElementById("resultsPerPage").value);
                                      
                                          const startIndex = (currentPage -1) * resultsPerPage;
                                          const endIndex = startIndex + resultsPerPage;
                                          const pageResults = currentResults.slice(startIndex, endIndex);
                                      
                                          if(pageResults.length === 0 && currentPage > 1) {
                                              currentPage--;
                                              renderResults();
                                              return;
                                          }
                                      
                                          resultsDiv.innerHTML = pageResults.map((item, index) => `
                                              <div class="result-item" tabindex="0">
                                                  <div><strong>שם:</strong> ${item["שם"]}</div>
                                                  <div><strong>כתובת:</strong> ${item["כתובת"]}</div>
                                                  <div><strong>פלאפון:</strong> ${item["פלאפון"]}</div>
                                                  <div><strong>טלפון בבית:</strong> ${item["טלפון בבית"] || "❌"}</div>
                                                  <div><strong>תא קולי:</strong> ${item["תא קולי"] || "❌"}</div>
                                              </div>
                                          `).join("");
                                      
                                          // עדכון כפתורי ניווט
                                          document.getElementById("pageInfo").textContent = `עמוד ${currentPage} מתוך ${Math.ceil(currentResults.length / resultsPerPage)}`;
                                          document.getElementById("nextBtn").disabled = currentPage >= Math.ceil(currentResults.length / resultsPerPage);
                                          document.getElementById("prevBtn").disabled = currentPage <= 1;
                                      }
                                      
                                      function changePage(direction) {
                                          if(direction === 1 && currentPage < Math.ceil(currentResults.length / resultsPerPage)) {
                                              currentPage++;
                                          } else if(direction === -1 && currentPage > 1) {
                                              currentPage--;
                                          }
                                          renderResults();
                                      }
                                      
                                      // פונקציות לפרטי איש קשר ומפות (יש למלא בהתאם לצורך שלך)
                                      function closeDetails() {
                                          document.getElementById("detailsModal").classList.add("hidden");
                                      }
                                      
                                      function openMap() {
                                          const modal = document.getElementById("mapModal");
                                          const iframe = document.getElementById("mapIframe");
                                          // example of google maps embed, צריך להתאים למיקום בפועל
                                          iframe.src = "https://maps.google.com/maps?q=32.0804,34.7805&hl=he&z=14&output=embed";
                                          modal.classList.remove("hidden");
                                      }
                                      
                                      function closeMap() {
                                          document.getElementById("mapModal").classList.add("hidden");
                                          document.getElementById("mapIframe").src = "";
                                      }
                                      
                                      // המשחק נחש - פונקציות נפתח וסוגר
                                      function openSnakeGame() {
                                          document.getElementById("snakeGameContainer").style.display = "block";
                                          startSnakeGame();
                                      }
                                      function closeSnakeGame() {
                                          document.getElementById("snakeGameContainer").style.display = "none";
                                          stopSnakeGame();
                                      }
                                      
                                      let snakeGameInterval = null;
                                      function startSnakeGame() {
                                          // כאן לשים את הקוד של משחק הנחש
                                      }
                                      function stopSnakeGame() {
                                          if(snakeGameInterval) {
                                              clearInterval(snakeGameInterval);
                                              snakeGameInterval = null;
                                          }
                                      }
                                      
                                      // --- קוד ההתראות צבע אדום ---
                                      
                                      const alertBox = document.getElementById("alert-box");
                                      
                                      async function fetchAlerts() {
                                        try {
                                          const res = await fetch('https://www.oref.org.il/WarningMessages/alert/alerts.json');
                                          if(!res.ok) throw new Error('Network response was not ok');
                                          const data = await res.json();
                                      
                                          // נקרא לפי מפתח התרעות "alerts"
                                          const alerts = data["alerts"];
                                      
                                          if(!alerts || alerts.length === 0) {
                                            alertBox.innerHTML = `<div class="message">📞 אין כרגע התראות צבע אדום</div>`;
                                            return;
                                          }
                                      
                                          // הצגת כל ההתראות בקופסה, כל הודעה ב-div נפרד
                                          alertBox.innerHTML = alerts.map(alert => {
                                            // יש גם תאריך התחלה וסיום
                                            const start = alert["StartTime"];
                                            const end = alert["EndTime"];
                                            const region = alert["RegionDesc"] || "";
                                            const desc = alert["Message"] || "";
                                            // פורמט פשוט
                                            return `<div class="message"><strong>🔴 אזור:</strong> ${region}<br><strong>הודעה:</strong> ${desc}<br><small>${start} - ${end}</small></div>`;
                                          }).join("");
                                        } catch(err) {
                                          alertBox.innerHTML = `<div class="message">❌ שגיאה בטעינת ההתראות</div>`;
                                          console.error("Error fetching alerts:", err);
                                        }
                                      }
                                      
                                      function sendTestAlert() {
                                        alertBox.innerHTML = `<div class="message">🧪 זוהי התראת בדיקה - אין התראה אמיתית כרגע</div>`;
                                      }
                                      
                                      // אתחל את ההתראות אוטומטית בהעמסה ועם ריענון כל 2 דקות
                                      fetchAlerts();
                                      setInterval(fetchAlerts, 3000);
                                      
                                      </script>
                                      
                                      </body>
                                      </html>
                                      
                                      
                                      <?php
                                      $apiUrl = 'https://api.tzevaadom.co.il/notifications';
                                      
                                      function getAlerts($url) {
                                          $ch = curl_init($url);
                                          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                                          curl_setopt($ch, CURLOPT_TIMEOUT, 10);
                                          $json = curl_exec($ch);
                                          $error = curl_error($ch);
                                          curl_close($ch);
                                      
                                          if ($json === false || $json === '') {
                                              error_log("שגיאה ב-cURL: " . $error);
                                              return null;
                                          }
                                      
                                          $data = json_decode($json, true);
                                          if ($data === null) {
                                              error_log("שגיאה בפענוח JSON");
                                          }
                                          return $data;
                                      }
                                      
                                      function saveAlerts($alerts) {
                                          $file = __DIR__ . '/alerts_history.json';
                                      
                                          $existing = [];
                                          if (file_exists($file)) {
                                              $existingJson = file_get_contents($file);
                                              $existing = json_decode($existingJson, true);
                                              if ($existing === null) $existing = [];
                                          }
                                      
                                          foreach ($alerts as $alert) {
                                              $time = $alert['created_at'] ?? '';
                                              $location = implode(', ', $alert['data']['locations'] ?? ['מיקום לא ידוע']);
                                      
                                              $exists = false;
                                              foreach ($existing as $ex) {
                                                  if ($ex['time'] === $time) {
                                                      $exists = true;
                                                      break;
                                                  }
                                              }
                                      
                                              if (!$exists) {
                                                  $existing[] = [
                                                      'time' => $time,
                                                      'location' => $location,
                                                  ];
                                              }
                                          }
                                      
                                          file_put_contents($file, json_encode($existing, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
                                      }
                                      
                                      $alerts = getAlerts($apiUrl);
                                      if ($alerts) {
                                          saveAlerts($alerts);
                                          echo "התראות נשמרו בהצלחה.\n";
                                      } else {
                                          echo "שגיאה בקבלת ההתראות.\n";
                                      }
                                      
                                      

                                      fetch_and_save_alerts.php

                                      <?php
                                      // get_alerts.php
                                      header('Content-Type: application/json');
                                      if (file_exists('alerts_log.txt')) {
                                          $lines = file('alerts_log.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
                                          $alerts = [];
                                          foreach ($lines as $line) {
                                              $parts = explode(" - ", $line, 2);
                                              if (count($parts) === 2) {
                                                  $alerts[] = ['time' => $parts[0], 'location' => $parts[1]];
                                              }
                                          }
                                          echo json_encode($alerts);
                                      } else {
                                          echo json_encode([]);
                                      }
                                      ?>
                                      
                                      
                                      <?php
                                      // save_alert.php
                                      if ($_SERVER['REQUEST_METHOD'] === 'POST') {
                                          $json = file_get_contents('php://input');
                                          $data = json_decode($json, true);
                                      
                                          if ($data && isset($data['time']) && isset($data['location'])) {
                                              $entry = $data['time'] . " - " . $data['location'] . "\n";
                                              file_put_contents('alerts_log.txt', $entry, FILE_APPEND | LOCK_EX);
                                              echo "OK";
                                          } else {
                                              http_response_code(400);
                                              echo "Invalid data";
                                          }
                                      } else {
                                          http_response_code(405);
                                          echo "Method not allowed";
                                      }
                                      ?>
                                      
                                      
                                      י תגובה 1 תגובה אחרונה
                                      0
                                      • י יהודי זה הכי

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

                                        index.php

                                        <!DOCTYPE html>
                                        <html lang="he" dir="rtl">
                                        <head>
                                        <meta charset="UTF-8" />
                                        <meta name="viewport" content="width=device-width, initial-scale=1" />
                                        <title>🎗️האלפון של הזירה הית🎗️</title>
                                        <link rel="icon" href="https://lh3.googleusercontent.com/a/ACg8ocLCPoxjLoSems6ya7IDqC2PPZ8pbKjT6MCpYDvD9_yU2-tcV6JQ=s288-c-no" type="image/png" />
                                        
                                        <meta name="description" content="האלפון של הזירה הית">
                                        <meta name="keywords" content="תגיותב">
                                        
                                        <style>
                                          body {
                                            font-family: Arial, sans-serif;
                                            text-align: center;
                                            background-image: url("https://i.ibb.co/Q3fVHtsZ/unnamed.png");
                                            background-size: cover;
                                            background-position: center;
                                            background-repeat: no-repeat;
                                            padding: 80px 20px 100px 20px;
                                            position: relative;
                                            direction: rtl;
                                          }
                                          .container {
                                            background-color: rgba(255, 255, 255, 0.8);
                                            padding: 20px;
                                            border-radius: 10px;
                                            box-shadow: 0 0 10px rgba(0,0,0,0.1);
                                            display: inline-block;
                                            text-align: right;
                                            margin: 10px auto;
                                            max-width: 600px;
                                            width: 100%;
                                          }
                                          .input-group {
                                            display: flex;
                                            align-items: center;
                                            margin: 10px 0;
                                          }
                                          .input-group input {
                                            flex: 1;
                                            padding: 10px;
                                            border: 1px solid #ccc;
                                            border-radius: 5px 0 0 5px;
                                            font-size: 16px;
                                            direction: rtl;
                                          }
                                          .input-group span {
                                            padding: 10px;
                                            background-color: #0073e6;
                                            color: white;
                                            border-radius: 0 5px 5px 0;
                                            cursor: default;
                                          }
                                          button {
                                            padding: 10px 20px;
                                            border: none;
                                            background-color: #0073e6;
                                            color: white;
                                            border-radius: 5px;
                                            cursor: pointer;
                                            margin: 5px 0;
                                            font-size: 16px;
                                          }
                                          button:hover {
                                            background-color: #005bb5;
                                          }
                                          .footer {
                                            margin-top: 30px;
                                            padding: 10px;
                                            background-color: rgba(221, 221, 221, 0.8);
                                            border-radius: 5px;
                                            font-size: 14px;
                                            max-width: 600px;
                                            margin-left: auto;
                                            margin-right: auto;
                                          }
                                          #results {
                                            display: flex;
                                            flex-wrap: wrap;
                                            justify-content: center;
                                            margin-top: 20px;
                                            gap: 15px;
                                          }
                                          .result-item {
                                            background-color: rgba(255, 255, 255, 0.8);
                                            border-radius: 8px;
                                            border: 1px solid #ddd;
                                            width: 250px;
                                            min-height: 160px;
                                            padding: 15px;
                                            box-sizing: border-box;
                                            text-align: right;
                                            display: flex;
                                            flex-direction: column;
                                            justify-content: space-between;
                                            position: relative;
                                          }
                                          .result-item strong {
                                            font-size: 16px;
                                          }
                                          .details-btn {
                                            margin-top: 10px;
                                            align-self: flex-start;
                                            background-color: #28a745;
                                          }
                                          .details-btn:hover {
                                            background-color: #1e7e34;
                                          }
                                          /* חלון קופץ לפרטים */
                                          #detailsModal {
                                            display: none;
                                            position: fixed;
                                            z-index: 1500;
                                            left: 0; top: 0;
                                            width: 100%; height: 100%;
                                            background-color: rgba(0,0,0,0.5);
                                            overflow: auto;
                                            justify-content: center;
                                            align-items: center;
                                            display: flex;
                                          }
                                          #detailsModal.hidden {
                                            display: none !important;
                                          }
                                          #detailsModalContent {
                                            background-color: white;
                                            padding: 20px 30px;
                                            border-radius: 10px;
                                            max-width: 400px;
                                            width: 90%;
                                            text-align: right;
                                            font-size: 18px;
                                            position: relative;
                                            box-sizing: border-box;
                                          }
                                          #closeModalBtn {
                                            position: absolute;
                                            top: 10px;
                                            left: 10px;
                                            background-color: #dc3545;
                                            border: none;
                                            color: white;
                                            font-size: 18px;
                                            padding: 5px 10px;
                                            border-radius: 5px;
                                            cursor: pointer;
                                          }
                                          #closeModalBtn:hover {
                                            background-color: #a71d2a;
                                          }
                                          #showMapBtn {
                                            margin-top: 15px;
                                            background-color: #0073e6;
                                            color: white;
                                            padding: 10px 15px;
                                            border: none;
                                            border-radius: 5px;
                                            cursor: pointer;
                                            font-size: 16px;
                                          }
                                          #showMapBtn:hover {
                                            background-color: #005bb5;
                                          }
                                          /* חלון קופץ למפה */
                                          #mapModal {
                                            display: none;
                                            position: fixed;
                                            z-index: 1600;
                                            left: 0; top: 0;
                                            width: 100vw; height: 100vh;
                                            background-color: rgba(0,0,0,0.7);
                                            justify-content: center;
                                            align-items: center;
                                            display: flex;
                                          }
                                          #mapModal.hidden {
                                            display: none !important;
                                          }
                                          #mapContent {
                                            position: relative;
                                            background: white;
                                            border-radius: 10px;
                                            width: 90%;
                                            max-width: 600px;
                                            height: 400px;
                                            box-sizing: border-box;
                                            padding-top: 35px;
                                          }
                                          #closeMapBtn {
                                            position: absolute;
                                            top: 8px; right: 8px;
                                            background: #dc3545;
                                            border: none;
                                            color: white;
                                            font-size: 16px;
                                            padding: 6px 10px;
                                            border-radius: 5px;
                                            cursor: pointer;
                                            z-index: 10;
                                          }
                                          #closeMapBtn:hover {
                                            background: #b02a37;
                                          }
                                          #mapIframe {
                                            width: 100%;
                                            height: 100%;
                                            border: none;
                                            border-radius: 0 0 10px 10px;
                                            display: block;
                                          }
                                          /* משחק נחש */
                                          #snakeGameContainer {
                                            display: none;
                                            position: fixed;
                                            bottom: 10px;
                                            left: 10px;
                                            background-color: rgba(255,255,255,0.8);
                                            padding: 10px;
                                            border-radius: 10px;
                                            box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
                                            z-index: 1000;
                                          }
                                        
                                          /* pagination controls */
                                          #paginationControls {
                                            text-align: center;
                                            margin-top: 10px;
                                            max-width: 600px;
                                            margin-left: auto;
                                            margin-right: auto;
                                          }
                                          #paginationControls button {
                                            margin: 0 10px;
                                            padding: 8px 16px;
                                            font-size: 14px;
                                          }
                                        
                                          /* results per page selector */
                                          #resultsPerPageContainer {
                                            max-width: 600px;
                                            margin: 10px auto 0 auto;
                                            text-align: right;
                                          }
                                        
                                          /* הוספת תיבת התראות צבע אדום במקום הטלפון */
                                          .phone-box {
                                            position: fixed;
                                            top: 120px;
                                            right: 15px;
                                            width: 260px;
                                            height: 480px;
                                            background: #222;
                                            border-radius: 30px;
                                            border: 6px solid #000;
                                            box-shadow: 0 0 20px rgba(0,0,0,0.5);
                                            z-index: 9999;
                                            overflow: hidden;
                                            display: flex;
                                            flex-direction: column;
                                          }
                                          .phone-box .screen {
                                            background: #fff;
                                            height: 100%;
                                            display: flex;
                                            flex-direction: column;
                                            align-items: stretch;
                                            justify-content: flex-start;
                                            direction: rtl;
                                            overflow: hidden;
                                          }
                                          #alert-box {
                                            flex: 1;
                                            overflow-y: auto;
                                            padding: 10px;
                                          }
                                          #alert-box .message {
                                            padding: 10px;
                                            font-size: 14px;
                                            text-align: right;
                                            border-bottom: 1px solid #ddd;
                                            background-color: #fff;
                                            color: #c0392b;
                                          }
                                          .phone-box .controls {
                                            background: #111;
                                            padding: 10px;
                                            text-align: center;
                                            user-select: none;
                                          }
                                          .phone-box .controls button {
                                            margin: 2px;
                                            padding: 5px 10px;
                                            font-size: 14px;
                                            cursor: pointer;
                                            border-radius: 5px;
                                            border: none;
                                            background-color: #0073e6;
                                            color: white;
                                          }
                                          .phone-box .controls button:hover {
                                            background-color: #005bb5;
                                          }
                                        </style>
                                        </head>
                                        
                                        <body>
                                        
                                        <div id="bthn" lang="he"></div>
                                        <script>
                                         (function () {
                                           var script = document.createElement("script");
                                           script.type = "text/javascript";
                                           script.src = "https://bringthemhomenow.net/1.3.0/hostages-ticker.js";
                                           script.setAttribute(
                                             "integrity",
                                             "sha384-MmP7bD5QEJWvJccg9c0lDnn3LjjqQWDiRCxRV+NU8hij15icuwb29Jfw1TqJwuSv"
                                           );
                                           script.setAttribute("crossorigin", "anonymous");
                                           document.getElementsByTagName("head")[0].appendChild(script);
                                         })();
                                        </script>
                                        
                                        <h1>📖 🎗️האלפון של הזירה הית 🎗️📖</h1>
                                        <h1>שימו לב האלפון בשלבי בנייה ופיתוח ייתכנו תקלות</h1>
                                        
                                        <!-- תיבת ההתראות בצבע אדום - הטלפון בצד ימין -->
                                        <div class="phone-box" role="region" aria-label="התראות צבע אדום">
                                          <div class="screen">
                                            <div id="alert-box" aria-live="polite" aria-relevant="additions">
                                              <div class="message">📞 האלפון מתעדכן מדי יום!</div>
                                            </div>
                                            <div class="controls" role="group" aria-label="כפתורי עדכון התראות">
                                              <button onclick="fetchAlerts()" aria-label="עדכן התראות צבע אדום">🔄 עדכן</button>
                                              <button onclick="sendTestAlert()" aria-label="שלח התראת בדיקה">🧪 בדיקה</button>
                                            </div>
                                          </div>
                                        </div>
                                        
                                        <!-- מערכת חיפוש -->
                                        <div class="container">
                                            <h2>🔍 מערכת חיפוש</h2>
                                            <div class="input-group">
                                                <span>🔍</span>
                                                <input
                                                    type="text"
                                                    id="searchInput"
                                                    placeholder="הקלד שם, כתובת או מספר טלפון"
                                                    onkeydown="if(event.key === 'Enter') searchData()"
                                                />
                                            </div>
                                            <button onclick="searchData()">חפש</button>
                                        
                                            <!-- בחירת מספר תוצאות בדף -->
                                            <div id="resultsPerPageContainer" style="display:none;">
                                              <label for="resultsPerPage">הצג תוצאות בכל דף: </label>
                                              <select id="resultsPerPage" onchange="renderResults()">
                                                <option value="5">5</option>
                                                <option value="10" selected>10</option>
                                                <option value="20">20</option>
                                              </select>
                                            </div>
                                        
                                            <div id="results"></div>
                                        <div id="paginationControls" style="display:none;">
                                          <button onclick="changePage(1)" id="nextBtn" disabled>הבא ➡</button>
                                          <span id="pageInfo" style="margin: 0 10px;"></span>
                                          <button onclick="changePage(-1)" id="prevBtn" disabled>⬅ קודם</button>
                                        </div>
                                        </div>
                                        
                                        <!-- חלון קופץ לפרטים -->
                                        <div id="detailsModal" class="hidden" aria-modal="true" role="dialog" aria-labelledby="detailsTitle">
                                            <div id="detailsModalContent">
                                                <button id="closeModalBtn" onclick="closeDetails()" aria-label="סגור חלון">✖</button>
                                                <div id="detailsContent" dir="rtl"></div>
                                                <button id="showMapBtn" onclick="openMap()" style="display:none;">הצג מיקום במפה</button>
                                            </div>
                                        </div>
                                        
                                        <!-- חלון קופץ למפה -->
                                        <div id="mapModal" class="hidden" aria-modal="true" role="dialog" aria-labelledby="mapTitle" aria-hidden="true">
                                            <div id="mapContent">
                                                <button id="closeMapBtn" onclick="closeMap()" aria-label="סגור מפה">✖</button>
                                                <iframe id="mapIframe" src="" allowfullscreen loading="lazy" title="מפת מיקום"></iframe>
                                            </div>
                                        </div>
                                        
                                        <!-- כפתור למשחק נחש -->
                                        <button onclick="openSnakeGame()" style="position: fixed; bottom: 80px; left: 10px;">
                                            🎮 שחק נחש
                                        </button>
                                        <div
                                            id="snakeGameContainer"
                                            style="display: none; position: fixed; bottom: 10px; left: 10px; background-color: rgba(255,255,255,0.8); padding: 10px; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); z-index: 1000;">
                                            <button onclick="closeSnakeGame()" style="float: left;">❌ סגור</button>
                                            <h3>🐍 משחק נחש</h3>
                                            <canvas
                                                id="snakeCanvas"
                                                width="300"
                                                height="300"
                                                style="background-color: #f4f4f4">
                                            </canvas>
                                        </div>
                                        
                                        <!-- תחתית -->
                                        <div class="footer">
                                            <p>📢 הפיתוח נעשה בחסות <strong>הזירה הית</strong> - המרחב החם של הציבור הי</p>
                                            <p>☎️ טלפון: 02-313-60-90</p>
                                            <p>🛠️ פיתוח ע"י <strong>אבי ש.</strong> אל תדאגו נעזרתי בבינה מלאכותית 😋😋😋 אני לא כזה מומחה</p>
                                            <p>💬 לכניסה לצ'אט: <a href="https://chat.google.com/room/AAQApcvo9RM?cls=7" target="_blank" rel="noopener noreferrer">לחץ כאן</a></p>
                                            <p>📧 להצטרפות שלח מייל ל: <a href="mailto:avshainin@gmail.com">avshainin@gmail.com</a></p>
                                            <p>© 2025 הזירה הית</p>
                                        </div>
                                        
                                        <script>
                                        let currentResults = [];
                                        let currentPage = 1;
                                        let resultsPerPage = 10;
                                        
                                        function searchData() {
                                            let input = document.getElementById("searchInput").value.trim();
                                            const resultsDiv = document.getElementById("results");
                                            const paginationControls = document.getElementById("paginationControls");
                                            const resultsPerPageContainer = document.getElementById("resultsPerPageContainer");
                                        
                                            resultsDiv.innerHTML = "🔍 טוען...";
                                            paginationControls.style.display = "none";
                                            resultsPerPageContainer.style.display = "none";
                                        
                                            fetch("get.php")
                                                .then(res => res.json())
                                                .then(database => {
                                                    let results = database.filter(item =>
                                                        item["שם"].includes(input) ||
                                                        item["כתובת"].includes(input) ||
                                                        item["פלאפון"].includes(input)
                                                    );
                                        
                                                    results.sort((a, b) => a["שם"].localeCompare(b["שם"], "he", { sensitivity: "base" }));
                                        
                                                    currentResults = results;
                                                    currentPage = 1;
                                        
                                                    if(results.length === 0) {
                                                        resultsDiv.innerHTML = "❌ לא נמצאו תוצאות";
                                                        paginationControls.style.display = "none";
                                                        resultsPerPageContainer.style.display = "none";
                                                        return;
                                                    }
                                        
                                                    paginationControls.style.display = "block";
                                                    resultsPerPageContainer.style.display = "block";
                                        
                                                    renderResults();
                                                })
                                                .catch(() => {
                                                    resultsDiv.innerHTML = "❌ קרתה שגיאה בטעינת הנתונים";
                                                    paginationControls.style.display = "none";
                                                    resultsPerPageContainer.style.display = "none";
                                                });
                                        }
                                        
                                        function renderResults() {
                                            const resultsDiv = document.getElementById("results");
                                            resultsPerPage = parseInt(document.getElementById("resultsPerPage").value);
                                        
                                            const startIndex = (currentPage -1) * resultsPerPage;
                                            const endIndex = startIndex + resultsPerPage;
                                            const pageResults = currentResults.slice(startIndex, endIndex);
                                        
                                            if(pageResults.length === 0 && currentPage > 1) {
                                                currentPage--;
                                                renderResults();
                                                return;
                                            }
                                        
                                            resultsDiv.innerHTML = pageResults.map((item, index) => `
                                                <div class="result-item" tabindex="0">
                                                    <div><strong>שם:</strong> ${item["שם"]}</div>
                                                    <div><strong>כתובת:</strong> ${item["כתובת"]}</div>
                                                    <div><strong>פלאפון:</strong> ${item["פלאפון"]}</div>
                                                    <div><strong>טלפון בבית:</strong> ${item["טלפון בבית"] || "❌"}</div>
                                                    <div><strong>תא קולי:</strong> ${item["תא קולי"] || "❌"}</div>
                                                </div>
                                            `).join("");
                                        
                                            // עדכון כפתורי ניווט
                                            document.getElementById("pageInfo").textContent = `עמוד ${currentPage} מתוך ${Math.ceil(currentResults.length / resultsPerPage)}`;
                                            document.getElementById("nextBtn").disabled = currentPage >= Math.ceil(currentResults.length / resultsPerPage);
                                            document.getElementById("prevBtn").disabled = currentPage <= 1;
                                        }
                                        
                                        function changePage(direction) {
                                            if(direction === 1 && currentPage < Math.ceil(currentResults.length / resultsPerPage)) {
                                                currentPage++;
                                            } else if(direction === -1 && currentPage > 1) {
                                                currentPage--;
                                            }
                                            renderResults();
                                        }
                                        
                                        // פונקציות לפרטי איש קשר ומפות (יש למלא בהתאם לצורך שלך)
                                        function closeDetails() {
                                            document.getElementById("detailsModal").classList.add("hidden");
                                        }
                                        
                                        function openMap() {
                                            const modal = document.getElementById("mapModal");
                                            const iframe = document.getElementById("mapIframe");
                                            // example of google maps embed, צריך להתאים למיקום בפועל
                                            iframe.src = "https://maps.google.com/maps?q=32.0804,34.7805&hl=he&z=14&output=embed";
                                            modal.classList.remove("hidden");
                                        }
                                        
                                        function closeMap() {
                                            document.getElementById("mapModal").classList.add("hidden");
                                            document.getElementById("mapIframe").src = "";
                                        }
                                        
                                        // המשחק נחש - פונקציות נפתח וסוגר
                                        function openSnakeGame() {
                                            document.getElementById("snakeGameContainer").style.display = "block";
                                            startSnakeGame();
                                        }
                                        function closeSnakeGame() {
                                            document.getElementById("snakeGameContainer").style.display = "none";
                                            stopSnakeGame();
                                        }
                                        
                                        let snakeGameInterval = null;
                                        function startSnakeGame() {
                                            // כאן לשים את הקוד של משחק הנחש
                                        }
                                        function stopSnakeGame() {
                                            if(snakeGameInterval) {
                                                clearInterval(snakeGameInterval);
                                                snakeGameInterval = null;
                                            }
                                        }
                                        
                                        // --- קוד ההתראות צבע אדום ---
                                        
                                        const alertBox = document.getElementById("alert-box");
                                        
                                        async function fetchAlerts() {
                                          try {
                                            const res = await fetch('https://www.oref.org.il/WarningMessages/alert/alerts.json');
                                            if(!res.ok) throw new Error('Network response was not ok');
                                            const data = await res.json();
                                        
                                            // נקרא לפי מפתח התרעות "alerts"
                                            const alerts = data["alerts"];
                                        
                                            if(!alerts || alerts.length === 0) {
                                              alertBox.innerHTML = `<div class="message">📞 אין כרגע התראות צבע אדום</div>`;
                                              return;
                                            }
                                        
                                            // הצגת כל ההתראות בקופסה, כל הודעה ב-div נפרד
                                            alertBox.innerHTML = alerts.map(alert => {
                                              // יש גם תאריך התחלה וסיום
                                              const start = alert["StartTime"];
                                              const end = alert["EndTime"];
                                              const region = alert["RegionDesc"] || "";
                                              const desc = alert["Message"] || "";
                                              // פורמט פשוט
                                              return `<div class="message"><strong>🔴 אזור:</strong> ${region}<br><strong>הודעה:</strong> ${desc}<br><small>${start} - ${end}</small></div>`;
                                            }).join("");
                                          } catch(err) {
                                            alertBox.innerHTML = `<div class="message">❌ שגיאה בטעינת ההתראות</div>`;
                                            console.error("Error fetching alerts:", err);
                                          }
                                        }
                                        
                                        function sendTestAlert() {
                                          alertBox.innerHTML = `<div class="message">🧪 זוהי התראת בדיקה - אין התראה אמיתית כרגע</div>`;
                                        }
                                        
                                        // אתחל את ההתראות אוטומטית בהעמסה ועם ריענון כל 2 דקות
                                        fetchAlerts();
                                        setInterval(fetchAlerts, 3000);
                                        
                                        </script>
                                        
                                        </body>
                                        </html>
                                        
                                        
                                        <?php
                                        $apiUrl = 'https://api.tzevaadom.co.il/notifications';
                                        
                                        function getAlerts($url) {
                                            $ch = curl_init($url);
                                            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
                                            curl_setopt($ch, CURLOPT_TIMEOUT, 10);
                                            $json = curl_exec($ch);
                                            $error = curl_error($ch);
                                            curl_close($ch);
                                        
                                            if ($json === false || $json === '') {
                                                error_log("שגיאה ב-cURL: " . $error);
                                                return null;
                                            }
                                        
                                            $data = json_decode($json, true);
                                            if ($data === null) {
                                                error_log("שגיאה בפענוח JSON");
                                            }
                                            return $data;
                                        }
                                        
                                        function saveAlerts($alerts) {
                                            $file = __DIR__ . '/alerts_history.json';
                                        
                                            $existing = [];
                                            if (file_exists($file)) {
                                                $existingJson = file_get_contents($file);
                                                $existing = json_decode($existingJson, true);
                                                if ($existing === null) $existing = [];
                                            }
                                        
                                            foreach ($alerts as $alert) {
                                                $time = $alert['created_at'] ?? '';
                                                $location = implode(', ', $alert['data']['locations'] ?? ['מיקום לא ידוע']);
                                        
                                                $exists = false;
                                                foreach ($existing as $ex) {
                                                    if ($ex['time'] === $time) {
                                                        $exists = true;
                                                        break;
                                                    }
                                                }
                                        
                                                if (!$exists) {
                                                    $existing[] = [
                                                        'time' => $time,
                                                        'location' => $location,
                                                    ];
                                                }
                                            }
                                        
                                            file_put_contents($file, json_encode($existing, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
                                        }
                                        
                                        $alerts = getAlerts($apiUrl);
                                        if ($alerts) {
                                            saveAlerts($alerts);
                                            echo "התראות נשמרו בהצלחה.\n";
                                        } else {
                                            echo "שגיאה בקבלת ההתראות.\n";
                                        }
                                        
                                        

                                        fetch_and_save_alerts.php

                                        <?php
                                        // get_alerts.php
                                        header('Content-Type: application/json');
                                        if (file_exists('alerts_log.txt')) {
                                            $lines = file('alerts_log.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
                                            $alerts = [];
                                            foreach ($lines as $line) {
                                                $parts = explode(" - ", $line, 2);
                                                if (count($parts) === 2) {
                                                    $alerts[] = ['time' => $parts[0], 'location' => $parts[1]];
                                                }
                                            }
                                            echo json_encode($alerts);
                                        } else {
                                            echo json_encode([]);
                                        }
                                        ?>
                                        
                                        
                                        <?php
                                        // save_alert.php
                                        if ($_SERVER['REQUEST_METHOD'] === 'POST') {
                                            $json = file_get_contents('php://input');
                                            $data = json_decode($json, true);
                                        
                                            if ($data && isset($data['time']) && isset($data['location'])) {
                                                $entry = $data['time'] . " - " . $data['location'] . "\n";
                                                file_put_contents('alerts_log.txt', $entry, FILE_APPEND | LOCK_EX);
                                                echo "OK";
                                            } else {
                                                http_response_code(400);
                                                echo "Invalid data";
                                            }
                                        } else {
                                            http_response_code(405);
                                            echo "Method not allowed";
                                        }
                                        ?>
                                        
                                        
                                        י מנותק
                                        י מנותק
                                        יוסי רחמים
                                        כתב נערך לאחרונה על ידי
                                        #37

                                        @יהודי-זה-הכי
                                        1.מה זה כל הקבצים האלה?מה המטרה של כל אחד?
                                        2.למה אתה משתמש בAPI לא רישמי?(https://api.tzevaadom.co.il/notifications)
                                        3.תשתמש בקוד שהבאתי לך.

                                        י 2 תגובות תגובה אחרונה
                                        0
                                        • י יוסי רחמים

                                          @יהודי-זה-הכי
                                          1.מה זה כל הקבצים האלה?מה המטרה של כל אחד?
                                          2.למה אתה משתמש בAPI לא רישמי?(https://api.tzevaadom.co.il/notifications)
                                          3.תשתמש בקוד שהבאתי לך.

                                          י מנותק
                                          י מנותק
                                          יהודי זה הכי
                                          כתב נערך לאחרונה על ידי
                                          #38

                                          @יוסי-רחמים אני לא מסתדר איתו

                                          י תגובה 1 תגובה אחרונה
                                          0

                                          שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.

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

                                          בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗

                                          הרשמה התחברות

                                          • התחברות

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

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