mirror of
https://github.com/dani/vroom.git
synced 2024-06-26 17:43:29 +02:00
Cleanups in modify_room helper
This commit is contained in:
parent
fb101cb1b9
commit
79d894be69
25
vroom.pl
25
vroom.pl
|
@ -258,6 +258,19 @@ helper modify_room => sub {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my ($room) = @_;
|
my ($room) = @_;
|
||||||
my $res = {};
|
my $res = {};
|
||||||
|
$res = $self->valid_id($room->{id});
|
||||||
|
if (!$res->{ok}){
|
||||||
|
return $res;
|
||||||
|
}
|
||||||
|
$res = $self->valid_room_name($room->{name});
|
||||||
|
if ($res->{ok}){
|
||||||
|
return $res;
|
||||||
|
}
|
||||||
|
if (($room->{locked} && $room->{locked} !~ m/^0|1$/) ||
|
||||||
|
($room->{ask_for_name} && $room->{ask_for_name} !~ m/^0|1$/) ||
|
||||||
|
($room->{persistent} && $room->{persistent} !~ m/^0|1$/)){
|
||||||
|
return {msg => 'ERROR_INVALID_PARAM'};
|
||||||
|
}
|
||||||
my $sth = eval {
|
my $sth = eval {
|
||||||
$self->db->prepare('UPDATE `rooms`
|
$self->db->prepare('UPDATE `rooms`
|
||||||
SET `owner`=?,
|
SET `owner`=?,
|
||||||
|
@ -267,7 +280,10 @@ helper modify_room => sub {
|
||||||
`join_password`=?,
|
`join_password`=?,
|
||||||
`owner_password`=?,
|
`owner_password`=?,
|
||||||
`persistent`=?');
|
`persistent`=?');
|
||||||
} || return undef;
|
};
|
||||||
|
if ($@){
|
||||||
|
return {msg => $@};
|
||||||
|
}
|
||||||
$sth->execute(
|
$sth->execute(
|
||||||
$room->{owner},
|
$room->{owner},
|
||||||
$room->{locked},
|
$room->{locked},
|
||||||
|
@ -275,9 +291,12 @@ helper modify_room => sub {
|
||||||
$room->{join_password},
|
$room->{join_password},
|
||||||
$room->{owner_password},
|
$room->{owner_password},
|
||||||
$room->{persistent}
|
$room->{persistent}
|
||||||
) || return undef;
|
);
|
||||||
|
if ($sth->err){
|
||||||
|
return {msg => "DB Error: " . $sth->errstr . " (code " . $sth->err . ")"};
|
||||||
|
}
|
||||||
$self->app->log->info("Room " . $room->{name} ." modified by " . $self->session('name'));
|
$self->app->log->info("Room " . $room->{name} ." modified by " . $self->session('name'));
|
||||||
return 1;
|
return {ok => 1};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Lock/unlock a room, to prevent new participants
|
# Lock/unlock a room, to prevent new participants
|
||||||
|
|
Loading…
Reference in New Issue
Block a user