From 35a23f6145bb772b9bfa8c8eeb500aa8c02437d3 Mon Sep 17 00:00:00 2001
From: Ludovic Pouzenc <ludovic@pouzenc.fr>
Date: Thu, 5 Jul 2018 00:28:24 +0200
Subject: Version awor_1.0_20070316.tar.bz2

---
 final/app/include/ludo/TODO_list.txt     |  24 ---
 final/app/include/ludo/config.inc.php    |   2 +-
 final/app/include/ludo/fonctions.inc.php | 255 ++++++++++++++++++++++++++++++-
 final/app/include/ludo/index.html        |   0
 final/app/include/ludo/mail_textarea.php |   3 +-
 5 files changed, 253 insertions(+), 31 deletions(-)
 delete mode 100644 final/app/include/ludo/TODO_list.txt
 create mode 100644 final/app/include/ludo/index.html

(limited to 'final/app/include/ludo')

diff --git a/final/app/include/ludo/TODO_list.txt b/final/app/include/ludo/TODO_list.txt
deleted file mode 100644
index 724c46c..0000000
--- a/final/app/include/ludo/TODO_list.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-Accueil > _Listes_ (virer le lien)
-
-mysql_free_result après les requetes et mysql_close ?
-
-configuration de PHP dans un fichier INI :
-array parse_ini_file ( string filename [, bool process_sections] )
-
-
-Vérifier que les redirections vers authentification et le retour fasse bien suivre les paramètres
---> bookmarque details_reunion?idR=1
- 	 
-
-faire une fonction JS qui appelle une page php ou créer toute seule un cookie qui gère la préférence du css.
-
-Se préoccuper des accents et des encodages de pages !
-
-Faire un pied de page avec nos noms, et les logos valide XHTML, CSS...
-
-TODO : un script php qui purge la base
--> export SQL ancienne base ?
--> suppression des réunions plus vielles que...
--> suppression des Personnes n'ayant jamais changé leur profil et n'ayant plus de réunion les concernant
--> suppression de tout les créneaux non référencés
--> suppression de toutes les listes privées obsoletes
diff --git a/final/app/include/ludo/config.inc.php b/final/app/include/ludo/config.inc.php
index 7f1d587..c016342 100644
--- a/final/app/include/ludo/config.inc.php
+++ b/final/app/include/ludo/config.inc.php
@@ -1,7 +1,7 @@
 <?php
 $CONFIG = array
 (
-	'adminMail' => 'jmi@iut-blagnac.fr',
+	'adminMail' => 'inglebert@iut-blagnac.fr',
 	'automatedMail' => 'no_reply@iut-blagnac.fr',
 	'AUTH' => array
 	(
diff --git a/final/app/include/ludo/fonctions.inc.php b/final/app/include/ludo/fonctions.inc.php
index 9124ac5..3361827 100644
--- a/final/app/include/ludo/fonctions.inc.php
+++ b/final/app/include/ludo/fonctions.inc.php
@@ -125,9 +125,9 @@ function generate_html_array_personnes_crenaux($idR)
 	}
 	else
 	{
-		return "Impossible d'afficher le tableau de la r�union : Erreur de base de donn�e\n";
+		return "Impossible d'afficher le tableau de la r�union : Erreur de base de donn�e\n";
 	}
-	// DEBUG : tests en for�ant les variables
+	// DEBUG : tests en for�ant les variables
 	//$estAnnulee=true;
 	
 	//~ echo "DEBUG : \nmontrerDispoR==$montrerDispoR\nestAnnulee==$estAnnulee\nestFixee==$estFixee\nis_admin==$is_admin\n";
@@ -264,7 +264,7 @@ function generate_html_array_personnes_crenaux($idR)
 			if  ( $is_admin && ! $estFixee && ! $estAnnulee ) { echo "			<td>&nbsp;</td>\n"; }
 			echo "		</tr>\n";
 		}
