| 1 |
<?php |
<?php |
| 2 |
// $Id: xmpp_handler.module,v 1.2 2008/09/25 08:23:38 t0talmeltd0wn Exp $ |
// $Id: xmpp_handler.module,v 1.3 2008/09/25 21:55:22 t0talmeltd0wn Exp $ |
| 3 |
|
|
| 4 |
/** |
/** |
| 5 |
* @file |
* @file |
| 44 |
$reqd->tag = 'required'; |
$reqd->tag = 'required'; |
| 45 |
$tls->children[] = $reqd; |
$tls->children[] = $reqd; |
| 46 |
|
|
| 47 |
if (!$client->ssl) { |
if (!$client->ssl && variable_get('xmpp_server_ssl_enabled', true)) { |
| 48 |
// $features->children[] = $tls; |
$features->children[] = $tls; |
| 49 |
} |
} |
| 50 |
|
|
| 51 |
//Return them as an array to send both. |
//Return them as an array to send both. |
| 77 |
), |
), |
| 78 |
); |
); |
| 79 |
|
|
| 80 |
|
$funcs['xmpp_handler_global_message'] = array( |
| 81 |
|
'authed' => TRUE, |
| 82 |
|
'bound' => TRUE, |
| 83 |
|
'permissions' => array( |
| 84 |
|
'administer xmpp server', |
| 85 |
|
), |
| 86 |
|
|
| 87 |
|
'tag' => 'message', |
| 88 |
|
'options' => array( |
| 89 |
|
'to' => variable_get('xmpp_server_host', $_SERVER['HTTP_HOST']) . '/broadcast', |
| 90 |
|
'type' => 'chat', |
| 91 |
|
), |
| 92 |
|
/*'children' => array( |
| 93 |
|
'body' => array( |
| 94 |
|
'data' => '+', |
| 95 |
|
), |
| 96 |
|
),*/ |
| 97 |
|
); |
| 98 |
|
|
| 99 |
$funcs['xmpp_handler_router_iq'] = array( |
$funcs['xmpp_handler_router_iq'] = array( |
| 100 |
'authed' => TRUE, |
'authed' => TRUE, |
| 101 |
'bound' => TRUE, |
'bound' => TRUE, |
| 240 |
xmpp_server_send_to($to, 'jid', $node); |
xmpp_server_send_to($to, 'jid', $node); |
| 241 |
} |
} |
| 242 |
|
|
| 243 |
|
function xmpp_handler_global_message($client, $node) { |
| 244 |
|
global $xmpp_server_clients; |
| 245 |
|
$node->options['from'] = variable_get('xmpp_server_host', $_SERVER['HTTP_HOST']); |
| 246 |
|
foreach ($xmpp_server_clients as $client) { |
| 247 |
|
$sess = xmpp_server_get_session($client); |
| 248 |
|
if ($sess['jid']) { |
| 249 |
|
$node->options['to'] = xmpp_serialize_jid($sess['jid']); |
| 250 |
|
xmpp_server_send($client, $node); |
| 251 |
|
} |
| 252 |
|
} |
| 253 |
|
} |
| 254 |
|
|
| 255 |
function xmpp_handler_router_iq($client, $node) { |
function xmpp_handler_router_iq($client, $node) { |
| 256 |
//Believe it or not, the implementation here is exactly the same. |
//Believe it or not, the implementation here is exactly the same. |
| 257 |
xmpp_handler_router_message($client, $node); |
xmpp_handler_router_message($client, $node); |