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 |
} |