mirror of
https://github.com/phpbb/phpbb.git
synced 2025-07-30 21:40:43 +02:00
hopefully not too late in the game. Checked in new jabber class (the class done by the flyspray project). It would be nice if this could be tested with more servers - jabber.org seems to work fine...
- other fixes git-svn-id: file:///svn/phpbb/trunk@7687 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@@ -41,121 +41,59 @@ class acp_jabber
|
||||
$jab_port = request_var('jab_port', $config['jab_port']);
|
||||
$jab_username = request_var('jab_username', $config['jab_username']);
|
||||
$jab_password = request_var('jab_password', $config['jab_password']);
|
||||
$jab_resource = request_var('jab_resource', $config['jab_resource']);
|
||||
$jab_package_size = request_var('jab_package_size', $config['jab_package_size']);
|
||||
$jab_use_ssl = request_var('jab_use_ssl', $config['jab_use_ssl']);
|
||||
|
||||
$jabber = new jabber($jab_host, $jab_port, $jab_username, $jab_password, $jab_resource);
|
||||
$error = array();
|
||||
|
||||
$message = $user->lang['JAB_SETTINGS_CHANGED'];
|
||||
$log = 'JAB_SETTINGS_CHANGED';
|
||||
|
||||
// Are changing (or initialising) a new host or username? If so run some checks and
|
||||
// try to create account if it doesn't exist
|
||||
if ($jab_enable)
|
||||
if ($submit)
|
||||
{
|
||||
if (($jab_host != $config['jab_host'] || $jab_username != $config['jab_username']) && $jab_username)
|
||||
$error = array();
|
||||
|
||||
$message = $user->lang['JAB_SETTINGS_CHANGED'];
|
||||
$log = 'JAB_SETTINGS_CHANGED';
|
||||
|
||||
// Is this feature enabled? Then try to establish a connection
|
||||
if ($jab_enable)
|
||||
{
|
||||
$jabber = new jabber($jab_host, $jab_port, $jab_username, $jab_password);
|
||||
|
||||
if (!$jabber->connect())
|
||||
{
|
||||
trigger_error($user->lang['ERR_JAB_CONNECT'] . $jabber->get_log() . adm_back_link($this->u_action), E_USER_WARNING);
|
||||
}
|
||||
|
||||
// First we'll try to authorise using this account, if that fails we'll try to create it.
|
||||
if (!($result = $jabber->send_auth()))
|
||||
{
|
||||
if (($result = $jabber->account_registration($config['board_email'], $config['sitename'])) <> 2)
|
||||
{
|
||||
$error[] = ($result == 1) ? $user->lang['ERR_JAB_USERNAME'] : sprintf($user->lang['ERR_JAB_REGISTER'], $result);
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = $user->lang['JAB_REGISTERED'];
|
||||
$log = 'JAB_REGISTER';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = $user->lang['JAB_CHANGED'];
|
||||
$log = 'JAB_CHANGED';
|
||||
}
|
||||
|
||||
sleep(1);
|
||||
$jabber->disconnect();
|
||||
}
|
||||
else if ($jab_password != $config['jab_password'])
|
||||
{
|
||||
if (!$jabber->connect())
|
||||
{
|
||||
trigger_error($user->lang['ERR_JAB_CONNECT'] . $jabber->get_log() . adm_back_link($this->u_action), E_USER_WARNING);
|
||||
}
|
||||
|
||||
if (!$jabber->send_auth())
|
||||
// We'll try to authorise using this account
|
||||
if (!$jabber->login())
|
||||
{
|
||||
trigger_error($user->lang['ERR_JAB_AUTH'] . $jabber->get_log() . adm_back_link($this->u_action), E_USER_WARNING);
|
||||
}
|
||||
$jabber->send_presence(NULL, NULL, 'online');
|
||||
|
||||
if (($result = $jabber->change_password($jab_password)) <> 2)
|
||||
{
|
||||
$error[] = ($result == 1) ? $user->lang['ERR_JAB_PASSCHG'] : sprintf($user->lang['ERR_JAB_PASSFAIL'], $result);
|
||||
}
|
||||
else
|
||||
{
|
||||
$message = $user->lang['JAB_PASS_CHANGED'];
|
||||
$log = 'JAB_PASSCHG';
|
||||
}
|
||||
|
||||
sleep(1);
|
||||
$jabber->disconnect();
|
||||
}
|
||||
}
|
||||
|
||||
// Pull relevant config data
|
||||
$sql = 'SELECT *
|
||||
FROM ' . CONFIG_TABLE . "
|
||||
WHERE config_name LIKE 'jab_%'";
|
||||
$result = $db->sql_query($sql);
|
||||
set_config('jab_enable', $jab_enable);
|
||||
set_config('jab_host', $jab_host);
|
||||
set_config('jab_port', $jab_port);
|
||||
set_config('jab_username', $jab_username);
|
||||
set_config('jab_password', $jab_password);
|
||||
set_config('jab_package_size', $jab_package_size);
|
||||
set_config('jab_use_ssl', $jab_use_ssl);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$config_name = $row['config_name'];
|
||||
$config_value = $row['config_value'];
|
||||
|
||||
$default_config[$config_name] = $config_value;
|
||||
$new[$config_name] = (isset($_POST[$config_name])) ? request_var($config_name, '') : $default_config[$config_name];
|
||||
|
||||
if ($submit && !sizeof($error))
|
||||
{
|
||||
set_config($config_name, $new[$config_name]);
|
||||
}
|
||||
}
|
||||
|
||||
if ($submit && !sizeof($error))
|
||||
{
|
||||
add_log('admin', 'LOG_' . $log);
|
||||
trigger_error($message . adm_back_link($this->u_action));
|
||||
}
|
||||
|
||||
if (sizeof($error))
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
'S_WARNING' => true,
|
||||
'WARNING_MSG' => implode('<br />', $error))
|
||||
);
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'U_ACTION' => $this->u_action,
|
||||
'JAB_ENABLE' => $new['jab_enable'],
|
||||
'JAB_ENABLE' => $jab_enable,
|
||||
'L_JAB_SERVER_EXPLAIN' => sprintf($user->lang['JAB_SERVER_EXPLAIN'], '<a href="http://www.jabber.org/">', '</a>'),
|
||||
'JAB_HOST' => $new['jab_host'],
|
||||
'JAB_PORT' => $new['jab_port'],
|
||||
'JAB_USERNAME' => $new['jab_username'],
|
||||
'JAB_PASSWORD' => $new['jab_password'],
|
||||
'JAB_RESOURCE' => $new['jab_resource'],
|
||||
'JAB_PACKAGE_SIZE' => $new['jab_package_size'])
|
||||
);
|
||||
'JAB_HOST' => $jab_host,
|
||||
'JAB_PORT' => $jab_port,
|
||||
'JAB_USERNAME' => $jab_username,
|
||||
'JAB_PASSWORD' => $jab_password,
|
||||
'JAB_PACKAGE_SIZE' => $jab_package_size,
|
||||
'JAB_USE_SSL' => $jab_use_ssl,
|
||||
'S_CAN_USE_SSL' => jabber::can_use_ssl(),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user