[ Index ]

PHP Cross Reference of IEUF

title

Body

[close]

/Pages/media/ -> f_media.php (source)

   1  <?php
   2  require_once  '../../inclus/connect_bdi.inc.php';
   3  include_once ('../../inclus/utilitaire.inc.php');
   4  include_once ('../../gestion/inc/autorisation.inc.php');
   5  if (NonCA()) include  '../../gestion/inc/404.php';
   6  
   7  if (isset($_GET['id_rep']) && $_GET['id_rep']!=0)
   8      $id_representation = $_GET['id_rep'];
   9  else
  10      die ("appel incorrect");
  11  $id_media= isset($_GET['id_med']) ? $_GET['id_med'] : 0;
  12  include_once ('medias.inc.php');
  13  @session_start();
  14  header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
  15  header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date dans le passé
  16  ?>
  17  <!DOCTYPE html>
  18  <html dir="ltr" lang="Fr">
  19    <head>
  20      <meta content="text/html; charset=iso-8859-1" http-equiv="content-type">
  21      <title>Gestion des médias</title>
  22      <link href="../ttes_pages.css" rel="stylesheet" type="text/css">
  23      <style>
  24        h1,h2 {
  25          display: inline-block;
  26          position: absolute;
  27          margin: 0px;
  28        }
  29        h1 {
  30          left: 0px;
  31          font-size: 20px;
  32        }
  33        h2 {
  34          right: 0px;
  35          font-size: 14px;
  36        }
  37        form {
  38          position: absolute;
  39          top: 25px;
  40        }
  41        #masque,#attente {
  42          position: absolute;
  43          visibility: hidden;
  44          top: 0px;
  45          left: 0px;
  46          bottom: 0px;
  47          right: 0px;
  48        }
  49        #masque {
  50          background-color: #666666;
  51          opacity: 0.8;
  52        }
  53        #attente {
  54          padding-top: 150px;
  55          text-align: center;
  56          font-size: 80px;
  57          color: #00ff00;
  58        }
  59      </style>
  60    </head>
  61    <body>
  62      <?php 
  63      $requete="SELECT spectacle.titre as titre_spect, DATE_FORMAT(representation.date,'%d-%m%Y') as date_repr"
  64         . " FROM spectacle, representation "
  65         . "WHERE representation.id='$id_representation' AND spectacle.id=id_spectacle";
  66      $recherche=$mysqli->query($requete);
  67      if($recherche===false) die('erreur BD');
  68      if (($champs=$recherche->fetch_assoc()) === NULL) 
  69        die('erreur BD');
  70      extract ($champs);
  71      ?>
  72      <h1>Spectacle : <b><?php echo $titre_spect; ?></b></h1>
  73      <h2>Représentation du : <b><?php echo $date_repr; ?></b></h2>
  74      <?php 
  75      if (isset($_POST['titre'])){ //Validation
  76        echo '<pre>';
  77        print_r($_POST);
  78        print_r($_FILES);
  79        echo '</pre>';
  80        if (get_magic_quotes_gpc() == 0)
  81          foreach ($_POST as $i=>$n)
  82            if (is_string($n))$_POST[$i]= addslashes($n);
  83        extract($_POST);
  84        $public = isset($public) ? 1 : 0;
  85        $requete= "";
  86        if ($id_media != 0)
  87           $requete = "UPDATE media SET titre = '$titre', public = '$public', commentaire = '$commentaire' WHERE id = '$id_media'";
  88        else if (isset($_FILES['inputImage'])) {
  89           if ($_FILES['inputImage']['error'] != 0)
  90             die("Erreur de transgert de fichier image n° : ".$_FILES['inputImage']['error']);
  91           if (isset($_FILES['inputVideo']) && $_FILES['inputVideo']['error'] != 0)
  92             die("Erreur de transgert de fichier vidéo n° : ".$_FILES['inputVideo']['error']);
  93           require_once  'trait_images.inc.php';
  94           $requete = "INSERT INTO media SET "
  95                   . "titre = '$titre', public = '$public', commentaire = '$commentaire', "
  96                   . "id_representation = '$id_representation', chemin='$chemin'";
  97        }
  98        $recherche=$mysqli->query($requete);
  99        if($recherche===false) die('erreur BD'.$mysqli->error);
 100        echo "
 101          <script>
 102          if (window.opener) window.opener.location.reload();
 103          self.close();
 104          </script>
 105        ";
 106        exit;
 107     }//Fin valikdation
 108     //Formulaire
 109      $tailleMaxTransfTxt= ini_get('upload_max_filesize');
 110      $tailleMaxTransf= 0;
 111      $p= 0; $mult= 1;
 112      while ($p < strlen($tailleMaxTransfTxt) && is_numeric($tailleMaxTransfTxt[$p])) {
 113        $tailleMaxTransf= $tailleMaxTransf*$mult + ord($tailleMaxTransfTxt[$p]) - ord("0");
 114        $p++; $mult *= 10;
 115      }
 116      if ($p < strlen($tailleMaxTransfTxt)) switch ($tailleMaxTransfTxt[$p]) {
 117        case "G" :
 118        case "g" :
 119          $tailleMaxTransf *= 1024*1024*1024; break;
 120        case "M" :
 121        case "m" :
 122          $tailleMaxTransf *= 1024*1024; break;
 123        case "K" :
 124        case "k" :
 125          $tailleMaxTransf *= 1024; break;
 126      }
 127      unset($tailleMaxTransfTxt, $p, $mult);
 128      $titre= $commentaire="";
 129      $public= 1;
 130      if ($id_media != 0) {
 131        $requete= "SELECT titre, public, commentaire FROM media WHERE id='$id_media'";
 132        $recherche= $mysqli->query($requete);
 133        if($recherche === false) die('erreur BD');
 134        if (($champs=$recherche->fetch_assoc()) !== NULL) {
 135          foreach($champs as $k => $v)
 136            $champs[$k] = htmlentities($v, ENT_QUOTES, "iso-8859-1");
 137          extract($champs);
 138        }
 139      }
 140      ?>
 141      <form name="Saisie" enctype="multipart/form-data" autocomplete="on" method="POST" 
 142            action="<?php echo $_SERVER['PHP_SELF']."?id_rep=$id_representation&id_med=$id_media" ?>"
 143            onsubmit="return controleForm();">
 144        <table style="width: 100%;" border="0" cellpadding="0" cellspacing="5">
 145          <tbody>
 146            <tr>
 147              <td style="width: 130px;" align="right">Titre : </td>
 148              <td style="margin-left: 104px;">
 149                <input id="titre" name="titre" maxlength="50" size="50" type="text" required="required" value="<?php echo $titre; ?>">
 150              </td>
 151              <td align="left">Droit d'accès : <input name="public" <?php if ($public==1) echo 'checked="checked"';?> type="checkbox"> public</td>
 152            </tr>
 153            <?php if ($id_media==0) { ?>
 154            <tr>
 155              <td align="right" colspan="2">
 156                Taille du transfert total maximum : <b><span id="tailleTotaleAdmise"> </span></b>
 157                <span id="tailleTotaleFic"> </span>
 158              </td>
 159            </tr>
 160            <tr>
 161              <td align="right">Fichier : </td>
 162              <td>
 163                  <?php echo ($type== "i") ? "image" : "miniature"; ?> :
 164                  <input id="inputImage" name="inputImage" type="file" required="required" onchange="apercu_image(this);">
 165                <br><span id="tailleImage"> </span>
 166              </td>
 167              <td>
 168                  <?php if ($type=='v') { ?>
 169                      vidéo : <input id="inputVideo" name="inputVideo" type="file" required="required" onchange="apercu_video(this);">
 170                  <br><span id="tailleVideo"> </span>
 171                  <?php } else { ?>
 172                  <input checked="checked" name="grande" type="checkbox"> Grande image
 173                  <?php } ?>
 174              </td>
 175            </tr>
 176            <tr style="height: 150px">
 177              <td></td>
 178              <td align="center" id="cellImage"> </td>
 179              <?php if ($type=='v') { ?>
 180              <td align="left" id="cellVideo"></td>
 181              <?php } ?>
 182            </tr>
 183             <?php } ?>
 184            <tr>
 185              <td align="right">Commentaire : </td>
 186              <td colspan =2><textarea rows="5" cols="80" name="commentaire" id="commentaire"><?php echo $commentaire; ?></textarea><br>
 187              </td>
 188            </tr>
 189            <tr>
 190              <td></td>
 191              <td><input value="Valider" name="valider" type="submit">
 192                  <input value="Annuler" name="annuler" type="button" onclick="self.close()">
 193              </td>
 194            </tr>
 195          </tbody>
 196        </table>
 197      </form>
 198      <div id="masque"> </div>
 199      <div id="attente">En cours...</div>
 200      <script>
 201        tailleImage= tailleVideo= 0;
 202        tailleMaxTransf= <?php echo $tailleMaxTransf; ?>;
 203        document.getElementById("tailleTotaleAdmise").innerHTML= multTaille(tailleMaxTransf);
 204        
 205        function multTaille(t) {
 206          var f;
 207          f= 1024*1024*1024;
 208          if (t > f) return (Math.floor(t/f)+" Go");
 209          f= 1024*1024;
 210          if (t > f) return (Math.floor(t/f)+" Mo");
 211          f= 1024;
 212          if (t > f) return (Math.floor(t/f)+" Ko");
 213          else return f+" octets";
 214        }
 215        function affTailleTot() {
 216          document.getElementById("tailleTotaleFic").innerHTML=
 217                  " --> actuellement : <b>"+multTaille(tailleImage+tailleVideo)+"</b>";
 218        }
 219          window.URL = window.URL || window.webkitURL;
 220      	function apercu_image(elt) {
 221              if (elt.files[0] && elt.files[0].name != "") {
 222                  if (elt.files[0].type != "image/png" && elt.files[0].type != "image/jpeg") {
 223                      alert("le fichier doit être de type 'png' ou 'jpeg'"); return;
 224                  }
 225            tailleImage= elt.files[0].size;
 226            document.getElementById("tailleImage").innerHTML= "Taille= "+multTaille(tailleImage);
 227            affTailleTot();
 228            document.getElementById("cellImage").innerHTML= "<img id='ap_image' height='150'>";
 229                  var eltImage= document.getElementById("ap_image");
 230                  window.URL.revokeObjectURL(eltImage.src);
 231                  eltImage.src= window.URL.createObjectURL(elt.files[0]);
 232              }
 233          }
 234      	function apercu_video(elt) {
 235              if (elt.files[0] && elt.files[0].name != "") {
 236                  if (elt.files[0].type != "video/webm") {
 237                      alert("le fichier doit être de type 'webm'"); return;
 238                  }
 239            tailleVideo= elt.files[0].size;
 240            affTailleTot();
 241            document.getElementById("tailleVideo").innerHTML= "Taille= "+multTaille(tailleVideo);
 242            document.getElementById("cellVideo").innerHTML=
 243                    "<video id='ap_video' controls= 'true' width= '250'>Votre navigateur ne prend pas en charge la vidéo </video>";
 244                  var eltVideo= document.getElementById("ap_video");
 245                  window.URL.revokeObjectURL(eltVideo.src);
 246                  eltVideo.src= window.URL.createObjectURL(elt.files[0]);
 247              }
 248          }
 249        
 250        function controleForm() {
 251          var msg= "";
 252          if (document.getElementById("titre").value.length < 1) msg += "Le titre ne doit pas être vide\n";
 253          if (!document.getElementById("inputImage").files[0] || document.getElementById("inputImage").files[0].name === "")
 254            msg += "Il doit y avoir un fichier image\n";
 255            <?php if ($type=='v') { ?>
 256          if (!document.getElementById("inputVideo").files[0] || document.getElementById("inputVideo").files[0].name === "")
 257            msg += "Il doit y avoir un fichier vidéo\n";
 258          <?php } ?>
 259          if (tailleImage + tailleVideo > tailleMaxTransf) msg += "La taille des fichiers est trop importante\n";
 260          
 261          if (msg !== "") {
 262            alert(msg);
 263            return false;
 264          }
 265          document.getElementById("masque").style.visibility= "visible";
 266          document.getElementById("attente").style.visibility= "visible";
 267          return true;
 268        }
 269        
 270        function depose(e) {
 271          if (e.type != "drop") {
 272            e.preventDefault();
 273            return;
 274          }
 275          if (e.target.id == "inputImage" || e.target.id == "inputVideo") return;
 276          e.preventDefault();
 277        }
 278        document.addEventListener('drop', depose);
 279        document.addEventListener('dragover', depose);
 280        document.addEventListener('dragleave', depose);
 281        document.addEventListener('dragenter', depose);
 282      </script>
 283    </body>
 284  </html>


Generated: Fri Jan 31 19:59:00 2014 Cross-referenced by PHPXref 0.7.1