aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/ucp
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/ucp')
-rw-r--r--phpBB/includes/ucp/ucp_groups.php2
-rw-r--r--phpBB/includes/ucp/ucp_pm_compose.php2
-rw-r--r--phpBB/includes/ucp/ucp_pm_viewmessage.php4
-rw-r--r--phpBB/includes/ucp/ucp_profile.php70
4 files changed, 71 insertions, 7 deletions
diff --git a/phpBB/includes/ucp/ucp_groups.php b/phpBB/includes/ucp/ucp_groups.php
index a9fb0444f5..4dcacdc575 100644
--- a/phpBB/includes/ucp/ucp_groups.php
+++ b/phpBB/includes/ucp/ucp_groups.php
@@ -316,7 +316,7 @@ class ucp_groups
// Hide hidden groups unless user is an admin with group privileges
$sql_and = ($auth->acl_gets('a_group', 'a_groupadd', 'a_groupdel')) ? '<> ' . GROUP_SPECIAL : 'NOT IN (' . GROUP_SPECIAL . ', ' . GROUP_HIDDEN . ')';
- $sql = 'SELECT group_id, group_name, group_desc, group_desc_uid, group_desc_bitfield, group_type
+ $sql = 'SELECT group_id, group_name, group_desc, group_desc_uid, group_desc_bitfield, group_desc_options, group_type
FROM ' . GROUPS_TABLE . '
WHERE group_id NOT IN (' . implode(', ', $group_id_ary) . ")
AND group_type $sql_and
diff --git a/phpBB/includes/ucp/ucp_pm_compose.php b/phpBB/includes/ucp/ucp_pm_compose.php
index 272b93af55..8ba12650c1 100644
--- a/phpBB/includes/ucp/ucp_pm_compose.php
+++ b/phpBB/includes/ucp/ucp_pm_compose.php
@@ -520,7 +520,7 @@ function compose_pm($id, $mode, $action)
'enable_bbcode' => (bool) $enable_bbcode,
'enable_smilies' => (bool) $enable_smilies,
'enable_urls' => (bool) $enable_urls,
- 'bbcode_bitfield' => (int) $message_parser->bbcode_bitfield,
+ 'bbcode_bitfield' => $message_parser->bbcode_bitfield,
'bbcode_uid' => $message_parser->bbcode_uid,
'message' => $message_parser->message,
'attachment_data' => $message_parser->attachment_data,
diff --git a/phpBB/includes/ucp/ucp_pm_viewmessage.php b/phpBB/includes/ucp/ucp_pm_viewmessage.php
index 8e1b580571..3df09a4a0c 100644
--- a/phpBB/includes/ucp/ucp_pm_viewmessage.php
+++ b/phpBB/includes/ucp/ucp_pm_viewmessage.php
@@ -264,7 +264,7 @@ function message_history($msg_id, $user_id, $message_row, $folder)
}
$rowset = array();
- $bbcode_bitfield = 0;
+ $bbcode_bitfield = '';
$folder_url = append_sid("{$phpbb_root_path}ucp.$phpEx", 'i=pm') . '&amp;folder=';
$title = ($sort_dir == 'd') ? $row['message_subject'] : '';
@@ -281,7 +281,7 @@ function message_history($msg_id, $user_id, $message_row, $folder)
else
{
$rowset[$row['msg_id']] = $row;
- $bbcode_bitfield |= $row['bbcode_bitfield'];
+ $bbcode_bitfield = $bbcode_bitfield | $row['bbcode_bitfield'];
}
}
while ($row = $db->sql_fetchrow($result));
diff --git a/phpBB/includes/ucp/ucp_profile.php b/phpBB/includes/ucp/ucp_profile.php
index c529e55223..522aa29723 100644
--- a/phpBB/includes/ucp/ucp_profile.php
+++ b/phpBB/includes/ucp/ucp_profile.php
@@ -431,17 +431,81 @@ class ucp_profile
{
$error[] = implode('<br />', $message_parser->warn_msg);
}
-
+
if (!sizeof($error) && $submit)
{
$sql_ary = array(
'user_sig' => (string) $message_parser->message,
'user_sig_bbcode_uid' => (string) $message_parser->bbcode_uid,
- 'user_sig_bbcode_bitfield' => (int) $message_parser->bbcode_bitfield
+ 'user_sig_bbcode_bitfield' => $message_parser->bbcode_bitfield
);
+ $query = '';
+
+ switch (SQL_LAYER)
+ {
+ case 'mssql':
+ case 'mssql_odbc':
+ $values = array();
+ foreach ($sql_ary as $key => $var)
+ {
+ if (is_null($var))
+ {
+ $values[] = "$key = NULL";
+ }
+ else if (is_string($var))
+ {
+ if ($key !== 'user_sig_bbcode_bitfield')
+ {
+ $values[] = "$key = '" . $db->sql_escape($var) . "'";
+ }
+ else
+ {
+ $values[] = "$key = CAST('" . $var . "' AS varbinary)";
+ }
+ }
+ else
+ {
+ $values[] = (is_bool($var)) ? "$key = " . intval($var) : "$key = $var";
+ }
+ }
+ $query = implode(', ', $values);
+ break;
+
+ case 'sqlite':
+ $values = array();
+ foreach ($sql_ary as $key => $var)
+ {
+ if (is_null($var))
+ {
+ $values[] = "$key = NULL";
+ }
+ else if (is_string($var))
+ {
+ if ($key !== 'user_sig_bbcode_bitfield')
+ {
+ $values[] = "$key = '" . $db->sql_escape($var) . "'";
+ }
+ else
+ {
+ $values[] = "$key = '" . sqlite_udf_encode_binary($var) . "'";
+ }
+ }
+ else
+ {
+ $values[] = (is_bool($var)) ? "$key = " . intval($var) : "$key = $var";
+ }
+ }
+ $query = implode(', ', $values);
+ break;
+
+ default:
+ $query = $db->sql_build_array('UPDATE', $sql_ary);
+ break;
+ }
+
$sql = 'UPDATE ' . USERS_TABLE . '
- SET ' . $db->sql_build_array('UPDATE', $sql_ary) . '
+ SET ' . $query . '
WHERE user_id = ' . $user->data['user_id'];
$db->sql_query($sql);