PageRenderTime 55ms CodeModel.GetById 23ms RepoModel.GetById 1ms app.codeStats 0ms

/gespac/modules/menu_portail/post_menu_portail.php

http://gespac.googlecode.com/
PHP | 148 lines | 102 code | 28 blank | 18 comment | 4 complexity | 71326a910f406f56a7b2f0e77c34013d MD5 | raw file
  1. <?PHP
  2. /* fichier de creation / modif / suppr des items du portail */
  3. // lib
  4. require_once ('../../fonctions.php');
  5. include_once ('../../config/databases.php');
  6. include_once ('../../../class/Sql.class.php');
  7. // on ouvre un fichier en écriture pour les log sql
  8. $fp = fopen('../../dump/log_sql.sql', 'a+');
  9. // cnx ŕ gespac
  10. $con_gespac = new Sql($host, $user, $pass, $gespac);
  11. // on récupčre les paramčtres de l'url
  12. $action = $_GET['action'];
  13. $id = $_GET['id'];
  14. /*********************************************
  15. *
  16. * ACTIONS SUR LES ITEMS
  17. *
  18. **********************************************/
  19. /**************** SUPPRESSION ********************/
  20. if ( $action == 'suppr' ) {
  21. //Insertion d'un log
  22. //On récupčre les valeurs de l'item en fonction de son id
  23. $row = $con_gespac->queryRow ( "SELECT mp_nom, mp_icone FROM menu_portail WHERE mp_id=$id" );
  24. $mp_nom = $row[0];
  25. $mp_icone = $row[1];
  26. $log_texte = "L'item $mp_nom a été supprimé.";
  27. $req_log_suppr_grade = "INSERT INTO logs ( log_type, log_texte ) VALUES ( 'Suppression item', '$log_texte');";
  28. $result = $con_gespac->Execute ( $req_log_suppr_grade );
  29. // Suppression du grade de la base
  30. $req_suppr_item = "DELETE FROM menu_portail WHERE mp_id=$id;";
  31. $result = $con_gespac->Execute ( $req_suppr_item );
  32. //Suppression de l'icone
  33. unlink('../../img/' . $mp_icone);
  34. // On log la requęte SQL
  35. fwrite($fp, date("Ymd His") . " " . $req_suppr_item."\n");
  36. echo "L'item <b>$mp_nom</b> a été supprimé.";
  37. }
  38. /**************** MODIFICATION ********************/
  39. if ( $action == 'mod' ) {
  40. $mp_nom = $_POST ['mp_nom'];
  41. $mp_url = $_POST ['mp_url'];
  42. $req_modif_item = "UPDATE menu_portail SET mp_nom='$mp_nom', mp_url='$mp_url' WHERE mp_id=$id";
  43. $result = $con_gespac->Execute ( $req_modif_item );
  44. // On log la requęte SQL
  45. fwrite($fp, date("Ymd His") . " " . $req_modif_item."\n");
  46. // insert dans la table log
  47. $log_texte = "L'item $mp_nom a été modifié";
  48. $req_log_modif_item = "INSERT INTO logs ( log_type, log_texte ) VALUES ( 'Modification compte', '$log_texte' );";
  49. $result = $con_gespac->Execute ( $req_log_modif_item );
  50. echo "L'item <b>$mp_nom</b> a été modifié...";
  51. }
  52. /**************** INSERTION ********************/
  53. if ( $action == 'add' ) {
  54. $dossier = '../../img/'; // dossier oů sera déplacé le fichier
  55. $fichier = basename($_FILES['myfile']['name']);
  56. $extensions = array('.png', '.jpg');
  57. $extension = strrchr($_FILES['myfile']['name'], '.');
  58. $size = $_FILES['myfile']['size'];
  59. $mp_nom = $_POST ['mp_nom'];
  60. $mp_url = $_POST ['mp_url'];
  61. //Si l'extension n'est pas dans le tableau
  62. if ( !in_array($extension, $extensions) )
  63. $erreur = 'Vous devez uploader un fichier png ou jpg...';
  64. //Si le poids excede 300Ko
  65. if ( $size > 300000 )
  66. $erreur = "L'image est trop grosse...";
  67. if (!isset($erreur)) { //S'il n'y a pas d'erreur, on upload, on créé la marque ...
  68. //On formate le nom du fichier ici...
  69. $fichier = strtr($fichier, 'ŔÁÂĂÄĹÇČÉĘËĚÍÎĎŇÓÔŐÖŮÚŰÜÝŕáâăäĺçčéęëěíîďđňóôőöůúűüý˙', 'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
  70. $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
  71. //On upload et on teste si la fonction renvoie TRUE
  72. if ( move_uploaded_file($_FILES['myfile']['tmp_name'], $dossier . $fichier)) {
  73. echo $fichier . " envoyé avec succčs !";
  74. $req_add_item = "INSERT INTO menu_portail (mp_nom, mp_url, mp_icone) VALUES ('$mp_nom', '$mp_url', '$fichier' );";
  75. $result = $con_gespac->Execute ( $req_add_item );
  76. // On log la requęte SQL
  77. fwrite($fp, date("Ymd His") . " " . $req_add_item."\n");
  78. //Insertion d'un log
  79. $log_texte = "Ajout de l'item <b>$mp_nom</b> dans le menu du portail";
  80. $req_log_add_item = "INSERT INTO logs ( log_type, log_texte ) VALUES ( 'Ajout item', '$log_texte' )";
  81. $result = $con_gespac->Execute ( $req_log_add_item );
  82. // On se déconnecte de la db
  83. $con_gespac->Close();
  84. ?>
  85. <script>window.close();</script>
  86. <?PHP
  87. }
  88. else // En cas d'échec d'upload
  89. echo 'Echec de l\'upload du fichier <b>' . $fichier . '</b> dans le dossier <b>' . $dossier . '</b>';
  90. } else // En cas d'erreur dans l'extension
  91. echo $erreur;
  92. }
  93. // Je ferme le fichier de log sql
  94. fclose($fp);
  95. ?>