Пример #1
0
 /**
  * Send notification to a project
  *
  * @access public
  * @param  array     $project
  * @param  string    $event_name
  * @param  array     $event_data
  */
 public function notifyProject(array $project, $event_name, array $event_data)
 {
     try {
         $room = $this->projectMetadata->get($project['id'], 'jabber_room');
         if (!empty($room)) {
             $client = $this->getClient();
             $channel = new Presence();
             $channel->setTo($room)->setNickName($this->config->get('jabber_nickname'));
             $client->send($channel);
             $message = new Message();
             $message->setMessage($this->getMessage($project, $event_name, $event_data))->setTo($room)->setType(Message::TYPE_GROUPCHAT);
             $client->send($message);
             $client->disconnect();
         }
     } catch (Exception $e) {
         $this->logger->error('Jabber error: ' . $e->getMessage());
     }
 }
Пример #2
0
 /**
  * Send message to the XMPP server
  *
  * @access public
  * @param  integer  $project_id
  * @param  string   $payload
  */
 public function sendMessage($project_id, $payload)
 {
     try {
         $params = $this->getParameters($project_id);
         $options = new Options($params['server']);
         $options->setUsername($params['username']);
         $options->setPassword($params['password']);
         $options->setTo($params['domain']);
         $options->setLogger($this->container['logger']);
         $client = new Client($options);
         $channel = new Presence();
         $channel->setTo($params['room'])->setNickName($params['nickname']);
         $client->send($channel);
         $message = new Message();
         $message->setMessage($payload)->setTo($params['room'])->setType(Message::TYPE_GROUPCHAT);
         $client->send($message);
         $client->disconnect();
     } catch (Exception $e) {
         $this->container['logger']->error('Jabber error: ' . $e->getMessage());
     }
 }