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

    מנחם עזריה

    @מנחם עזריה

    1
    מוניטין
    27
    צפיות בפרופיל
    8
    פוסטים
    0
    עוקבים
    1
    עוקב אחרי
    הצטרף ב- התחבר לאחרונה

    מנחם עזריה הפסק לעקוב עקוב

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

    • RE: קבוצת לימוד API

      @פיסטוק-חלבי
      אשמח להצטרף לקבוצה ללימודי API + PHP במייל Y10406400@gmail.com
      תודה

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

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

    • RE: מדריך התחלת עבודה עם API של ימות משיח (חלק ב').

      כתבתי ככה ועושה לי שגיאה מה הבעיה?

      <?php

      echo "זה קוד PHP";
      //בשרת רגיל
      define("URL", "https://www.call2all.co.il/ym/api/");
      //בשרת פרייבט
      //define("URL", "https://private.call2all.co.il/ym/api/");
      //בשרת רגיל
      //משתנה כדי למנוע בעיות בהעלאת קבצים בהמשך
      $server = "www";
      //בשרת פרייבט
      //$server = "private";
      class BodyPost
      {
      // part "multipart/form-data"
      public static function PartPost($name, $val)
      {
      $body = 'Content-Disposition: form-data; name="' . $name . '"';
      // check instance of oFile
      if($val instanceof oFile)
      {
      $file = $val->Name();
      $mime = $val->Mime();
      $cont = $val->Content();

                $body .= '; filename="' . $file . '"' . "\r\n";
                $body .= 'Content-Type: ' . $mime ."\r\n\r\n";
                $body .= $cont."\r\n";
            } else $body .= "\r\n\r\n".$val."\r\n";
           return $body;
       }
      
      public static function Get(array $post, $delimiter = '-------------0123456789')
       {
           if(is_array($post) && !empty($post))
            {
                $bool = true;
                //foreach($post as $val) if($val instanceof oFile) {$bool = true; break; };
                if($bool)
                 {
                     $ret = '';
                     foreach($post as $name=>$val)
                         $ret .= '--' . $delimiter. "\r\n". self::PartPost($name, $val);
                     $ret .= "--" . $delimiter . "--\r\n";
                 } else $ret = http_build_query($post);
            } else throw new \Exception('Error input param!');
           return $ret;
       }
      

      }

      class oFile
      {
      private $name;
      private $mime;
      private $content;

       public function __construct($name, $mime=null, $content=null)
        {
            if(is_null($content))
             {
                 $info = pathinfo($name);
      

      // check is exist and readable file
      if(!empty($info['basename']) && is_readable($name))
      {
      $this->name = $info['basename'];
      // get MIME
      $this->mime = mime_content_type($name);
      // load file
      $content = file_get_contents($name);
      if($content!==false)
      {
      $this->content = $content;
      }
      else
      {
      throw new Exception('Don`t get content - "'.$name.'"');
      }
      }
      else
      {
      throw new Exception('Error param');
      }
      }
      else
      {
      $this->name = $name;
      if(is_null($mime)) $mime = mime_content_type($name);
      $this->mime = $mime;
      $this->content = $content;
      };
      }

      public function Name() { return $this->name; }
      
      public function Mime() { return $this->mime; }
      
      public function Content() { return $this->content; }
      

      }

      class connecting_to_yemot_api
      {
      public $token;

      const URL = URL;
      
      public function __construct($user_name, $password)
      {
          $body = array('username' => $user_name, 'password' => $password);
      
          $body = http_build_query($body);
      
          $opts = array('http' => array(
      
              'method'  => 'POST',
      
              'header'  => "Content-Type: application/x-www-form-urlencoded",
      
              'content' => $body,
      
              'follow_location' => false) );
      
           $context  = stream_context_create($opts);
      
           $url = self::URL.'Login';
      
              $result = file_get_contents($url, FALSE, $context);
      
              $result = json_decode($result);
      
              if($result -> responseStatus == 'OK')
              {
                  $this -> token = $result -> token;
      
                  return TRUE;
              }
              else
              {
                  throw new Exception('שם המשתמש או הסיסמא של המערכת שגויים');
              }
      }
      
      public function __destruct()
      {
          $this -> connecting('Logout');
      }
      
      public function connecting($action, $body = array())
      {
          $delimiter = '----'.uniqid();
      
          $body['token'] = $this -> token;
      
          $body = BodyPost::Get($body, $delimiter);
      
          $opts = array('http' =>
                  array(
                      'method'  => 'POST',
                      'header'  => 'Content-Type: multipart/form-data; boundary='.$delimiter,
                      'content' => $body,
                      'follow_location' => false
                      )
                    );
          $context  = stream_context_create($opts);
      
          $url = self::URL.$action;
      
          $result = file_get_contents($url, FALSE, $context);
      
          $headers = $this -> parseHeaders($http_response_header);
      
          if($headers['Content-Type'][0] == 'application/json')
          {
              return json_decode($result);
          }
          else
          {
              return $result;
          }
      }
      
      private function parseHeaders($headers)
      {
          // פונקציה שמקבלת מערך של שורות הכותרות
          // הפונקציה מפרקת את קבצי הקוקי לתת-מערך נפרד
      
      
          // מערך הכותרות
          $head = array();
      
          foreach( $headers as $k=>$v )
          {
              $t = explode( ':', $v, 2 );
      
              if( isset( $t[1] ) )
              {
                  if($t[0] == 'Set-Cookie')
                  {
                      $CookiesArr = array();
      
                      $cookies = explode( ';', $t[1]);
      
                      foreach($cookies as $cookie)
                      {
                          $c = explode( '=', $cookie);
      
                          if( isset( $c[1] ) )
                          {
                              $CookiesArr[ trim($c[0]) ] = trim( $c[1] );
                          }
                          else
                          {
                              $CookiesArr[] = trim( $c[0] );
                          }
                      }
      
                      $head[ trim($t[0]) ] = $CookiesArr;
                  }
                  elseif($t[0] == 'Content-Type')
                  {
                      $arr = array();
      
                      $children = explode( ';', $t[1]);
      
                      foreach($children as $child)
                      {
                          $c = explode( '=', $child);
      
                          if( isset( $c[1] ) )
                          {
                              $arr[ trim($c[0]) ] = trim( $c[1] );
                          }
                          else
                          {
                              $arr[] = trim( $c[0] );
                          }
                      }
      
                      $head[ trim($t[0]) ] = $arr;
                  }
                  else
                  {
                      $head[ trim($t[0]) ] = trim( $t[1] );
                  }
              }
              else
              {
                  $head[] = $v;
                  if( preg_match( "#HTTP/[0-9\.]+\s+([0-9]+)#",$v, $out ) )
                  {
                      $head['reponse_code'] = intval($out[1]);
                  }
              }
          }
          return $head;
      }
      

      }
      //שם משתמש וסיסמא של המערכת
      $con = new connecting_to_yemot_api('077*****','');
      $token = "077
      :****";

      //נתיב
      $path = "ivr2:/2";

      // פונקציה למספרי קבצים עוקבים
      function FileNameToUpload($server, $token, $path){
      $array = json_decode(file_get_contents("https://$server.call2all.co.il/ym/api//GetIVR2Dir?token=$token&path=$path"),true);
      if($array["responseStatus"] == "OK"){
      foreach($array["files"] as $key => $value){
      if($value["fileType"] == "AUDIO" || $value["fileType"] == "TTS"){
      $split = explode(".",$value["name"]);
      if (is_numeric($split[0])){
      break;
      }
      }
      }
      if($split[0] == null){
      $NewFileName = 0;
      }else{
      $NewFileName = $split[0]+1;
      }
      //הפוך למינימום 3 ספרות/
      return str_pad($NewFileName,3,"0",STR_PAD_LEFT);
      }else{
      //במקרה של שגיאה
      echo "שגיאה";

      }
      

      }
      // קריאה לפונקציה.
      $NewFileName = FileNameToUpload($server,$token,$path);
      if($NewFileName != null){
      //מכריז על שם של נתיב הקובץ להעלאה
      $path_name = "$path/$NewFileName.wav";
      }

      //מאיפה לקחת את הקובץ
      $File = new oFile('ext.ini', 'text/plain', file_get_contents("...."));

      //להעלאת קבצים פקודה
      $Upload_order = $con -> connecting('UploadFile',
      [
      //טוקן
      'path' =>$path_name,
      //המרה ל-wav אם מוגדר על 1 הקובץ יומר אם מוגדר על 0 לא
      'convertAudio' => 1,
      //קובץ להעלאה
      'fileUpload' => $File
      ]
      );

      ?>

      פורסם בפורום מפתחים API
      מ
      מנחם עזריה
    • הודעה אישית 1 למס' אנשים

      האם יש אפשרות בהודעות אישיות להשאיר הודעה מסוימת ל 10 אנשים בהגדרה אחת או שצריך להכניס את ההודעה לכל אחד בפני עצמו?

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

      @33064325
      תודה על המענה אך זה לא עובד, אשמח לרעיון אחר

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

      אני מעוניין שבכניסה למערכת המערכת תבקש מהלקוח להקיש את המספר האישי שאותו קיבל ברישום בכניסה הקודמת ולפי המספר שיקיש המערכת תשלח אותו לשלוחה המתאימה לדוג' ממספ' 1001-4000 יכנסו לשלוחה 2 וממספ' 4001-7000 יכנסו לשלוחה 3 אשמח לעזרה איך מגדירים את זה

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

      @פיסטוק-חלבי
      אשמח להצטרף לקבוצה ללימודי API + PHP במייל Y10406400@gmail.com
      תודה

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

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

      פורסם בעזרה הדדית למשתמשים מתקדמים
      מ
      מנחם עזריה
    • שליחת דו"חות של תורים לפקס

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

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

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

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