Sélectionner une révision Git
Bifurcation depuis
Alexandre MORIGNOT / PlayBot
Le projet source a une visibilité limitée.
-
Alexandre Morignot a rédigéAlexandre Morignot a rédigé
edit.pm 1,10 Kio
package Sam::commands::edit;
require Exporter;
our @ISA = qw(Exporter);
our @EXPORT_OK = qw(exec);
use Regexp::Common qw(URI);
use Sam::Chan;
use Sam::Event;
our $log;
our $irc;
sub exec {
my ($id, $command, $arg, $chan_name) = @_;
if ($command eq "lien" or $command eq "url" or $command eq "link") {
if ($arg !~ /^$RE{URI}{HTTP}{-scheme => qr(https?)}$/) {
die "Ce n'est pas une URL valide";
}
else {
my $event = Sam::Event->new(id => $id);
unless ($event->load(speculative => 1)) {
die "aucune soirée trouvée avec cet identifiant";
}
my $chan = Sam::Chan->new(name => $chan_name);
unless ($chan->load(speculative => 1)) {
die "ce chan n'est pas encore configuré";
}
unless ($event->calendar_id == $chan->calendar_id) {
die "cette soirée ne fait pas partie du calendrier associé à ce chan";
}
$event->link($arg);
$event->save();
}
}
else {
die "Commande inconnue";
}
}
1;