1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-21 14:59:46 +02:00

Merge branch 'develop-olympus' into develop

* develop-olympus:
  [ticket/7260] Don't delete poll if one exists and editing user lacks permission
  [ticket/9646] Honor CSS comments in @import statements
This commit is contained in:
Andreas Fischer 2010-08-22 21:54:08 +02:00
commit c4a65a4697
2 changed files with 36 additions and 2 deletions

View File

@ -2531,13 +2531,21 @@ parse_css_file = {PARSE_CSS_FILE}
// Match CSS imports // Match CSS imports
$matches = array(); $matches = array();
preg_match_all('/@import url\(["\'](.*)["\']\);/i', $stylesheet, $matches); preg_match_all('/@import url\((["\'])(.*)\1\);/i', $stylesheet, $matches);
// remove commented stylesheets (very simple parser, allows only whitespace
// around an @import statement)
preg_match_all('#/\*\s*@import url\((["\'])(.*)\1\);\s\*/#i', $stylesheet, $commented);
$matches[2] = array_diff($matches[2], $commented[2]);
if (sizeof($matches)) if (sizeof($matches))
{ {
foreach ($matches[0] as $idx => $match) foreach ($matches[0] as $idx => $match)
{ {
$stylesheet = str_replace($match, acp_styles::load_css_file($theme_row['theme_path'], $matches[1][$idx]), $stylesheet); if (isset($matches[2][$idx]))
{
$stylesheet = str_replace($match, acp_styles::load_css_file($theme_row['theme_path'], $matches[2][$idx]), $stylesheet);
}
} }
} }

View File

@ -402,6 +402,16 @@ if ($post_data['poll_start'])
$db->sql_freeresult($result); $db->sql_freeresult($result);
} }
$original_poll_data = array(
'poll_title' => $post_data['poll_title'],
'poll_length' => $post_data['poll_length'],
'poll_max_options' => $post_data['poll_max_options'],
'poll_option_text' => implode("\n", $post_data['poll_options']),
'poll_start' => $post_data['poll_start'],
'poll_last_vote' => $post_data['poll_last_vote'],
'poll_vote_change' => $post_data['poll_vote_change'],
);
$orig_poll_options_size = sizeof($post_data['poll_options']); $orig_poll_options_size = sizeof($post_data['poll_options']);
$message_parser = new parse_message(); $message_parser = new parse_message();
@ -912,6 +922,22 @@ if ($submit || $preview || $refresh)
$message_parser->warn_msg[] = $user->lang['NO_DELETE_POLL_OPTIONS']; $message_parser->warn_msg[] = $user->lang['NO_DELETE_POLL_OPTIONS'];
}*/ }*/
} }
else if (!$auth->acl_get('f_poll', $forum_id) && ($mode == 'edit') && ($post_id == $post_data['topic_first_post_id']) && ($original_poll_data['poll_title'] != ''))
{
// We have a poll but the editing user is not permitted to create/edit it.
// So we just keep the original poll-data.
$poll = array_merge($original_poll_data, array(
'enable_bbcode' => $post_data['enable_bbcode'],
'enable_urls' => $post_data['enable_urls'],
'enable_smilies' => $post_data['enable_smilies'],
'img_status' => $img_status,
));
$message_parser->parse_poll($poll);
$post_data['poll_options'] = (isset($poll['poll_options'])) ? $poll['poll_options'] : '';
$post_data['poll_title'] = (isset($poll['poll_title'])) ? $poll['poll_title'] : '';
}
else else
{ {
$poll = array(); $poll = array();