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

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

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

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

    @יוסי-רחמים שגיאה 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
                              • י יוסי רחמים

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

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

                                @יוסי-רחמים כתב בבקשת מידע | API של פקע"ר:

                                3.תשתמש בקוד שהבאתי לך.

                                {
                                  "סטטוס": "שגיאה",
                                  "message": "נכשל בהתחברות לשרת Oref. שגיאת cURL: נכשל בהתחברות ל-www.oref.org.il פורט 443: החיבור נדחה",
                                  "חותמת זמן": "2025-06-23T20:21:03+03:00"
                                }
                                
                                תגובה 1 תגובה אחרונה
                                0
                                • י יהודי זה הכי

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

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

                                  @יהודי-זה-הכי אז תשאל את AI STUDIO איך להתחבר לPHP שהבאתי לך שנמצא בקובץ
                                  https://clarityai-smart-tools.onrender.com/alerts.php

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

                                  {
                                      "status": "success",
                                      "alerts_active": false,
                                      "data": null,
                                      "message": "No active alerts.",
                                      "timestamp": "2025-06-23T20:22:53+03:00"
                                  }
                                  
                                  י תגובה 1 תגובה אחרונה
                                  0
                                  • י יוסי רחמים

                                    @יהודי-זה-הכי אז תשאל את AI STUDIO איך להתחבר לPHP שהבאתי לך שנמצא בקובץ
                                    https://clarityai-smart-tools.onrender.com/alerts.php

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

                                    {
                                        "status": "success",
                                        "alerts_active": false,
                                        "data": null,
                                        "message": "No active alerts.",
                                        "timestamp": "2025-06-23T20:22:53+03:00"
                                    }
                                    
                                    י מנותק
                                    י מנותק
                                    יהודי זה הכי
                                    כתב נערך לאחרונה על ידי
                                    #41

                                    @יוסי-רחמים כתב בבקשת מידע | API של פקע"ר:

                                    https://clarityai-smart-tools.onrender.com/alerts.php

                                    זה כן טוב

                                    אז תשאל את AI STUDIO

                                    מי זה?

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

                                      @יוסי-רחמים כתב בבקשת מידע | API של פקע"ר:

                                      https://clarityai-smart-tools.onrender.com/alerts.php

                                      זה כן טוב

                                      אז תשאל את AI STUDIO

                                      מי זה?

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

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

                                      מי זה?

                                      צאט AI חכם במיוחד עם הרבה יכולות😎
                                      (AI רגיל... גם GPT טוב...)

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

                                      • התחברות

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

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