Projet

Général

Profil

Paste
Statistiques
| Branche: | Révision:

root / controllers / brique_controller.php @ a1feec16

Historique | Voir | Annoter | Télécharger (3,36 ko)

1
<?php
2
//getVar();
3

    
4
include_once("_classes/MyException.php");
5
include_once("_classes/Categorie.php");
6
include_once("_classes/Mur.php");
7
include_once("_classes/Theme.php");
8
include_once("_classes/Brique.php");
9
include_once("_classes/Mailer.php");
10

    
11

    
12
$mur = getMur($_GET['id']);
13
$theme = getTheme($mur->getTheme());
14

    
15
if (isset($_POST['titreBrique'])) {
16
  // On crée la brique à insérer...
17
  $brique = new Brique();
18
  $brique->setTitre(str_secure($_POST["titreBrique"]));
19
  $brique->setDescriptif(str_secure($_POST["descriptifBrique"]));
20
  if ($_SESSION['role']=="admin") {
21
    $brique->setIsValide("1");
22
  }
23
  //$brique->setUrl($_POST['urlBrique']);
24
  //$brique->setIframe($_POST['iframeBrique']);
25
  $brique->setIdCategorie($_POST["idCategorie"]);
26
  $brique->setIdMur($mur->getId());
27

    
28
  // Si le champ fichier n'est pas vide, alors on l'upload
29
  if (isset($_FILES['fichierBrique']) && ($_FILES['fichierBrique']['name']!="")) {
30
    $dossier = __DIR__ . DIRECTORY_SEPARATOR . ".." . DIRECTORY_SEPARATOR . "MURS";
31
    $dossier.= DIRECTORY_SEPARATOR . $mur->getId() . DIRECTORY_SEPARATOR;
32
    //  On essaie de donner un nom à peu près unique au fichier
33
    $nomFichier = time()."_".$_FILES['fichierBrique']['name'];
34
    $dest = $dossier.$nomFichier;
35
    try {
36
      if(!move_uploaded_file($_FILES['fichierBrique']['tmp_name'],$dest)) {
37
        throw new  MyException("Erreur dans l'upload du fichier");
38
      } else {
39
        $brique->setUrl("");
40
        $brique->setIframe("");
41
        $brique->setFichier($nomFichier);
42
      }
43
    } catch (MyException $e) {
44
      $e->errorMessage();
45
    }
46
  } else {
47
    //  Pas de fichier à uploader
48
    $brique->setFichier("");
49

    
50
    if ($_POST['urlBrique'] !="") {
51
      $brique->setUrl(str_secure($_POST['urlBrique']));
52
      $brique->setIframe("");
53
    } else {
54
      $brique->setUrl("");
55
    }
56

    
57
    if ($_POST['iframeBrique'] !="") {
58
      $brique->setUrl("");
59
      $brique->setIframe(normaliseIframe($_POST['iframeBrique']));
60
    } else {
61
      $param['iframe'] = "";
62
    }
63
  }
64

    
65
  // On peut insérer la brique dans la BDD
66
  insereBrique($brique);
67

    
68
  // Si le mel de l'admin est renseigné : on le prévient
69
  if ($mur->getMelAdmin() !="") {
70
    //$mel->informeBrique($mur);
71
    $mel = new Mailer($mur->getMelAdmin());
72
    try {
73
      if(!$mel->informeBrique($mur)) {
74
        throw new  MyException("Erreur dans l'envoi du mel d'information de création de broque");
75
      }
76
    } catch (MyException $e) {
77
      $e->errorMessage();
78
    }
79
  }
80

    
81
  // Retour à la page de visualisation du mur
82
  $url = "Location:index.php?page=mur&id=".$mur->getId();
83
  header($url);
84

    
85
} else {
86
  // Récupérer toutes les catégories
87
  $categories = getAllCategories();
88
  // Afficher la page
89
  afficher_nouvelleBrique($mur, $categories, $theme);
90
}
91

    
92
/**
93
 * remplace la width=XXpx d'une iframe en width = 90%
94
 * @param  [String] $iframe []
95
 * @return [String]         []
96
 */
97
function normaliseIframe($iframe) {
98
  //debug($iframe);
99
  $iframe = str_replace("\"","'",$iframe);
100
  $posSrc =  stripos ( $iframe , "src");
101
  $source = substr($iframe,$posSrc+4);
102
  $t = explode(" ",$source);
103

    
104
  // "<iframe width='560' height='310' sandbox='allow-same-origin allow-scripts' src='https://videos.ac-nancy-metz.fr/videos/embed/770ccb56-d1dc-4cb7-80e3-30635638905e' frameborder='0' allowfullscreen></iframe>";
105
  $i = "<iframe width='90%' height='90%'  src=".$t[0];
106
  $i .=" frameborder='0' allowfullscreen></iframe>";
107

    
108
  return $i;
109
}
Redmine Appliance - Powered by TurnKey Linux