diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-08-26 10:40:09 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2012-08-26 10:40:09 +0000 |
commit | ebc979e9b1b70bab7bce5079ab7d19b333274514 (patch) | |
tree | e38055d167282b5302062491086dc21c9c95d4f7 /app/helpers | |
parent | 3cc6d5e8159673a3336b5cdb26f27b07a7fea326 (diff) | |
download | redmine-ebc979e9b1b70bab7bce5079ab7d19b333274514.tar.gz redmine-ebc979e9b1b70bab7bce5079ab7d19b333274514.zip |
Do not use escaped back_url param (#11691).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@10239 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/helpers')
-rw-r--r-- | app/helpers/application_helper.rb | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index cfa9cb5ab..2706cef78 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1027,10 +1027,17 @@ module ApplicationHelper content_tag(:a, name, {:href => '#', :onclick => "#{function}; return false;"}.merge(html_options)) end + def back_url + url = params[:back_url] + if url.nil? && referer = request.env['HTTP_REFERER'] + url = CGI.unescape(referer.to_s) + end + url + end + def back_url_hidden_field_tag - back_url = params[:back_url] || request.env['HTTP_REFERER'] - back_url = CGI.unescape(back_url.to_s) - hidden_field_tag('back_url', CGI.escape(back_url), :id => nil) unless back_url.blank? + url = back_url + hidden_field_tag('back_url', url, :id => nil) unless url.blank? end def check_all_links(form_name) |