From a7ae429e83f600c6319c9c4497c264275c8220d4 Mon Sep 17 00:00:00 2001
From: ccunatbrule <32840852+DARKNAGAN@users.noreply.github.com>
Date: Thu, 7 Oct 2021 02:07:47 +0200
Subject: [PATCH] MAJ 2021 PHP-SQL
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sortie de mon projet de BTS.
Intégration du PHP qui ne l'a pas été jusqu'à ce jour avec la connexion a une BDD sur le LAN.
Intégration évènement, actualité, compte user connecté a la BDD en mode MVC.
Amélioration de l'intégration…
Nombreux défaut encore présent. il serons amélioré dans le futur
---
les_ecuries_de_la_boissiere/.gitignore | 1 +
les_ecuries_de_la_boissiere/README.md | 2 +
les_ecuries_de_la_boissiere/actualite.php | 11 +-
les_ecuries_de_la_boissiere/balade.php | 2 +-
les_ecuries_de_la_boissiere/centre.php | 2 +-
les_ecuries_de_la_boissiere/connexion.php | 9 +
les_ecuries_de_la_boissiere/contact.php | 2 +-
.../controleur/actualite/index.php | 19 ++
.../controleur/evenement/index.php | 18 ++
.../controleur/membre/connexion/index.php | 76 ++++++
.../controleur/membre/constants.php | 9 +
.../controleur/membre/espace/index.php | 23 ++
.../controleur/membre/functions.php | 25 ++
.../controleur/membre/inscription/index.php | 137 ++++++++++
.../controleur/membre/poster.php | 239 ++++++++++++++++++
.../controleur/membre/profil/index.php | 202 +++++++++++++++
.../controleur/vitrine/index.php | 51 ++++
les_ecuries_de_la_boissiere/deconnexion.php | 23 ++
les_ecuries_de_la_boissiere/espace_membre.php | 9 +
les_ecuries_de_la_boissiere/ethologie.php | 2 +-
les_ecuries_de_la_boissiere/evenement.php | 8 +-
.../images/articles/img_book1.jpg | Bin 0 -> 29072 bytes
.../images/articles/img_book2.jpg | Bin 0 -> 23565 bytes
.../images/articles/img_book3.jpg | Bin 0 -> 24468 bytes
.../images/articles/img_book4.jpg | Bin 0 -> 39392 bytes
.../images/articles/img_book5.jpg | Bin 0 -> 38893 bytes
.../images/articles/img_book6.jpg | Bin 0 -> 36372 bytes
.../images/articles/img_book7.jpg | Bin 0 -> 39481 bytes
.../images/articles/img_book8.jpg | Bin 0 -> 29389 bytes
.../images/articles/img_shop.jpg | Bin 0 -> 9990 bytes
.../images/articles/img_shop1.jpg | Bin 0 -> 11326 bytes
.../images/articles/img_shop10.jpg | Bin 0 -> 8748 bytes
.../images/articles/img_shop11.jpg | Bin 0 -> 11888 bytes
.../images/articles/img_shop12.jpg | Bin 0 -> 16915 bytes
.../images/articles/img_shop13.jpg | Bin 0 -> 8401 bytes
.../images/articles/img_shop14.jpg | Bin 0 -> 8678 bytes
.../images/articles/img_shop15.jpg | Bin 0 -> 14828 bytes
.../images/articles/img_shop16.jpg | Bin 0 -> 7986 bytes
.../images/articles/img_shop17.jpg | Bin 0 -> 7864 bytes
.../images/articles/img_shop18.jpg | Bin 0 -> 12678 bytes
.../images/articles/img_shop19.jpg | Bin 0 -> 10606 bytes
.../images/articles/img_shop2.jpg | Bin 0 -> 10562 bytes
.../images/articles/img_shop20.jpg | Bin 0 -> 7069 bytes
.../images/articles/img_shop21.jpg | Bin 0 -> 9583 bytes
.../images/articles/img_shop22.jpg | Bin 0 -> 9480 bytes
.../images/articles/img_shop23.jpg | Bin 0 -> 4641 bytes
.../images/articles/img_shop24.jpg | Bin 0 -> 13045 bytes
.../images/articles/img_shop25.jpg | Bin 0 -> 12914 bytes
.../images/articles/img_shop3.jpg | Bin 0 -> 13449 bytes
.../images/articles/img_shop4.jpg | Bin 0 -> 12040 bytes
.../images/articles/img_shop5.jpg | Bin 0 -> 12001 bytes
.../images/articles/img_shop6.jpg | Bin 0 -> 9562 bytes
.../images/articles/img_shop7.jpg | Bin 0 -> 7730 bytes
.../images/articles/img_shop8.jpg | Bin 0 -> 5420 bytes
.../images/articles/img_shop9.jpg | Bin 0 -> 7236 bytes
.../images/autres/Thumbs.db | Bin 0 -> 27648 bytes
.../images/avatars/1633546407.jpg | Bin 0 -> 9815 bytes
.../images/avatars/1633546678.jpg | Bin 0 -> 3126 bytes
.../images/avatars/1633558737.jpg | Bin 0 -> 9815 bytes
.../images/avatars/1633559980.jpg | Bin 0 -> 9815 bytes
.../images/avatars/img_user.jpg | Bin 0 -> 3126 bytes
.../images/avatars/img_user1.jpg | Bin 0 -> 9815 bytes
.../images/avatars/img_user2.jpg | Bin 0 -> 9815 bytes
.../images/chevaux/img_cheval1.jpg | Bin 0 -> 24497 bytes
.../images/chevaux/img_cheval2.jpg | Bin 0 -> 17589 bytes
.../images/chevaux/img_cheval3.jpg | Bin 0 -> 24782 bytes
.../images/chevaux/img_cheval4.jpg | Bin 0 -> 25088 bytes
.../images/chevaux/img_cheval5.jpg | Bin 0 -> 36398 bytes
.../images/chevaux/img_cheval6.jpg | Bin 0 -> 34659 bytes
.../images/chevaux/img_cheval7.jpg | Bin 0 -> 39335 bytes
.../images/chevaux/img_cheval8.jpg | Bin 0 -> 28038 bytes
.../images/evenements/Thumbs.db | Bin 0 -> 12800 bytes
.../images/evenements/anniversaire.jpg | Bin 59987 -> 0 bytes
.../images/evenements/event0.jpg | Bin 12366 -> 0 bytes
.../images/evenements/event1.jpg | Bin 32370 -> 0 bytes
.../images/evenements/event2.jpg | Bin 15702 -> 0 bytes
.../images/evenements/img_event.jpg | Bin 0 -> 10275 bytes
.../images/evenements/img_event1.jpg | Bin 0 -> 24986 bytes
.../images/evenements/img_event10.jpg | Bin 0 -> 20980 bytes
.../images/evenements/img_event11.jpg | Bin 0 -> 17537 bytes
.../images/evenements/img_event2.jpg | Bin 0 -> 25897 bytes
.../images/evenements/img_event3.jpg | Bin 0 -> 29627 bytes
.../images/evenements/img_event4.jpg | Bin 0 -> 23471 bytes
.../images/evenements/img_event5.jpg | Bin 0 -> 24838 bytes
.../images/evenements/img_event6.jpg | Bin 0 -> 41206 bytes
.../images/evenements/img_event7.jpg | Bin 0 -> 15930 bytes
.../images/evenements/img_event8.jpg | Bin 0 -> 30169 bytes
.../images/evenements/img_event9.jpg | Bin 0 -> 24770 bytes
.../images/home/Thumbs.db | Bin 0 -> 70144 bytes
.../images/sponsors/Thumbs.db | Bin 0 -> 13824 bytes
.../images/vitrine/cheval0.jpg | Bin 4640 -> 0 bytes
.../images/vitrine/cheval1.jpg | Bin 53139 -> 0 bytes
.../images/vitrine/objet0.jpg | Bin 12366 -> 0 bytes
.../images/vitrine/objet1.jpg | Bin 90097 -> 0 bytes
.../images/vitrine/objet2.jpg | Bin 13766 -> 0 bytes
les_ecuries_de_la_boissiere/inscription.php | 9 +
.../modele/actualite/model_class.php | 12 +
.../modele/evenement/model_class.php | 12 +
.../modele/membre/connexion.php | 10 +
.../modele/membre/espace.php | 30 +++
.../modele/membre/inscription.php | 40 +++
.../modele/membre/profil.php | 81 ++++++
.../modele/vitrine/model_class.php | 64 +++++
les_ecuries_de_la_boissiere/poney_club.php | 2 +-
les_ecuries_de_la_boissiere/profil.php | 9 +
les_ecuries_de_la_boissiere/stage.php | 2 +-
les_ecuries_de_la_boissiere/tarif.php | 2 +-
les_ecuries_de_la_boissiere/vitrine.php | 10 +-
.../vue/{ => activite}/balade/index.html | 0
.../vue/{ => activite}/ethologie/index.html | 0
.../vue/{ => activite}/poney_club/index.html | 0
.../vue/{ => activite}/stage/index.html | 2 +-
.../vue/actualite/index.html | 38 ---
.../vue/actualite/index.php | 23 ++
.../vue/evenement/index.html | 72 ------
.../vue/evenement/index.php | 22 ++
les_ecuries_de_la_boissiere/vue/footer.html | 2 +-
les_ecuries_de_la_boissiere/vue/header.html | 24 ++
.../vue/{ => information}/centre/index.html | 0
.../vue/{ => information}/contact/index.html | 0
.../vue/{ => information}/tarif/index.html | 0
.../vue/membre/connexion.php | 1 +
.../vue/membre/espace.php | 1 +
.../vue/membre/inscription.php | 1 +
.../vue/membre/profil.php | 1 +
.../vue/vitrine/index.html | 67 -----
.../vue/vitrine/index.php | 35 +++
127 files changed, 1248 insertions(+), 194 deletions(-)
create mode 100644 les_ecuries_de_la_boissiere/.gitignore
create mode 100644 les_ecuries_de_la_boissiere/README.md
create mode 100644 les_ecuries_de_la_boissiere/connexion.php
create mode 100644 les_ecuries_de_la_boissiere/controleur/actualite/index.php
create mode 100644 les_ecuries_de_la_boissiere/controleur/evenement/index.php
create mode 100644 les_ecuries_de_la_boissiere/controleur/membre/connexion/index.php
create mode 100644 les_ecuries_de_la_boissiere/controleur/membre/constants.php
create mode 100644 les_ecuries_de_la_boissiere/controleur/membre/espace/index.php
create mode 100644 les_ecuries_de_la_boissiere/controleur/membre/functions.php
create mode 100644 les_ecuries_de_la_boissiere/controleur/membre/inscription/index.php
create mode 100644 les_ecuries_de_la_boissiere/controleur/membre/poster.php
create mode 100644 les_ecuries_de_la_boissiere/controleur/membre/profil/index.php
create mode 100644 les_ecuries_de_la_boissiere/controleur/vitrine/index.php
create mode 100644 les_ecuries_de_la_boissiere/deconnexion.php
create mode 100644 les_ecuries_de_la_boissiere/espace_membre.php
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_book1.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_book2.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_book3.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_book4.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_book5.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_book6.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_book7.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_book8.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop1.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop10.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop11.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop12.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop13.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop14.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop15.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop16.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop17.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop18.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop19.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop2.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop20.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop21.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop22.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop23.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop24.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop25.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop3.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop4.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop5.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop6.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop7.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop8.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/articles/img_shop9.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/autres/Thumbs.db
create mode 100644 les_ecuries_de_la_boissiere/images/avatars/1633546407.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/avatars/1633546678.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/avatars/1633558737.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/avatars/1633559980.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/avatars/img_user.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/avatars/img_user1.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/avatars/img_user2.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/chevaux/img_cheval1.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/chevaux/img_cheval2.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/chevaux/img_cheval3.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/chevaux/img_cheval4.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/chevaux/img_cheval5.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/chevaux/img_cheval6.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/chevaux/img_cheval7.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/chevaux/img_cheval8.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/evenements/Thumbs.db
delete mode 100644 les_ecuries_de_la_boissiere/images/evenements/anniversaire.jpg
delete mode 100644 les_ecuries_de_la_boissiere/images/evenements/event0.jpg
delete mode 100644 les_ecuries_de_la_boissiere/images/evenements/event1.jpg
delete mode 100644 les_ecuries_de_la_boissiere/images/evenements/event2.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/evenements/img_event.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/evenements/img_event1.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/evenements/img_event10.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/evenements/img_event11.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/evenements/img_event2.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/evenements/img_event3.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/evenements/img_event4.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/evenements/img_event5.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/evenements/img_event6.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/evenements/img_event7.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/evenements/img_event8.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/evenements/img_event9.jpg
create mode 100644 les_ecuries_de_la_boissiere/images/home/Thumbs.db
create mode 100644 les_ecuries_de_la_boissiere/images/sponsors/Thumbs.db
delete mode 100644 les_ecuries_de_la_boissiere/images/vitrine/cheval0.jpg
delete mode 100644 les_ecuries_de_la_boissiere/images/vitrine/cheval1.jpg
delete mode 100644 les_ecuries_de_la_boissiere/images/vitrine/objet0.jpg
delete mode 100644 les_ecuries_de_la_boissiere/images/vitrine/objet1.jpg
delete mode 100644 les_ecuries_de_la_boissiere/images/vitrine/objet2.jpg
create mode 100644 les_ecuries_de_la_boissiere/inscription.php
create mode 100644 les_ecuries_de_la_boissiere/modele/actualite/model_class.php
create mode 100644 les_ecuries_de_la_boissiere/modele/evenement/model_class.php
create mode 100644 les_ecuries_de_la_boissiere/modele/membre/connexion.php
create mode 100644 les_ecuries_de_la_boissiere/modele/membre/espace.php
create mode 100644 les_ecuries_de_la_boissiere/modele/membre/inscription.php
create mode 100644 les_ecuries_de_la_boissiere/modele/membre/profil.php
create mode 100644 les_ecuries_de_la_boissiere/modele/vitrine/model_class.php
create mode 100644 les_ecuries_de_la_boissiere/profil.php
rename les_ecuries_de_la_boissiere/vue/{ => activite}/balade/index.html (100%)
rename les_ecuries_de_la_boissiere/vue/{ => activite}/ethologie/index.html (100%)
rename les_ecuries_de_la_boissiere/vue/{ => activite}/poney_club/index.html (100%)
rename les_ecuries_de_la_boissiere/vue/{ => activite}/stage/index.html (98%)
delete mode 100644 les_ecuries_de_la_boissiere/vue/actualite/index.html
create mode 100644 les_ecuries_de_la_boissiere/vue/actualite/index.php
delete mode 100644 les_ecuries_de_la_boissiere/vue/evenement/index.html
create mode 100644 les_ecuries_de_la_boissiere/vue/evenement/index.php
rename les_ecuries_de_la_boissiere/vue/{ => information}/centre/index.html (100%)
rename les_ecuries_de_la_boissiere/vue/{ => information}/contact/index.html (100%)
rename les_ecuries_de_la_boissiere/vue/{ => information}/tarif/index.html (100%)
create mode 100644 les_ecuries_de_la_boissiere/vue/membre/connexion.php
create mode 100644 les_ecuries_de_la_boissiere/vue/membre/espace.php
create mode 100644 les_ecuries_de_la_boissiere/vue/membre/inscription.php
create mode 100644 les_ecuries_de_la_boissiere/vue/membre/profil.php
delete mode 100644 les_ecuries_de_la_boissiere/vue/vitrine/index.html
create mode 100644 les_ecuries_de_la_boissiere/vue/vitrine/index.php
diff --git a/les_ecuries_de_la_boissiere/.gitignore b/les_ecuries_de_la_boissiere/.gitignore
new file mode 100644
index 0000000..6d8043c
--- /dev/null
+++ b/les_ecuries_de_la_boissiere/.gitignore
@@ -0,0 +1 @@
+/modele/connexion_sql.php
\ No newline at end of file
diff --git a/les_ecuries_de_la_boissiere/README.md b/les_ecuries_de_la_boissiere/README.md
new file mode 100644
index 0000000..8810289
--- /dev/null
+++ b/les_ecuries_de_la_boissiere/README.md
@@ -0,0 +1,2 @@
+# Projet d'école de BTS (HTML-CSS-PHP-SQL)
+Site web d'une écurie
\ No newline at end of file
diff --git a/les_ecuries_de_la_boissiere/actualite.php b/les_ecuries_de_la_boissiere/actualite.php
index be59a19..e567c94 100644
--- a/les_ecuries_de_la_boissiere/actualite.php
+++ b/les_ecuries_de_la_boissiere/actualite.php
@@ -1,5 +1,10 @@
\ No newline at end of file
+include_once('./modele/connexion_sql.php');
+
+if (!isset($_GET['section']) OR $_GET['section'] == 'index')
+{
+ include_once('./controleur/actualite/index.php');
+}
+ include_once('./vue/footer.html');
+
diff --git a/les_ecuries_de_la_boissiere/balade.php b/les_ecuries_de_la_boissiere/balade.php
index 90d51b6..5e0ea06 100644
--- a/les_ecuries_de_la_boissiere/balade.php
+++ b/les_ecuries_de_la_boissiere/balade.php
@@ -1,5 +1,5 @@
\ No newline at end of file
diff --git a/les_ecuries_de_la_boissiere/centre.php b/les_ecuries_de_la_boissiere/centre.php
index d452948..35fde66 100644
--- a/les_ecuries_de_la_boissiere/centre.php
+++ b/les_ecuries_de_la_boissiere/centre.php
@@ -1,5 +1,5 @@
\ No newline at end of file
diff --git a/les_ecuries_de_la_boissiere/connexion.php b/les_ecuries_de_la_boissiere/connexion.php
new file mode 100644
index 0000000..5ee35bc
--- /dev/null
+++ b/les_ecuries_de_la_boissiere/connexion.php
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/les_ecuries_de_la_boissiere/controleur/actualite/index.php b/les_ecuries_de_la_boissiere/controleur/actualite/index.php
new file mode 100644
index 0000000..0e6d0ea
--- /dev/null
+++ b/les_ecuries_de_la_boissiere/controleur/actualite/index.php
@@ -0,0 +1,19 @@
+ $event)
+{
+ $event1[$cle]['nomevent'] = ($event['nomevent']);
+ $event1[$cle]['dateevent'] = ($event['dateevent']);
+ $event1[$cle]['imageevent'] = ($event['imageevent']);
+ $event1[$cle]['lieuevent'] = ($event['lieuevent']);
+ $event1[$cle]['descriptionevent'] = ($event['descriptionevent']);
+
+}
+
+// On affiche la page (vue)
+include_once('./vue/actualite/index.php');
diff --git a/les_ecuries_de_la_boissiere/controleur/evenement/index.php b/les_ecuries_de_la_boissiere/controleur/evenement/index.php
new file mode 100644
index 0000000..81f9324
--- /dev/null
+++ b/les_ecuries_de_la_boissiere/controleur/evenement/index.php
@@ -0,0 +1,18 @@
+ $event)
+{
+ $events[$cle]['nomevent'] = ($event['nomevent']);
+ $events[$cle]['dateevent'] = ($event['dateevent']);
+ $events[$cle]['imageevent'] = ($event['imageevent']);
+ $events[$cle]['lieuevent'] = ($event['lieuevent']);
+ $events[$cle]['descriptionevent'] = ($event['descriptionevent']);
+}
+
+// On affiche la page (vue)
+include_once('./vue/evenement/index.php');
\ No newline at end of file
diff --git a/les_ecuries_de_la_boissiere/controleur/membre/connexion/index.php b/les_ecuries_de_la_boissiere/controleur/membre/connexion/index.php
new file mode 100644
index 0000000..893e7ef
--- /dev/null
+++ b/les_ecuries_de_la_boissiere/controleur/membre/connexion/index.php
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
Echec de connexion
+ Une erreur s\'est produite pendant votre identification!
+ Vous devez remplir tous les champs
+ Cliquez ici pour revenir à la page de connexion.
+
+
+
';
+ }
+ else { //Validation de l'accès
+ if ($data['mdp'] == /*md5*/($_POST['password'])) {
+ $_SESSION['pseudo'] = $data['pseudo'];
+ $_SESSION['privilege'] = $data['privilege'];
+ $_SESSION['ideleve'] = $data['ideleve'];
+
+ $message = '
+
+
+
+
Connexion réussie!
+ Bienvenue '.$data['pseudo'].', Vous êtes maintenant connecté!
+ Cliquez ici pour accéder a votre espace membre!
+
+
+
';
+ }
+ else {
+ $message = '
+
+
+
+
Echec de connexion
+ Une erreur s\'est produite pendant votre identification!
+ Le mot de passe ou le pseudo entré n\'est pas correct.
+ Cliquez ici pour revenir à la page de connexion.
+
+
+
';
+ }
+ }
+ echo $message;
+}
+include_once('./vue/membre/connexion.php');
\ No newline at end of file
diff --git a/les_ecuries_de_la_boissiere/controleur/membre/constants.php b/les_ecuries_de_la_boissiere/controleur/membre/constants.php
new file mode 100644
index 0000000..58db4dd
--- /dev/null
+++ b/les_ecuries_de_la_boissiere/controleur/membre/constants.php
@@ -0,0 +1,9 @@
+
+
+
diff --git a/les_ecuries_de_la_boissiere/controleur/membre/espace/index.php b/les_ecuries_de_la_boissiere/controleur/membre/espace/index.php
new file mode 100644
index 0000000..2e7af2f
--- /dev/null
+++ b/les_ecuries_de_la_boissiere/controleur/membre/espace/index.php
@@ -0,0 +1,23 @@
+
+
+
+
+
+
Espace Membre
+ Qui est en ligne ?
+ Le site comptent membres.
+ est le dernier membre.
+
+
+
+
+
+
+
+
Vous êtes pas autorisé a passer ici
+ '.$mess.'
+ Cliquez ici pour revenir à la page d\'accueil
+
+
+
');
+}
+function move_avatar($avatar)
+{
+ $extension_upload = strtolower(substr( strrchr($avatar['name'], '.') ,1));
+ $name = time();
+ $nomavatar = str_replace(' ','',$name).".".$extension_upload;
+ $name = "./images/avatars/".str_replace(' ','',$name).".".$extension_upload;
+ move_uploaded_file($avatar['tmp_name'],$name);
+ return $nomavatar;
+}
+?>
diff --git a/les_ecuries_de_la_boissiere/controleur/membre/inscription/index.php b/les_ecuries_de_la_boissiere/controleur/membre/inscription/index.php
new file mode 100644
index 0000000..39c5270
--- /dev/null
+++ b/les_ecuries_de_la_boissiere/controleur/membre/inscription/index.php
@@ -0,0 +1,137 @@
+
+
+
+ 15)
+ {
+ $pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit";
+ $i++;
+ }
+ if ($pass != $confirm || empty($confirm) || empty($pass))
+ {
+ $mdp_erreur = "Votre mot de passe et la confirmation sont diffèrent, ou sont vides";
+ $i++;
+ }
+ $mail_free = get_checkMail();
+ if(!$mail_free)
+ {
+ $email_erreur1 = "Votre adresse email est déjà utilisée par un membre";
+ $i++;
+ }
+ if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email))
+ {
+ $email_erreur2 = "Votre adresse email n'a pas un format valide";
+ $i++;
+ }
+ if (!empty($_FILES['avatar']['size']))
+ {
+ $maxsize = 10024; //Poid de l'image
+ $maxwidth = 100; //Largeur de l'image
+ $maxheight = 100; //Longueur de l'image
+ //Liste des extensions valides
+ $extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' );
+ if ($_FILES['avatar']['error'] > 0)
+ {
+ $avatar_erreur = "Erreur lors du transfert de l'avatar : ";
+ }
+ if ($_FILES['avatar']['size'] > $maxsize)
+ {
+ $i++;
+ $avatar_erreur1 = "Le fichier est trop gros : (".$_FILES['avatar']['size']." Octets contre ".$maxsize." Octets )";
+ }
+
+ $image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
+ if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
+ {
+ $i++;
+ $avatar_erreur2 = "Image trop large ou trop longue :
+ (".$image_sizes[0]."x".$image_sizes[1]." contre ".$maxwidth."x".$maxheight." )";
+ }
+
+ $extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1));
+ if (!in_array($extension_upload,$extensions_valides) )
+ {
+ $i++;
+ $avatar_erreur3 = "Extension de l'avatar incorrecte";
+ }
+ }
+ if ($i==0)
+ {
+ ?>
+ Inscription terminée
+ Bienvenue vous êtes maintenant inscrit sur le forum!
+ Cliquez ici pour revenir dans votre espace membre
+ lastInsertId();
+ $_SESSION['privilege'] = 2;
+ }
+ else
+ {
+ ?>
+ Inscription interrompue
+ erreurs se sont produites lors de votre incription
+
+ Cliquez ici pour recommencer
+
+function bbcode(bbdebut, bbfin)
+{
+var input = window.document.formulaire.message;
+input.focus();
+if(typeof document.selection != 'undefined')
+{
+var range = document.selection.createRange();
+var insText = range.text;
+range.text = bbdebut + insText + bbfin;
+range = document.selection.createRange();
+if (insText.length == 0)
+{
+range.move('character', -bbfin.length);
+}
+else
+{
+range.moveStart('character', bbdebut.length + insText.length + bbfin.length);
+}
+range.select();
+}
+else if(typeof input.selectionStart != 'undefined')
+{
+var start = input.selectionStart;
+var end = input.selectionEnd;
+var insText = input.value.substring(start, end);
+input.value = input.value.substr(0, start) + bbdebut + insText + bbfin + input.value.substr(end);
+var pos;
+if (insText.length == 0)
+{
+pos = start + bbdebut.length;
+}
+else
+{
+pos = start + bbdebut.length + insText.length + bbfin.length;
+}
+input.selectionStart = pos;
+input.selectionEnd = pos;
+}
+
+else
+{
+var pos;
+var re = new RegExp('^[0-9]{0,3}$');
+while(!re.test(pos))
+{
+pos = prompt("insertion (0.." + input.value.length + "):", "0");
+}
+if(pos > input.value.length)
+{
+pos = input.value.length;
+}
+var insText = prompt("Veuillez taper le texte");
+input.value = input.value.substr(0, pos) + bbdebut + insText + bbfin + input.value.substr(pos);
+}
+}
+function smilies(img)
+{
+window.document.formulaire.message.value += '' + img + '';
+}
+
+
+prepare('SELECT forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo
+ FROM forum_forum WHERE forum_id =:forum');
+ $query->bindValue(':forum',$forum,PDO::PARAM_INT);
+ $query->execute();
+ $data=$query->fetch();
+ echo 'Vous êtes ici : Index du forum -->
+ '.stripslashes(htmlspecialchars($data['forum_name'])).'
+ --> Nouveau topic
';
+
+
+}
+
+//Sinon c'est un nouveau message, on a la variable t et
+//On récupère f grâce à une requête
+elseif (isset($_GET['t']))
+{
+ $topic = (int) $_GET['t'];
+ $query=$bdd->prepare('SELECT topic_titre, forum_topic.forum_id,
+ forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo
+ FROM forum_topic
+ LEFT JOIN forum_forum ON forum_forum.forum_id = forum_topic.forum_id
+ WHERE topic_id =:topic');
+ $query->bindValue(':topic',$topic,PDO::PARAM_INT);
+ $query->execute();
+ $data=$query->fetch();
+ $forum = $data['forum_id'];
+
+ echo 'Vous êtes ici : Index du forum -->
+ '.stripslashes(htmlspecialchars($data['forum_name'])).'
+ --> '.stripslashes(htmlspecialchars($data['topic_titre'])).'
+ --> Répondre
';
+}
+
+//Enfin sinon c'est au sujet de la modération(on verra plus tard en détail)
+//On ne connait que le post, il faut chercher le reste
+elseif (isset ($_GET['p']))
+{
+ $post = (int) $_GET['p'];
+ $query=$bdd->prepare('SELECT post_createur, forum_post.topic_id, topic_titre, forum_topic.forum_id,
+ forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo
+ FROM forum_post
+ LEFT JOIN forum_topic ON forum_topic.topic_id = forum_post.topic_id
+ LEFT JOIN forum_forum ON forum_forum.forum_id = forum_topic.forum_id
+ WHERE forum_post.post_id =:post');
+ $query->bindValue(':post',$post,PDO::PARAM_INT);
+ $query->execute();
+ $data=$query->fetch();
+
+ $topic = $data['topic_id'];
+ $forum = $data['forum_id'];
+
+ echo 'Vous êtes ici : Index du forum -->
+ '.stripslashes(htmlspecialchars($data['forum_name'])).'
+ --> '.stripslashes(htmlspecialchars($data['topic_titre'])).'
+ --> Modérer un message
';
+}
+$query->CloseCursor();
+?>
+Cette action est impossible';
+
+} //Fin du switch
+?>
+
+Poster une réponse
+
+
+
+
+Nouveau topic
+
+
+Titre
+
+
+Mise en forme
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Message
+
+ Annonce
+ Topic
+
+
+
+
+
+
+
+Cette action est impossible';
+} //Fin du switch
+?>
+
+
+
diff --git a/les_ecuries_de_la_boissiere/controleur/membre/profil/index.php b/les_ecuries_de_la_boissiere/controleur/membre/profil/index.php
new file mode 100644
index 0000000..0b045d6
--- /dev/null
+++ b/les_ecuries_de_la_boissiere/controleur/membre/profil/index.php
@@ -0,0 +1,202 @@
+
+
+
+
+
+
Profil de
+
+ Adresse E-Mail :
+
+ Ce membre est inscrit depuis le
+ Localisation :
+
+
+
+
+
+
+
+ 0)
+ {
+ $avatar_erreur = "Erreur lors du tranfsert de l'avatar : ";
+ }
+ if ($_FILES['avatar']['size'] > $maxsize)
+ {
+ $i++;
+ $avatar_erreur1 = "Le fichier est trop gros :
+ (".$_FILES['avatar']['size']." Octets
+ contre ".$maxsize." Octets )";
+ }
+
+ $image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
+ if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
+ {
+ $i++;
+ $avatar_erreur2 = "Image trop large ou trop longue :
+ (".$image_sizes[0]."x".$image_sizes[1]." contre
+ ".$maxwidth."x".$maxheight." )";
+ }
+
+ $extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1));
+ if (!in_array($extension_upload,$extensions_valides) )
+ {
+ $i++;
+ $avatar_erreur3 = "Extension de l'avatar incorrecte";
+ }
+ }
+ if ($i == 0) // Si $i est vide, il n'y a pas d'erreur sur l'avatar
+ {
+ if (!empty($_FILES['avatar']['size']))
+ {
+ post_UpdateAvatar();
+ }
+ if (isset($_POST['delete']))
+ {
+ post_RemoveAvatar();
+ }
+ ?>
+
+
+
+
+
Modification de profil terminée
+ Votre profil a été modifié avec succès !
+ Cliquez ici
+ pour revenir à ton profil
+
+
+
+
+
+
+
+
+
Modification de profil interrompue
+ erreurs se sont produites lors de votre modification
+
+ ' .$email_erreur1. '' .$email_erreur2. '
+ ' .$avatar_erreur. '' .$avatar_erreur1. '
+ ' .$avatar_erreur2. '' .$avatar_erreur3. '
+ ' .$mdp_erreur. '
';
+ ?>
+
+ Cliquez ici pour recommencer
+
+
+
+ Cette action est impossible';
+}
+include_once('./vue/membre/profil.php');
\ No newline at end of file
diff --git a/les_ecuries_de_la_boissiere/controleur/vitrine/index.php b/les_ecuries_de_la_boissiere/controleur/vitrine/index.php
new file mode 100644
index 0000000..5e475f4
--- /dev/null
+++ b/les_ecuries_de_la_boissiere/controleur/vitrine/index.php
@@ -0,0 +1,51 @@
+ $article)
+{
+ $articles[$cle]['imagearticle'] = ($article['imagearticle']);
+ $articles[$cle]['libelle'] = ($article['libelle']);
+ $articles[$cle]['description'] = ($article['description']);
+}
+$articlesChvT = get_ArticlesChevalT(0, 3);
+// On effectue du traitement sur les données (contrôleur)
+// Ici, on doit surtout sécuriser l'affichage
+foreach($articlesChvT as $cle => $article)
+{
+ $articles[$cle]['imagearticle'] = ($article['imagearticle']);
+ $articles[$cle]['libelle'] = ($article['libelle']);
+ $articles[$cle]['description'] = ($article['description']);
+}
+$articlesChvR = get_ArticlesChevalR(0, 3);
+// On effectue du traitement sur les données (contrôleur)
+// Ici, on doit surtout sécuriser l'affichage
+foreach($articlesChvR as $cle => $article)
+{
+ $articles[$cle]['imagearticle'] = ($article['imagearticle']);
+ $articles[$cle]['libelle'] = ($article['libelle']);
+ $articles[$cle]['description'] = ($article['description']);
+}
+$categories = get_ArticlesCat(0, 3);
+// On effectue du traitement sur les données (contrôleur)
+// Ici, on doit surtout sécuriser l'affichage
+foreach($categories as $cle => $categorie)
+{
+ $categories[$cle]['idcategorie'] = ($categorie['idcategorie']);
+ $categories[$cle]['libelle'] = ($categorie['libelle']);
+}
+$articles = get_Articles(0, 3);
+// On effectue du traitement sur les données (contrôleur)
+// Ici, on doit surtout sécuriser l'affichage
+foreach($articles as $cle => $article)
+{
+ $articles[$cle]['imagearticle'] = ($article['imagearticle']);
+ $articles[$cle]['libelle'] = ($article['libelle']);
+ $articles[$cle]['description'] = ($article['description']);
+ $articles[$cle]['idcategorie'] = ($article['idcategorie']);
+}
+// On affiche la page (vue)
+include_once('./vue/vitrine/index.php');
\ No newline at end of file
diff --git a/les_ecuries_de_la_boissiere/deconnexion.php b/les_ecuries_de_la_boissiere/deconnexion.php
new file mode 100644
index 0000000..a57adc8
--- /dev/null
+++ b/les_ecuries_de_la_boissiere/deconnexion.php
@@ -0,0 +1,23 @@
+
+
+
+
+
+
Déconnexion réussie!
+ A Bientôt
+ Vous êtes à présent déconnecté
+
+ Cliquez ici pour revenir à la page principale
+
+
+
+
+
\ No newline at end of file
diff --git a/les_ecuries_de_la_boissiere/espace_membre.php b/les_ecuries_de_la_boissiere/espace_membre.php
new file mode 100644
index 0000000..9ecef8a
--- /dev/null
+++ b/les_ecuries_de_la_boissiere/espace_membre.php
@@ -0,0 +1,9 @@
+
\ No newline at end of file
diff --git a/les_ecuries_de_la_boissiere/evenement.php b/les_ecuries_de_la_boissiere/evenement.php
index 2e063c8..4ce5ff2 100644
--- a/les_ecuries_de_la_boissiere/evenement.php
+++ b/les_ecuries_de_la_boissiere/evenement.php
@@ -1,5 +1,9 @@
\ No newline at end of file
diff --git a/les_ecuries_de_la_boissiere/images/articles/img_book1.jpg b/les_ecuries_de_la_boissiere/images/articles/img_book1.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..a043460a66dc2a0d97a90604feb83174f5b18288
GIT binary patch
literal 29072
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