mysql_liste-owner-editor.pl
si robot est listes.grenoble-inp.fr :
# ./mysql_liste-owner-editor.pl listes
#!/usr/bin/perl -w # # mysql-liste-owner-editor.pl # # Catherine.Balleydier@inpg.fr # # maj : 23/09/16 # ######################################################################## # # recherche pour une personne les listes # dont il est proprietaire ou moderateur # ######################################################################## # use DBI; use DBD::mysql ; use strict; use warnings; use Term::ReadKey; my $adresse = $ARGV[0] ; my $compte = "sympa" ; my $BASE = "sympa" ; my $host = "localhost" ; my $RESUL= "/usr/local/SCRIPTS/sympa/RESUL/liste-owner-moderateur" ; my $CLOSES = "/usr/local/SCRIPTS/sympa/RESUL/liste-fermee" ; my $REPLIST="/home/sympa/list_data/" ; # # liste des listes des proprietaires # open (FICH, ">$RESUL") ; # # liste fermee # my $commande = "grep \"status closed\" "."$REPLIST"."*/*/config > "."$CLOSES" ; system( $commande ) ; open (CLOS, "$CLOSES") ; my @LISTECLOS = <CLOS> ; close (CLOS) ; my $FERMEE = join(" ", @LISTECLOS); # # Connexion a la base sympa # # # demande du password de la base sympa # my $passe; print "Password: "; ReadMode 2; $passe = <STDIN>; ReadMode 0; print "\n"; chomp($passe); my $data_source = "DBI:mysql:database=$BASE;host=$host"; my $db; $db = DBI->connect( $data_source , $compte, $passe); #$db->selectdb($BASE); my $table = "subscriber_table" ; my $entree ; my $execution ; # # # # Requete sql : recherche des abonnes pour chaque liste # my $query1 = "SELECT user_admin, list_admin, role_admin from admin_table where user_admin = '"."$adresse"."' and ( role_admin='owner' or role_admin='editor' )"; $execution = $db->prepare($query1) ; $execution ->execute(); # # Recuperation dans un tableau des abonnes avec la liste # while ( my @result = $execution->fetchrow() ) { if ( $FERMEE !~ /$result[1]/ ) { print FICH "$result[0]".";"."$result[1]".";"."$result[2]".";\n"; } } $execution->finish(); close (FICH) ; $db->disconnect() or warn "Error disconnecting: $DBI::errstr\n";
