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

    זאביק

    @זאביק

    123
    מוניטין
    29
    צפיות בפרופיל
    153
    פוסטים
    0
    עוקבים
    0
    עוקב אחרי
    הצטרף ב- התחבר לאחרונה

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

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

    • RE: אבטחה - באימות דו שלבי / דעתכם... 🪪💂🏻

      @שמואל
      א. ישנם בעלי מערכות שאינם מתכנתים בעצמם, אך הקימו בעבר מערכת מורכבת מאוד שמבוססת כולה על API ע"י מתכנת מקצועי בתשלום נכבד,

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

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

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

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

      הרי הנהלת ימות המשיח לא צריכה לחשוש לביטחון המערכת הפרטית של הלקוח, יותר ממה שהלקוח בעצמו חושש.

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




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

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

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

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

      [ואם זה קשה לכם כיון שזה מכפיל את נפח האיחסון של המערכות בשרתים שלכם, אז לפחות תתנו את האפשרות הזו רק לבעלי המערכות שמשלמים לכם תשלום חודשי על החזקת המערכת]

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

      ואחתום בתודה על כל השידרוגים והחידושים שאתם נותנים למשתמשים כל הזמן ללא עלות.
      כתיבה וחתימה טובה!!!

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: אבטחה - באימות דו שלבי / דעתכם... 🪪💂🏻

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

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

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

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

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

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

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: אבטחה - באימות דו שלבי / דעתכם... 🪪💂🏻

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

      ואני בסה"כ מבקש שיהיו לי לפחות כמה שנים של שקט, בין באג יזום אחד לבאג יזום השני,

      ובתקופה האחרונה כבר היה לנו כאב ראש גדול עם הקריין TTS שהשתבש, וכעת נשמח לנוח כמה שנים בשקט,

      וכפי שציינתי למעלה אין לי תלונות על ההנהלה חלילה, אלא אני רק מעלה פה את מה שכלקוחות היינו מאוד מאוד רוצים לקבל במערכת: מערכת יציבה וחלקה שאינה דורשת תחזוקה מצידנו כלל וכלל.

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

      @צבי-ד-צ כתב בעדכונים בנוגע לקריסת השרתים של ימות מאמצע הלילה !!!:

      אז אל דאגה מידי

      הדאגה היא ברמה האישית, כיון שכבר מזמן הפסיקו את שירות FTP ומאז אין לנו גיבוי על כל הנתונים היקרים ששווים הון...

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

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

      @יאנג-בוי דווקא לי ענו במייל כך:

      b2c3b64d-3ace-441b-ae94-1fad529ed035-תמונה.png

      ומזה שהשיבו לי "אין צפי לחזרה שלהם כרגע" היה נראה שזה פעולה יזומה, וזה לא באג, וזה לא בטיפול,

      אך כמובן שנשמח כולנו אם זה אכן יחזור לפעול!!

      (אולי יש לבטל את ה"נפתר" עד שהעניינים יתבהרו)

      פורסם בבאגים במערכת
      ז
      זאביק
    • RE: אבטחה - באימות דו שלבי / דעתכם... 🪪💂🏻

      @מנסה כתב באבטחה - באימות דו שלבי / דעתכם... 🪪💂🏻:

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

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

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

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

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

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

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

      @yankl כתב בקול ההקראה השתנה לפתע:

      וכן שיבושים בהקראה כולל טקסט מנוקד, כפי שתיארו זאת היטב קודמיי.

      לתועלת הרבים, מנסיון, יש לשים לב, לנקד "רק" את המילים שהוא "לא יודע" לקריין אותם כראוי "בלבד",

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

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

      פורסם בבאגים במערכת
      ז
      זאביק
    • 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 וכן הלאה 
      
      

      (אפשר להשתיק את הודעת "אין מענה משרת API" - הפעולה מתבצעת בלי תשובה מהשרת)

      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);
              }
              // שליפת כל המספרים מכל המקורות (ללא כפילויות), כולל rowid
              $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,
                              'rowid' => $entry['rowid'] ?? '', // נוסיף את rowid
                          ];
                      }
                  }
              }
              // ביצוע הפעולה שבחר המשתמש
              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') {
                  // אם נבחרה פעולה 'מחיקה' - מוחקים את כל המספרים מהיעדים לפי rowid
                  $deleteUrl = 'https://www.call2all.co.il/ym/api/UpdateTemplateEntries';
                  foreach ($targets as $targetId) {
                      $rowids = [];
                      foreach ($allNumbers as $entry) {
                          if (!empty($entry['rowid'])) {
                              $rowids[] = $entry['rowid'];
                          }
                      }
                      if (count($rowids) > 0) {
                          apiRequest($deleteUrl, [
                              'token' => $token,
                              'templateId' => $targetId,
                              'rowids' => implode('-', $rowids),
                              'action' => 'delete',
                          ]);
                          $removedCount += count($rowids);
                      }
                  }
                  $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: קול ההקראה השתנה לפתע

      בשורה טובה:

      נכון לשעות האחרונות,

      הקריין הישן חזר לפעולה!!!!!

      פורסם בבאגים במערכת
      ז
      זאביק
    • RE: אבטחה - באימות דו שלבי / דעתכם... 🪪💂🏻

      @מנסה כתב באבטחה - באימות דו שלבי / דעתכם... 🪪💂🏻:

      או בקיצור הולך להישרף לי חודש מהחיים על השינוי הזה

      להישרף לך ולעוד אלפי לקוחות...

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

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

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

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

    • RE: דחוף!!! מאזינים נחסמים מרשי"ת אוטומאטי!! ⛔🚫

      @עידו @פלוס

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

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

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

      תגובה: קבצי HTML לשימוש במערכות ימות המשיח
      @אA כדאי לציין בכל קוד שמובא בשרשור, את הקישור לפוסט המקורי בפורום, בכדי שיוכלו למצוא בקלות את כל ההוראות הנצרכות לקוד וכו', וכן אם יש שגיאות בקוד HTML, יוכלו להשיג בקלות את הקוד המקורי,
      תודה רבה על ההשקעה והרעיון המבורך.

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

      @חכמון
      בס"ד ישנן 2 פיתרונות לזה,

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

      2. ניתן להשתמש דרך API במנוע קמפיין שמתחיל כך:
        http://call2all.co.il/ym/api/CallExtensionBridging

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

      כמובן שניתן להכניס את כל הלינק של הAPI לתוך שלוחת API בתוך המערכת, ואכמ"ל בזה.

      ורק יש לשים לב, ששיטת התימחור ביחידות של 2 סוגי הקמפיינים שהוזכרו, (קמפיין רגיל / והקמפיין המיוחד הנ"ל) הינו שונה לגמרי, - ותבדוק מה הכי מתאים לך,

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

      בהצלחה!!

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

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

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

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

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: דחוף!!! מאזינים נחסמים מרשי"ת אוטומאטי!! ⛔🚫

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

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

      בהצלחה

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

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

      והדרך שאני משתמש איתה היא כך:

      1. תכניס את הנמענים ל-2 רשי"ת שונות, (לצורך הדוגמא A ו B)
      2. תגדיר בקמפיין, שהוא יהיה קמפיין פתוח (כמובן עם טיימר להגבלת משך השיחה, בכדי שלא ישרפו לך כל היחידות...), והקמפיין ישלח לכל הנמענים שברשי"ת A, והנמענים יכנסו במענה לשיחה לשלוחה של השאלון הרצוי, והמקש שהם מקישים בשביל לאשר, בעצם מכניס אותם לשלוחת הסרה שקטה מרשי"ת A ,
      3. בכל שבוע תפעיל לינק (אפשרי באופן אוטומטי) שמעתיק ברגע אחד את כל הרשומים ברשי"ת B לרשי"ת A - אפשרי לעשות זאת ע"י קוד PHP לניהול רשי"ת, שהובא כאן בפורום בעבר.
      4. תכין לינק שיפעיל לך את הקמפיין הנצרך, - ותעשה תזמון של הפעלה אוטומטית ללינק בשני ימים בשבוע למשל בשעה הנצרכת,

      בהצלחה

      פורסם בעזרה הדדית למשתמשים מתקדמים
      ז
      זאביק
    • RE: דחוף!!! מאזינים נחסמים מרשי"ת אוטומאטי!! ⛔🚫

      @פלוס זה נראה שאתה מדבר על משהו קריטי ודחוף מאוד,

      אז יש לי רעיון בינתיים לעזרה ראשונה,

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

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

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

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

      @איל-משולש
      וכמובן, אם כבר הוא מטפל בקוד, יהיה תועלת גדולה הרבה יותר, אם יוכלו לבחור גם את החצי הראשון של השם של הקובץ, כיון שיש דוחות שבכלל לא מתחילים ב ApprovalAll אלא ב point וכדומה.
      תודה רבה!

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