From 387ef4164e534b9c8c4dd736cff31630f10ffd29 Mon Sep 17 00:00:00 2001 From: Benjamin Kellermann Date: Fri, 14 Oct 2016 20:25:31 +0200 Subject: do not load extensions on errors --- dudle.rb | 6 +++--- error.cgi | 8 ++++---- not_found.cgi | 4 ++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/dudle.rb b/dudle.rb index b9730dd..5b6b6ac 100644 --- a/dudle.rb +++ b/dudle.rb @@ -97,7 +97,7 @@ class Dudle end def breadcrumbs crumbs = $conf.breadcrumbs - crumbs << "" + _("Dudle Home") + "" + crumbs << "" + _("Dudle Home + #{ENV["REDIRECT_URL"]}+ #{$cgi["poll"]}") + "" if is_poll? if @tab == "." crumbs << @title @@ -113,7 +113,7 @@ class Dudle "" end - def initialize(params = {:revision => nil, :title => nil, :hide_lang_chooser => nil, :relative_dir => ""}) + def initialize(params = {:revision => nil, :title => nil, :hide_lang_chooser => nil, :relative_dir => "", :load_extensions => true}) @requested_revision = params[:revision] @hide_lang_chooser = params[:hide_lang_chooser] @cgi = $cgi @@ -189,7 +189,7 @@ HEAD ################### @extensions = [] $d = self # FIXME: this is dirty, but extensions need to know table elem - if Dir.exists?("#{@basedir}/extensions/") + if Dir.exists?("#{@basedir}/extensions/") && params[:load_extensions] Dir.open("#{@basedir}/extensions/").sort.each{|f| if File.exists?("#{@basedir}/extensions/#{f}/main.rb") @extensions << f diff --git a/error.cgi b/error.cgi index bd552f8..40cf209 100755 --- a/error.cgi +++ b/error.cgi @@ -20,11 +20,11 @@ ############################################################################ require_relative "dudle" -# check for trailing slash -if ENV["REDIRECT_URL"] =~ /#{$cgi["poll"]}$/ - $d = Dudle.new(:title => _("Error"), :hide_lang_chooser => true, :relative_dir => "#{$cgi["poll"]}/") + +if File.exists?("#{Dir.pwd}/#{File.dirname(ENV["REDIRECT_URL"])}/data.yaml") + $d = Dudle.new(:title => _("Error"), :hide_lang_chooser => true, :load_extensions => false, :relative_dir => "../") else - $d = Dudle.new(:title => _("Error"), :hide_lang_chooser => true) + $d = Dudle.new(:title => _("Error"), :hide_lang_chooser => true, :load_extensions => false) end def urlescape(str) diff --git a/not_found.cgi b/not_found.cgi index 5ffb37b..0648275 100755 --- a/not_found.cgi +++ b/not_found.cgi @@ -21,9 +21,9 @@ require_relative "dudle" if File.exists?(Dir.pwd + File.dirname(ENV["REDIRECT_URL"])) - $d = Dudle.new(:hide_lang_chooser => true) + $d = Dudle.new(:hide_lang_chooser => true, :load_extensions => false) else - $d = Dudle.new(:hide_lang_chooser => true, :relative_dir => "../") + $d = Dudle.new(:hide_lang_chooser => true, :load_extensions => false, :relative_dir => "../") end title = _("Poll Not Found") -- cgit v1.2.3