aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/includes/ucp
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/includes/ucp')
-rw-r--r--phpBB/includes/ucp/ucp_main.php5
-rw-r--r--phpBB/includes/ucp/ucp_pm_compose.php5
-rw-r--r--phpBB/includes/ucp/ucp_pm_options.php26
3 files changed, 27 insertions, 9 deletions
diff --git a/phpBB/includes/ucp/ucp_main.php b/phpBB/includes/ucp/ucp_main.php
index 4a98ea2829..f236f5dd9d 100644
--- a/phpBB/includes/ucp/ucp_main.php
+++ b/phpBB/includes/ucp/ucp_main.php
@@ -687,9 +687,8 @@ class ucp_main extends module
if ($submit && $edit)
{
- $draft_subject = preg_replace('#&(\#[0-9]+;)#', '&\1', request_var('subject', ''));
- $draft_message = (isset($_POST['message'])) ? htmlspecialchars(trim(str_replace(array('\\\'', '\\"', '\\0', '\\\\'), array('\'', '"', '\0', '\\'), $_POST['message']))) : '';
- $draft_message = preg_replace('#&(\#[0-9]+;)#', '&\1', $draft_message);
+ $draft_subject = request_var('subject', '', true);
+ $draft_message = request_var('message', '', true);
if ($draft_message && $draft_subject)
{
diff --git a/phpBB/includes/ucp/ucp_pm_compose.php b/phpBB/includes/ucp/ucp_pm_compose.php
index 33ee31b22c..80a9c7676e 100644
--- a/phpBB/includes/ucp/ucp_pm_compose.php
+++ b/phpBB/includes/ucp/ucp_pm_compose.php
@@ -333,10 +333,9 @@ function compose_pm($id, $mode, $action)
// Save Draft
if ($save && $auth->acl_get('u_savedrafts'))
{
- $subject = preg_replace('#&(\#[0-9]+;)#', '&\1', request_var('subject', ''));
+ $subject = request_var('subject', '', true);
$subject = (!$subject && $action != 'post') ? $user->lang['NEW_MESSAGE'] : $subject;
- $message = (isset($_POST['message'])) ? htmlspecialchars(trim(str_replace(array('\\\'', '\\"', '\\0', '\\\\'), array('\'', '"', '\0', '\\'), $_POST['message']))) : '';
- $message = preg_replace('#&(\#[0-9]+;)#', '&\1', $message);
+ $message = request_var('message', '', true);
if ($subject && $message)
{
diff --git a/phpBB/includes/ucp/ucp_pm_options.php b/phpBB/includes/ucp/ucp_pm_options.php
index 253547cd47..129c6cb84f 100644
--- a/phpBB/includes/ucp/ucp_pm_options.php
+++ b/phpBB/includes/ucp/ucp_pm_options.php
@@ -418,7 +418,7 @@ function message_options($id, $mode, $global_privmsgs_rules, $global_rule_condit
$rule_option = request_var('rule_option', 0);
$cond_option = request_var('cond_option', '');
$action_option = request_var('action_option', '');
- $back = (isset($_REQUEST['back'])) ? request_var('back', '') : array();
+ $back = (isset($_REQUEST['back'])) ? request_var('back', array('' => 0)) : array();
if (sizeof($back))
{
@@ -576,7 +576,7 @@ function define_rule_option($hardcoded, $rule_option, $rule_lang, $check_ary)
*/
function define_cond_option($hardcoded, $cond_option, $rule_option, $global_rule_conditions)
{
- global $db, $template;
+ global $db, $template, $auth;
$template->assign_vars(array(
'S_COND_DEFINED' => true,
@@ -657,15 +657,35 @@ function define_cond_option($hardcoded, $cond_option, $rule_option, $global_rule
$rule_group_id = request_var('rule_group_id', 0);
$rule_string = request_var('rule_string', '');
+ $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_type
+ FROM ' . GROUPS_TABLE . "
+ WHERE group_type $sql_and
+ ORDER BY group_type DESC, group_name";
+ $result = $db->sql_query($sql);
+
+ $s_group_options = '';
+ while ($row = $db->sql_fetchrow($result))
+ {
+ if ($rule_group_id && ($row['group_id'] == $rule_group_id))
+ {
+ $rule_string = (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']);
+ }
+
+ $s_selected = ($row['group_id'] == $rule_group_id) ? ' selected="selected"' : '';
+ $s_group_options .= '<option value="' . $row['group_id'] . '"' . $s_selected . '>' . (($row['group_type'] == GROUP_SPECIAL) ? $user->lang['G_' . $row['group_name']] : $row['group_name']) . '</option>';
+ }
+ $db->sql_freeresult($result);
+
$template->assign_vars(array(
'S_GROUP_CONDITION' => true,
+ 'S_GROUP_OPTIONS' => $s_group_options,
'CURRENT_STRING' => $rule_string,
'CURRENT_USER_ID' => 0,
'CURRENT_GROUP_ID' => $rule_group_id)
);
$current_value = $rule_string;
-
break;
default: