示例#1
0
 /**
  * send a message to the client
  * @param string $type
  * @param mixed $data
  *
  * if only one parameter is given, a typeless message will be send with that parameter as data
  */
 public function send($type, $data = null)
 {
     if (is_null($data)) {
         $data = $type;
         $type = null;
     }
     if ($this->fallback) {
         $fallBackId = OC_Util::sanitizeHTML($this->fallBackId);
         $response = '<script type="text/javascript">window.parent.OC.EventSource.fallBackCallBack(' . $fallBackId . ',"' . $type . '",' . OCP\JSON::encode($data) . ')</script>' . PHP_EOL;
         echo $response;
     } else {
         if ($type) {
             echo 'event: ' . $type . PHP_EOL;
         }
         echo 'data: ' . OCP\JSON::encode($data) . PHP_EOL;
     }
     echo PHP_EOL;
     flush();
 }
示例#2
0
 /**
  * send a message to the client
  *
  * @param string $type
  * @param mixed $data
  *
  * @throws \BadMethodCallException
  * if only one parameter is given, a typeless message will be send with that parameter as data
  */
 public function send($type, $data = null)
 {
     if ($data and !preg_match('/^[A-Za-z0-9_]+$/', $type)) {
         throw new BadMethodCallException('Type needs to be alphanumeric (' . $type . ')');
     }
     $this->init();
     if (is_null($data)) {
         $data = $type;
         $type = null;
     }
     if ($this->fallback) {
         $response = '<script type="text/javascript">window.parent.OC.EventSource.fallBackCallBack(' . $this->fallBackId . ',"' . $type . '",' . OCP\JSON::encode($data) . ')</script>' . PHP_EOL;
         echo $response;
     } else {
         if ($type) {
             echo 'event: ' . $type . PHP_EOL;
         }
         echo 'data: ' . OCP\JSON::encode($data) . PHP_EOL;
     }
     echo PHP_EOL;
     flush();
 }