summaryrefslogtreecommitdiff
path: root/final/app/include/ludo/fonctions.inc.php
diff options
context:
space:
mode:
authorLudovic Pouzenc <ludovic@pouzenc.fr>2018-07-05 00:28:24 +0200
committerLudovic Pouzenc <ludovic@pouzenc.fr>2018-07-05 00:28:24 +0200
commit35a23f6145bb772b9bfa8c8eeb500aa8c02437d3 (patch)
tree1c999f13ab6c8f02e250c3053557454ce7b6de65 /final/app/include/ludo/fonctions.inc.php
parentac54f5224d4470de9d8ae088e1338dea52668c9d (diff)
download2007-AWOR-35a23f6145bb772b9bfa8c8eeb500aa8c02437d3.tar.gz
2007-AWOR-35a23f6145bb772b9bfa8c8eeb500aa8c02437d3.tar.bz2
2007-AWOR-35a23f6145bb772b9bfa8c8eeb500aa8c02437d3.zip
Version awor_1.0_20070316.tar.bz2
Diffstat (limited to 'final/app/include/ludo/fonctions.inc.php')
-rw-r--r--final/app/include/ludo/fonctions.inc.php255
1 files changed, 250 insertions, 5 deletions
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
+
?>