blob: ef04464e568ef6d4982994e332908e7dd10f7180 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
package Bucky::SVN;
use base "Bucky";
use Bucky::Session;
sub svn_secret
{ return shift->config("SVN_SECRET"); }
sub list
{
my ($self, $count) = @_;
$count ||= 7;
return $self->db->select("svn", "ORDER BY date DESC LIMIT $count");
}
sub query_incoming
{
my ($self) = @_;
my $session = new Bucky::Session;
error() unless scalar $session->q->param && length $session->q->param("secret") && $session->q->param("secret") eq $self->svn_secret();
if ($session->q->param("user"))
{
print $self->query_add($session);
}
else
{
print "Content-type: text/html\n\n";
print $self->query_list;
}
}
sub query_list
{
my ($self) = @_;
my $svns = $self->list;
my $out .= <<__HEAD__;
<table cellpadding=0 cellspacing=0 style="border: 1px solid #333;">
__HEAD__
my $r = 0;
foreach my $svn (@$svns)
{
$r = $r ? 0 : 1;
my $user = $svn->{'user'};
$user = "default" if $user eq "root";
my $user_profile = "/cgi-bin/bucky/profile/$user";
my $user_img = "/bucky/data/profile/.thumb/am.$user.jpg";
my $date = $self->show_date($svn->{'date'});
my $revision = $svn->{'revision'};
my $comment = $svn->{'comment'};
$out .= <<__SVN__;
<tr>
<td style="border: 1px solid #333;" align="center">
<a href="$user_profile"><img src="$user_img" border=0></a><!--<br><small>$user</small>-->
</td>
<td style="border: 1px solid #333; padding: 3px" class="r$r">
<small>$revision: $comment</small>
</td>
</small>
</tr>
__SVN__
}
$out .= <<__FOOT__;
</table>
__FOOT__
return $out;
}
sub query_add
{
my ($self, $session) = @_;
my $user = $session->q->param("user");
my $revision = $session->q->param("revision");
my $comment = $session->q->param("comment");
my $date = time;
error("missing some parameters\npossible: secret, user, revision, comment\n")
unless $user && $comment && $revision
&& $self->is_number($revision) && length $user && length $comment;
my $query =
{
user => $user,
comment => $comment,
revision => $revision,
date => $date,
};
if (my $id = $self->db->insert("svn", $query))
{ success("Successfully inserted $id"); }
else
{ error("Unable to insert!"); }
}
sub success
{
my ($success) = @_;
$success ||= "NICE ONE";
print "Content-type: text/plain\n\nSUCCESS: $success";
exit;
}
sub error
{
my ($error) = @_;
$error ||= "SORRY GUY";
print "Content-type: text/plain\n\nERROR: $error";
exit;
}
1;
|