aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes
diff options
context:
space:
mode:
authorMeik Sievertsen <acydburn@phpbb.com>2008-10-09 15:41:19 +0000
committerMeik Sievertsen <acydburn@phpbb.com>2008-10-09 15:41:19 +0000
commitc8cf5693b8efaa87911d82fcd1485f9a184f5a03 (patch)
treea21735db7b173a63fbd3f3c92b5438702032f9ba /phpBB/includes
parent94f0047a9b686b87658e2c76125cc756317bf2cb (diff)
downloadforums-c8cf5693b8efaa87911d82fcd1485f9a184f5a03.tar
forums-c8cf5693b8efaa87911d82fcd1485f9a184f5a03.tar.gz
forums-c8cf5693b8efaa87911d82fcd1485f9a184f5a03.tar.bz2
forums-c8cf5693b8efaa87911d82fcd1485f9a184f5a03.tar.xz
forums-c8cf5693b8efaa87911d82fcd1485f9a184f5a03.zip
Make sure users still get notifications if they set to only be notified by Jabber, but Jabber service disabled. (Bug #29715 - Patch by Paul)
git-svn-id: file:///svn/phpbb/branches/phpBB-3_0_0@8990 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/includes')
-rw-r--r--phpBB/includes/acp/acp_jabber.php13
-rw-r--r--phpBB/includes/ucp/ucp_prefs.php6
-rw-r--r--phpBB/includes/ucp/ucp_profile.php18
3 files changed, 33 insertions, 4 deletions
diff --git a/phpBB/includes/acp/acp_jabber.php b/phpBB/includes/acp/acp_jabber.php
index 3862ee1ee8..499543cc6c 100644
--- a/phpBB/includes/acp/acp_jabber.php
+++ b/phpBB/includes/acp/acp_jabber.php
@@ -85,6 +85,19 @@ class acp_jabber
$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
+ $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);
diff --git a/phpBB/includes/ucp/ucp_prefs.php b/phpBB/includes/ucp/ucp_prefs.php
index c6bb4206d0..9b705fba6c 100644
--- a/phpBB/includes/ucp/ucp_prefs.php
+++ b/phpBB/includes/ucp/ucp_prefs.php
@@ -53,6 +53,12 @@ class ucp_prefs
'allowpm' => request_var('allowpm', (bool) $user->data['user_allow_pm']),
);
+ if ($data['notifymethod'] == NOTIFY_IM && (!$config['jab_enable'] || !$user->data['user_jabber'] || !@extension_loaded('xml')))
+ {
+ // Jabber isnt enabled, or no jabber field filled in. Update the users table to be sure its correct.
+ $data['notifymethod'] = NOTIFY_BOTH;
+ }
+
if ($submit)
{
$data['style'] = ($config['override_user_style']) ? $config['default_style'] : $data['style'];
diff --git a/phpBB/includes/ucp/ucp_profile.php b/phpBB/includes/ucp/ucp_profile.php
index 710c48e073..328d374e9a 100644
--- a/phpBB/includes/ucp/ucp_profile.php
+++ b/phpBB/includes/ucp/ucp_profile.php
@@ -347,6 +347,15 @@ class ucp_profile
if (!sizeof($error))
{
+ $data['notify'] = $user->data['user_notify_type'];
+
+ if (!$config['jab_enable'] || !$data['jabber'] || !@extension_loaded('xml'))
+ {
+ // User has not filled in a jabber address (Or one of the modules is disabled or jabber is disabled)
+ // Disable notify by Jabber now for this user.
+ $data['notify'] = NOTIFY_BOTH;
+ }
+
$sql_ary = array(
'user_icq' => $data['icq'],
'user_aim' => $data['aim'],
@@ -357,6 +366,7 @@ class ucp_profile
'user_from' => $data['location'],
'user_occ' => $data['occupation'],
'user_interests'=> $data['interests'],
+ 'user_notify_type' => $data['notify'],
);
if ($config['allow_birthdays'])
@@ -460,7 +470,7 @@ class ucp_profile
{
trigger_error('NO_AUTH_SIGNATURE');
}
-
+
include($phpbb_root_path . 'includes/functions_posting.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
@@ -589,9 +599,9 @@ class ucp_profile
'ERROR' => (sizeof($error)) ? implode('<br />', $error) : '',
'AVATAR' => get_user_avatar($user->data['user_avatar'], $user->data['user_avatar_type'], $user->data['user_avatar_width'], $user->data['user_avatar_height']),
'AVATAR_SIZE' => $config['avatar_filesize'],
-
+
'U_GALLERY' => append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=profile&amp;mode=avatar&amp;display_gallery=1'),
-
+
'S_FORM_ENCTYPE' => ($can_upload) ? ' enctype="multipart/form-data"' : '',
'L_AVATAR_EXPLAIN' => sprintf($user->lang['AVATAR_EXPLAIN'], $config['avatar_max_width'], $config['avatar_max_height'], $config['avatar_filesize'] / 1024),
@@ -604,7 +614,7 @@ class ucp_profile
else
{
$avatars_enabled = ($can_upload || ($auth->acl_get('u_chgavatar') && ($config['allow_avatar_local'] || $config['allow_avatar_remote']))) ? true : false;
-
+
$template->assign_vars(array(
'AVATAR_WIDTH' => request_var('width', $user->data['user_avatar_width']),
'AVATAR_HEIGHT' => request_var('height', $user->data['user_avatar_height']),