";
include("enTete.php");
include("menu.php");
include("mysql_compat.php");
include("conf.php");
include("constantes.php");
$db_connection=mysql_connect($db_host,$db_user,$password);
$id_campagne=$_GET['id_campagne'];
$checked=$_GET['checked'];
$type=$_GET['type'];
/* Convocation suivant le type */
/* Insère les convocations dans la base */
include("fct_convocation.php");
/* Recherche de la campagne */
$requete="SELECT * FROM campagne WHERE id_campagne='$id_campagne'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
$campagne=mysqli_fetch_object($reponse);
$critere=$campagne->critere_vocal;
$type_convoc=$campagne->type;
$tournoi_liste=$campagne->id_tournoi_liste;
$id_classement=$campagne->id_classement_depart;
if($campagne->motif_appel=='CampagneInscriptionTournoi') {
if($campagne->id_serie==0) {
$nom_serie="Toutes les séries";
}
else {
$requete="SELECT intitule FROM serie WHERE id_serie='$campagne->id_serie'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
$serie=mysqli_fetch_object($reponse);
$nom_serie=$serie->intitule;
}
/* Si classement de départ */
if(($campagne->id_classement_depart==0) and ($campagne->id_serie==0)) {
$nom_classement="Tous les classements";
}
else if($campagne->id_classement_depart > 0) {
$requete="SELECT intitule FROM classement WHERE id_classement='$id_classement'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
$clt=mysqli_fetch_object($reponse);
$nom_classement="Classement de départ: $clt->intitule";
}
else {
$nom_classement="Tous les classements de la série";
}
}
/* Tableau contenant les ids des joueurs */
$joueurs=array();
/* Tableau contenant les classements concernés par la campagne */
$classements=array();
if($campagne->id_serie==0) {
$requete="SELECT id_classement, intitule FROM classement ORDER BY id_classement ASC";
}
else {
$requete="SELECT id_classement, intitule FROM classement WHERE id_serie='$campagne->id_serie' ORDER BY id_classement ASC";
}
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
/* On selectionne les classements concernés par la campagne */
while($clt=mysqli_fetch_object($reponse)) {
if(($id_classement <= $clt->id_classement and $id_classement > 0) or ($id_classement == 0)) {
if(! in_array($clt->intitule, $classements)) {
array_push($classements, $clt->intitule);
}
}
}
/* Affichage du tableau des joueurs à convoquer */
if(count($_POST)==0) {
/* Création / Ajout de joueurs */
if($type==0) {
if($campagne->motif_appel=='CampagneInscriptionTournoi') {
$mbl=utf8_decode("MembreLicencié");
//$mbl="MembreLicencié";
$ts_now=time();
$infos_campagne="Campagne Inscription Tournoi
";
$infos_campagne.="$campagne->nom - $campagne->type - $nom_serie
";
$infos_campagne.="$nom_classement";
/* Tournoi spécifique et membres du club organisateur */
if($campagne->selection=="tournoi_spec") {
for($i=0;$i
''";
}
else if($critere=='portable') {
$requete.=" AND SUBSTR(it.telephone,1,2) LIKE '06'";
}
else if($critere=='fixe') {
$requete.=" AND SUBSTRING(it.telephone,1,2)<>'06'";
}
}
else if($type_convoc=="sms") {
$requete.=" AND SUBSTRING(it.telephone,1,2) LIKE '06'";
}
else if($type_convoc=="email") {
$requete.=" AND j.e_mail IS NOT NULL";
}
/* Si categorie spécifique demandée */
if($campagne->id_categorie > 0) {
$requete.=" AND it.id_categorie = '$campagne->id_categorie'";
}
$requete.=" ORDER BY j.nom ASC";
$repons=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
while($simple=mysqli_fetch_object($repons)) {
if(in_array($simple->id_joueur, $joueurs)==FALSE and verifierLicence($simple->numero_fft)) {
array_push($joueurs, $simple->id_joueur);
}
}
/* Place les ids des joueurs de double dans le tableau avec le contrôle pour éviter de mettre l'id 2 fois */
$requete="SELECT id_joueur1, id_joueur2 FROM equipes_double WHERE id_tournoi='$tournoi_liste'";
$repons=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
while($double=mysqli_fetch_object($repons)) {
/* Classement joueur 1 */
$requete="SELECT classement FROM joueur WHERE id_joueur='$double->id_joueur1'";
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
$joueur=mysqli_fetch_object($rep);
if($classement==$joueur->classement and in_array($double->id_joueur1, $joueurs)==FALSE) {
array_push($joueurs, $double->id_joueur1);
}
/* Classement joueur 2 */
$requete="SELECT classement FROM joueur WHERE id_joueur='$double->id_joueur2'";
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
$joueur=mysqli_fetch_object($rep);
if($classement==$joueur->classement and in_array($double->id_joueur2, $joueurs)==FALSE) {
array_push($joueurs, $double->id_joueur2);
}
}
}
}
/* Joueurs d'un club ayant fait un tournoi */
else if($campagne->selection=="joueurs_clubs_tournoi") {
$id_club_liste=$campagne->id_club_liste;
for($i=0;$i''";
}
else if($critere=='portable') {
$requete.=" AND it.telephone<>'' AND SUBSTR(it.telephone, 1, 2) LIKE '06' ";
}
else if($critere=='fixe') {
$requete.=" AND it.telephone<>'' AND SUBSTR(it.telephone,1,2) <> '06'";
}
}
else if($type_convoc=="sms") {
$requete.=" AND it.telephone<>'' AND SUBSTR(it.telephone, 1, 2) LIKE '06' ";
}
else if($type_convoc=="email") {
$requete.=" AND j.e_mail IS NOT NULL";
}
/* Si categorie spécifique demandée */
if($campagne->id_categorie > 0) {
$requete.=" AND it.id_categorie = '$campagne->id_categorie'";
}
/* Tri */
$requete.=" ORDER BY j.nom ASC";
$repons=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
while($joueurs_club=mysqli_fetch_object($repons)) {
// Controle si le joueur peut s'inscrire au tournoi (catégorie valable)
if(cat_joueur($joueurs_club->id_joueur, $campagne->id_tournoi) != 0) {
if(in_array($joueurs_club->id_joueur, $joueurs)==FALSE and verifierLicence($joueurs_club->numero_fft)) {
array_push($joueurs, $joueurs_club->id_joueur);
}
}
}
}
}
/* Selection des joueurs ayant joués aux tournoi du département */
else if($campagne->selection=="tournois") {
echo "Veuillez patienter pendant le chargement...
";
for($i=0;$idepartement%'";
$rep_tournoi=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
while($tournoi=mysqli_fetch_object($rep_tournoi)) {
/* Recupere les clubs du département */
/* Recupère les tournois de chaque club avec les caractéristiques (categories, saison) */
$requete="SELECT it.id_joueur, j.numero_fft FROM inscription_tournoi it ";
$requete.="LEFT JOIN joueur j ON j.id_joueur=it.id_joueur LEFT JOIN compte cpte ON cpte.id_joueur=it.id_joueur LEFT JOIN club c ON c.id_club=cpte.id_club";
$requete.=" WHERE j.classement='$classement' AND c.code_postal LIKE '$campagne->departement%' AND cpte.statut='$mbl' AND it.id_tournoi='$tournoi->id_tournoi' ";
if($campagne->id_categorie!=0) {
$requete.=" AND id_categorie='$campagne->id_categorie'";
}
/* Ajoute la condition suivant le type de convocation (serveur vocal, SMS, email) */
if($campagne->type=='serveur_vocal') {
if($campagne->critere_vocal=='portable') {
$requete.=" AND SUBSTRING(it.telephone,1,2) LIKE '06' AND it.telephone<>''";
}
else if($campagne->critere_vocal=='fixe') {
$requete.=" AND SUBSTRING(it.telephone,1,2) <> '06' AND it.telephone<>''";
}
else if($campagne->critere_vocal=='tous') {
$requete.=" AND it.telephone<>''";
}
}
else if($campagne->type=='sms'){
$requete.=" AND SUBSTRING(it.telephone,1,2) LIKE '06' AND it.telephone<>''";
}
else if($campagne->type=='email'){
$requete.=" AND j.e_mail<>''";
}
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
while($joueurs_tournoi=mysqli_fetch_object($rep)) {
if(in_array($joueurs_tournoi->id_joueur, $joueurs)==FALSE and verifierLicence($joueurs_tournoi->numero_fft)) {
array_push($joueurs, $joueurs_tournoi->id_joueur);
}
}
}
}
}
/* Selection des joueurs membres des clubs du département */
else if($campagne->selection=="clubs") {
echo "Veuillez patienter pendant le chargement...
";
for($i=0;$idepartement%' AND cpte.statut='$mbl' ";
/* Ajoute la condition suivant le type de convocation (serveur vocal, SMS, email) */
if($campagne->type=='serveur_vocal') {
if($campagne->critere_vocal=='portable') {
$requete.=" AND tel.type='portable' AND tel.numero<>''";
}
else if($campagne->critere_vocal=='fixe') {
$requete.=" AND tel.type='maison' AND tel.numero<>''";
}
else if($campagne->critere_vocal=='tous') {
$requete.=" AND ((tel.type='portable' AND tel.numero<>'') OR (tel.type='maison' AND tel.numero<>''))";
}
}
else if($campagne->type=='sms'){
$requete.=" AND tel.type='portable' AND tel.numero<>''";
}
else if($campagne->type=='email'){
$requete.=" AND j.e_mail<>''";
}
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
$nb=mysqli_num_rows($rep);
while($joueurs_tournoi=mysqli_fetch_object($rep)) {
// Controle si le joueur peut s'inscrire au tournoi (catégorie valable)
if(cat_joueur($joueurs_tournoi->id_joueur, $campagne->id_tournoi) != 0) {
if(in_array($joueurs_tournoi->id_joueur, $joueurs)==FALSE and verifierLicence($joueurs_tournoi->numero_fft)) {
array_push($joueurs, $joueurs_tournoi->id_joueur);
}
}
}
}
}
$total_tab=count($joueurs);
if($total_tab > 0) {
/* Joueurs déja convoqués ou en cours de convocation pour ce tournoi */
$requete="SELECT id_joueur FROM appels_sortants WHERE id_tournoi='$campagne->id_tournoi'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
while($joueurs_convoc=mysqli_fetch_object($reponse)) {
/* Si le joueur est présent dans le tableau, l'enlever*/
if(in_array($joueurs_convoc->id_joueur, $joueurs)==TRUE) {
$indice=array_search($joueurs_convoc->id_joueur, $joueurs);
unset($joueurs[$indice]);
}
}
/* Retire les joueurs déja inscrits à ce tournoi */
$requete="SELECT id_joueur FROM inscription_tournoi WHERE id_tournoi='$campagne->id_tournoi'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
while($joueur=mysqli_fetch_object($reponse)) {
if(in_array($joueur->id_joueur, $joueurs)==TRUE) {
$indice=array_search($joueur->id_joueur, $joueurs);
unset($joueurs[$indice]);
}
}
}
}
/* Campagne AG */
else if($campagne->motif_appel=='CampagneParticipationAg') {
$infos_campagne="Campagne Participation Assemblée Générale
";
$infos_campagne.="$campagne->nom - $campagne->type";
$ts_now=time();
/* Place les joueurs du club organisateur du tournoi (avec le contrôle) */
$temp=utf8_decode("MembreLicencié");
$requete="SELECT c.id_joueur, j.numero_fft FROM compte c LEFT JOIN joueur j ON c.id_joueur=j.id_joueur LEFT JOIN telephone t ON j.id_joueur=t.id_joueur WHERE c.statut='$temp' AND c.id_club='$id_club' AND UNIX_TIMESTAMP(c.actif_debut) < '$ts_now' AND UNIX_TIMESTAMP(c.actif_fin) > '$ts_now'";
if($type_convoc=="serveur_vocal") {
if($critere=='tous') {
$requete.=" AND t.numero<>''";
}
else if($critere=='portable') {
$requete.=" AND t.type='portable' AND t.numero<>''";
}
else if($critere=='fixe') {
$requete.=" AND t.type='maison' AND t.numero<>''";
}
}
else if($type_convoc=="sms") {
$requete.=" AND t.type='portable' AND t.numero<>''";
}
else if($type_convoc=="email") {
$requete.=" AND j.e_mail IS NOT NULL";
}
$requete.=" ORDER BY j.nom ASC";
$repons=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
while($joueurs_club=mysqli_fetch_object($repons)) {
if(in_array($joueurs_club->id_joueur, $joueurs)==FALSE and verifierLicence($joueurs_club->numero_fft)) {
array_push($joueurs, $joueurs_club->id_joueur);
}
}
$total_tab=count($joueurs);
/* Joueurs déja convoqués */
$requete="SELECT id_joueur FROM appels_sortants WHERE id_ag='$campagne->id_ag'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
while($joueurs_convoc=mysqli_fetch_object($reponse)) {
/* Si le joueur est présent dans le tableau, l'enlever*/
if(in_array($joueurs_convoc->id_joueur, $joueurs)==TRUE) {
$indice=array_search($joueurs_convoc->id_joueur, $joueurs);
unset($joueurs[$indice]);
}
}
}
$titre="Ajout des joueurs à la campagne de convocation";
}
else if($type > 0) {
/* Relance SMS */
if($type==4){
$requete="SELECT id_joueur FROM appels_sortants WHERE id_campagne='$id_campagne' AND (resultat_appel='reponse' OR resultat_appel='messagerie'OR resultat_appel='a_rappeler' OR resultat_appel='en_attente') AND type='serveur_vocal' AND SUBSTRING(num_tel,1,2)='06'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
while($convoc=mysqli_fetch_object($reponse)) {
/* Controle si le joueur ne s'est pas inscrit au tournoi entre temps */
$requete="SELECT id_inscription FROM inscription_tournoi WHERE id_joueur='$convoc->id_joueur' AND id_tournoi='$campagne->id_tournoi'";
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
$existe_inscrit=mysqli_num_rows($rep);
if($existe_inscrit == 0) {
array_push($joueurs, $convoc->id_joueur);
}
}
/* Retire les joueurs déja inscrits à ce tournoi */
$requete="SELECT id_joueur FROM inscription_tournoi WHERE id_tournoi='$campagne->id_tournoi'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
while($joueur=mysqli_fetch_object($reponse)) {
if(in_array($joueur->id_joueur, $joueurs)==TRUE) {
$indice=array_search($joueur->id_joueur, $joueurs);
unset($joueurs[$indice]);
}
}
$titre="Selection des joueurs pour la relance SMS";
}
/* relance vocal */
else if($type==5) {
$requete="SELECT id_joueur FROM appels_sortants WHERE id_campagne='$id_campagne' AND num_tel<>'' AND reponse='pas_de_reponse'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
while($convoc=mysqli_fetch_object($reponse)) {
/* Controle si le joueur ne s'est pas inscrit au tournoi entre temps */
$requete="SELECT id_inscription FROM inscription_tournoi WHERE id_joueur='$convoc->id_joueur' AND id_tournoi='$campagne->id_tournoi'";
$rep=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
$existe_inscrit=mysqli_num_rows($rep);
if($existe_inscrit == 0) {
array_push($joueurs, $convoc->id_joueur);
}
}
/* Retire les joueurs déja inscrits à ce tournoi */
$requete="SELECT id_joueur FROM inscription_tournoi WHERE id_tournoi='$campagne->id_tournoi'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
while($joueur=mysqli_fetch_object($reponse)) {
if(in_array($joueur->id_joueur, $joueurs)==TRUE) {
$indice=array_search($joueur->id_joueur, $joueurs);
unset($joueurs[$indice]);
}
}
$titre="Selection des joueurs pour la relance via le serveur vocal";
}
else {
$requete="SELECT id_joueur FROM appels_sortants WHERE id_campagne='$id_campagne'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
while($convoc=mysqli_fetch_object($reponse)) {
array_push($joueurs, $convoc->id_joueur);
}
/* Categorie d'inscription au tournoi */
if($type==2 and $campagne->motif_appel=='CampagneInscriptionTournoi') {
$requete="SELECT id_tournoi FROM campagne WHERE id_campagne='$id_campagne'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
$campagne=mysqli_fetch_object($reponse);
$requete="SELECT c.nom, c.id_categorie FROM categorie c, categories_par_tournoi ct WHERE ct.id_categorie=c.id_categorie AND ct.id_tournoi='$campagne->id_tournoi'";
$reponse=mysqli_query($db_connection, $requete) or die ("Erreur no".mysqli_errno($db_connection)()." : ".mysqli_error($db_connection)()."
");
$categories=array();
while($categorie=mysqli_fetch_object($reponse)) {
$cat=array();
$['']=$categorie->id_categorie;
$['']=$categorie->nom;
array_push($categories, $cat);
}
$titre="Inscription de joueurs convoqués au tournoi";
}
/* Inutile */
else if($type==1) {
$titre="Selection des joueurs qui est inutile de convoquer";
}
/* Suppression convocation */
else if($type==3) {
$titre="Suppression de la convocation de joueurs";
}
}
}
$total_tab=count($joueurs);
echo "$titre
";
echo "$infos_campagne
";
if($type==0) {
echo "";
echo "Le tableau suivant affiche les personnes qui n'ont pas encore étés convoqués ou qui ont étés convoqués mais qui n'ont pas donnés de réponse.
";
echo "A l'aide des cases à cocher, selectionnez les personnes à convoquer puis cliquez sur Validez pour les convoquer.
";
echo "";
echo "Nombre de joueurs convocables : $total_tab
";
}
else {
echo "Nombre de joueurs actuellement convoqués : $total_tab
";
}
if($total_tab > 0) {
echo "";
echo "";
}
else {
if($type==0) {
echo "";
echo "Il n'y a pas de joueurs convocables pour cette campagne.
";
echo "Vous pouvez essayer de modifier les options de la campagne pour pouvoir convoquer plus de joueurs.";
echo "";
}
else {
echo "";
echo "Il n'y a pas de joueurs convoqués durant cette campagne.";
echo "Vous pouvez en ajouter en cliquant ici.";
echo "";
}
}
}
/* Traitement des convocations à effectuer */
else if(count($_POST)>=4) {
$type=$_POST['type'];
$id_campagne=$_POST['id_campagne'];
$joueurs=$_POST['joueurs'];
/* Reçoit le joueur et la catégorie d'inscription */
if($type == 2 and $campagne->motif_appel=='CampagneInscriptionTournoi') {
$categories=array();
$cat=$_POST['cat'];
for($i=0;$i
";
}
/* Inutile de convoquer les joueurs */
else if($type==1) {
convoc_inutile($joueurs, $id_campagne);
echo "Les modifications de convocations ont étés enregistrées
";
}
/* Joueurs inscrits au club (telephone, permanent, ...) */
else if($type==2) {
inscription_club($joueurs, $categories, $id_campagne);
echo "Les modifications de convocations ont étés enregistrées
";
}
/* Suppression de la convocation pour les joueurs */
else if($type==3) {
suppression_convoc($joueurs, $id_campagne);
echo "Les suppression de convocations ont étés enregistrées
";
}
/* Relance SMS des joueurs selectionnés dans la liste*/
else if($type==4) {
relance_sms($joueurs, $id_campagne);
echo "Les relances de convocations par SMS ont étés enregistrées
";
}
/* Relance vocal des joueurs selectionnés dans la liste*/
else if($type==5) {
relance_vocal($joueurs, $id_campagne);
echo "Les relances de convocations par serveur vocal ont étés enregistrées
";
}
echo "
";
echo "Ajouter des nouveaux joueurs à cette campagne";
}
echo "
";
echo "Menu de gestion de la campagne";
echo "
";
include("deco_admin_club.php");
include("piedDePage.php");
}
else {
echo("Non autorisé - Redirection vers la page d'identification dans 2 secondes");
sleep(2);
include("admin_login.php");
}
/*****************************************************/
/* fonction de controle de format de la licence FFT */
/*****************************************************/
function verifierLicence($numero_fft){
$numero=0;
$res=1;
// controle de la licence si le numero de licence est valide (1234567K par ex,)
if(is_numeric($numero_fft[0])) {
for($i=0;$i<7;$i++){$numero=$numero+($numero_fft[$i]* pow (10,(6-$i)));}
$cle=$numero_fft[7];
$tab_lettres=array("A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z");
$mod=($numero % 23);
if ($mod==0){$mod=23;}
if(strtoupper($cle)!=$tab_lettres[$mod-1]){
$res=0;
}
}
else {
$res=0;
}
return $res;
}
?>