Example #1
0
    function main($id, $mode)
    {
        global $db, $user, $auth, $template;
        global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
        $user->add_lang('acp/board');
        include_once $phpbb_root_path . 'includes/functions_jabber.' . $phpEx;
        $action = request_var('action', '');
        $submit = isset($_POST['submit']) ? true : false;
        if ($mode != 'settings') {
            return;
        }
        $this->tpl_name = 'acp_jabber';
        $this->page_title = 'ACP_JABBER_SETTINGS';
        $jab_enable = request_var('jab_enable', $config['jab_enable']);
        $jab_host = request_var('jab_host', $config['jab_host']);
        $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_package_size = request_var('jab_package_size', $config['jab_package_size']);
        $jab_use_ssl = request_var('jab_use_ssl', $config['jab_use_ssl']);
        $form_name = 'acp_jabber';
        add_form_key($form_name);
        if ($submit) {
            if (!check_form_key($form_name)) {
                trigger_error($user->lang['FORM_INVALID'] . adm_back_link($this->u_action), E_USER_WARNING);
            }
            $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, $jab_use_ssl);
                if (!$jabber->connect()) {
                    trigger_error($user->lang['ERR_JAB_CONNECT'] . '<br /><br />' . $jabber->get_log() . adm_back_link($this->u_action), E_USER_WARNING);
                }
                // We'll try to authorise using this account
                if (!$jabber->login()) {
                    trigger_error($user->lang['ERR_JAB_AUTH'] . '<br /><br />' . $jabber->get_log() . adm_back_link($this->u_action), E_USER_WARNING);
                }
                $jabber->disconnect();
            } else {
                // This feature is disabled.
                // We update the user table to be sure all users that have IM as notify type are set to both as notify type
                // We set this to both because users still have their jabber address entered and may want to receive jabber notifications again once it is re-enabled.
                $sql_ary = array('user_notify_type' => NOTIFY_BOTH);
                $sql = 'UPDATE ' . USERS_TABLE . '
					SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
					WHERE user_notify_type = ' . NOTIFY_IM;
                $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);
            add_log('admin', 'LOG_' . $log);
            trigger_error($message . adm_back_link($this->u_action));
        }
        $template->assign_vars(array('U_ACTION' => $this->u_action, 'JAB_ENABLE' => $jab_enable, 'L_JAB_SERVER_EXPLAIN' => sprintf($user->lang['JAB_SERVER_EXPLAIN'], '<a href="http://www.jabber.org/">', '</a>'), '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(), 'S_GTALK_NOTE' => !@function_exists('dns_get_record') ? true : false));
    }
Example #2
0
    function main($id, $mode)
    {
        global $db, $user, $auth, $template;
        global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;
        $user->add_lang('acp/board');
        include_once $phpbb_root_path . 'includes/functions_jabber.' . $phpEx;
        $action = request_var('action', '');
        $submit = isset($_POST['submit']) ? true : false;
        if ($mode != 'settings') {
            return;
        }
        $this->tpl_name = 'acp_jabber';
        $this->page_title = 'ACP_JABBER_SETTINGS';
        $jab_enable = request_var('jab_enable', $config['jab_enable']);
        $jab_host = request_var('jab_host', $config['jab_host']);
        $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']);
        $jabber = new jabber();
        $error = array();
        // Setup the basis vars for jabber connection
        $jabber->server = $jab_host;
        $jabber->port = $jab_port ? $jab_port : 5222;
        $jabber->username = $jab_username;
        $jabber->password = $jab_password;
        $jabber->resource = $jab_resource;
        $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 (($jab_host != $config['jab_host'] || $jab_username != $config['jab_username']) && $jab_username) {
                if (!$jabber->connect()) {
                    trigger_error($user->lang['ERR_JAB_CONNECT'] . adm_back_link($this->u_action));
                }
                // 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'] . adm_back_link($this->u_action));
                    }
                    if (!$jabber->send_auth()) {
                        trigger_error($user->lang['ERR_JAB_AUTH'] . adm_back_link($this->u_action));
                    }
                    $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 . "\n\t\t\tWHERE config_name LIKE 'jab_%'";
        $result = $db->sql_query($sql);
        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'], 'L_JAB_SERVER_EXPLAIN' => sprintf($user->lang['JAB_SERVER_EXPLAIN'], '<a href="http://www.xmpp.net/" rel="external">', '</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']));
    }
Example #3
0
	function main($id, $mode)
	{
		global $db, $user, $auth, $template;
		global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;

		$user->add_lang('acp/board');

		include_once($phpbb_root_path . 'includes/functions_jabber.' . $phpEx);

		$action	= request_var('action', '');
		$submit = (isset($_POST['submit'])) ? true : false;

		if ($mode != 'settings')
		{
			return;
		}

		$this->tpl_name = 'acp_jabber';
		$this->page_title = 'ACP_JABBER_SETTINGS';

		$jab_enable			= request_var('jab_enable', $config['jab_enable']);
		$jab_host			= request_var('jab_host', $config['jab_host']);
		$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_package_size	= request_var('jab_package_size', $config['jab_package_size']);
		$jab_use_ssl		= request_var('jab_use_ssl', $config['jab_use_ssl']);

		$form_name = 'acp_jabber';
		add_form_key($form_name);

		if ($submit)
		{
			if (!check_form_key($form_name))
			{
				trigger_error($user->lang['FORM_INVALID']. adm_back_link($this->u_action), E_USER_WARNING);
			}

			$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, $jab_use_ssl);

				if (!$jabber->connect())
				{
					trigger_error($user->lang['ERR_JAB_CONNECT'] . '<br /><br />' . $jabber->get_log() . adm_back_link($this->u_action), E_USER_WARNING);
				}

				// We'll try to authorise using this account
				if (!$jabber->login())
				{
					trigger_error($user->lang['ERR_JAB_AUTH'] . '<br /><br />' . $jabber->get_log() . adm_back_link($this->u_action), E_USER_WARNING);
				}

				$jabber->disconnect();
			}

			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);

			add_log('admin', 'LOG_' . $log);
			trigger_error($message . adm_back_link($this->u_action));
		}

		$template->assign_vars(array(
			'U_ACTION'				=> $this->u_action,
			'JAB_ENABLE'			=> $jab_enable,
			'L_JAB_SERVER_EXPLAIN'	=> sprintf($user->lang['JAB_SERVER_EXPLAIN'], '<a href="http://www.jabber.org/">', '</a>'),
			'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(),
			'S_GTALK_NOTE'			=> (!@function_exists('dns_get_record')) ? true : false,
		));
	}
    die;
}
// Do we have general permissions?
if (!$_CLASS['auth']->acl_get('a_server')) {
    trigger_error($_CLASS['core_user']->lang['NO_ADMIN']);
}
// Grab some basic parameters
$submit = isset($_POST['submit']) ? true : false;
$jab_enable = request_var('jab_enable', $config['jab_enable']);
$jab_host = request_var('jab_host', $config['jab_host']);
$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']);
include $site_file_root . 'includes/forums/functions_jabber.php';
$jabber = new jabber();
$error = array();
// Setup the basis vars for jabber connection
$jabber->server = $jab_host;
$jabber->port = $jab_port ? $jab_port : 5222;
$jabber->username = $jab_username;
$jabber->password = $jab_password;
$jabber->resource = $jab_resource;
// 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 ($jab_host != $config['jab_host'] || $jab_username != $config['jab_username']) {
        if (!$jabber->connect()) {
            trigger_error('Could not connect to Jabber server', E_USER_ERROR);
        }
        // First we'll try to authorise using this account, if that fails we'll