You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
50 lines
854 B
50 lines
854 B
package CMTD::Main; |
|
|
|
use strict; |
|
use warnings; |
|
use utf8; |
|
|
|
use Mojo::Base 'Mojolicious::Controller'; |
|
|
|
sub index { |
|
my ($self) = @_; |
|
|
|
$self->render(text => 'Go away!'); |
|
} |
|
|
|
sub captcha { |
|
} |
|
|
|
sub c_list { |
|
} |
|
|
|
sub c_add { |
|
my ($self) = @_; |
|
|
|
my $ref = $self->referrer; |
|
unless ($ref and ref($ref) eq 'HASH') { |
|
$self->res->code(400); |
|
$self->render(text => "can't detect referred page"); |
|
return; |
|
} |
|
|
|
my $site = $self->app->sites->{ $ref->{site} }; |
|
unless ($site and ref($site) eq 'HASH') { |
|
$self->res->code(400); |
|
$self->render(text => "no such site"); |
|
return; |
|
} |
|
|
|
eval { |
|
1; |
|
} or do { |
|
chomp $@; |
|
my $msg = sprintf "Error when listing comments for %s/%s: %s", |
|
$ref->{site}, $ref->{pid}, $@; |
|
$self->app->log->error($msg); |
|
$self->res->code(500); |
|
$self->render(text => 'internal error'); |
|
}; |
|
} |
|
|
|
1;
|
|
|