Le 17/05/2015 12:49, Alex Jud a écrit :
Merci pour la réponse,
Je n'avais pas vu ce sujet évoqué dans les archives. Peut être mal cherché.
Pour l'enregistrement ce serait de toutes les imprimer preremplies pour
les anciens membres sans avoir à rentrer dans leur fiche adhérent.
Ce qui n'est pas possible depuis galette peut également se faire
simplement à coup de script externe. L'exemple suivant réalise
exactement le besoin exprimé ici, à savoir extraire les fiches de tous
les adhérents qui correspondent à un certain critère de filtrage, codé
en dur dans la requête SQL.
--
Guillaume
#!/usr/bin/perl
use strict;
use warnings;
use DBI;
use Getopt::Long;
use WWW::Mechanize;
my $options = {};
GetOptions(
$options,
'password=s',
'username=s',
'dbusername=s',
'dbpassword=s',
);
die "no password" unless $options->{password};
die "no username" unless $options->{username};
die "no db password" unless $options->{dbpassword};
die "no db username" unless $options->{dbusername};
my $dbh = DBI->connect(
"DBI:mysql:database=galette", $options->{dbusername},
$options->{dbpassword}
);
my $sth = $dbh->prepare(
"SELECT id_adh FROM galette_adherents where id_statut != 7 AND id_statut
!= 16"
);
$sth->execute();
my @ids;
while (my $row = $sth->fetchrow_arrayref()) {
push @ids, $row->[0];
}
$dbh->disconnect();
my $mech = WWW::Mechanize->new();
$mech->get('https://adherents.leo-mare.org');
$mech->submit_form(
form_number => 1,
fields => {
login => $options->{username},
password => $options->{password},
}
);
foreach my $id (@ids) {
my $uri =
"https://adherents.leo-mare.org/plugins/galette-plugin-fullcard/fullcard.php?id_adh=$id";
my $file = "adherent_$id.pdf";
$mech->get($uri, ':content_file' => $file);
}