This repository has been archived on 2020-01-20. You can view files and clone it, but cannot push or open issues or pull requests.
evoauth/admin/lib/Evoauth/Functions.pm

104 lines
1.8 KiB
Perl
Raw Normal View History

2005-09-12 21:51:19 +02:00
package Evoauth::Functions;
use strict;
use warnings;
use Config::Tiny;
use DBI;
use MIME::Lite;
# Renvoit la date courrante
sub Date() {
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) =
localtime(time);
$year += 1900;
2005-09-28 15:57:23 +02:00
$mon++;
2005-09-12 21:51:19 +02:00
my $temps = "$mday/$mon/$year - $hour:$min:$sec";
return $temps;
}
# Envoit un mail
sub Mail() {
my ($event, $ip) = @_;
my $temps = Date();
# paramètres de connexion
my $Config = Config::Tiny->read( '/etc/evoauth/evoauth.conf' );
my $db = $Config->{bdd}->{db};
my $username = $Config->{bdd}->{username};
my $userpass = $Config->{bdd}->{userpass};
# connexion
my $dbh = DBI->connect( $db, $username, $userpass ) ||
2005-09-12 21:51:19 +02:00
&Log("La connexion a échoué : $DBI::errstr");
# récupération du login correspondant à l'ip
my $sql = "SELECT login FROM users where ip = '".$ip."'";
2005-10-12 09:56:02 +02:00
my $sth = $dbh->prepare($sql);
2005-09-12 21:51:19 +02:00
$sth->execute();
my $login;
$sth->bind_columns(undef, \$login) && $sth->fetch();
my $msg = new MIME::Lite
From => 'evoauth@shaktiware.fr',
2005-09-15 14:02:55 +02:00
To => 'auth@shaktiware.fr',
2005-09-13 16:02:17 +02:00
CC => '',
2005-09-15 15:18:22 +02:00
Subject => "$event de $login",
2005-09-12 21:51:19 +02:00
Type => 'TEXT',
2005-09-15 15:18:22 +02:00
Data => "$temps : $event de $login ($ip)";
2005-09-12 21:51:19 +02:00
$msg -> send && &Log("Un mail a été envoyé.");
}
# Ecrit dans le journal
sub Log() {
2005-09-15 13:30:12 +02:00
my $file = "/var/log/evoauth.log";
2005-09-12 21:51:19 +02:00
my $message = shift;
my $temps = &Date;
open(LOG, ">> $file") or
die "L'ouverture du journal evoauth.log a échoué: $!.\n";
print LOG "$temps $message\n";
close(LOG);
}
1;
__END__
=head1 NAME
Evoauth::Functions - Fonctions
=head1 SYNOPSIS
use Evoauth::Functions;
=head1 DESCRIPTION
Fonctions d'administration d'Evoauth.
=head2 EXPORT
...
=head1 SEE ALSO
...
=head1 AUTHOR
2005-09-15 10:43:05 +02:00
Evolix, E<lt>info@evolix.fr<gt>
2005-09-12 21:51:19 +02:00
=head1 COPYRIGHT AND LICENSE
2005-09-15 10:43:05 +02:00
Copyright (C) 2005 Evolix
2005-09-12 21:51:19 +02:00
2005-09-15 10:43:05 +02:00
Licence GPL.
2005-09-12 21:51:19 +02:00
=cut