Patch #14527 ยป repo-id-auth.patch
| extra/svn/Redmine.pm | ||
|---|---|---|
| 531 | 531 |
my $location = $r->location; |
| 532 | 532 |
$location =~ s/\.git$// if (defined $cfg->{RedmineGitSmartHttp} and $cfg->{RedmineGitSmartHttp});
|
| 533 | 533 |
my ($identifier) = $r->uri =~ m{$location/*([^/.]+)};
|
| 534 | ||
| 535 |
my $dbh = connect_database($r); |
|
| 536 |
my $sth = $dbh->prepare("SELECT id FROM projects WHERE identifier = ?;");
|
|
| 537 |
$sth->execute($identifier); |
|
| 538 |
if (!$sth->fetchrow_array) {
|
|
| 539 |
$sth = $dbh->prepare("SELECT p.identifier FROM projects p, repositories r WHERE p.id = r.project_id AND r.identifier = ?;");
|
|
| 540 |
$sth->execute($identifier); |
|
| 541 |
if (my @row = $sth->fetchrow_array) {
|
|
| 542 |
$identifier = $row[0]; |
|
| 543 |
} |
|
| 544 |
} |
|
| 545 |
$sth->finish(); |
|
| 546 |
undef $sth; |
|
| 547 |
$dbh->disconnect(); |
|
| 548 |
undef $dbh; |
|
| 549 | ||
| 534 | 550 |
$identifier; |
| 535 | 551 |
} |
| 536 | 552 | |