-		// Si $is_admin, on met une ligne avec bouton envoyer pour les mails et ic�ne ajout de personnes
+		// Si $is_admin, on met une ligne avec bouton envoyer pour les mails et ic�ne ajout de personnes
 		if  ( $is_admin )
 		{
 				echo "		<tr>\n			<td>\n";
@@ -524,7 +524,7 @@ function html_generate_MySQLTableSuppr($table, $key_name, $columns='*', $where_c
 	{
 		return "Erreur de g&eacute;n&eacute;ration de la table $table\n";
 	}
-	else
+	elseif ( mysql_num_rows($result) > 0 )
 	{
 		$row = mysql_fetch_assoc($result);
 		// Affichage des ent&ecirc;tes du tableau et du pied de tableau
@@ -539,10 +539,255 @@ function html_generate_MySQLTableSuppr($table, $key_name, $columns='*', $where_c
 		$num=0;
 		do
 		{	if ( isset($row[$key_name]) ) { $num=$row[$key_name]; } else { $num=''; }
-			echo "<tr>\n<td><input name=\"${key_name}_${num}\" type=\"checkbox\" /></td>\n<td>" . implode("</td>\n<td>",$row) . "</td>\n</tr>\n";
+			echo "<tr>\n<td><input name=\"id[${num}]\" type=\"checkbox\" /></td>\n<td>" . implode("</td>\n<td>",$row) . "</td>\n</tr>\n";
 		} while ( $row = mysql_fetch_assoc($result) );
 		echo "</tbody>\n</table>\n</form>\n";
 	}
 }
 
+function delete_from_awor_liste()
+{
+	require_once('include/connect.inc.php');
+	if ( isset($_POST['id']) && is_array($_POST['id']) )
+	{
+		if ( ! base_delete_awor_liste( 'idL', array_keys($_POST['id'] ) ) )
+		{
+			echo "ROLLBACK<br />\n";
+			mysql_query("ROLLBACK");
+		}
+	}
+}
+
+function delete_from_awor_fichier()
+{
+	require_once('include/connect.inc.php');
+	if ( isset($_POST['id']) && is_array($_POST['id']) )
+	{
+		if ( ! base_delete_awor_fichier( 'idFic',  array_keys($_POST['id'] ) ) )
+		{
+			echo "ROLLBACK<br />\n";
+			mysql_query("ROLLBACK");
+		}
+	}
+}
+
+function delete_from_awor_reunion()
+{
+	require_once('include/connect.inc.php');
+	if ( isset($_POST['id']) && is_array($_POST['id']) )
+	{
+		if ( ! base_delete_awor_reunion( array_keys($_POST['id']) ) )
+		{
+			echo "ROLLBACK<br />\n";
+			mysql_query("ROLLBACK");
+		}
+	}
+}
+
+function delete_from_awor_personne()
+{
+	require_once('include/connect.inc.php');
+	if ( isset($_POST['id']) && is_array($_POST['id']) )
+	{
+		if ( ! base_delete_awor_personne( array_keys($_POST['id']) ) )
+		{
+			echo "ROLLBACK<br />\n";
+			mysql_query("ROLLBACK");
+		}
+	}
+}
+
+
+function base_delete_awor_reunion($idR_array)
+{
+	echo "function base_delete_awor_reunion($idR_array)<br />\n";
+
+	// Suppression des cr�neaux associ�s
+	$idR_implode=implode(',',  $idR_array);
+	$query = "SELECT idC FROM AWOR_Creneau WHERE idR IN ($idR_implode);";
+	$idC_array=array();
+	if ( $result = @mysql_query($query) ) 
+	{
+		while ( list($idC) = mysql_fetch_array($result) ) { $idC_array[]=$idC; }
+	}
+	if ( !base_delete_awor_creneau( $idC_array ) ) { return false; }
+	
+	// Suppression des listes associ�es
+	$idR_Interne_implode=implode("','interne_idR_",  $idR_array);
+	if ( $idR_Interne_implode != '' ) { $idR_Interne_implode = "'interne_idR_" . $idR_Interne_implode . "'"; }
+	$query = "SELECT idL FROM AWOR_Liste WHERE libelleL IN ($idR_Interne_implode);";
+	//~ echo "$query<br />\n";
+	$idL_array=array();
+	if ( $result = @mysql_query($query) ) 
+	{
+		while ( list($idL) = mysql_fetch_array($result) ) { $idL_array[]=$idL; }
+	}
+	//~ print_r($idL_array);
+	if ( !base_delete_awor_liste('idL', $idL_array) ) { return false; }
+	
+	
+	if ( !base_delete_awor_fichier('idR', $idR_array) ) { return false; }
+	if ( !base_delete_awor_repondre('idR', $idR_array) ) { return false; }
+
+	$idR_implode=implode(',', $idR_array);
+	if ( $idR_implode!= '' )
+	{
+		$query="DELETE FROM AWOR_Reunion WHERE idR IN ($idR_implode);";
+		echo "$query<br />\n";
+		return ( mysql_query($query) !== false ) ;
+	}
+	return true;
+}
+
+
+function base_delete_awor_personne($idP_array)
+{
+	echo "function base_delete_awor_personne($idP_array)<br />\n";
+	
+	// Suppression des r�unions organis�es par les personnes concern�es
+	$idP_implode=implode(',',  $idP_array);
+	$query = "SELECT DISTINCT idR FROM AWOR_Reunion WHERE idP_Orga IN ($idP_implode);";
+	$idR_array=array();
+	if ( $result = @mysql_query($query) ) 
+	{
+		while ( list($idR) = mysql_fetch_array($result) ) { $idR_array[]=$idR; }
+	}
+	
+		// Suppr Choisir, Repondre
+	if ( !base_delete_awor_reunion($idR_array) ) { return false; }
+
+	
+	// Suppression des personnes dans les listes les contenant
+	if ( !base_delete_awor_appartenir('idP', $idP_array) ) { return false; }
+	
+	// Suppression des listes priv�es appartenant aux personnes
+	// TODO : voir pour les listes publiques appartenant aux personnes
+	if ( !base_delete_awor_liste('idP_Createur', $idP_array) ) { return false; }
+	
+	// Suppression effective des personnes
+	$idP_implode=implode(',', $idP_array);
+	if ( $idP_implode!= '' )
+	{
+		$query="DELETE FROM AWOR_Personne WHERE idP IN ($idP_implode);";
+		echo "$query<br />\n";
+		return ( mysql_query($query) !== false ) ;
+	}
+}
+
+function base_delete_awor_liste($idName, $id_array)
+{
+	// idName = ( idL | idP_Createur )
+	echo "function base_delete_awor_liste($idName, $id_array)<br />\n";
+	// Suppression du contenu des listes
+	if ( !base_delete_awor_appartenir('idL', $id_array) ) { return false; }
+
+	// Suppression des listes
+	$id_implode=implode(',', $id_array);
+	if ( $id_implode!= '' )
+	{
+		$query="DELETE FROM AWOR_Liste WHERE $idName IN ($id_implode);";
+		echo "$query<br />\n";
+		mysql_query($query);
+	}
+	return true;
+}
+
+function base_delete_awor_fichier($idName, $id_array)
+{
+	// $idName = (idFic | idR)
+	echo "function base_delete_awor_fichier($idName, $id_array)<br />\n";
+	require("include/ludo/config.inc.php");
+		
+	$id_implode=implode(',', $id_array);
+
+	// Supression physique
+	if ( isset($CONFIG['UPLOAD']['relative_path']) ) { $basepath=$CONFIG['UPLOAD']['relative_path']; } else { $basepath='fichiers/';}
+	$basepath=$_SERVER['DOCUMENT_ROOT'].'/'.$basepath;
+	
+	$requete = "SELECT nomFic FROM AWOR_Fichier WHERE $idName IN ($id_implode);";
+	echo "$requete<br />\n";
+	if( ( $resultat = mysql_query($requete) ) )
+	{
+		while( list($fichier) = mysql_fetch_array($resultat))
+		{
+			echo "unlink($basepath.$fichier);<br />\n";
+			unlink($basepath.$fichier);
+		}
+	}
+	// Suppression dans la base
+	if ( $id_implode!= '' )
+	{
+		$query="DELETE FROM AWOR_Fichier WHERE $idName IN ($id_implode);";
+		echo "$query<br />\n";
+		return ( mysql_query($query) !== false ) ;
+	}
+	return true;
+}
+
+
+function base_delete_awor_choisir($idName, $id_array)
+{
+	// idName = (idP|idR)
+	echo "function base_delete_awor_choisir($idName, $id_array)<br />\n";
+	$id_implode=implode(',', $id_array);
+	if ( $id_implode!= '' )
+	{
+		$query="DELETE FROM AWOR_Choisir WHERE $idName IN ($id_implode);";
+		echo "$query<br />\n";
+		return ( mysql_query($query) !== false ) ;
+	}
+	return true;
+}
+
+function base_delete_awor_repondre($idName, $id_array)
+{
+	echo "function base_delete_awor_repondre($idName, $id_array)<br />\n";
+	// idName=(idR|idP)
+	
+	// Suppression des Reponses
+	$id_implode=implode(',', $id_array);
+	if ( $id_implode!= '' )
+	{
+		$query="DELETE FROM AWOR_Repondre WHERE $idName IN ($id_implode);";
+		echo "$query<br />\n";
+		return ( mysql_query($query) !== false ) ;
+	}
+	return true;
+}
+
+function base_delete_awor_appartenir($idName, $id_array)
+{
+	// $idName = (idL | idP)
+	echo "function base_delete_awor_appartenir($idName, $id_array)<br />\n";
+	// Suppression dans la base
+	$idL_implode=implode(',', $id_array);
+	if ( $idL_implode!= '' )
+	{
+		$query="DELETE FROM AWOR_Appartenir WHERE $idName IN ($idL_implode);";
+		echo "$query<br />\n";
+		return ( mysql_query($query) !== false ) ;
+	}
+	return true;
+}
+
+
+function base_delete_awor_creneau($idC_array)
+{
+	echo "function base_delete_awor_creneau($idC_array)<br />\n";
+	// Suppression des r�ponses aux cr�neaux
+	if ( ! base_delete_awor_choisir('idC', $idC_array) ) { return false; }
+
+	// Suppression des cr�neaux
+	$idC_implode=implode(',', $idC_array);
+	if ( $idC_implode!= '' )
+	{
+		$query="DELETE FROM AWOR_Creneau WHERE idC IN ($idC_implode);";
+		echo "$query<br />\n";
+		return ( mysql_query($query) !== false ) ;
+	}
+	return true;
+}
+
+// TODO : suppression des listes vides
+
 ?>
diff --git a/final/app/include/ludo/index.html b/final/app/include/ludo/index.html
new file mode 100644
index 0000000..e69de29
diff --git a/final/app/include/ludo/mail_textarea.php b/final/app/include/ludo/mail_textarea.php
index 6db990f..41537a9 100644
--- a/final/app/include/ludo/mail_textarea.php
+++ b/final/app/include/ludo/mail_textarea.php
@@ -1,7 +1,8 @@
 <?php
 require_once('session_verify.inc.php');
 include('config.inc.php');
-require_once('../utils.inc.php');
+@include('../tools.inc.php');
+@include('include/tools.inc.php');
 //~ require_once('/home/lud/shares/public_html/awor/appli_3_alpha/include/connect.inc.php');
 
 //include('include/connect.inc.php');
-- 
cgit v1.2.3