[ Index ]

PHP Cross Reference of phpBB-3.3.0-deutsch

title

Body

[close]

/includes/acp/ -> acp_jabber.php (source)

   1  <?php
   2  /**
   3  *
   4  * This file is part of the phpBB Forum Software package.
   5  *
   6  * @copyright (c) phpBB Limited <https://www.phpbb.com>
   7  * @license GNU General Public License, version 2 (GPL-2.0)
   8  *
   9  * For full copyright and license information, please see
  10  * the docs/CREDITS.txt file.
  11  *
  12  */
  13  
  14  /**
  15  * @todo Check/enter/update transport info
  16  */
  17  
  18  /**
  19  * @ignore
  20  */
  21  if (!defined('IN_PHPBB'))
  22  {
  23      exit;
  24  }
  25  
  26  class acp_jabber
  27  {
  28      var $u_action;
  29  
  30  	function main($id, $mode)
  31      {
  32          global $db, $user, $template, $phpbb_log, $request;
  33          global $config, $phpbb_root_path, $phpEx;
  34  
  35          $user->add_lang('acp/board');
  36  
  37          if (!class_exists('jabber'))
  38          {
  39              include($phpbb_root_path . 'includes/functions_jabber.' . $phpEx);
  40          }
  41  
  42          $submit = (isset($_POST['submit'])) ? true : false;
  43  
  44          if ($mode != 'settings')
  45          {
  46              return;
  47          }
  48  
  49          $this->tpl_name = 'acp_jabber';
  50          $this->page_title = 'ACP_JABBER_SETTINGS';
  51  
  52          $jab_enable                = $request->variable('jab_enable',            (bool) $config['jab_enable']);
  53          $jab_host                = $request->variable('jab_host',            (string) $config['jab_host']);
  54          $jab_port                = $request->variable('jab_port',            (int) $config['jab_port']);
  55          $jab_username            = $request->variable('jab_username',        (string) $config['jab_username']);
  56          $jab_password            = $request->variable('jab_password',        (string) $config['jab_password']);
  57          $jab_package_size        = $request->variable('jab_package_size',    (int) $config['jab_package_size']);
  58          $jab_use_ssl            = $request->variable('jab_use_ssl',        (bool) $config['jab_use_ssl']);
  59          $jab_verify_peer        = $request->variable('jab_verify_peer',        (bool) $config['jab_verify_peer']);
  60          $jab_verify_peer_name    = $request->variable('jab_verify_peer_name',    (bool) $config['jab_verify_peer_name']);
  61          $jab_allow_self_signed    = $request->variable('jab_allow_self_signed',    (bool) $config['jab_allow_self_signed']);
  62  
  63          $form_name = 'acp_jabber';
  64          add_form_key($form_name);
  65  
  66          if ($submit)
  67          {
  68              if (!check_form_key($form_name))
  69              {
  70                  trigger_error($user->lang['FORM_INVALID']. adm_back_link($this->u_action), E_USER_WARNING);
  71              }
  72  
  73              $message = $user->lang['JAB_SETTINGS_CHANGED'];
  74              $log = 'JAB_SETTINGS_CHANGED';
  75  
  76              // Is this feature enabled? Then try to establish a connection
  77              if ($jab_enable)
  78              {
  79                  $jabber = new jabber($jab_host, $jab_port, $jab_username, $jab_password, $jab_use_ssl, $jab_verify_peer, $jab_verify_peer_name, $jab_allow_self_signed);
  80  
  81                  if (!$jabber->connect())
  82                  {
  83                      trigger_error($user->lang['ERR_JAB_CONNECT'] . '<br /><br />' . $jabber->get_log() . adm_back_link($this->u_action), E_USER_WARNING);
  84                  }
  85  
  86                  // We'll try to authorise using this account
  87                  if (!$jabber->login())
  88                  {
  89                      trigger_error($user->lang['ERR_JAB_AUTH'] . '<br /><br />' . $jabber->get_log() . adm_back_link($this->u_action), E_USER_WARNING);
  90                  }
  91  
  92                  $jabber->disconnect();
  93              }
  94              else
  95              {
  96                  // This feature is disabled.
  97                  // We update the user table to be sure all users that have IM as notify type are set to both as notify type
  98                  // 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.
  99                  $sql_ary = array(
 100                      'user_notify_type'        => NOTIFY_BOTH,
 101                  );
 102  
 103                  $sql = 'UPDATE ' . USERS_TABLE . '
 104                      SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
 105                      WHERE user_notify_type = ' . NOTIFY_IM;
 106                  $db->sql_query($sql);
 107              }
 108  
 109              $config->set('jab_enable', $jab_enable);
 110              $config->set('jab_host', $jab_host);
 111              $config->set('jab_port', $jab_port);
 112              $config->set('jab_username', $jab_username);
 113              if ($jab_password !== '********')
 114              {
 115                  $config->set('jab_password', $jab_password);
 116              }
 117              $config->set('jab_package_size', $jab_package_size);
 118              $config->set('jab_use_ssl', $jab_use_ssl);
 119              $config->set('jab_verify_peer', $jab_verify_peer);
 120              $config->set('jab_verify_peer_name', $jab_verify_peer_name);
 121              $config->set('jab_allow_self_signed', $jab_allow_self_signed);
 122  
 123              $phpbb_log->add('admin', $user->data['user_id'], $user->ip, 'LOG_' . $log);
 124              trigger_error($message . adm_back_link($this->u_action));
 125          }
 126  
 127          $template->assign_vars(array(
 128              'U_ACTION'                => $this->u_action,
 129              'JAB_ENABLE'            => $jab_enable,
 130              'L_JAB_SERVER_EXPLAIN'    => sprintf($user->lang['JAB_SERVER_EXPLAIN'], '<a href="http://www.jabber.org/">', '</a>'),
 131              'JAB_HOST'                => $jab_host,
 132              'JAB_PORT'                => ($jab_port) ? $jab_port : '',
 133              'JAB_USERNAME'            => $jab_username,
 134              'JAB_PASSWORD'            => $jab_password !== '' ? '********' : '',
 135              'JAB_PACKAGE_SIZE'        => $jab_package_size,
 136              'JAB_USE_SSL'            => $jab_use_ssl,
 137              'JAB_VERIFY_PEER'        => $jab_verify_peer,
 138              'JAB_VERIFY_PEER_NAME'    => $jab_verify_peer_name,
 139              'JAB_ALLOW_SELF_SIGNED'    => $jab_allow_self_signed,
 140              'S_CAN_USE_SSL'            => jabber::can_use_ssl(),
 141              'S_GTALK_NOTE'            => (!@function_exists('dns_get_record')) ? true : false,
 142          ));
 143      }
 144  }


Generated: Tue Apr 7 19:44:41 2020 Cross-referenced by PHPXref 0.7.1