mirror of https://github.com/tLDP/LDP
55 lines
1.5 KiB
Perl
Executable File
55 lines
1.5 KiB
Perl
Executable File
#! /usr/bin/perl
|
|
|
|
use CGI qw(:standard);
|
|
use Pg;
|
|
|
|
$query = new CGI;
|
|
$dbmain = "ldp";
|
|
@row;
|
|
|
|
# Read parameters
|
|
$caller = param('caller');
|
|
$doc_id = param('doc_id');
|
|
$maintainer_id = param('maintainer_id');
|
|
$active = param('active');
|
|
$role = param('role');
|
|
$email = param('email');
|
|
|
|
$conn=Pg::connectdb("dbname=$dbmain");
|
|
|
|
$username = $query->remote_user();
|
|
$result=$conn->exec("SELECT username, admin, maintainer_id FROM username WHERE username='$username'");
|
|
@row = $result->fetchrow;
|
|
if ($username ne $row[0]) {
|
|
print $query->redirect("../newaccount.html");
|
|
exit;
|
|
} else {
|
|
if (($row[1] ne 't') and ($row[2] != $doc_id)) {
|
|
print $query->redirect("../wrongpermission.html");
|
|
exit;
|
|
}
|
|
}
|
|
|
|
#print header;
|
|
#print start_html;
|
|
$sql = "INSERT INTO document_maintainer(doc_id, maintainer_id, active, role, email) VALUES ($doc_id, $maintainer_id, '$active', '$role', '$email' )";
|
|
$result=$conn->exec($sql);
|
|
|
|
#update the maintained field in the document record
|
|
$sql = "SELECT COUNT(*) as active_maintainers FROM document_maintainer WHERE doc_id=$doc_id AND (role='Author' OR role='Co-Author' OR role='Maintainer') AND active='t'";
|
|
$result=$conn->exec($sql);
|
|
@row = $result->fetchrow;
|
|
$active_maintainers = $row[0];
|
|
if ( $active_maintainers > 0 ) { $maintained = "t" } else { $maintained = "f" }
|
|
$sql = "UPDATE document SET maintained='$maintained' WHERE doc_id=$doc_id";
|
|
$result=$conn->exec($sql);
|
|
|
|
#print header;
|
|
#print start_html;
|
|
#print $sql;
|
|
#print end_html;
|
|
#exit;
|
|
|
|
print $query->redirect($caller)
|
|
|