summaryrefslogtreecommitdiffstats
path: root/extra
diff options
context:
space:
mode:
authorEric Davis <edavis@littlestreamsoftware.com>2010-07-08 03:46:14 +0000
committerEric Davis <edavis@littlestreamsoftware.com>2010-07-08 03:46:14 +0000
commitef5bca0fefea59abd5b9b56140c6f10530a4d302 (patch)
tree4b4f58098d7b58d4dcd230b2a957de9644aace9e /extra
parent0d5fca9ba5ac81db46211b6cc06686e59c57beb4 (diff)
downloadredmine-ef5bca0fefea59abd5b9b56140c6f10530a4d302.tar.gz
redmine-ef5bca0fefea59abd5b9b56140c6f10530a4d302.zip
Have Redmine.pm respect the Authentication Required setting. #5797
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3831 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'extra')
-rw-r--r--extra/svn/Redmine.pm29
1 files changed, 29 insertions, 0 deletions
diff --git a/extra/svn/Redmine.pm b/extra/svn/Redmine.pm
index 1b3b0910f..f608ee124 100644
--- a/extra/svn/Redmine.pm
+++ b/extra/svn/Redmine.pm
@@ -227,9 +227,38 @@ sub authen_handler {
}
}
+# check if authentication is forced
+sub is_authentication_forced {
+ my $r = shift;
+
+ my $dbh = connect_database($r);
+ my $sth = $dbh->prepare(
+ "SELECT value FROM settings where settings.name = 'login_required';"
+ );
+
+ $sth->execute();
+ my $ret = 0;
+ if (my @row = $sth->fetchrow_array) {
+ if ($row[0] eq "1" || $row[0] eq "t") {
+ $ret = 1;
+ }
+ }
+ $sth->finish();
+ undef $sth;
+
+ $dbh->disconnect();
+ undef $dbh;
+
+ $ret;
+}
+
sub is_public_project {
my $project_id = shift;
my $r = shift;
+
+ if (is_authentication_forced($r)) {
+ return 0;
+ }
my $dbh = connect_database($r);
my $sth = $dbh->prepare(