aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Kellermann <Benjamin.Kellermann@gmx.de>2016-10-14 20:25:31 +0200
committerBenjamin Kellermann <Benjamin.Kellermann@gmx.de>2016-10-14 20:25:31 +0200
commit387ef4164e534b9c8c4dd736cff31630f10ffd29 (patch)
treec7dd88174ca81a9e2c184b88b40d52d98008f520
parent2f84860dd300d6da024666053c5ce5149122097f (diff)
do not load extensions on errors
-rw-r--r--dudle.rb6
-rwxr-xr-xerror.cgi8
-rwxr-xr-xnot_found.cgi4
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 << "<a href='#{@basedir}'>" + _("Dudle Home") + "</a>"
+ crumbs << "<a href='#{@basedir}'>" + _("Dudle Home + #{ENV["REDIRECT_URL"]}+ #{$cgi["poll"]}") + "</a>"
if is_poll?
if @tab == "."
crumbs << @title
@@ -113,7 +113,7 @@ class Dudle
"<div id='breadcrumbs'><ul><li class='breadcrumb'>#{crumbs.join("</li><li class='breadcrumb'>")}</li></ul></div>"
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")