• הרשמה
    • התחברות
    • חיפוש
    • דף הבית
    • אינדקס קישורים
    • פוסטים אחרונים
    • קבלת התראות מהדפדפן
    • משתמשים
    • חיפוש בהגדרות המתקדמות
    • חיפוש גוגל בפורום
    • ניהול המערכת
    • ניהול המערכת - שרת private
    1. דף הבית
    2. זאביק
    ז
    • פרופיל
    • עוקב אחרי 0
    • עוקבים 0
    • נושאים 16
    • פוסטים 59
    • הגבוה ביותר 12
    • שנוי במחלוקת 0
    • קבוצות 0

    זאביק

    @זאביק

    16
    מוניטין
    19
    צפיות בפרופיל
    59
    פוסטים
    0
    עוקבים
    0
    עוקב אחרי
    הצטרף ב- התחבר לאחרונה

    זאביק הפסק לעקוב עקוב

    הפוסטים הטובים ביותר שנוצרו על ידי זאביק

    • RE: השיחה מתנתקת באמצע הקלטה

      @אבו הבעייה מוכרת גם בחברות תוכן אחרות, (שאינם קשורות לימות המשיח)
      במקרים רבים, הבעייה נפתרת אחרי שמגדירים בטלפון שיהיה רק על דור 3 (ולא דור 4) בדוק ומנוסה!!
      תבדוק אם גם אצלך זה יפתור את הבעייה, ותעדכן את כולם לתועלת הרבים!!

      פורסם בבאגים במערכת
      ז
      זאביק
    • RE: דוחות של קמפיינים (הודעות) שנשלחו מהמערכת

      @עץ-השדה @אA

      ושוב בדקתי את הרעיון הראשון של @עץ-השדה , וראיתי שזה אכן רעיון מצויין גם בשבילי,

      כיון שראיתי בכמה בדיקות שעשיתי (ותתקנו אותי אם זה לא מדוייק), שיש הבדל אם ההגדרה בשלוחה היא שהלקוח חוסם עצמו ברשי"ת (שאז הלקוח נחסם בכל הרשי"ת הקיימות במערכת, והמנהל לא יכול להתערב אח"כ ולבטל את החסימה בשום צורה שהיא), ובין אם בשלוחה מוגדר שהלקוח מוחק עצמו מהרשי"ת (שאז המנהל יכול להחזיר את הלקוח שוב פעם, אפי' לרשי"ת הספציפית שנמחק משם),
      (בתיעוד של ימות המשיח לא הוזכר חילוק בעניין, אבל מכמה נסיונות שעשיתי זה מה שיצא לי בינתיים),

      ואם זה נכון, אז הרעיון של @עץ-השדה יסייע לי מאוד מאוד בתפעול המורכב של המון קמפיינים שאני שולח בקביעות זה תקופה ארוכה, ועל כך תודתי הגדולה!!!

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: ההקלטות נשמרות לי פעמיים

      @אA אז כנראה המערכת שלי משוכללת יותר מהמערכות של כולם... 🙂 🙂 🙂 בכל אופן תודה רבה!

      פורסם בשאלות ועזרה הדדית
      ז
      זאביק
    • RE: דוחות של קמפיינים (הודעות) שנשלחו מהמערכת

      @אA אני אגדיר remove_and_delete=yes
      ואבקש מהשרות לקוחות שיגדירו לי את הקמפיין כשיחה חוזרת כפי הרעיון של @עץ-השדה והכל יבוא על מקומו בשלום בס"ד

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: עדכון על שליחת פקסים דרך המערכת

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

      פורסם בשאלות ועזרה הדדית
      ז
      זאביק
    • RE: קו טלפון עם קריינות של מרדכי צין

      @פישל כמדומני "קול הלשון" 03-6171111

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: חסימת כל המספרים הנייחים שלא יוכלו לחייג למערכת

      @בוס עזרת לי מאוד! תודה רבה!!!

      פורסם בשאלות ועזרה הדדית
      ז
      זאביק
    • RE: דוחות של קמפיינים (הודעות) שנשלחו מהמערכת

      @אA בלשונית: שיגור הודעות / הגדרות קמפיין

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: דוחות של קמפיינים (הודעות) שנשלחו מהמערכת

      @אA שאלת למעלה האם המנהל יכול לבטל את החסימה שהלקוח חסם את עצמו, ועל זה השבתי שרשמית זה נראה באתר שכאשר המנהל מבטל את החסימה של הלקוח, הלקוח מקבל צבע ירוק של לקוח פעיל, אבל בפועל זה לא מצליח לשלוח לו הודעות,
      תיכנס ללשונית של שיגור הודעות/רשימת התפוצה, ותראה מה הכוונה.

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: פקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y

      @עידו @צבי-ד-צ @יב @CUBASE

      לתועלת הרבים אני מעלה פה בס"ד קוד משודרג!!
      הקוד כמובן מתבסס על הקוד הבסיסי ש @עידו היקר העלה פה!

      ויש כאן 4 שידרוגים חשובים

      1. בשאילתה יש אפשרות לקבוע איזו פעולה לעשות (להוסיף / למחוק / לחסום /להחליף).

      2. בנוסף יש אפשרות בפעולה אחת לבחור כמה רשימות "מקור" (ללא הגבלה) וכן אפשר לבחור כמה רשימות "יעד" (ללא הגבלה), - ולבצע את העתקת כל המספרים שנשלפו מכל המקורות שנבחרו, לכל היעדים שנבחרו,
        (שימו לב: אין אפשרות לפצל ביניהם, אלא הפעולה היא מכל המקורות לכל היעדים).

      3. ישנה אפשרות להכניס את הפרמטרים לתוך הגדרות השלוחה, ואז ניתן לבצע את הכל דרך הטלפון...

      להלן מה שצריך להכניס לשלוחה

      type=api
      api_link=http://164XXXXXXXXXXXXXXXXtfuza.php
      
      
      טוקן
      api_add_0=token=0999999999:123456
      
      
      
      איזו פעולה לבצע
      api_add_1=action=add
      
      4 אפשרויות:
         להוסיף add /   למחוק remove  /לחסום block / להחליף את המספרים הישנים בחדשים replace
      
      
      
      רשימת מקור
      api_add_2=source1=255510
      
      אפשר להוסיף מקורות ע"י source2  וכן הלאה
      
      
      
      רשימת יעד
      api_add_3=target1=255739
      
      אפשר להוסיף יעדים ע"י target2 וכן הלאה 
      
      
      1. מי שמשתמש הרבה פעמים בהעברות בין רשי"ת קבועות, - ואין לו זמן וכח למלא כל פעם את השאילתה מחדש, יכול ליצור לעצמו באופן חד פעמי לינק, שיבצע את הכל בלחיצה אחת,

      הלינק צריך להיות כך:

      .http://164XXXXXXXXXXXXXXXXtfuza.php?token=0799999999:123456&action=add&source1=11122&target1=22233

      מצו"ב תמונה של השאילתה המעודכנת:

      f1c1bfa4-30af-4818-be94-74eb7bfbe408-תמונה.png

      וכמובן צריך שרת להכניס שם את הקוד, ולהלן הקוד המשודרג:

      <?php
      // משתנים עיקריים
      $success = '';
      $error = '';
      $resultMsg = '';
      $removedCount = 0;
      $blockedCount = 0;
      $transferredCount = 0;
      
      // קבלת פרמטרים מהמשתמש (GET/POST)
      $request = array_merge($_GET, $_POST);
      $action = $request['action'] ?? '';
      $token = $request['token'] ?? '';
      
      // קבלת מקורות ויעדים כמערכים
      $sources = [];
      $targets = [];
      
      // תמיכה בפרמטרים בודדים או מערכים
      foreach ($request as $key => $value) {
          if (preg_match('/^source(\d+)$/', $key) && trim($value) !== '') {
              $sources[] = trim($value);
          }
      }
      if (isset($request['sources']) && is_array($request['sources'])) {
          foreach ($request['sources'] as $src) {
              if (trim($src) !== '') $sources[] = trim($src);
          }
      }
      foreach ($request as $key => $value) {
          if (preg_match('/^target(\d+)$/', $key) && trim($value) !== '') {
              $targets[] = trim($value);
          }
      }
      if (isset($request['targets']) && is_array($request['targets'])) {
          foreach ($request['targets'] as $tgt) {
              if (trim($tgt) !== '') $targets[] = trim($tgt);
          }
      }
      
      // ביצוע פעולה רק אם כל הנתונים קיימים
      if ($_SERVER['REQUEST_METHOD'] === 'POST' || !empty($_GET)) {
          if ($token && count($sources) > 0 && count($targets) > 0 && in_array($action, ['add','remove','block','replace'])) {
              // פונקציית עזר לשליחת בקשה ל-API
              function apiRequest($url, $data) {
                  $curl = curl_init($url);
                  curl_setopt_array($curl, [
                      CURLOPT_RETURNTRANSFER => true,
                      CURLOPT_POST => true,
                      CURLOPT_POSTFIELDS => http_build_query($data),
                  ]);
                  $response = curl_exec($curl);
                  curl_close($curl);
                  return json_decode($response, true);
              }
              // שליפת כל המספרים מכל המקורות (ללא כפילויות)
              $allNumbers = [];
              foreach ($sources as $sourceId) {
                  $getUrl = 'https://www.call2all.co.il/ym/api/GetTemplateEntries';
                  $getResponse = apiRequest($getUrl, [
                      'token' => $token,
                      'templateId' => $sourceId,
                  ]);
                  if (isset($getResponse['entries'])) {
                      foreach ($getResponse['entries'] as $entry) {
                          $phone = $entry['phone'];
                          $allNumbers[$phone] = [
                              'phone' => $phone,
                              'name' => $entry['name'] ?? '',
                              'moreinfo' => $entry['moreinfo'] ?? '',
                              'blocked' => $entry['blocked'] ? 1 : 0,
                          ];
                      }
                  }
              }
              // ביצוע הפעולה שבחר המשתמש
              if ($action === 'replace') {
                  // אם נבחרה פעולה 'החלפה' - מנקים את כל המספרים מכל היעדים
                  $clearUrl = 'https://www.call2all.co.il/ym/api/ClearTemplateEntries';
                  foreach ($targets as $targetId) {
                      apiRequest($clearUrl, [
                          'token' => $token,
                          'templateId' => $targetId,
                      ]);
                  }
              }
              if ($action === 'add' || $action === 'replace') {
                  // אם נבחרה פעולה 'הוספה' או 'החלפה' - מוסיפים את כל המספרים מהמקורות לכל היעדים
                  $updateUrl = 'https://www.call2all.co.il/ym/api/UpdateTemplateEntry';
                  foreach ($targets as $targetId) {
                      foreach ($allNumbers as $entry) {
                          apiRequest($updateUrl, [
                              'token' => $token,
                              'templateId' => $targetId,
                              'phone' => $entry['phone'],
                              'name' => $entry['name'],
                              'moreinfo' => $entry['moreinfo'],
                              'blocked' => $entry['blocked'],
                          ]);
                          $transferredCount++;
                      }
                  }
                  $resultMsg = "בוצעה הוספה של $transferredCount מספרים.";
              } elseif ($action === 'remove') {
                  // אם נבחרה פעולה 'מחיקה' - מוחקים את כל המספרים מהיעדים
                  $deleteUrl = 'https://www.call2all.co.il/ym/api/ClearTemplateEntries';
                  foreach ($targets as $targetId) {
                      foreach ($allNumbers as $entry) {
                          apiRequest($deleteUrl, [
                              'token' => $token,
                              'templateId' => $targetId,
                              'phone' => $entry['phone'],
                          ]);
                          $removedCount++;
                      }
                  }
                  $resultMsg = "בוצעה מחיקה של $removedCount מספרים.";
              } elseif ($action === 'block') {
                  // אם נבחרה פעולה 'חסימה' - חוסמים את כל המספרים בכל היעדים
                  $blockUrl = 'https://www.call2all.co.il/ym/api/UpdateTemplateEntry';
                  foreach ($targets as $targetId) {
                      foreach ($allNumbers as $entry) {
                          apiRequest($blockUrl, [
                              'token' => $token,
                              'templateId' => $targetId,
                              'phone' => $entry['phone'],
                              'name' => $entry['name'],
                              'moreinfo' => $entry['moreinfo'],
                              'blocked' => 1, // חסום
                          ]);
                          $blockedCount++;
                      }
                  }
                  $resultMsg = "בוצעה חסימה של $blockedCount מספרים.";
              }
              // שמירת הודעת הצלחה
              $success = $resultMsg;
          } else {
              // אם חסר נתון - הודעת שגיאה מתאימה
              $error = "יש למלא טוקן, לפחות מקור אחד ולפחות יעד אחד, ולבחור פעולה";
          }
      }
      ?>
      <!DOCTYPE html>
      <html lang="he">
      <head>
          <meta charset="UTF-8">
          <title>ניהול רשימות תפוצה</title>
          <style>
              /* עיצוב בסיסי לטופס ולרכיבים */
              body { font-family: sans-serif; direction: rtl; padding: 20px; max-width: 600px; margin: auto; }
              label { display: block; margin-top: 10px; }
              input[type="text"], input[type="number"] { width: 100%; padding: 8px; margin-top: 5px; }
              button { margin-top: 20px; padding: 10px 20px; font-size: 16px; }
              .msg { margin-top: 20px; font-weight: bold; }
              select { width: 100%; padding: 8px; margin-top: 5px; }
              .dynamic-list { margin-bottom: 10px; }
              .dynamic-list input { width: 90%; display: inline-block; }
              .dynamic-list button { width: 8%; display: inline-block; }
          </style>
          <script>
          // פונקציה להוספת שדה מקור/יעד דינמית לטופס
          // מוסיפה div עם שדה קלט וכפתור X להסרה
          function addField(listId, inputName) {
              var list = document.getElementById(listId);
              var div = document.createElement('div');
              div.className = 'dynamic-list';
              div.innerHTML = '<input type="number" name="'+inputName+'[]" placeholder="הכנס מזהה"> <button type="button" onclick="this.parentNode.remove();">X</button>';
              list.appendChild(div);
          }
          </script>
      </head>
      <body>
      <h2>ניהול רשימות תפוצה</h2>
      <form method="post">
          <!-- שדה טוקן -->
          <label>Token:
              <input type="text" name="token" required>
          </label>
          <!-- שדות מקורות -->
          <label>מקורות (ללא הגבלה):</label>
          <div id="sources-list"></div>
          <button type="button" onclick="addField('sources-list','sources')">הוסף מקור</button>
          <!-- שדות יעדים -->
          <label>יעדים (ללא הגבלה):</label>
          <div id="targets-list"></div>
          <button type="button" onclick="addField('targets-list','targets')">הוסף יעד</button>
          <!-- בחירת פעולה -->
          <label>פעולה:
              <select name="action" required>
                  <option value="">בחר פעולה</option>
                  <option value="add">הוספה (העתקה)</option>
                  <option value="remove">מחיקה</option>
                  <option value="block">חסימה</option>
                  <option value="replace">החלפה (ניקוי ואז הוספה)</option>
              </select>
          </label>
          <button type="submit">בצע פעולה</button>
      </form>
      <?php if (!empty($error)): ?>
          <!-- הודעת שגיאה אם יש -->
          <div class="msg" style="color: red;"> <?= htmlspecialchars($error) ?> </div>
      <?php elseif (!empty($success)): ?>
          <!-- הודעת הצלחה אם יש -->
          <div class="msg" style="color: green;"> <?= htmlspecialchars($success) ?> </div>
      <?php endif; ?>
      <script>
      // הוספת שדה ראשון אוטומטית למקורות וליעדים בעת טעינת הדף
      addField('sources-list','sources');
      addField('targets-list','targets');
      </script>
      </body>
      </html>
      
      

      בהצלחה גדולה!!

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק

    פוסטים אחרונים שנוצרו על ידי זאביק

    • RE: פקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y

      @עידו המשכתי לעבוד עליו באותה צורה שאתה יצרת אותו... (וכמובן בדקתי ותיקנתי את הקוד היכן שמצאתי שהוא טעה).

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: פקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y

      @עידו @צבי-ד-צ @יב @CUBASE

      לתועלת הרבים אני מעלה פה בס"ד קוד משודרג!!
      הקוד כמובן מתבסס על הקוד הבסיסי ש @עידו היקר העלה פה!

      ויש כאן 4 שידרוגים חשובים

      1. בשאילתה יש אפשרות לקבוע איזו פעולה לעשות (להוסיף / למחוק / לחסום /להחליף).

      2. בנוסף יש אפשרות בפעולה אחת לבחור כמה רשימות "מקור" (ללא הגבלה) וכן אפשר לבחור כמה רשימות "יעד" (ללא הגבלה), - ולבצע את העתקת כל המספרים שנשלפו מכל המקורות שנבחרו, לכל היעדים שנבחרו,
        (שימו לב: אין אפשרות לפצל ביניהם, אלא הפעולה היא מכל המקורות לכל היעדים).

      3. ישנה אפשרות להכניס את הפרמטרים לתוך הגדרות השלוחה, ואז ניתן לבצע את הכל דרך הטלפון...

      להלן מה שצריך להכניס לשלוחה

      type=api
      api_link=http://164XXXXXXXXXXXXXXXXtfuza.php
      
      
      טוקן
      api_add_0=token=0999999999:123456
      
      
      
      איזו פעולה לבצע
      api_add_1=action=add
      
      4 אפשרויות:
         להוסיף add /   למחוק remove  /לחסום block / להחליף את המספרים הישנים בחדשים replace
      
      
      
      רשימת מקור
      api_add_2=source1=255510
      
      אפשר להוסיף מקורות ע"י source2  וכן הלאה
      
      
      
      רשימת יעד
      api_add_3=target1=255739
      
      אפשר להוסיף יעדים ע"י target2 וכן הלאה 
      
      
      1. מי שמשתמש הרבה פעמים בהעברות בין רשי"ת קבועות, - ואין לו זמן וכח למלא כל פעם את השאילתה מחדש, יכול ליצור לעצמו באופן חד פעמי לינק, שיבצע את הכל בלחיצה אחת,

      הלינק צריך להיות כך:

      .http://164XXXXXXXXXXXXXXXXtfuza.php?token=0799999999:123456&action=add&source1=11122&target1=22233

      מצו"ב תמונה של השאילתה המעודכנת:

      f1c1bfa4-30af-4818-be94-74eb7bfbe408-תמונה.png

      וכמובן צריך שרת להכניס שם את הקוד, ולהלן הקוד המשודרג:

      <?php
      // משתנים עיקריים
      $success = '';
      $error = '';
      $resultMsg = '';
      $removedCount = 0;
      $blockedCount = 0;
      $transferredCount = 0;
      
      // קבלת פרמטרים מהמשתמש (GET/POST)
      $request = array_merge($_GET, $_POST);
      $action = $request['action'] ?? '';
      $token = $request['token'] ?? '';
      
      // קבלת מקורות ויעדים כמערכים
      $sources = [];
      $targets = [];
      
      // תמיכה בפרמטרים בודדים או מערכים
      foreach ($request as $key => $value) {
          if (preg_match('/^source(\d+)$/', $key) && trim($value) !== '') {
              $sources[] = trim($value);
          }
      }
      if (isset($request['sources']) && is_array($request['sources'])) {
          foreach ($request['sources'] as $src) {
              if (trim($src) !== '') $sources[] = trim($src);
          }
      }
      foreach ($request as $key => $value) {
          if (preg_match('/^target(\d+)$/', $key) && trim($value) !== '') {
              $targets[] = trim($value);
          }
      }
      if (isset($request['targets']) && is_array($request['targets'])) {
          foreach ($request['targets'] as $tgt) {
              if (trim($tgt) !== '') $targets[] = trim($tgt);
          }
      }
      
      // ביצוע פעולה רק אם כל הנתונים קיימים
      if ($_SERVER['REQUEST_METHOD'] === 'POST' || !empty($_GET)) {
          if ($token && count($sources) > 0 && count($targets) > 0 && in_array($action, ['add','remove','block','replace'])) {
              // פונקציית עזר לשליחת בקשה ל-API
              function apiRequest($url, $data) {
                  $curl = curl_init($url);
                  curl_setopt_array($curl, [
                      CURLOPT_RETURNTRANSFER => true,
                      CURLOPT_POST => true,
                      CURLOPT_POSTFIELDS => http_build_query($data),
                  ]);
                  $response = curl_exec($curl);
                  curl_close($curl);
                  return json_decode($response, true);
              }
              // שליפת כל המספרים מכל המקורות (ללא כפילויות)
              $allNumbers = [];
              foreach ($sources as $sourceId) {
                  $getUrl = 'https://www.call2all.co.il/ym/api/GetTemplateEntries';
                  $getResponse = apiRequest($getUrl, [
                      'token' => $token,
                      'templateId' => $sourceId,
                  ]);
                  if (isset($getResponse['entries'])) {
                      foreach ($getResponse['entries'] as $entry) {
                          $phone = $entry['phone'];
                          $allNumbers[$phone] = [
                              'phone' => $phone,
                              'name' => $entry['name'] ?? '',
                              'moreinfo' => $entry['moreinfo'] ?? '',
                              'blocked' => $entry['blocked'] ? 1 : 0,
                          ];
                      }
                  }
              }
              // ביצוע הפעולה שבחר המשתמש
              if ($action === 'replace') {
                  // אם נבחרה פעולה 'החלפה' - מנקים את כל המספרים מכל היעדים
                  $clearUrl = 'https://www.call2all.co.il/ym/api/ClearTemplateEntries';
                  foreach ($targets as $targetId) {
                      apiRequest($clearUrl, [
                          'token' => $token,
                          'templateId' => $targetId,
                      ]);
                  }
              }
              if ($action === 'add' || $action === 'replace') {
                  // אם נבחרה פעולה 'הוספה' או 'החלפה' - מוסיפים את כל המספרים מהמקורות לכל היעדים
                  $updateUrl = 'https://www.call2all.co.il/ym/api/UpdateTemplateEntry';
                  foreach ($targets as $targetId) {
                      foreach ($allNumbers as $entry) {
                          apiRequest($updateUrl, [
                              'token' => $token,
                              'templateId' => $targetId,
                              'phone' => $entry['phone'],
                              'name' => $entry['name'],
                              'moreinfo' => $entry['moreinfo'],
                              'blocked' => $entry['blocked'],
                          ]);
                          $transferredCount++;
                      }
                  }
                  $resultMsg = "בוצעה הוספה של $transferredCount מספרים.";
              } elseif ($action === 'remove') {
                  // אם נבחרה פעולה 'מחיקה' - מוחקים את כל המספרים מהיעדים
                  $deleteUrl = 'https://www.call2all.co.il/ym/api/ClearTemplateEntries';
                  foreach ($targets as $targetId) {
                      foreach ($allNumbers as $entry) {
                          apiRequest($deleteUrl, [
                              'token' => $token,
                              'templateId' => $targetId,
                              'phone' => $entry['phone'],
                          ]);
                          $removedCount++;
                      }
                  }
                  $resultMsg = "בוצעה מחיקה של $removedCount מספרים.";
              } elseif ($action === 'block') {
                  // אם נבחרה פעולה 'חסימה' - חוסמים את כל המספרים בכל היעדים
                  $blockUrl = 'https://www.call2all.co.il/ym/api/UpdateTemplateEntry';
                  foreach ($targets as $targetId) {
                      foreach ($allNumbers as $entry) {
                          apiRequest($blockUrl, [
                              'token' => $token,
                              'templateId' => $targetId,
                              'phone' => $entry['phone'],
                              'name' => $entry['name'],
                              'moreinfo' => $entry['moreinfo'],
                              'blocked' => 1, // חסום
                          ]);
                          $blockedCount++;
                      }
                  }
                  $resultMsg = "בוצעה חסימה של $blockedCount מספרים.";
              }
              // שמירת הודעת הצלחה
              $success = $resultMsg;
          } else {
              // אם חסר נתון - הודעת שגיאה מתאימה
              $error = "יש למלא טוקן, לפחות מקור אחד ולפחות יעד אחד, ולבחור פעולה";
          }
      }
      ?>
      <!DOCTYPE html>
      <html lang="he">
      <head>
          <meta charset="UTF-8">
          <title>ניהול רשימות תפוצה</title>
          <style>
              /* עיצוב בסיסי לטופס ולרכיבים */
              body { font-family: sans-serif; direction: rtl; padding: 20px; max-width: 600px; margin: auto; }
              label { display: block; margin-top: 10px; }
              input[type="text"], input[type="number"] { width: 100%; padding: 8px; margin-top: 5px; }
              button { margin-top: 20px; padding: 10px 20px; font-size: 16px; }
              .msg { margin-top: 20px; font-weight: bold; }
              select { width: 100%; padding: 8px; margin-top: 5px; }
              .dynamic-list { margin-bottom: 10px; }
              .dynamic-list input { width: 90%; display: inline-block; }
              .dynamic-list button { width: 8%; display: inline-block; }
          </style>
          <script>
          // פונקציה להוספת שדה מקור/יעד דינמית לטופס
          // מוסיפה div עם שדה קלט וכפתור X להסרה
          function addField(listId, inputName) {
              var list = document.getElementById(listId);
              var div = document.createElement('div');
              div.className = 'dynamic-list';
              div.innerHTML = '<input type="number" name="'+inputName+'[]" placeholder="הכנס מזהה"> <button type="button" onclick="this.parentNode.remove();">X</button>';
              list.appendChild(div);
          }
          </script>
      </head>
      <body>
      <h2>ניהול רשימות תפוצה</h2>
      <form method="post">
          <!-- שדה טוקן -->
          <label>Token:
              <input type="text" name="token" required>
          </label>
          <!-- שדות מקורות -->
          <label>מקורות (ללא הגבלה):</label>
          <div id="sources-list"></div>
          <button type="button" onclick="addField('sources-list','sources')">הוסף מקור</button>
          <!-- שדות יעדים -->
          <label>יעדים (ללא הגבלה):</label>
          <div id="targets-list"></div>
          <button type="button" onclick="addField('targets-list','targets')">הוסף יעד</button>
          <!-- בחירת פעולה -->
          <label>פעולה:
              <select name="action" required>
                  <option value="">בחר פעולה</option>
                  <option value="add">הוספה (העתקה)</option>
                  <option value="remove">מחיקה</option>
                  <option value="block">חסימה</option>
                  <option value="replace">החלפה (ניקוי ואז הוספה)</option>
              </select>
          </label>
          <button type="submit">בצע פעולה</button>
      </form>
      <?php if (!empty($error)): ?>
          <!-- הודעת שגיאה אם יש -->
          <div class="msg" style="color: red;"> <?= htmlspecialchars($error) ?> </div>
      <?php elseif (!empty($success)): ?>
          <!-- הודעת הצלחה אם יש -->
          <div class="msg" style="color: green;"> <?= htmlspecialchars($success) ?> </div>
      <?php endif; ?>
      <script>
      // הוספת שדה ראשון אוטומטית למקורות וליעדים בעת טעינת הדף
      addField('sources-list','sources');
      addField('targets-list','targets');
      </script>
      </body>
      </html>
      
      

      בהצלחה גדולה!!

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: פקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y

      @CUBASE

      @CUBASE כתב בפקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y:

      ב. מעניין למה אצלי הטקסט בשאילתה משובש (מצו"ב)

      כנראה שלא שמרת את הקובץ בפורמט UTF-8

      צודק! תודה רבה!!!

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: פקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y

      @יב לא בדיוק הבנתי,
      אני בין כך מגדיר ידנית פעם אחת בלבד, ושומר לי את כל הלינקים המדוייקים הנצרכים לי במחשב, ואח"כ אני לא צריך להגדיר שוב פעם כלום.

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: פקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y

      @יב מה זה יועיל לי?
      לכאורה הכי טוב עבורי הוא, לטפל בקוד ש@עידו היקר הביא, ולהתאים אותו לקבלת הפרמטרים באמצעות לינק.

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: פקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y

      @עידו כל הכבוד!!
      עזרת לי (ומסתבר גם לרבים אחרים) מאוד!!
      תודה רבה!!

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

      ולכן ניסיתי להכין לינקים מדוייקים עבור מה שאני צריך בצורה כזו למשל:

      164XXXXXXXXXXXXXXXX.tfuza.php?token=079999999:123456&sourceTemplateId=250005&targetTemplateId=250006

      ועדיין הלינק לא מביא לי את התוצאה הרצוייה, אלא הוא מחזיר לי את השאילתה שיצרת,

      ואשמח אם תוכל לבטל את השאילתה הנ"ל, ושיקח את הפרמטרים ממה שאני שולח לו בלינק בלבד.

      ב. מעניין למה אצלי הטקסט בשאילתה משובש (מצו"ב)
      649dea54-a389-4205-bbfe-5c9cc8d335c9-תמונה.png

      @צבי-ד-צ כתב בפקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y:

      אבל אולי יש משהו יותר מהיר חכה לראות.

      מסתבר שהיה שווה לחכות...

      תודה רבה והצלחה גדולה לכולם!!!

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: פקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y

      @עידו ברור, - לא מדובר ב"מערכת" שלימה מא' עד ת', אלא המדובר בקוד PHP שיוריד את כל המספרים מרשי"ת א' ויעלה אותם לרשי"ת ב', -
      והשאלה כמה זמן יקח לו (ולי) לכזה דבר עד שהוא יביא את התוצאה המוגמרת, (במילים אחרות: אני יודע את המחיר שמתכנתים לוקחים על כזה דבר, - ולחסוך זמן עבודה שלי מול הGPT גם שווה לי משהו... - כך שאני זקוק להשערת זמן מסויימת בכדי שאוכל להשוות את המחירים...)

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: פקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y

      @צבי-ד-צ כתב בפקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y:

      אבל אולי יש משהו יותר מהיר (בלי שרת כמובן) חכה לראות.

      דווקא יש לי שרת, אבל כל קוד שהשגתי ע"י פיתוח, עלה לי טבין ותקילין, (ורק עכשיו ראיתי את המדריך הנפלא שכתבת, שאילו הייתי יודע ממנו מראש, יכל לחסוך לי ממון...).

      @צבי-ד-צ כתב בפקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y:

      תמיד כמובן אתה יכול לבקש מר' GPT וכדו' קוד בפייתון או משהו כזה שתריץ במחשב וזה יעשה לך את זה.

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

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: פקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y

      @צבי-ד-צ

      @זאביק כתב בפקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y:

      ולצורך הפרוייקט אני זקוק לבצע פעמים רבות העתקה של כל המספרים מרשי"ת X לרשי"ת Y

      @זאביק כתב בפקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y:

      וכיון שיש לי הרבה פעולות כאלו לבצע בצורה ידנית, וזה מסרבל את העבודה, - אני מחפש פיתרון להגיע לתוצאה מהירה לזה.
      אשמח לכל רעיון בעניין!!

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • פקודה מהירה להעתקת כל המספרים מרשי"ת X לרשי"ת Y

      שלום רב,

      אני משתמש בקביעות פעמים רבות בשיגור הודעות ללקוחות מרשימות תפוצה שונות, ולצורך הפרוייקט אני זקוק לבצע פעמים רבות העתקה של כל המספרים מרשי"ת X לרשי"ת Y (או חסימתם / מחיקתם מרשימה Y)

      השאלה שלי: האם קיימת אפשרות להרצת פקודה מהירה בדפדפן, להעתקת כל המספרים מרשי"ת X לרשי"ת Y

      (או לחילופין האם יש הגדרות כלשהם, שאוכל להכניס לשלוחה במערכת בשביל לקבל את התוצאה הנ"ל).

      יודגש: אין לי שום אפשרות להגדיר שבעת כניסת הלקוח למערכת, יתבצעו כל ההעתקות הרצויות מרשי"ת X לרשי"תY בצורה שקטה, - כיון שאני מכניס את הנתונים לרשי"ת Y ממקור חיצוני כמה ימים אחרי שהלקוח ביקר במערכת,

      (לדוגמא: יש לי רשימות ממקור חיצוני של לקוחות שחייבים לי כסף, ואני שולח להם תזכורת לתשלום ביום חמישי למשל, אך לפני התזכורת אני חייב להעתיק את המספרים מרשי"ת X (ששם נמצאים אלו ששילמו לי באמצעות המערכת בימים האחרונים), ולמחוק אותם מרשי"ת Y (ששם רשומים אלו אלו שעומדים לקבל ממני כעת הודעת תזכורת), - וכיון שיש לי הרבה פעולות כאלו לבצע בצורה ידנית, וזה מסרבל את העבודה, - אני מחפש פיתרון להגיע לתוצאה מהירה לזה.

      אשמח לכל רעיון בעניין!!

      יתכן שקיימת אפשרות להרצת פקודה מהירה בדפדפן, להעתקת כל המספרים מרשי"ת X לרשי"ת Y - וזה הכי יעזור לי!!

      תודה רבה!!

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק