Documentation sur le logiciel SYMPA

mysql_liste-editor-liste.pl

si robot est listes.grenoble-inp.fr :
# ./mysql_liste-editor-liste.pl listes

#!/usr/bin/perl -w
#
# mysql-liste-owner_liste.pl
#
# Catherine.Balleydier@inpg.fr
#
# maj : 23/09/16
#
########################################################################
# 
#   recherche des moderateurs de toutes leurs listes
#
########################################################################
#
use DBI;
use DBD::mysql ;
use strict;
use warnings;
use Term::ReadKey;
 
my $compte = "sympa" ;
my $BASE = "sympa" ;
my $host = "localhost" ;
my $RESUL= "/usr/local/SCRIPTS/sympa/RESUL/liste-editor-liste" ;
my $CLOSES = "/usr/local/SCRIPTS/sympa/RESUL/liste-fermee" ;
 
my $REPLIST="/home/sympa/list_data/" ;
 
#
#  liste des listes des moderateurs
#
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 from admin_table where 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]." |\n";
    }
  }
$execution->finish();
close (FICH) ;
$db->disconnect() or warn "Error disconnecting: $DBI::errstr\n";