diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..5d4057ea --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +#exclude config file +modele/config/config.yml + +#exclude .htpasswd +admin/actions/.htpasswd +controleur/.htpasswd +modele/.htpasswd + +#Exclude idea folder +.idea/ + +#Ignore upload folder +theme/upload/ + +# VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace +.history/ + +# Mac/OSX +.DS_Store diff --git a/.htaccess b/.htaccess index 86f8fea0..321d859c 100644 --- a/.htaccess +++ b/.htaccess @@ -1,5 +1,7 @@ RewriteEngine On +RewriteBase / + RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d diff --git a/README.md b/README.md index f413819c..94f141be 100644 --- a/README.md +++ b/README.md @@ -6,21 +6,9 @@ CraftMyWebsite est un CMS Minecraft 100% gratuit créé en 2014 (première versi Présent depuis maintenant 6ans sur internet, le projet open-source depuis le début est aujourd'hui toujours maintenu par des passionnés ! Profitez d'un site stable pour votre serveur minecraft en utilisant notre cms ! -### Les fonctionalitées sur la version 1.8.2 - -- Boutique supportant Dedipass/Paypal en validation automatique et Paysafecard en validation manuelle -- Des rangs temporaires (boutique et site) -- Système de news -- Votes avec récompenses et systèmes de vérifications intégrés ! -- Gestion multi-serveur grâce à JSONAPI et à RCON/Query -- Ticket support -- Forum complet ! -- Newsletter -- Vérifications des inscriptions automatisé -- Mode maintenance (avec chrono + inscription) -- Thèmes créé par la communauté -- Services google implanté dans le cms (adsense ...) -- Et pleins d'autres ! +### Les fonctionalitées sur la version 1.9 - LTS + +- ?????????????? Une démo est disponible sur notre [site internet](http://demo.craftmywebsite.fr/). Les thèmes sont téléchargeable depuis notre forum [site internet](https://craftmywebsite.fr/forum/index.php?resources/featured) @@ -50,4 +38,4 @@ La Branche Archive et un service de stockage de l'ensemble des versions que nous CraftMyWebsite de [Vladimir.K](http://craftmywebsite.fr/cmw-lastest-build.php) est mis à disposition selon les termes de la [licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 4.0 International](http://creativecommons.org/licenses/by-nc-nd/4.0/). Fondé(e) sur une œuvre à [https://craftmywebsite.fr/cmw-lastest-build.php](http://craftmywebsite.fr/cmw-lastest-build.php). Les autorisations au-delà du champ de cette licence peuvent être obtenues à [https://craftmywebsite.fr/cgu](https://craftmywebsite.fr/cgu/). -Copyright © CraftMyWebsite 2014-2022 +Copyright © CraftMyWebsite 2014-2023 diff --git a/admin.php b/admin.php index f5c834ff..bc5a6078 100644 --- a/admin.php +++ b/admin.php @@ -11,16 +11,16 @@ require('modele/joueur/imgProfil.class.php'); $_ImgProfil_ = new ImgProfil($bddConnection); - /* Si l'utilisateur est connecté, on met ses informations dans un tableau global, qui sera utilisable que - le laps de temps du chargement de la page contrairement aux sessions. */ - /* On instancie un joueur, et on récupère le tableau de données. $_Joueur_ sera donc utilisable - sur toutes les pages grâce au système de GET sur l'index.*/ + // Si l'utilisateur est connecté, on met ses informations dans un tableau global, qui sera utilisable que + // le laps de temps du chargement de la page contrairement aux sessions. + // On instancie un joueur, et on récupère le tableau de données. $_Joueur_ sera donc utilisable + // sur toutes les pages grâce au système de GET sur l'index. require('controleur/joueur/joueur.class.php'); $globalJoueur = new Joueur($bddConnection); $_Joueur_ = $globalJoueur->getUser(); - if(Permission::getInstance()->verifPerm("PermsPanel","access")) + if(Permission::getInstance()->verifPerm('PermsPanel', 'access')) { require_once('modele/json/json.php'); $_Permission_ = Permission::getInstance(); diff --git a/admin/action.php b/admin/action.php index b4d55276..ced40409 100644 --- a/admin/action.php +++ b/admin/action.php @@ -4,7 +4,7 @@ */ unset($_SESSION['referrerAdmin']); -if(isset($_GET['action']) AND $_Permission_->verifPerm("PermsPanel", "access")) +if(isset($_GET['action']) AND $_Permission_->verifPerm('PermsPanel', 'access')) { switch ($_GET['action']) // on utilise ici un switch pour inclure telle ou telle page selon l'action. { @@ -118,7 +118,7 @@ require('admin/actions/changeVoteCron.php'); break; case 'dropVisits': - if($_Permission_->verifPerm("PermsPanel", "info", "stats", "visitors", "showTable")) + if($_Permission_->verifPerm('PermsPanel', 'info', 'stats', 'visitors', 'showTable')) $bddConnection->exec('TRUNCATE cmw_visits'); exit(); break; diff --git a/admin/actions/addGrade.php b/admin/actions/addGrade.php index ae31e24a..077dcf8d 100644 --- a/admin/actions/addGrade.php +++ b/admin/actions/addGrade.php @@ -24,7 +24,7 @@ $tabInsertion['couleur'] = ''; $tabInsertion['effets'] = ''; $tabPerm = createTab($tabPerm); - $tabPerm["PermsDefault"]["forum"]["perms"] = "0"; + $tabPerm['PermsDefault']['forum']['perms'] = '0'; $tabInsertion['permDefault'] = serialize($tabPerm['PermsDefault']); $tabInsertion['permPanel'] = serialize($tabPerm['PermsPanel']); $tabInsertion['permForum'] = serialize($tabPerm['PermsForum']); diff --git a/admin/actions/addMenu.php b/admin/actions/addMenu.php index abc3feb6..dd8e651f 100644 --- a/admin/actions/addMenu.php +++ b/admin/actions/addMenu.php @@ -1,7 +1,7 @@ verifPerm('PermsPanel', 'menus', 'actions', 'addLinkMenu')) { - require("modele/menu.class.php"); + require('modele/menu.class.php'); $Menu = new menu($bddConnection); $data = array(); @@ -11,7 +11,7 @@ if(isset($_POST['methode'])) { if($_POST['methode'] == 1) { - $data['url'] = !empty($_POST['lien']) ? $_POST['lien'] : "index.php"; + $data['url'] = !empty($_POST['lien']) ? $_POST['lien'] : 'index.php'; } else { $data['url'] = '?page='. urlencode($_POST['page']); } diff --git a/admin/actions/addMiniature.php b/admin/actions/addMiniature.php index 9b8f8419..c92e5ec0 100644 --- a/admin/actions/addMiniature.php +++ b/admin/actions/addMiniature.php @@ -1,7 +1,7 @@ verifPerm('PermsPanel', 'home', 'actions', 'editMiniature')) { - require("modele/accueil/miniature.class.php"); + require('modele/accueil/miniature.class.php'); $Minia = new miniature($bddConnection); $data = array(); @@ -11,7 +11,7 @@ $data['type'] = intval($_POST['type']); if($data['type'] == 1) { - $data['lien'] = !empty($_POST['lien']) ? $_POST['lien'] : "index.php"; + $data['lien'] = !empty($_POST['lien']) ? $_POST['lien'] : 'index.php'; } else { $data['lien'] = '?&page='. urlencode($_POST['page']); } diff --git a/admin/actions/addWidgets.php b/admin/actions/addWidgets.php index 9864ff88..73354e29 100644 --- a/admin/actions/addWidgets.php +++ b/admin/actions/addWidgets.php @@ -1,7 +1,7 @@ verifPerm('PermsPanel', 'widgets', 'actions', 'addWidgets')) { - require("modele/widgets.class.php"); + require('modele/widgets.class.php'); $widgets = new widgets($bddConnection); $data = array(); diff --git a/admin/actions/creerOffre.php b/admin/actions/creerOffre.php index 3ee01051..215e6e09 100644 --- a/admin/actions/creerOffre.php +++ b/admin/actions/creerOffre.php @@ -15,7 +15,7 @@ require('modele/app/ckeditor.class.php'); $_POST['description'] = ckeditor::verif($_POST['description'],true); - $req = $bddConnection->prepare('INSERT INTO cmw_boutique_offres(nom, description, prix, nbre_vente, categorie_id, ordre, evo, max_vente) VALUES(:nom, :description, :prix, :nbre_vente, :categorie_id, :ordre, :evo, :max_vente)'); + $req = $bddConnection->prepare('INSERT INTO cmw_boutique_offres(nom, description, prix, nbre_vente, categorie_id, ordre, evo, max_vente, images) VALUES(:nom, :description, :prix, :nbre_vente, :categorie_id, :ordre, :evo, :max_vente, :images)'); $req->execute(Array( 'nom' => $_POST['nom'], 'description' => $_POST['description'], @@ -24,6 +24,8 @@ 'categorie_id' => $_POST['categorie'], 'ordre' => $j, 'evo' => $_POST['dep'], - 'max_vente' => $_POST['max_vente'])); + 'max_vente' => $_POST['max_vente'], + 'images' => $_POST['images'] + )); } ?> \ No newline at end of file diff --git a/admin/actions/creerPage.php b/admin/actions/creerPage.php index 26a7aa65..814070c3 100644 --- a/admin/actions/creerPage.php +++ b/admin/actions/creerPage.php @@ -1,7 +1,7 @@ verifPerm('PermsPanel', 'pages', 'actions', 'addPage')) { - require("modele/app/page.class.php"); - require("modele/app/ckeditor.class.php"); + require('modele/app/page.class.php'); + require('modele/app/ckeditor.class.php'); $_POST['titre'] = htmlspecialchars($_POST['titre']); $_POST['content'] = ckeditor::verif($_POST['content'], true); @@ -9,11 +9,11 @@ if(!$page->exist($_POST['titre'])) { $page->print($_POST['titre'], $_POST['content']); - print(json_encode(array("retour" => "OK", "message" => ""))); + print(json_encode(array('retour' => 'OK', 'message' => ''))); } else { - print(json_encode(array("retour" => "erreur", "message" => "Page déjà éxistante"))); + print(json_encode(array('retour' => 'erreur', 'message' => 'Page déjà éxistante'))); } } else { - print(json_encode(array("retour" => "erreur", "message" => "Permission insuffisante"))); + print(json_encode(array('retour' => 'erreur', 'message' => 'Permission insuffisante'))); } ?> \ No newline at end of file diff --git a/admin/actions/editBoutique.php b/admin/actions/editBoutique.php index f259ee67..40b84edd 100644 --- a/admin/actions/editBoutique.php +++ b/admin/actions/editBoutique.php @@ -60,9 +60,10 @@ $_POST['offresNom'.$offres[$j]['id']] = htmlspecialchars($_POST['offresNom'.$offres[$j]['id']]); $_POST['offresDescription'.$offres[$j]['id']] = ckeditor::verif($_POST['offresDescription'.$offres[$j]['id']],true); - $req = $bddConnection->prepare('UPDATE `cmw_boutique_offres` SET `nom`=:nom,`description`=:description,`prix`=:prix,`nbre_vente`=:nbre_vente,`categorie_id`=:categorie_id,`ordre`=:ordre,`evo`=:evo,`max_vente`=:max_vente WHERE id=:id'); + $req = $bddConnection->prepare('UPDATE `cmw_boutique_offres` SET `nom`=:nom,`images`=:images,`description`=:description,`prix`=:prix,`nbre_vente`=:nbre_vente,`categorie_id`=:categorie_id,`ordre`=:ordre,`evo`=:evo,`max_vente`=:max_vente WHERE id=:id'); $req->execute(Array ( 'nom' => $_POST['offresNom'.$offres[$j]['id']], + 'images' => $_POST['offresImages'.$offres[$j]['id']], 'description' => $_POST['offresDescription'.$offres[$j]['id']], 'prix' => $_POST['offresPrix'.$offres[$j]['id']], 'nbre_vente' => $_POST['nbre_vente'.$offres[$j]['id']], diff --git a/admin/actions/editGrade.php b/admin/actions/editGrade.php index a8ad97a5..80609fad 100644 --- a/admin/actions/editGrade.php +++ b/admin/actions/editGrade.php @@ -1,6 +1,6 @@ verifPerm("createur")) { +if($_Permission_->verifPerm('createur')) { $_Serveur_['General']['joueur'] = htmlspecialchars($_POST['nom']); unset($_POST['nom']); @@ -9,8 +9,8 @@ unset($_POST['nomCreateur']); $_Serveur_['General']['createur']['effets'] = htmlspecialchars($_POST['effetCreateur']); unset($_POST['effetCreateur']); - if(isset($_POST['prefixCreateur-none']) && $_POST['prefixCreateur-none'] == "on") - $_Serveur_['General']['createur']['bg'] = ""; + if(isset($_POST['prefixCreateur-none']) && $_POST['prefixCreateur-none'] == 'on') + $_Serveur_['General']['createur']['bg'] = ''; else $_Serveur_['General']['createur']['bg'] = htmlspecialchars($_POST['prefixCreateur']); unset($_POST['prefixCreateur']); @@ -23,18 +23,18 @@ $allPerm = $_Permission_->readPerm($idGrade[$i]['id']); $editGrade = $idGrade[$i]; unset($editGrade['priorite']); - $editGrade["nom"] = $_POST["gradeName".$i]; - if(isset($_POST['prefix'.$i."-none"]) && $_POST['prefix'.$i.'-none'] == "on") - $editGrade['prefix'] = ""; + $editGrade['nom'] = $_POST['gradeName' .$i]; + if(isset($_POST['prefix'.$i. '-none']) && $_POST['prefix'.$i.'-none'] == 'on') + $editGrade['prefix'] = ''; else - $editGrade["prefix"] = $_POST["prefix".$i]; - if($_POST['couleur'.$i] == "000000" OR empty($_POST['couleur'.$i])) - $editGrade["couleur"] = ""; + $editGrade['prefix'] = $_POST['prefix' .$i]; + if($_POST['couleur'.$i] == '000000' OR empty($_POST['couleur'.$i])) + $editGrade['couleur'] = ''; else - $editGrade["couleur"] = $_POST['couleur'.$i]; - $editGrade["effets"] = $_POST["effet".$i]; + $editGrade['couleur'] = $_POST['couleur'.$i]; + $editGrade['effets'] = $_POST['effet' .$i]; - $editGrade = editPerm($i, $editGrade, $allPerm, "", $_POST); + $editGrade = editPerm($i, $editGrade, $allPerm, '', $_POST); $editGrade['permDefault'] = serialize($editGrade['PermsDefault']); unset($editGrade['PermsDefault']); $editGrade['permPanel'] = serialize($editGrade['PermsPanel']); diff --git a/admin/actions/editMenu.php b/admin/actions/editMenu.php index 731b17dc..0a60973b 100644 --- a/admin/actions/editMenu.php +++ b/admin/actions/editMenu.php @@ -1,6 +1,6 @@ verifPerm('PermsPanel', 'menus', 'actions', 'editLinkMenu')) { $type = intval($_POST['type']); - require("modele/menu.class.php"); + require('modele/menu.class.php'); $Menu = new menu($bddConnection); if($type == 0) { $data = array(); @@ -8,7 +8,7 @@ if(isset($_POST['methode'])) { if($_POST['methode'] == 1) { - $data['url'] = !empty($_POST['lien']) ? $_POST['lien'] : "index.php"; + $data['url'] = !empty($_POST['lien']) ? $_POST['lien'] : 'index.php'; } else { $data['url'] = '?page='. urlencode($_POST['page']); } @@ -29,7 +29,7 @@ if(isset($_POST['methode-dest'.$value['id']])) { if($_POST['methode-dest'.$value['id']] == 1) { - $data['url'] = !empty($_POST['lien-dest'.$value['id']]) ? $_POST['lien-dest'.$value['id']] : "index.php"; + $data['url'] = !empty($_POST['lien-dest'.$value['id']]) ? $_POST['lien-dest'.$value['id']] : 'index.php'; } else { $data['url'] = '?page='. urlencode($_POST['page-dest'.$value['id']]); } diff --git a/admin/actions/editMiniature.php b/admin/actions/editMiniature.php index 8af1ee14..34a8a9f6 100644 --- a/admin/actions/editMiniature.php +++ b/admin/actions/editMiniature.php @@ -1,6 +1,6 @@ verifPerm('PermsPanel', 'home', 'actions', 'editMiniature')) { - require("modele/accueil/miniature.class.php"); + require('modele/accueil/miniature.class.php'); $Minia = new miniature($bddConnection); @@ -13,7 +13,7 @@ $data['type'] = intval($_POST['type'.$i]); if($data['type'] == 1) { - $data['lien'] = !empty($_POST['lien'.$i]) ? $_POST['lien'.$i] : "index.php"; + $data['lien'] = !empty($_POST['lien'.$i]) ? $_POST['lien'.$i] : 'index.php'; } else { $data['lien'] = '?&page='. urlencode($_POST['page'.$i]); } diff --git a/admin/actions/editNews.php b/admin/actions/editNews.php index 9da91842..c0392403 100644 --- a/admin/actions/editNews.php +++ b/admin/actions/editNews.php @@ -1,8 +1,8 @@ verifPerm('PermsPanel', 'news', 'actions', 'editNews')) { - if(isset($_POST["pinned"])) { + if(isset($_POST['pinned'])) { $req = $bddConnection->prepare('UPDATE cmw_news SET titre = :titre, message = :contenu, pinned = 1 WHERE id = :id'); - $bddConnection->query("UPDATE cmw_news SET pinned = 0"); + $bddConnection->query('UPDATE cmw_news SET pinned = 0'); } else { $req = $bddConnection->prepare('UPDATE cmw_news SET titre = :titre, message = :contenu WHERE id = :id'); } diff --git a/admin/actions/editPage.php b/admin/actions/editPage.php index 0ab1d279..451a7327 100644 --- a/admin/actions/editPage.php +++ b/admin/actions/editPage.php @@ -1,8 +1,8 @@ verifPerm('PermsPanel', 'pages', 'actions', 'editPage')) { - require("modele/app/page.class.php"); - require("modele/app/ckeditor.class.php"); + require('modele/app/page.class.php'); + require('modele/app/ckeditor.class.php'); $_POST['titre'] = htmlspecialchars($_POST['titre']); $_POST['oldtitre'] = htmlspecialchars($_POST['oldtitre']); @@ -12,23 +12,23 @@ if($_POST['oldtitre'] != $_POST['titre']) { if($page->exist($_POST['oldtitre'])) { if(!$page->changeName($_POST['oldtitre'],$_POST['titre'])) { - print(json_encode(array("retour" => "erreur", "message" => "Erreur interne"))); + print(json_encode(array('retour' => 'erreur', 'message' => 'Erreur interne'))); exit(); }else { $page = new $page(); } } else { - print(json_encode(array("retour" => "erreur", "message" => "Page inéxistante"))); + print(json_encode(array('retour' => 'erreur', 'message' => 'Page inéxistante'))); exit(); } } if($page->exist($_POST['titre'])) { $page->print($_POST['titre'], $_POST['content']); - print(json_encode(array("retour" => "OK", "message" => ""))); + print(json_encode(array('retour' => 'OK', 'message' => ''))); } else { - print(json_encode(array("retour" => "erreur", "message" => "Page déjà éxistante"))); + print(json_encode(array('retour' => 'erreur', 'message' => 'Page déjà éxistante'))); } } else { - print(json_encode(array("retour" => "erreur", "message" => "Permission insuffisante"))); + print(json_encode(array('retour' => 'erreur', 'message' => 'Permission insuffisante'))); } ?> \ No newline at end of file diff --git a/admin/actions/editPayement.php b/admin/actions/editPayement.php index 2c43ac52..2b25a3b7 100644 --- a/admin/actions/editPayement.php +++ b/admin/actions/editPayement.php @@ -24,7 +24,7 @@ } if(isset($_POST['paysafecardpage'])) if(isset($_POST['paysafecard'])) - $lecture['Payement']["paysafecard"] = true; + $lecture['Payement']['paysafecard'] = true; else $lecture['Payement']['paysafecard'] = false; diff --git a/admin/actions/editResetVote.php b/admin/actions/editResetVote.php index e0db614f..1235b832 100644 --- a/admin/actions/editResetVote.php +++ b/admin/actions/editResetVote.php @@ -1,4 +1,4 @@ -verifPerm('PermsPanel', 'vote', 'recompenseAuto', "actions", 'editReset')) { +verifPerm('PermsPanel', 'vote', 'recompenseAuto', 'actions', 'editReset')) { $type = intval(htmlspecialchars($_POST['type'])); diff --git a/admin/actions/editWidgets.php b/admin/actions/editWidgets.php index dd3f8904..f0221291 100644 --- a/admin/actions/editWidgets.php +++ b/admin/actions/editWidgets.php @@ -1,6 +1,6 @@ verifPerm('PermsPanel', 'widgets', 'actions', 'editWidgets')) { - require("modele/widgets.class.php"); + require('modele/widgets.class.php'); $widgets = new widgets($bddConnection); diff --git a/admin/actions/getGradesList.php b/admin/actions/getGradesList.php index 7b8bf2bc..da1714c5 100644 --- a/admin/actions/getGradesList.php +++ b/admin/actions/getGradesList.php @@ -1,4 +1,4 @@ -verifPerm("createur")) +verifPerm('createur')) { require_once('./admin/donnees/grades.php'); ?> - - + + + + verifPerm('PermsPanel', 'forum', 'showPage')) { ?> + + verifPerm('PermsPanel', 'forum', 'showPage')) { ?> + + verifPerm('PermsPanel', 'widgets', 'showPage')) { ?> + + verifPerm('PermsPanel', 'support', 'tickets', 'showPage')) { ?> + + verifPerm('PermsPanel', 'support', 'maintenance', 'showPage')) { ?> + + verifPerm('PermsPanel', 'newsletter', 'showPage')) { ?> + + verifPerm('PermsPanel', 'support', 'maintenance','showPage')) { ?> + + verifPerm('PermsPanel', 'update', 'showPage')) { ?> + + + + + + + diff --git a/admin/index.php b/admin/index.php index f79d90a9..785ab8d4 100644 --- a/admin/index.php +++ b/admin/index.php @@ -6,10 +6,10 @@ $_Permission_=Permission::getInstance(); -include("./include/version.php"); -include("./include/version_distant.php"); +include('./include/version.php'); +include('./include/version_distant.php'); include('./admin/include/entete.php'); -if(isset($_GET['page']) AND $_GET['page'] != "accueil"){ +if(isset($_GET['page']) AND $_GET['page'] != 'accueil'){ echo '
-

- Mise à jour CraftMyWebsite -

+

+ Mise à jour CraftMyWebsite +

verifPerm('PermsPanel', 'update', 'showPage')) { ?> -
-
-
- Vous avez aucune permission pour accéder à cette page. -
-
-
- -
- -
- -
- Votre CMS CraftMyWebsite est bien a jours en version ! -
- -
- Votre CMS CraftMyWebsite n'est PAS à jour ! Vous êtes en et la dernière - version est la ! Attention, les mises à jour ne se font pas - automatiquement !Cliquez ici pour télécharger la mise à jour de la dernière version : - CraftMyWebsite V - -
- -
- -
+
+
+
+ Vous n'avez aucune permission pour accéder à cette page. +
+
+
+ +
+ +
+ + +
+ Votre version de CraftMyWebsite ne sera plus mise à jour ! La version 2.0 de CraftMyWebsite étant déjà sortie ou ne devrait tarder à sortir, + vous ne pourrez plus obtenir de support ni même de nouveautés, nous vous invitons à télécharger et installer cette + nouvelle version (Si elle est déjà disponible) + ICI + + +
+
+ +
-

- Contributeurs au CMS -

+

+ Contributeurs au CMS +

-
-
+
+
- -
-
-
- -
-
+
+
+
+ +
+
-
+
\ No newline at end of file diff --git a/admin/pages/upload.php b/admin/pages/upload.php index 9d4d21c4..c63dd1a7 100644 --- a/admin/pages/upload.php +++ b/admin/pages/upload.php @@ -3,12 +3,12 @@ Upload - Gestion des images -verifPerm('PermsPanel', "upload","showPage")) { ?> +verifPerm('PermsPanel', 'upload', 'showPage')) { ?>
- Vous avez aucune permission pour accéder à cette page. + Vous n'avez aucune permission pour accéder à cette page.
@@ -16,8 +16,8 @@
- notif('error', 'Erreur', 'L\'extension n\'est pas correcte.');"; break; @@ -36,7 +36,7 @@ echo ""; }?>
- verifPerm('PermsPanel', "upload","manager")) { ?> + verifPerm('PermsPanel', 'upload', 'manager')) { ?>
@@ -75,7 +75,7 @@

- /theme/upload/panel/ + /theme/upload/panel/

diff --git a/admin/pages/voteHistory.php b/admin/pages/voteHistory.php index 907315d0..1c322b7e 100644 --- a/admin/pages/voteHistory.php +++ b/admin/pages/voteHistory.php @@ -42,7 +42,7 @@
Rechercher un voteur:
+ placeholder="ex: Vladort">
@@ -79,15 +79,18 @@ Pseudo IP Nombre de votes (total: ) - Date du dernier vote - Dernier vote sur le site: - verifPerm('PermsPanel', 'vote', 'voteHistory', 'actions', 'removeVote')) { ?> - Suppression - + + + + + + + + diff --git a/admin/pages/voter.php b/admin/pages/voter.php index 04c13e9e..f271d59c 100644 --- a/admin/pages/voter.php +++ b/admin/pages/voter.php @@ -127,6 +127,7 @@
Les sites suivant sont compatible avec cette vérification: À noter que certains service de recherche du serveur n'ont pas une API utilisable ! Pour que celle-ci fonctionne sur le cms vous devez remplir le champ "Id unique" par l'id donner par le site web ( généralement dans les onglets API). Laisser vide pour le désactiver. Si l'id venait â être incorrecte, ne vous étonnez pas que les votes ne se valident pas ! @@ -156,7 +157,7 @@ @@ -176,8 +177,8 @@
Syntaxe:
@@ -206,11 +207,11 @@
-
-
@@ -294,7 +295,7 @@ function tryCron() { @@ -313,36 +314,36 @@ function tryCron() {
-
" id="all-new-rec-vote"> +
-
+
' '
- + - + - + - + - + @@ -350,12 +351,12 @@ function tryCron() { - + - + + + @@ -387,7 +388,7 @@ function tryCron() {
- +
> @@ -417,4 +418,4 @@ class="btn btn-danger btn-block w-100">Supprimer
- + \ No newline at end of file diff --git a/admin/pages/widgets.php b/admin/pages/widgets.php index 7b5d71a1..3efba07e 100644 --- a/admin/pages/widgets.php +++ b/admin/pages/widgets.php @@ -8,7 +8,7 @@
- Vous avez aucune permission pour accéder aux widgets.. + Vous n\'avez aucune permission pour accéder aux widgets..
'; @@ -49,7 +49,7 @@
@@ -96,16 +96,16 @@ class=" nav-link" -
> +
>
@@ -118,7 +118,7 @@ class=" nav-link"
diff --git a/changelog.txt b/changelog.txt index fec8ceb2..c8c580eb 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,22 +1,22 @@ -Changelog CraftMyWebsite 1.8.3 - Fixs sécurité IMPORTANT +Changelog CraftMyWebsite 1.9 - LTS - Dernière version de CMW 1.X (Long Term Support) Ajouts ([+]), modifications ([=]) et suppressions ([-]), ([|]) Bugs Fix +[|] : Fix de la quantité d'articles dans le panier +[|] : Les CMS peut être installé sur Windows (Uniquement pour un environnement de dev) +[|] : Affichage résolu/non résolu dans l'espace support -[|] : Fix problème des emails publiques/privés sur le profil -[|] : Fix page nope -[|] : Fix de la newsletter sur l'inscription d'un compte -[|] : Fix d'un bug sur la boutique pour certains achats nécessitant d'acheter l'offre A pour débloquer la B -[|] : Fix des pages infini sur la liste des membres -[|] : Fix du mode nuit du panel - -[=] : Fixs sécurité sur le cms +[=] : Ajouts des sites de vote: meilleurs-serveurs.com et yserveur.fr [=] : Fautes d'ortographes -[=] : Modification d'un message d'erreur sur la page chat -[=] : Modification de l' url rewriting de l'accueil qui redirigé vers /index.php +[=] : Amélioration de la compatibilité avec certaines bases de données +[=] : Plusieurs modifications dans la boutique +[=] : Fix sécurité -[+] : Ajout du site de vote serveur-minecraft-vote.fr +[+] : Ajouts de nouvelles vérifications pour voter +[+] : Prise en charge d'images sur les articles en boutique +[+] : Affichage du solde restant dans l'espace panier +[+] : Ajout d'un message si pas assez de token lors d'un achat -Contributeurs : Guedesite, Teyir, Emilien52, BadiiiX, MrFlamme26, Dancuo-Lohan +Contributeurs : Teyir, Emilien52, CapDrake, Nassim-K, WIBORR, Dancuo-Lohan, Zomb, Florentlife diff --git a/controleur/.htaccess b/controleur/.htaccess index c17b8d0b..70168a5a 100644 --- a/controleur/.htaccess +++ b/controleur/.htaccess @@ -1,4 +1,4 @@ -AuthName "Page d'administration protégée" +AuthName "Page d'administration protégée" AuthType Basic AuthUserFile "." Require valid-user \ No newline at end of file diff --git a/controleur/accueil/newsCommentaire.php b/controleur/accueil/newsCommentaire.php index 90053f4d..af21a3b1 100644 --- a/controleur/accueil/newsCommentaire.php +++ b/controleur/accueil/newsCommentaire.php @@ -1,5 +1,5 @@ verifPerm("connect")) { +if(Permission::getInstance()->verifPerm('connect')) { $pseudo = $_Joueur_['pseudo']; $commentaire = htmlspecialchars($_POST['commentaire']); $id_news = urldecode($_GET['id_news']); @@ -15,7 +15,7 @@ $get_CountCommentaires = $rep_CountCommentaires->fetch(PDO::FETCH_ASSOC); $id = $get_CountCommentaires['id']; - if($ExistNews == "0") { + if($ExistNews == '0') { header('Location: index.php?page=accueil&NewsNotExist'); } else { if(strlen($commentaire) > 255) { diff --git a/controleur/accueil/newsDeleteCommentaire.php b/controleur/accueil/newsDeleteCommentaire.php index c1d406fb..14ee0394 100644 --- a/controleur/accueil/newsDeleteCommentaire.php +++ b/controleur/accueil/newsDeleteCommentaire.php @@ -1,5 +1,5 @@ verifPerm("connect")) { +if(Permission::getInstance()->verifPerm('connect')) { $pseudo = $_Joueur_['pseudo']; $id_news = urldecode($_GET['id_news']); @@ -27,10 +27,10 @@ if($CheckOwnerCommentaire == $pseudo OR $adminMode == true) { - if($ExistNews == "0") { + if($ExistNews == '0') { header('Location: index.php?page=accueil&NewsNotExist'); } else { - if($ExistCommentaire == "0") { + if($ExistCommentaire == '0') { header('Location: index.php?page=accueil&CommentaireNotExist'); } else { if(!$CheckOwnerCommentaire == $pseudo OR $adminMode != true) { diff --git a/controleur/accueil/newsEditCommentaire.php b/controleur/accueil/newsEditCommentaire.php index 7665e856..a76d69e5 100644 --- a/controleur/accueil/newsEditCommentaire.php +++ b/controleur/accueil/newsEditCommentaire.php @@ -1,5 +1,5 @@ verifPerm("connect")) { +if(Permission::getInstance()->verifPerm('connect')) { $pseudo = $_Joueur_['pseudo']; $commentaire = htmlspecialchars($_POST['edit_commentaire']); $id_news = urldecode($_GET['id_news']); @@ -25,7 +25,7 @@ $get_CountEditCommentaire = $rep_CountEditCommentaire->fetch(PDO::FETCH_ASSOC); $CountEditCommentaire = $get_CountEditCommentaire['nbrEdit']; - if($ExistNews == "0") { + if($ExistNews == '0') { header('Location: index.php?page=accueil&NewsNotExist'); } else { if(!$CheckOwnerCommentaire == $pseudo OR $adminMode != true) { diff --git a/controleur/accueil/newsLike.php b/controleur/accueil/newsLike.php index d53556cc..f226a683 100644 --- a/controleur/accueil/newsLike.php +++ b/controleur/accueil/newsLike.php @@ -1,5 +1,5 @@ verifPerm("connect")) { +if(Permission::getInstance()->verifPerm('connect')) { $pseudo = $_Joueur_['pseudo']; $id_news = urldecode($_GET['id_news']); @@ -17,7 +17,7 @@ $get_CountLikes = $rep_CountLikes->fetch(PDO::FETCH_ASSOC); $CountLikes = $get_CountLikes['id']; - if($ExistNews == "0") { + if($ExistNews == '0') { header('Location: index.php?page=accueil&NewsNotExist'); } else { if($ExistLike == $pseudo) { diff --git a/controleur/accueil/newsReport.php b/controleur/accueil/newsReport.php index c3020bf5..4883efab 100644 --- a/controleur/accueil/newsReport.php +++ b/controleur/accueil/newsReport.php @@ -1,5 +1,5 @@ verifPerm("connect")) { +if(Permission::getInstance()->verifPerm('connect')) { $pseudo = $_Joueur_['pseudo']; $message = ''; $id_news = urldecode($_GET['id_news']); @@ -23,19 +23,19 @@ $get_CountReportNews = $rep_CountReportNews->fetch(PDO::FETCH_ASSOC); $id = $get_CountReportNews['id']; - if($ExistNews == "0") { + if($ExistNews == '0') { header('Location: index.php?page=accueil&NewsNotExist'); } else { if($pseudo == $victime) { header('Location: index.php?page=accueil&NotReportYourSelf'); } else { - if($ExistReport == "1") { + if($ExistReport == '1') { header('Location: index.php?page=accueil&ReportVictimeExist'); } else { - if($ExistVictime == "0") { + if($ExistVictime == '0') { header('Location: index.php?page=accueil&PlayerNotExist'); } else { - if($ExistCommentaire == "0") { + if($ExistCommentaire == '0') { header('Location: index.php?page=accueil&CommentaireNotExist'); } else { require_once('modele/accueil/postNews.class.php'); diff --git a/controleur/action.php b/controleur/action.php index 912c93b9..c5e52e71 100644 --- a/controleur/action.php +++ b/controleur/action.php @@ -38,7 +38,7 @@ case 'editSignature': include('controleur/joueur/profil/editSignature.php'); break; - // Appellée quand on clique sur un bouton de déconnection (bouton disponible quand connecté. + // Appellée quand on clique sur un bouton de déconnection (bouton disponible quand connecté). case 'deco': // Destruction des sessions + redirection sur l'accueil. $globalJoueur->destroy(); @@ -308,13 +308,13 @@ header('Location: index.php?page=panier'); break; - // Appellé lorsqu'on envoie un formulaire de conneciton. + // Appellé lorsqu'on envoie un formulaire de connexion. case 'connection': - // On appelle la classe qui gère la connection et redirection... + // On appelle la classe qui gère la connexion et redirection... require_once('controleur/joueur/connection.php'); break; - // Comme connection mais pour les inscriptions + // Comme connexion mais pour les inscriptions case 'inscription': include('controleur/joueur/inscription.php'); break; @@ -326,7 +326,7 @@ case 'passRecover': include('controleur/joueur/changeMdpMail.php'); break; - // Appellé lorsqu'on appuie sur le bouton "acheter" d'un produit. L'id de l'offre est aussi passé en argument(sinon une erreur doit être gérée pour éviter que ça plante). + // Appellé lorsqu'on appuie sur le bouton "acheter" d'un produit. L'id de l'offre est aussi passé en argument (sinon une erreur doit être gérée pour éviter que ça plante). case 'achat': include('controleur/boutique/achat.php'); break; @@ -388,7 +388,7 @@ include('controleur/support/ticketCommentaireEdit.php'); break; - // Si le joueur a rentré un url contenant une valeur d'action innexistant? + // Si le joueur a rentré un url contenant une valeur d'action innexistant ? default: header('Location: index.php?page=accueil'); } diff --git a/controleur/app/rechercheMembre.php b/controleur/app/rechercheMembre.php index 2463e557..dbed7a86 100644 --- a/controleur/app/rechercheMembre.php +++ b/controleur/app/rechercheMembre.php @@ -10,9 +10,9 @@ - ' style='width: 32px; height: 32px;' alt='image de profile de ' /> + ' style='width: 32px; height: 32px;' alt='image de profile de ' /> - gradeJoueur($value["pseudo"]); ?> + gradeJoueur($value['pseudo']); ?> Voir le compte diff --git a/controleur/boutique/achat.php b/controleur/boutique/achat.php index 673dfe93..2ef5aa7a 100644 --- a/controleur/boutique/achat.php +++ b/controleur/boutique/achat.php @@ -15,12 +15,12 @@ $nb = $_Panier_->compterArticle(); for($a = 0; $a < $nb; $a++) { - $req = $bddConnection->prepare("SELECT categorie_id FROM cmw_boutique_offres WHERE id = :id"); - $req->execute(array("id" => $_SESSION['panier']['id'][$a])); + $req = $bddConnection->prepare('SELECT categorie_id FROM cmw_boutique_offres WHERE id = :id'); + $req->execute(array('id' => $_SESSION['panier']['id'][$a])); $d = $req->fetch(PDO::FETCH_ASSOC); - $req = $bddConnection->prepare("SELECT serveur, connection FROM cmw_boutique_categories WHERE id = :id"); - $req->execute(array("id" => $d['categorie_id'])); + $req = $bddConnection->prepare('SELECT serveur, connection FROM cmw_boutique_categories WHERE id = :id'); + $req->execute(array('id' => $d['categorie_id'])); $d2 = $req->fetch(PDO::FETCH_ASSOC); if($d2['connection'] == 1) { @@ -54,11 +54,11 @@ for($a = 0; $a < $nb; $a++) { - $req = $bddConnection->prepare("SELECT nbre_vente FROM cmw_boutique_offres WHERE id = :id"); - $req->execute(array("id" => $_SESSION['panier']['id'][$a])); + $req = $bddConnection->prepare('SELECT nbre_vente FROM cmw_boutique_offres WHERE id = :id'); + $req->execute(array('id' => $_SESSION['panier']['id'][$a])); $d = $req->fetch(PDO::FETCH_ASSOC); - if($d["nbre_vente"] == "0"){ - header('Location: index.php?page=erreur&erreur=19&type='.htmlspecialchars("Erreur Boutique").'&titre='.htmlspecialchars("Stock insufisant !"). '&contenue='.htmlspecialchars("Désolé, mais un des articles que vous souhaitez acheter est indisponible pour l'instant :( !")); + if($d['nbre_vente'] == '0'){ + header('Location: index.php?page=erreur&erreur=19&type='.htmlspecialchars('Erreur Boutique').'&titre='.htmlspecialchars('Stock insufisant !'). '&contenue='.htmlspecialchars("Désolé, mais un des articles que vous souhaitez acheter est indisponible pour l'instant :( !")); exit(); } if($_SESSION['panier']['prix'][$a] >= 0 && $_SESSION['panier']['quantite'][$a] > 0) @@ -68,8 +68,8 @@ { if($d['nbre_vente'] - $_SESSION['panier']['quantite'][$a] >= 0) { - $req = $bddConnection->prepare("UPDATE cmw_boutique_offres SET nbre_vente = :nbre_vente WHERE id = :id"); - $req->execute(array("nbre_vente" => $d['nbre_vente']-$_SESSION['panier']['quantite'][$a], "id" => $_SESSION['panier']['id'][$a])); + $req = $bddConnection->prepare('UPDATE cmw_boutique_offres SET nbre_vente = :nbre_vente WHERE id = :id'); + $req->execute(array('nbre_vente' => $d['nbre_vente']-$_SESSION['panier']['quantite'][$a], 'id' => $_SESSION['panier']['id'][$a])); } else { @@ -127,25 +127,36 @@ { foreach($jsonCon as $serveur) { - SendCommand($serveur, $donneesActions['methode'], $donneesActions['commande_valeur'], $donneesActions['duree'], $bddConnection, $_Joueur_); + //On exécute la commande autant de fois que nécessaire par rapport à la quantité de l'article + for($z=0; $z < $_SESSION['panier']['quantite'][$a]; $z++) + { + SendCommand($serveur, $donneesActions['methode'], $donneesActions['commande_valeur'], $donneesActions['duree'], $bddConnection, $_Joueur_); + } } } elseif($infosCategories['serveurId'] == -2) { foreach($jsonCon as $key => $serveur) { - if($enligne[$key]) - { - SendCommand($serveur, $donneesActions['methode'], $donneesActions['commande_valeur'], $donneesActions['duree'], $bddConnection, $_Joueur_['pseudo'], $_Joueur_); + //On exécute la commande autant de fois que nécessaire par rapport à la quantité de l'article + for($z = 0; $z < $_SESSION['panier']['quantite'][$a]; $z++){ + if($enligne[$key]) + { + SendCommand($serveur, $donneesActions['methode'], $donneesActions['commande_valeur'], $donneesActions['duree'], $bddConnection, $_Joueur_['pseudo'], $_Joueur_); + } } + } } else { foreach($lectureJSON as $key => $s) { - if($s['id'] == $infosCategories['serveurId'] && $enligne[$key]) - { - SendCommand($jsonCon[$key], $donneesActions['methode'], $donneesActions['commande_valeur'], $donneesActions['duree'], $bddConnection, $_Joueur_['pseudo'], $_Joueur_); + //On exécute la commande autant de fois que nécessaire par rapport à la quantité de l'article + for($z = 0; $z < $_SESSION['panier']['quantite'][$a]; $z++){ + if($s['id'] == $infosCategories['serveurId'] && $enligne[$key]) + { + SendCommand($jsonCon[$key], $donneesActions['methode'], $donneesActions['commande_valeur'], $donneesActions['duree'], $bddConnection, $_Joueur_['pseudo'], $_Joueur_); + } } } } @@ -196,7 +207,7 @@ } $_Panier_->supprimerPanier(); if(array_search('1', $probleme)) - header('Location: index.php?page=erreur&erreur=19&type='.htmlspecialchars("Erreur Boutique").'&titre='.htmlspecialchars("Stock insufisant !"). '&contenue)'.htmlspecialchars("Désolé, mais un des articles que vous souhaitez acheter est indisponible pour l'instant :( ! Vos autres articles ont été livrés correctement.")); + header('Location: index.php?page=erreur&erreur=19&type='.htmlspecialchars('Erreur Boutique').'&titre='.htmlspecialchars('Stock insufisant !'). '&contenue)'.htmlspecialchars("Désolé, mais un des articles que vous souhaitez acheter est indisponible pour l'instant :( ! Vos autres articles ont été livrés correctement.")); else header('Location: index.php?page=panier&success'); } diff --git a/controleur/boutique/addOffrePanier.php b/controleur/boutique/addOffrePanier.php index 86d3afd9..436744b2 100644 --- a/controleur/boutique/addOffrePanier.php +++ b/controleur/boutique/addOffrePanier.php @@ -1,5 +1,5 @@ verifPerm("connect") && isset($_GET['offre']) && isset($_GET['quantite'])) +if(Permission::getInstance()->verifPerm('connect') && isset($_GET['offre']) && isset($_GET['quantite'])) { if($_GET['quantite'] > 0) { @@ -10,7 +10,7 @@ $fetch = $req->fetch(PDO::FETCH_ASSOC); if($fetch['nbre_vente'] == 0 ) { - header('Location: index.php?page=erreur&erreur=19&type='.htmlspecialchars("Erreur Boutique").'&titre='.htmlspecialchars("Stock insufisant !"). '&contenue='.htmlspecialchars("Désolé, mais un des articles que vous souhaitez acheter est indisponible pour l'instant :( !")); + header('Location: index.php?page=erreur&erreur=19&type='.htmlspecialchars('Erreur Boutique').'&titre='.htmlspecialchars('Stock insufisant !'). '&contenue='.htmlspecialchars("Désolé, mais un des articles que vous souhaitez acheter est indisponible pour l'instant :( !")); exit(); } $execution = $_Panier_->ajouterProduit(htmlspecialchars($_GET['offre']), htmlspecialchars($_GET['quantite']), $fetch['prix']); diff --git a/controleur/chat/actu.php b/controleur/chat/actu.php index 66741acb..a24b64b3 100644 --- a/controleur/chat/actu.php +++ b/controleur/chat/actu.php @@ -9,7 +9,7 @@ for($i=0; $i < count($jsonCon); $i++) { $messages = $Chat->getMessages($i); - if($messages != false && $messages != "erreur" && $messages != "query") + if($messages != false && $messages != 'erreur' && $messages != 'query') { $messages = array_slice($messages, -10, 10); foreach($messages as $key => $value) @@ -21,12 +21,12 @@ $retour[$i]['msg'][$key]['message'] = $Chat->formattage(htmlspecialchars($value['message'])); } } - $retour[$i]['success'] = "true"; + $retour[$i]['success'] = 'true'; } - elseif($messages == "query") - $retour[$i]['success'] = "query"; - elseif($messages == "erreur") - $retour[$i]['success'] = "erreur"; + elseif($messages == 'query') + $retour[$i]['success'] = 'query'; + elseif($messages == 'erreur') + $retour[$i]['success'] = 'erreur'; else $retour[$i]['success'] = 'false'; } diff --git a/controleur/chat/send.php b/controleur/chat/send.php index eaeafd3f..fb72c6c0 100644 --- a/controleur/chat/send.php +++ b/controleur/chat/send.php @@ -1,5 +1,5 @@ verifPerm("connect") && isset($_POST['i']) && isset($_POST['message']) && (!isset($_SESSION['chat']) OR $_SESSION['chat'] < time())) +if(Permission::getInstance()->verifPerm('connect') && isset($_POST['i']) && isset($_POST['message']) && (!isset($_SESSION['chat']) OR $_SESSION['chat'] < time())) { $_SESSION['chat'] = time()+1; if(Permission::getInstance()->verifPerm('PermsDefault', 'chat', 'color')) diff --git a/controleur/config.php b/controleur/config.php index 574adaf8..92a98d41 100644 --- a/controleur/config.php +++ b/controleur/config.php @@ -1,54 +1,40 @@ GetTableau(); - - - if(!isset($_Serveur_['lastCMWCheck']) || (isset($_Serveur_['lastCMWCheck']) && $_Serveur_['lastCMWCheck'] < time())) { - $_Serveur_['lastCMWCheck'] = time() + 3600; - $URLWEBSITE = "http://".$_SERVER['HTTP_HOST']; - require_once("modele/vote.class.php"); - $SYSTEMINFO = vote::fetch('https://craftmywebsite.fr/information/website.php?href='. $URLWEBSITE); - if($SYSTEMINFO != "" && !empty($SYSTEMINFO)) { - $_Serveur_['SYSTEMINFO'] = $SYSTEMINFO; - } else if(isset($_Serveur_['SYSTEMINFO'])) { - unset($_Serveur_['SYSTEMINFO']); - } - $ecriture = new Ecrire('modele/config/config.yml', $_Serveur_); - } - - $configLecture = new Lire('modele/config/configWidgets.yml'); - $_Widgets_ = $configLecture->GetTableau(); - - require_once('controleur/tempMess.class.php'); - - if(isset($_COOKIE['playeronline'], $_COOKIE['maxPlayers'], $_COOKIE['servOnline']) && $_COOKIE['servOnline'] == true) - { - $playeronline = htmlspecialchars($_COOKIE['playeronline']); - $maxPlayers = htmlspecialchars($_COOKIE['maxPlayers']); - $servEnLigne = true; - } - else - { - $pingClass = new MinecraftPing($_Serveur_['General']['ip'], $_Serveur_['General']['port']); - $playeronline = $pingClass->Players; - $maxPlayers = $pingClass->MaxPlayer; - $servEnLigne = $pingClass->Online; - setcookie('playeronline', $playeronline, time() + 120, null, null, true, true); - setcookie('maxPlayers', $maxPlayers, time() + 120, null, null, true, true); - setcookie('servOnline', $servEnLigne, time() + 120, null, null, true, true); - } - - -?> +// On vérifie si le systeme est compatible. + + +// On récupère la classe permettant la lecture en YML. Les fichiers de config sont sous ce format. +require_once('./modele/config/yml.class.php'); +require_once('./modele/ban.class.php'); +require_once('./include/MinecraftPing/MinecraftPing.class.php'); + +//Récupération de la classe Permission +require_once('modele/grades/perms.class.php'); + +// On lit le fichier de config et on récupère les information dans un tableau. Celui-ci contiens la config générale. +$configLecture = new Lire('modele/config/config.yml'); +$_Serveur_ = $configLecture->GetTableau(); + + + +$configLecture = new Lire('modele/config/configWidgets.yml'); +$_Widgets_ = $configLecture->GetTableau(); + +require_once('controleur/tempMess.class.php'); + +if(isset($_COOKIE['playeronline'], $_COOKIE['maxPlayers'], $_COOKIE['servOnline']) && $_COOKIE['servOnline']) +{ + $playeronline = htmlspecialchars($_COOKIE['playeronline']); + $maxPlayers = htmlspecialchars($_COOKIE['maxPlayers']); + $servEnLigne = true; +} +else +{ + $pingClass = new MinecraftPing($_Serveur_['General']['ip'], $_Serveur_['General']['port']); + $playeronline = $pingClass->Players; + $maxPlayers = $pingClass->MaxPlayer; + $servEnLigne = $pingClass->Online; + setcookie('playeronline', $playeronline, time() + 120, '', '', true, true); + setcookie('maxPlayers', $maxPlayers, time() + 120, '', '', true, true); + setcookie('servOnline', $servEnLigne, time() + 120, '', '', true, true); +} + diff --git a/controleur/dedipass.php b/controleur/dedipass.php index 183876e0..7d93b5eb 100644 --- a/controleur/dedipass.php +++ b/controleur/dedipass.php @@ -6,7 +6,7 @@ else { $dedipass = file_get_contents('http://api.dedipass.com/v1/pay/?public_key=' . $_Serveur_['Payement']['public_key'] . '&private_key=' . $_Serveur_['Payement']['private_key'] . '&code=' . $code); $dedipass = json_decode($dedipass); - if($dedipass->status == 'success') { + if($dedipass->status === 'success') { // Le transaction est validée et payée. // Vous pouvez utiliser la variable $virtual_currency // pour créditer le nombre de Jetons. @@ -14,7 +14,7 @@ $rate = $dedipass->rate; $payout = $dedipass->payout; $code = $dedipass->code; - if($virtual_currency == 0 OR $virtual_currency == NULL) + if($virtual_currency === 0 || $virtual_currency === NULL) { $virtual_currency = 1; } @@ -30,12 +30,12 @@ $joueurMaj = new Maj($_Joueur_['pseudo'], $bddConnection); $playerData = $joueurMaj->getReponseConnection(); $playerData = $playerData->fetch(PDO::FETCH_ASSOC); - $playerData['tokens'] = $playerData['tokens'] + $virtual_currency; + $playerData['tokens'] += $virtual_currency; $joueurMaj->setReponseConnection($playerData); $joueurMaj->setNouvellesDonneesTokens($playerData); - $_Joueur_['tokens'] = $_Joueur_['tokens'] + $virtual_currency; + $_Joueur_['tokens'] += $virtual_currency; - header("Location: index.php?page=token&successDedipass"); + header('Location: index.php?page=token&successDedipass'); } else { // Le code est invalide diff --git a/controleur/erreur.php b/controleur/erreur.php index 09aaf125..f158f153 100644 --- a/controleur/erreur.php +++ b/controleur/erreur.php @@ -6,47 +6,47 @@ function get_erreur($erreur, &$type, &$titre, &$contenue) case '0': $type = 'Erreur: Action quelconque'; $titre = 'Un des champs est invalide ou incomplet'; - $contenue = 'Nous sommes désolé mais le formulaire n\'a pas été rempli correctement, merci de réessayer...'; + $contenue = 'Nous sommes désolé mais le formulaire n\'a pas été rempli correctement, merci de réessayer.'; break; case '1': $type = 'Erreur: Création du compte'; - $titre = 'Cet utilisateur existe déjà...'; + $titre = 'Cet utilisateur existe déjà.'; $contenue = 'Si vous disposez du compte avec le pseudo que vous avez inscrit et qu\'un joueur vous a volé votre compte, signalez le à un administrateur.'; break; case '2': $type = 'Erreur: Création du compte'; $titre = 'Pseudo trop long'; - $contenue = 'Votre pseudo ne doit pas dépasser les 16 caractères... Utilisez un pseudo plus court !'; + $contenue = 'Votre pseudo ne doit pas dépasser les 16 caractères. Utilisez un pseudo plus court !'; break; case '3': $type = 'Erreur: Création du compte'; $titre = 'Mot de passe'; - $contenue = 'Les deux mots de passes entrés ne correspondent pas...'; + $contenue = 'Le mot de passe et sa confirmation ne correspondent pas.'; break; case '4': $type = 'Erreur: Connexion'; $titre = 'Un des champs est invalide ou incomplet'; - $contenue = 'Nous sommes désolé mais le formulaire n\'a pas été rempli correctement, merci de réessayer...'; + $contenue = 'Nous sommes désolé mais le formulaire n\'a pas été rempli correctement, merci de réessayer.'; break; case '5': $type = 'Erreur: Connexion'; $titre = 'Utilisateur Inexistant'; - $contenue = 'Le pseudo que vous avez entré n\'existe pas, si c\'est le votre, inscrivez-vous avec !'; + $contenue = 'Le pseudo que vous avez entré n\'est associé à aucun compte, si c\'est le votre, inscrivez-vous !'; break; case '6': $type = 'Erreur: Connexion'; - $titre = 'Mauvais mot de passe...'; - $contenue = 'Le mot de passe entré est incorrect... Si vous êtes le propriétaire du compte, vous pouvez changer votre mot de passe en suivant les étapes suivantes: + $titre = 'Mauvais mot de passe.'; + $contenue = 'Le mot de passe entré est incorrect. Si vous avez oublié votre mot de passe, changez-le en suivant les étapes suivantes: '; break; @@ -59,19 +59,19 @@ function get_erreur($erreur, &$type, &$titre, &$contenue) case '8': $type = 'Erreur: Création du compte'; $titre = 'Captcha incorrect'; - $contenue = 'Le captcha entré est incorrect...'; + $contenue = 'Le captcha entré est incorrect.'; break; case '9': $type = 'Erreur: Récupération de mot de passe'; $titre = 'Le token entré est invalide'; - $contenue = 'Votre token de récupération est invalide, veuillez réessayez la récupération.'; + $contenue = 'Votre token de récupération est invalide, veuillez réessayer la récupération.'; break; case '10': $type = 'Erreur: Création du compte'; - $titre = 'Adresse IP déjà inscrit.'; - $contenue = 'Interdiction d\'avoir un double compte.'; + $titre = 'Adresse IP déjà inscrite.'; + $contenue = 'L\'utilisation de double compte n\'est pas autorisée.'; break; case '11': @@ -81,27 +81,27 @@ function get_erreur($erreur, &$type, &$titre, &$contenue) break; case '12': - $type = "Erreur: URL invalide"; + $type = 'Erreur: URL invalide'; $titre = "L'URL est invalide."; - $contenue = "L'adresse de la page souhaitée est invalide ou inexistant."; + $contenue = "L'adresse de la page souhaitée est invalide ou inexistante."; break; case '13': - $type = "Erreur: Compte déjà actif"; - $titre = "Compte déjà activé."; - $contenue = "Votre compte est déjà actif sur le site."; + $type = 'Erreur: Compte déjà actif'; + $titre = 'Compte déjà activé.'; + $contenue = 'Votre compte est déjà actif sur le site.'; break; case '14': - $type = "Erreur: Compte inactif"; - $titre = "Compte inactif."; + $type = 'Erreur: Compte inactif'; + $titre = 'Compte inactif.'; $contenue = "Votre compte n'est pas activé sur le site."; break; case '15': $type = 'Erreur: Création du compte'; $titre = 'Email déjà en utilisation.'; - $contenue = 'L\'adresse email que vous avez entré est déjà utilisée.'; + $contenue = 'Un compte existe déjà avec cette adresse mail.'; break; case '16': @@ -111,15 +111,15 @@ function get_erreur($erreur, &$type, &$titre, &$contenue) break; case '17': - $type = "Erreur Fatale"; - $titre = "Erreur fatale !"; + $type = 'Erreur Fatale'; + $titre = 'Erreur fatale !'; $contenue = "Une erreur indéterminée est survenue lors de l'exécution du script !
Contactez immédiatement un administrateur !"; break; case '18': - $type = "Erreur Boutique"; - $titre = "Solde insuffisant"; - $contenue = "Votre solde n'est pas suffisant pour acheter ces items.
Merci de renouveler votre solde ici : Acheter des ".$_Serveur_['General']['moneyName'].""; + $type = 'Erreur Boutique'; + $titre = 'Solde insuffisant'; + $contenue = "Votre solde n'est pas suffisant pour acheter ces items.
Merci de renouveler votre solde ici : Acheter des ".$_Serveur_['General']['moneyName']. ''; break; case '19': @@ -129,22 +129,22 @@ function get_erreur($erreur, &$type, &$titre, &$contenue) break; case '20': - $type = "Erreur Forum"; - $titre = "Topic trop long"; - $contenue = "Votre message contient trop de caractères"; + $type = 'Erreur Forum'; + $titre = 'Topic trop long'; + $contenue = 'Votre message contient trop de caractères'; break; case '21': - $type = "Erreur mail"; + $type = 'Erreur mail'; $titre = "Le mail n'a pas pu être envoyé"; - $contenue= "Veuilliez contacter l'administrateur de cette erreur."; + $contenue= "Veuillez contacter un administrateur."; break; default: - header("HTTP/1.0 404 Not Found"); + header('HTTP/1.0 404 Not Found'); $type = '404 Not Found'; $titre = 'Page introuvable'; - $contenue = 'Nous sommes désolé mais la page que vous avez demmandé n\'existe pas...'; + $contenue = 'Nous sommes désolé mais la page que vous avez demmandé n\'existe pas.'; break; } } diff --git a/controleur/forum/create_cat.php b/controleur/forum/create_cat.php index 4781030a..5176901b 100644 --- a/controleur/forum/create_cat.php +++ b/controleur/forum/create_cat.php @@ -10,7 +10,7 @@ if(!empty($_POST['img']) AND strlen($_POST['img']) <= 300) { if(startsWith($_POST['img'], '')) { - $img = htmlspecialchars(str_replace('', "", $_POST['img']))); + $img = htmlspecialchars(str_replace('', '', $_POST['img']))); } } $insert = $bddConnection->prepare('INSERT INTO cmw_forum_categorie (nom, img, forum) diff --git a/controleur/forum/create_sf.php b/controleur/forum/create_sf.php index a101b7ae..a189d90f 100644 --- a/controleur/forum/create_sf.php +++ b/controleur/forum/create_sf.php @@ -9,7 +9,7 @@ if(!empty($_POST['img']) AND strlen($_POST['img']) <= 300) { if(startsWith($_POST['img'], '')) { - $img = htmlspecialchars(str_replace('', "", $_POST['img']))); + $img = htmlspecialchars(str_replace('', '', $_POST['img']))); } } $recup = $bddConnection->prepare('SELECT * FROM cmw_forum_categorie WHERE id = :id'); diff --git a/controleur/forum/create_topic.php b/controleur/forum/create_topic.php index ac6d401d..0187d94f 100644 --- a/controleur/forum/create_topic.php +++ b/controleur/forum/create_topic.php @@ -1,5 +1,5 @@ verifPerm("connect")) +if(Permission::getInstance()->verifPerm('connect')) { if(!empty($_POST['nom']) AND !empty($_POST['contenue'] AND strlen($_POST['contenue']) <= 15000)) { diff --git a/controleur/forum/edit.php b/controleur/forum/edit.php index 16372a70..800d1146 100644 --- a/controleur/forum/edit.php +++ b/controleur/forum/edit.php @@ -6,7 +6,7 @@ if(isset($_POST['contenue'])) $objet = htmlspecialchars($_POST['objet']); else - $objet = ($_POST['objet'] == "topic") ? 1 : 2; + $objet = ($_POST['objet'] == 'topic') ? 1 : 2; $id = htmlentities($_POST['id']); if($AdminForum->verifEdit($objet, $id, $_Joueur_) && !isset($_POST['contenue'])) { diff --git a/controleur/forum/editForum.php b/controleur/forum/editForum.php index cd3776c3..ca553c91 100644 --- a/controleur/forum/editForum.php +++ b/controleur/forum/editForum.php @@ -6,7 +6,7 @@ if(!empty($_POST['img']) AND strlen($_POST['img']) <= 300) { if(startsWith($_POST['img'], '')) { - $img = htmlspecialchars(str_replace('', "", $_POST['img']))); + $img = htmlspecialchars(str_replace('', '', $_POST['img']))); } } $insert = $bddConnection->prepare('UPDATE cmw_forum_categorie SET nom=:nom, img=:img, forum=:forum WHERE id=:id'); diff --git a/controleur/forum/editSousForum.php b/controleur/forum/editSousForum.php index 006f3e9e..544328b8 100644 --- a/controleur/forum/editSousForum.php +++ b/controleur/forum/editSousForum.php @@ -2,7 +2,7 @@ require('modele/forum/forum.class.php'); $_Forum_ = new Forum($bddConnection); $sousforumd = $_Forum_->infosSousForum($_POST['id'], 1); -if (((Permission::getInstance()->verifPerm("createur") or Permission::getInstance()->verifPerm('PermsDefault', 'forum', 'perms') >= $sousforumd[$_POST['index']]['perms']) and !$_SESSION['mode']) or $sousforumd[$_POST['index']]['perms'] == 0) { +if (((Permission::getInstance()->verifPerm('createur') or Permission::getInstance()->verifPerm('PermsDefault', 'forum', 'perms') >= $sousforumd[$_POST['index']]['perms']) and !$_SESSION['mode']) or $sousforumd[$_POST['index']]['perms'] == 0) { $nom = htmlspecialchars($_POST['nom']); @@ -10,7 +10,7 @@ if(!empty($_POST['img']) AND strlen($_POST['img']) <= 300) { if(startsWith($_POST['img'], '')) { - $img = htmlspecialchars(str_replace('', "", $_POST['img']))); + $img = htmlspecialchars(str_replace('', '', $_POST['img']))); } } $insert = $bddConnection->prepare('UPDATE cmw_forum_sous_forum SET nom=:nom, img=:img WHERE id=:id'); diff --git a/controleur/forum/forum_signalement.php b/controleur/forum/forum_signalement.php index 4a1df2f9..25d853c5 100644 --- a/controleur/forum/forum_signalement.php +++ b/controleur/forum/forum_signalement.php @@ -1,17 +1,17 @@ prepare('INSERT INTO cmw_forum_report(type, id_topic_answer, reason, reporteur) VALUES (1, :id_topic_answer, :reason, :reporteur)'); $insert->execute(array( - 'id_topic_answer' => $id, + 'id_topic_answer' => $_POST['id_topic'], 'reason' => $reason, 'reporteur' => $_Joueur_['pseudo'] )); diff --git a/controleur/forum/forum_signalement_topic.php b/controleur/forum/forum_signalement_topic.php index 8c4f3690..4ad561da 100644 --- a/controleur/forum/forum_signalement_topic.php +++ b/controleur/forum/forum_signalement_topic.php @@ -1,5 +1,5 @@ verifPerm("connect")) +if(Permission::getInstance()->verifPerm('connect')) { if(isset($_POST['id_topic']) AND isset($_POST['contenue']) AND strlen($_POST['contenue']) <= 10000) { $id = (int)htmlspecialchars($_POST['id_topic']); require('modele/app/ckeditor.class.php'); $contenue = ckeditor::verif($_POST['contenue']); - $req = $bddConnection->prepare("SELECT id, pseudo, contenue, date_post FROM cmw_forum_answer WHERE id_topic = :id_topic ORDER BY ID DESC LIMIT 1"); - $req->execute(array("id_topic" => $id)); + $req = $bddConnection->prepare('SELECT id, pseudo, contenue, date_post FROM cmw_forum_answer WHERE id_topic = :id_topic ORDER BY ID DESC LIMIT 1'); + $req->execute(array('id_topic' => $id)); $d = $req->fetch(PDO::FETCH_ASSOC); - if($d["pseudo"] == $_Joueur_["pseudo"] AND !(strtotime($d['date_post'])+24*3600 <= time())) + if($d['pseudo'] == $_Joueur_['pseudo'] AND !(strtotime($d['date_post'])+24*3600 <= time())) { - $contenu = $d["contenue"] ."
Contenu fusionné
". $contenue; - $req = $bddConnection->prepare("UPDATE cmw_forum_answer SET contenue = :contenu, date_post = NOW() WHERE id = :id"); - $req->execute(array("contenu" => $contenu, "id" => $d["id"])); + $contenu = $d['contenue'] . '
Contenu fusionné
' . $contenue; + $req = $bddConnection->prepare('UPDATE cmw_forum_answer SET contenue = :contenu, date_post = NOW() WHERE id = :id'); + $req->execute(array('contenu' => $contenu, 'id' => $d['id'])); } else { $post_answer = $bddConnection->prepare('INSERT INTO cmw_forum_answer (id_topic, pseudo, contenue, date_post) VALUES (:id_topic, :pseudo, :contenue, NOW())'); $post_answer->execute(array( diff --git a/controleur/forum/remove_answer.php b/controleur/forum/remove_answer.php index e0854378..669d3ab4 100644 --- a/controleur/forum/remove_answer.php +++ b/controleur/forum/remove_answer.php @@ -1,6 +1,6 @@ verifPerm("connect") AND isset($_POST['page'])) +if(isset($_POST['id_answer']) AND Permission::getInstance()->verifPerm('connect') AND isset($_POST['page'])) { $id = htmlspecialchars($_POST['id_answer']); $pseudo = htmlspecialchars($_Joueur_['pseudo']); @@ -11,7 +11,7 @@ } else { - $reason = "Aucune/Non renseigné"; + $reason = 'Aucune/Non renseigné'; } $select = $bddConnection->prepare('SELECT * FROM cmw_forum_answer WHERE id = :id'); $select->execute(array( diff --git a/controleur/forum/remove_topic.php b/controleur/forum/remove_topic.php index 0e3edb44..21c8a109 100644 --- a/controleur/forum/remove_topic.php +++ b/controleur/forum/remove_topic.php @@ -1,6 +1,6 @@ verifPerm("connect")) +if(isset($_POST['id_topic']) AND Permission::getInstance()->verifPerm('connect')) { $id = htmlspecialchars($_POST['id_topic']); $pseudo = htmlspecialchars($_Joueur_['pseudo']); @@ -10,7 +10,7 @@ } else { - $reason = "Aucune / Non Renseigné"; + $reason = 'Aucune / Non Renseigné'; } $select = $bddConnection->prepare('SELECT * FROM cmw_forum_post WHERE id = :id'); $select->execute(array( diff --git a/controleur/forum/rep.php b/controleur/forum/rep.php index 6ca3dc66..22a3b6c3 100644 --- a/controleur/forum/rep.php +++ b/controleur/forum/rep.php @@ -1,5 +1,5 @@ verifPerm("connect")) +if(Permission::getInstance()->verifPerm('connect')) { $id = htmlspecialchars($_GET['id']); $pages = htmlspecialchars($_GET['page_post']); diff --git a/controleur/forum/searchTopic.php b/controleur/forum/searchTopic.php index 3e1c64d7..41930f34 100644 --- a/controleur/forum/searchTopic.php +++ b/controleur/forum/searchTopic.php @@ -9,14 +9,14 @@ echo '[DIV]'; $req = $bddConnection->prepare('SELECT id as id2, nom, pseudo, date_creation, perms, last_answer FROM cmw_forum_post WHERE nom LIKE :nom OR contenue LIKE :contenue OR last_answer LIKE :last LIMIT 20'); $req->execute(array( - 'nom' => "%".$recherche.'%', + 'nom' => '%' .$recherche.'%', 'contenue' => '%'.$recherche.'%', 'last' => '%'.$recherche.'%' )); $data = $req->fetchAll(PDO::FETCH_ASSOC); $img = new ImgProfil($bddConnection); foreach($data as $key => $value) { - if((Permission::getInstance()->verifPerm('connect') & Permission::getInstance()->verifPerm("createur")) OR ( Permission::getInstance()->verifPerm('connect') & Permission::getInstance()->verifPerm('PermsDefault', 'forum', 'perms') >= $data[$key]['perms']) OR $data[$key]['perms'] == 0) + if((Permission::getInstance()->verifPerm('connect') & Permission::getInstance()->verifPerm('createur')) OR ( Permission::getInstance()->verifPerm('connect') & Permission::getInstance()->verifPerm('PermsDefault', 'forum', 'perms') >= $data[$key]['perms']) OR $data[$key]['perms'] == 0) { $data[$key]['compte'] = $_Forum_->compteReponse($data[$key]['id2']); $data[$key]['img'] = $img->getUrlHeadByPseudo($data[$key]['pseudo'], 42); diff --git a/controleur/forum/unfollow.php b/controleur/forum/unfollow.php index bd2811bd..7c4697f9 100644 --- a/controleur/forum/unfollow.php +++ b/controleur/forum/unfollow.php @@ -1,5 +1,5 @@ verifPerm("connect") AND isset($_GET['id_topic'])) +if(Permission::getInstance()->verifPerm('connect') AND isset($_GET['id_topic'])) { $id = htmlspecialchars($_GET['id_topic']); $unfollow = $bddConnection->prepare('DELETE FROM cmw_forum_topic_followed WHERE id_topic = :id_topic AND pseudo = :pseudo'); diff --git a/controleur/forum/unlike.php b/controleur/forum/unlike.php index 33566e82..81e2c191 100644 --- a/controleur/forum/unlike.php +++ b/controleur/forum/unlike.php @@ -1,5 +1,5 @@ verifPerm("connect")) +if(isset($_POST['id_answer']) && Permission::getInstance()->verifPerm('connect')) { $id = htmlspecialchars($_POST['id_answer']); if(isset($_POST['type'])) diff --git a/controleur/forum/vu.php b/controleur/forum/vu.php index dc57f553..fe46ddbf 100644 --- a/controleur/forum/vu.php +++ b/controleur/forum/vu.php @@ -1,5 +1,5 @@ verifPerm("connect")) +if(Permission::getInstance()->verifPerm('connect')) { $id_answer = htmlspecialchars($_GET['id_answer']); $likeur = htmlspecialchars($_GET['likeur']); diff --git a/controleur/joueur/changeMdpMail.php b/controleur/joueur/changeMdpMail.php index e41a1d38..7dbf0e0a 100644 --- a/controleur/joueur/changeMdpMail.php +++ b/controleur/joueur/changeMdpMail.php @@ -1,65 +1,58 @@ getConnection(); - require_once('modele/joueur/mail.class.php'); - $userConnection = new Mail($_POST['email'], $bddConnection); - $ligneReponse = $userConnection->getReponseConnection(); - - $donneesJoueur = $ligneReponse->fetch(PDO::FETCH_ASSOC); - if(empty($donneesJoueur)) - { - //email mining - //header('Location: index.php?page=erreur&erreur=4'); - header('Location: index.php?page=accueil&envoieMail'); - } - else - { - if($donneesJoueur['email'] == $_POST['email']) - { +if (isset($_POST['email']) && !empty($_POST['email'])) { - $resetToken = md5(microtime(TRUE)*100000); - - require_once('modele/joueur/maj.class.php'); - $maj = new Maj($donneesJoueur['pseudo'], $bddConnection); - $maj->setNouvellesDonneesResetToken($resetToken); + $bddConnection = $base->getConnection(); + require_once('modele/joueur/mail.class.php'); + $userConnection = new Mail($_POST['email'], $bddConnection); + $ligneReponse = $userConnection->getReponseConnection(); - $url = $_SERVER['SERVER_NAME']; - $ht = $_SERVER["HTTPS"] == "on" ? "https://" : "http://"; - - $lien = $ht.$url.'/index.php?&action=passRecoverConfirm&token='.urlencode($resetToken); + $donneesJoueur = $ligneReponse->fetch(PDO::FETCH_ASSOC); + if (empty($donneesJoueur)) { + //email mining + //header('Location: index.php?page=erreur&erreur=4'); + header('Location: index.php?page=accueil&envoieMail'); + } elseif ($donneesJoueur['email'] === $_POST['email']) { - $retourligne = "\r\n"; + try { + $resetToken = (!is_null(session_id())) ? str_shuffle(bin2hex(session_id())) : bin2hex(random_bytes(microtime())); + } catch (Exception $e) { + $resetToken = bin2hex(str_shuffle(microtime()) . $e); + } - $to = $donneesJoueur['email']; - $subject = "[".$_Serveur_['General']['name']."]Recuperation de mot de passe"; - $txt = 'Bonjour, '.$donneesJoueur['pseudo'].$retourligne - .$retourligne - .'Suite à une demande de récupération de mail, vous recevez ce message.'.$retourligne - .'Voici votre lien de récupération : '.$lien.$retourligne - .$retourligne - .'Si vous n\'avez pas fait de demande de récupération veuillez ignorer cet e-mail...'.$retourligne - .'Adresse IP de l\'envoyeur de la demande : '.$_SERVER['REMOTE_ADDR'].$retourligne - .'Il est inutile de répondre à ce mail automatique.'.$retourligne - .$retourligne - .'Cordialement, '.$_Serveur_['General']['name'].'.'; + require_once('modele/joueur/maj.class.php'); + $maj = new Maj($donneesJoueur['pseudo'], $bddConnection); + $maj->setNouvellesDonneesResetToken($resetToken); - require('include/phpmailer/MailSender.php'); - if(MailSender::send($_Serveur_, $to, $subject, $txt)) - { - header('Location: index.php?page=accueil&envoieMail'); - } - //else { - // header('Location: index.php?page=erreur&erreur=21'); - //} - } - //else header('Location: index.php?page=erreur&erreur=4'); - } + $url = $_SERVER['SERVER_NAME']; + $ht = $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://'; + + $lien = $ht . $url . '/index.php?&action=passRecoverConfirm&token=' . urlencode($resetToken); + + $retourligne = "\r\n"; + + $to = $donneesJoueur['email']; + $subject = '[' . $_Serveur_['General']['name'] . ']Recuperation de mot de passe'; + $txt = 'Bonjour, ' . $donneesJoueur['pseudo'] . $retourligne + . $retourligne + . 'Suite à une demande de récupération de mail, vous recevez ce message.' . $retourligne + . 'Voici votre lien de récupération : ' . $lien . $retourligne + . $retourligne + . 'Si vous n\'avez pas fait de demande de récupération veuillez ignorer cet e-mail...' . $retourligne + . 'Adresse IP de l\'envoyeur de la demande : ' . $_SERVER['REMOTE_ADDR'] . $retourligne + . 'Ceci est un mail automatique, merci de ne pas y répondre.' . $retourligne + . $retourligne + . 'Cordialement, ' . $_Serveur_['General']['name'] . '.'; + + require('include/phpmailer/MailSender.php'); + if (MailSender::send($_Serveur_, $to, $subject, $txt)) { + header('Location: index.php?page=accueil&envoieMail'); + } + //else { + // header('Location: index.php?page=erreur&erreur=21'); + //} + } + //else header('Location: index.php?page=erreur&erreur=4'); +} else { + header('Location: index.php?page=erreur&erreur=4'); } -else -{ - header('Location: index.php?page=erreur&erreur=4'); -} -?> \ No newline at end of file diff --git a/controleur/joueur/inscription.php b/controleur/joueur/inscription.php index da3271d3..1027a388 100644 --- a/controleur/joueur/inscription.php +++ b/controleur/joueur/inscription.php @@ -11,9 +11,9 @@ $get_Pseudo = $_POST['pseudo']; $get_Mail = $_POST['email']; $_POST['age'] = (int) htmlspecialchars($_POST['age']); - if($_POST["age"] > 9999 || $_POST["age"] < 0) $_POST["age"] = 0; + if($_POST['age'] > 9999 || $_POST['age'] < 0) $_POST['age'] = 0; - $_POST["show_email"] = !empty($_POST['show_email']) ? true : false; + $_POST['show_email'] = !empty($_POST['show_email']) ? true : false; $get_Lien = 'http://'.$_SERVER['HTTP_HOST'].'/index.php?&action=validationMail&pseudo='.urlencode($get_Pseudo).'&cle='.urldecode($get_CleUnique).''; if (filter_var(get_client_ip_env(), FILTER_VALIDATE_IP)){ @@ -69,22 +69,22 @@ $CountEmailBdd = $rep_countEmailBdd->rowCount(); //Gestion UUID - require_once("modele/vote.class.php"); - $UUID = vote::fetch("https://api.mojang.com/users/profiles/minecraft/".$_POST['pseudo']); + require_once('modele/vote.class.php'); + $UUID = vote::fetch('https://api.mojang.com/users/profiles/minecraft/' .$_POST['pseudo']); $obj = json_decode($UUID); $UUID = $obj->{'id'}; //CONVERSION UUIDF - if ($UUID != "INVALIDE" && $UUID != null) { - $UUIDF = substr_replace($UUID, "-", 8, 0); - $UUIDF = substr_replace($UUIDF, "-", 13, 0); - $UUIDF = substr_replace($UUIDF, "-", 18, 0); - $UUIDF = substr_replace($UUIDF, "-", 23, 0); + if ($UUID != 'INVALIDE' && $UUID != null) { + $UUIDF = substr_replace($UUID, '-', 8, 0); + $UUIDF = substr_replace($UUIDF, '-', 13, 0); + $UUIDF = substr_replace($UUIDF, '-', 18, 0); + $UUIDF = substr_replace($UUIDF, '-', 23, 0); }else{ - $UUIDF = "INVALIDE"; + $UUIDF = 'INVALIDE'; } - if ($ApiMailBdd['etatMail'] == "1") { + if ($ApiMailBdd['etatMail'] == '1') { if($CountEmailBdd > $ApiMailBdd['strictMail']) { @@ -94,14 +94,14 @@ require_once('modele/joueur/inscription.class.php'); $souvenir = !empty($_POST['souvenir']) ? true : false; - $userInscription = new Inscription($_POST['pseudo'], $get_Mdp, $_POST['email'], time(), $souvenir, 0, $_POST["age"], $getIp, $_POST["show_email"], $UUID, $UUIDF, $bddConnection); + $userInscription = new Inscription($_POST['pseudo'], $get_Mdp, $_POST['email'], time(), $souvenir, 0, $_POST['age'], $getIp, $_POST['show_email'], $UUID, $UUIDF, $bddConnection); require_once('modele/joueur/ScriptBySprik07/inscriptionCleUnique.class.php'); $userInsertIP = new InsertCleUnique($get_CleUnique, $get_Pseudo, $bddConnection); $destinataire = $get_Mail; - if(!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $destinataire)) + if(!preg_match('#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#', $destinataire)) { $next_line = "\r\n"; } @@ -132,7 +132,7 @@ } else { require_once('modele/joueur/inscription.class.php'); - $userInscription = new Inscription($_POST['pseudo'], $get_Mdp, $_POST['email'], time(), 1, 0, $_POST["age"], $getIp, $_POST["show_email"], $UUID, $UUIDF, $bddConnection); + $userInscription = new Inscription($_POST['pseudo'], $get_Mdp, $_POST['email'], time(), 1, 0, $_POST['age'], $getIp, $_POST['show_email'], $UUID, $UUIDF, $bddConnection); require_once('modele/joueur/ScriptBySprik07/inscriptionValidateMail.class.php'); diff --git a/controleur/joueur/joueur.class.php b/controleur/joueur/joueur.class.php index c36ae93f..92283a70 100644 --- a/controleur/joueur/joueur.class.php +++ b/controleur/joueur/joueur.class.php @@ -57,11 +57,11 @@ private function defineToken($bdd, $id) { for ($i = 0; $i < 16; $i++) { $token .= $characters[rand(0, $charactersLength - 1)]; } - $token .= "-".time(); + $token .= '-' .time(); } while($this->tokenExist($bdd, $token) != null); - $req = $bdd->prepare("UPDATE `cmw_users` SET `token`=:token WHERE id=:id"); - $req->execute(array("id" => $id, "token" => $token)); + $req = $bdd->prepare('UPDATE `cmw_users` SET `token`=:token WHERE id=:id'); + $req->execute(array('id' => $id, 'token' => $token)); setcookie('token', $token, time() + 31536000, '/', null, true,true); } @@ -102,8 +102,8 @@ private function isValidToken($token) { } private function tokenExist($bdd, $token) { - $req = $bdd->prepare("SELECT * FROM cmw_users WHERE token=:token"); - $req->execute(array("token"=>$token)); + $req = $bdd->prepare('SELECT * FROM cmw_users WHERE token=:token'); + $req->execute(array('token' =>$token)); if(!empty($req)) { return $req->fetch(PDO::FETCH_ASSOC); } @@ -124,8 +124,8 @@ public function getUser() } private function pickupUUID($bdd) { - require_once("modele/vote.class.php"); - $UUID = vote::fetch("https://api.mojang.com/users/profiles/minecraft/".$_SESSION['Player']['pseudo']); + require_once('modele/vote.class.php'); + $UUID = vote::fetch('https://api.mojang.com/users/profiles/minecraft/' .$_SESSION['Player']['pseudo']); if ($UUID != NULL) { $obj = json_decode($UUID); @@ -133,14 +133,14 @@ private function pickupUUID($bdd) { } //CONVERSION UUIDF - if ($UUID != "INVALIDE") { - $UUIDF = substr_replace($UUID, "-", 8, 0); - $UUIDF = substr_replace($UUIDF, "-", 13, 0); - $UUIDF = substr_replace($UUIDF, "-", 18, 0); - $UUIDF = substr_replace($UUIDF, "-", 23, 0); + if ($UUID != 'INVALIDE') { + $UUIDF = substr_replace($UUID, '-', 8, 0); + $UUIDF = substr_replace($UUIDF, '-', 13, 0); + $UUIDF = substr_replace($UUIDF, '-', 18, 0); + $UUIDF = substr_replace($UUIDF, '-', 23, 0); }else{ - $UUIDF = "INVALIDE"; - $UUID = "INVALIDE"; + $UUIDF = 'INVALIDE'; + $UUID = 'INVALIDE'; } $requetebdduuid2 = $bdd->prepare('UPDATE cmw_users SET UUID = :uuid, UUIDF = :uuidf WHERE pseudo = :pseudo;'); diff --git a/controleur/joueur/profil/editReseau.php b/controleur/joueur/profil/editReseau.php index 4a96f3b0..452548f8 100644 --- a/controleur/joueur/profil/editReseau.php +++ b/controleur/joueur/profil/editReseau.php @@ -3,13 +3,13 @@ $reseau = array(); -$req = $bddConnection->query("DESCRIBE cmw_reseaux"); +$req = $bddConnection->query('DESCRIBE cmw_reseaux'); $req = $req->fetchAll(PDO::FETCH_ASSOC); $changementsReseaux = array(); foreach($req as $value) { - if($value['Field'] != "id" && $value['Field'] != "idJoueur") { + if($value['Field'] != 'id' && $value['Field'] != 'idJoueur') { if(!empty($_POST[$value['Field']])) { $temp = htmlspecialchars($_POST[$value['Field']]); diff --git a/controleur/joueur/recuperationMailLink.php b/controleur/joueur/recuperationMailLink.php index 5b68fe6a..89c55276 100644 --- a/controleur/joueur/recuperationMailLink.php +++ b/controleur/joueur/recuperationMailLink.php @@ -10,7 +10,7 @@ $donneesJoueur = $ligneReponse->fetch(PDO::FETCH_ASSOC); if(empty($donneesJoueur)) { - //Quand le token est un faux les donneesJoueur sont vides car il n'y a aucune entr�e correspondante dans la BDD + //Quand le token est un faux les donneesJoueur sont vides car il n'y a aucune entrée correspondante dans la BDD header('Location: index.php?page=erreur&status=9'); } else @@ -30,14 +30,14 @@ $retourligne = "\r\n"; $to = $donneesJoueur['email']; - $subject = "[".$_Serveur_['General']['name']."]Confirmation : Recuperation de mot de passe"; + $subject = '[' .$_Serveur_['General']['name']. ']Confirmation : Recuperation de mot de passe'; $txt = 'Bonjour, '.$donneesJoueur['pseudo'].$retourligne .$retourligne .'Vous avez bien confirmé votre demande de changement de mot de passe.'.$retourligne .'Voici votre nouveau mot de passe : '.$mdp.$retourligne .$retourligne .'Merci de changer votre mot de passe pour cela rendez-vous sur votre profil.'.$retourligne - .'Il est inutile de répondre à ce mail automatique.'.$retourligne + .'Ceci est un mail automatique, merci de ne pas y répondre'.$retourligne .$retourligne .'Cordialement, '.$_Serveur_['General']['name'].'.'; diff --git a/controleur/maintenance.php b/controleur/maintenance.php index f2acfa2b..541a7fc1 100644 --- a/controleur/maintenance.php +++ b/controleur/maintenance.php @@ -2,7 +2,7 @@ $req = $bddConnection->query('SELECT * FROM cmw_maintenance'); $donnees = $req->fetch(PDO::FETCH_ASSOC); $maintenance[$i] = $donnees; -if($donnees['dateFin'] != 0 && $donnees['dateFin'] <= time()){ +if($donnees['dateFin'] !== 0 && $donnees['dateFin'] <= time()){ $req = $bddConnection->prepare('UPDATE cmw_maintenance SET maintenanceEtat = :maintenanceEtat WHERE maintenanceId = :maintenanceId'); $req->execute(array('maintenanceEtat' => 0, 'maintenanceId' => $donnees['maintenanceId'])); } diff --git a/controleur/page.php b/controleur/page.php index 34f33221..589b868d 100644 --- a/controleur/page.php +++ b/controleur/page.php @@ -55,16 +55,13 @@ case 'editForum': include('theme/' .$_Serveur_['General']['theme']. '/pages/editForum.php'); break; - - case 'forum_categorie': - include('theme/' .$_Serveur_['General']['theme']. '/pages/forum_categorie.php'); - break; - case 'sous_forum_categorie': + case 'sous_forum_categorie': + case 'forum_categorie': include('theme/' .$_Serveur_['General']['theme']. '/pages/forum_categorie.php'); break; - - case 'post': + + case 'post': include('theme/' .$_Serveur_['General']['theme']. '/pages/post.php'); break; @@ -85,16 +82,14 @@ case 'erreur': include('controleur/erreur.php'); $erreur = (!isset($_GET['erreur'])) ? 1500879564 : (int)$_GET['erreur']; - unset($type); - unset($titre); - unset($contenue); - get_erreur($erreur, $type, $titre, $contenue); + unset($type, $titre, $contenue); + get_erreur($erreur, $type, $titre, $contenue); include('theme/' .$_Serveur_['General']['theme']. '/pages/erreur.php'); break; case 'token': - if(Permission::getInstance()->verifPerm("connect")) + if(Permission::getInstance()->verifPerm('connect')) { if($_Serveur_['Payement']['paypal']) require_once('modele/tokens/paypal.php'); @@ -103,7 +98,7 @@ include('theme/' .$_Serveur_['General']['theme']. '/pages/tokens.php'); } else - header('Location: index.php?page=erreur&erreur=19&type='.urlencode("Erreur d'accès")."&titre=".urlencode("Connexion requise")."&contenue=".urlencode("Vous devez être connecté pour accéder à cette page !")); + header('Location: index.php?page=erreur&erreur=19&type='.urlencode("Erreur d'accès"). '&titre=' .urlencode('Connexion requise'). '&contenue=' .urlencode('Vous devez être connecté pour accéder à cette page !')); break; case 'voter': @@ -133,10 +128,8 @@ } else { include('controleur/erreur.php'); $erreur = (!isset($_GET['erreur'])) ? 1500879564 : (int)$_GET['erreur']; - unset($type); - unset($titre); - unset($contenue); - get_erreur($erreur, $type, $titre, $contenue); + unset($type, $titre, $contenue); + get_erreur($erreur, $type, $titre, $contenue); include('theme/' .$_Serveur_['General']['theme']. '/pages/erreur.php'); } } diff --git a/controleur/paypal/paypalMail.php b/controleur/paypal/paypalMail.php index fff13079..79b0ae82 100644 --- a/controleur/paypal/paypalMail.php +++ b/controleur/paypal/paypalMail.php @@ -2,7 +2,7 @@ $email_paypal = $_Serveur_['Payement']['paypalEmail'];/*email associé au compte paypal du vendeur*/ $item_prix = $offresTableau[$i]['prix']; /*prix du produit*/ -$item_nom = $offresTableau[$i]['nom'];; /*Nom du produit*/ +$item_nom = $offresTableau[$i]['nom']; /*Nom du produit*/ $url_retour = $_Serveur_['General']['url']. '/token/0';/*page de remerciement à créer*/ $url_cancel = $_Serveur_['General']['url']. '/token/1'; /* page d'annulation d'achat SI RETOUR */ diff --git a/controleur/paypal/verif_paypal_curl.php b/controleur/paypal/verif_paypal_curl.php index 1c81249f..b75aab46 100644 --- a/controleur/paypal/verif_paypal_curl.php +++ b/controleur/paypal/verif_paypal_curl.php @@ -20,7 +20,7 @@ } else { $value = urlencode($value); } - $req .= "&".$key."=".$value; + $req .= '&' .$key. '=' .$value; } @@ -38,7 +38,7 @@ curl_close($ch); exit; } -if (strcmp ($res, "VERIFIED") == 0) { +if (strcmp ($res, 'VERIFIED') == 0) { $return = explode(',', $_POST['custom']); @@ -46,7 +46,7 @@ $recupOpffresPaypal->execute(array('id' => $return[1])); $donneesActions = $recupOpffresPaypal->fetch(PDO::FETCH_ASSOC); - if ($_POST['payment_status']=="Completed" AND $_POST['receiver_email']==$_Serveur_['Payement']['paypalEmail'] AND (string)$_POST['mc_gross']==(string)$donneesActions['prix'] AND (string)$_POST['mc_currency']=="EUR") + if ($_POST['payment_status']== 'Completed' AND $_POST['receiver_email']==$_Serveur_['Payement']['paypalEmail'] AND (string)$_POST['mc_gross']==(string)$donneesActions['prix'] AND (string)$_POST['mc_currency']== 'EUR') { require_once('modele/joueur/maj.class.php'); $joueurMaj = new Maj($return[0], $bddConnection); diff --git a/controleur/profil/profil.class.php b/controleur/profil/profil.class.php index 93513e92..3872f422 100644 --- a/controleur/profil/profil.class.php +++ b/controleur/profil/profil.class.php @@ -26,13 +26,13 @@ public function __construct($bddConnection) $this->isOwner = true; } else { - header('Location: index.php?page=erreur&erreur=19&type=Profil&titre='.htmlspecialchars("Utilisateur inexistant !").'&contenue='.htmlspecialchars("L'utilisateur recherché est inexistant ou n'est pas connue de nos bases de données ! :(")); + header('Location: index.php?page=erreur&erreur=19&type=Profil&titre='.htmlspecialchars('Utilisateur inexistant !').'&contenue='.htmlspecialchars("L'utilisateur recherché est inexistant ou n'est pas connu de nos bases de données ! :(")); exit(); } } if(!$this->initPlayer($bddConnection, $pseudo)) { - header('Location: index.php?page=erreur&erreur=19&type=Profil&titre='.htmlspecialchars("Utilisateur inexistant !").'&contenue='.htmlspecialchars("L'utilisateur recherché est inexistant ou n'est pas connue de nos bases de données ! :(")); + header('Location: index.php?page=erreur&erreur=19&type=Profil&titre='.htmlspecialchars('Utilisateur inexistant !').'&contenue='.htmlspecialchars("L'utilisateur recherché est inexistant ou n'est pas connu de nos bases de données ! :(")); exit(); } @@ -64,7 +64,7 @@ public function getReseau() { } private function initPlayer($bddConnection, $pseudo) { - $req = $bddConnection->prepare("SELECT id, pseudo, email, anciennete, newsletter, rang, age, img_extension, show_email, signature FROM cmw_users WHERE pseudo = :pseudo"); + $req = $bddConnection->prepare('SELECT id, pseudo, email, anciennete, newsletter, rang, age, img_extension, show_email, signature FROM cmw_users WHERE pseudo = :pseudo'); $req->execute(array('pseudo' => $pseudo)); $req = $req->fetch(PDO::FETCH_ASSOC); if(empty($req) | $req === false) { @@ -73,16 +73,16 @@ private function initPlayer($bddConnection, $pseudo) { $this->player = $req; - $req = $bddConnection->prepare("SELECT SUM(nbre_votes) AS nbre_votes FROM cmw_votes WHERE pseudo = :pseudo and isOld=0"); - $req->execute(array("pseudo" => $pseudo)); - $nbre = $req->fetch(PDO::FETCH_ASSOC)["nbre_votes"]; + $req = $bddConnection->prepare('SELECT SUM(nbre_votes) AS nbre_votes FROM cmw_votes WHERE pseudo = :pseudo and isOld=0'); + $req->execute(array('pseudo' => $pseudo)); + $nbre = $req->fetch(PDO::FETCH_ASSOC)['nbre_votes']; $this->player['votes'] = (empty($nbre)) ? 0 : $nbre; $req = $bddConnection->prepare(" SELECT count(id) as 'count' FROM cmw_forum_post WHERE pseudo=:ps union all SELECT count(id) as 'count' FROM cmw_forum_answer WHERE pseudo=:ps2"); - $req->execute(array("ps" => $pseudo, "ps2" =>$pseudo)); + $req->execute(array('ps' => $pseudo, 'ps2' =>$pseudo)); $count = 0; $req = $req->fetchAll(PDO::FETCH_ASSOC); foreach($req as $value) { @@ -93,21 +93,21 @@ private function initPlayer($bddConnection, $pseudo) { $this->reseau = array(); - $req = $bddConnection->query("DESCRIBE cmw_reseaux"); + $req = $bddConnection->query('DESCRIBE cmw_reseaux'); $req = $req->fetchAll(PDO::FETCH_ASSOC); foreach($req as $value) { - if($value['Field'] != "id" && $value['Field'] != "idJoueur") { - $this->reseau[$value['Field']] = "?"; + if($value['Field'] != 'id' && $value['Field'] != 'idJoueur') { + $this->reseau[$value['Field']] = '?'; } } - $req = $bddConnection->prepare("SELECT * FROM cmw_reseaux WHERE idJoueur=:id"); - $req->execute(array("id" => $this->player['id'])); + $req = $bddConnection->prepare('SELECT * FROM cmw_reseaux WHERE idJoueur=:id'); + $req->execute(array('id' => $this->player['id'])); $req = $req->fetchAll(PDO::FETCH_ASSOC); foreach($req as $value) { foreach($this->reseau as $key => $value2) { - if($value[$key] == "" | empty($value[$key])) { - $this->reseau[$key] = "?"; + if($value[$key] == '' | empty($value[$key])) { + $this->reseau[$key] = '?'; } else { $this->reseau[$key] = $value[$key]; } diff --git a/controleur/recompenseAuto.php b/controleur/recompenseAuto.php index be72b51d..003eaf3d 100644 --- a/controleur/recompenseAuto.php +++ b/controleur/recompenseAuto.php @@ -6,20 +6,17 @@ $RecompenseAuto = new RecompenseAuto($bddConnection); $topRecompense = $RecompenseAuto->getTopRecompenses(); $dateRec = $RecompenseAuto->getDate(); -if(isset($dateRec) && !empty($dateRec) && $dateRec['valueType'] != 0 && $dateRec['etat'] != 0) -{ - if($dateRec['etat'] <= time()) { +if(isset($dateRec) && !empty($dateRec) && $dateRec['valueType'] !== 0 && $dateRec['etat'] !== 0 && $dateRec['etat'] <= time()) { - require_once('modele/vote.class.php'); - foreach($topRecompense as $key => $value) - { - if(isset($topVoteurs[$key]['pseudo'])) { - $vote = new vote($bddConnection, $topVoteurs[$key]['pseudo'], null); - $vote->stockVote($bddConnection, $value, null); - } - } - $RecompenseAuto->saveNextDate($dateRec, $bddConnection); - $bddConnection->exec('DELETE FROM cmw_votes WHERE isOld=1'); - $bddConnection->exec('UPDATE cmw_votes SET `isOld`=1'); - } + require_once('modele/vote.class.php'); + foreach($topRecompense as $key => $value) + { + if(isset($topVoteurs[$key]['pseudo'])) { + $vote = new vote($bddConnection, $topVoteurs[$key]['pseudo'], null); + $vote->stockVote($bddConnection, $value, null); + } + } + $RecompenseAuto->saveNextDate($dateRec, $bddConnection); + $bddConnection->exec('DELETE FROM cmw_votes WHERE isOld=1'); + $bddConnection->exec('UPDATE cmw_votes SET `isOld`=1'); } \ No newline at end of file diff --git a/controleur/recompenseList.php b/controleur/recompenseList.php index 4a706d62..1a52d87e 100644 --- a/controleur/recompenseList.php +++ b/controleur/recompenseList.php @@ -1,6 +1,6 @@ [DIV] verifPerm("connect")) +if(Permission::getInstance()->verifPerm('connect')) { $req_vote_temp = $bddConnection->prepare('SELECT * FROM cmw_votes_temp WHERE pseudo = :pseudo'); $req_vote_temp->execute(array( @@ -14,8 +14,14 @@ $tojs[$i] = $data['action']; $i++; } - echo json_encode(array_values($tojs)); - } else { - echo json_encode(array_values(array())); - } + try { + echo json_encode(array_values($tojs), JSON_THROW_ON_ERROR); + } catch (JsonException $e) { + } + } else { + try { + echo json_encode(array_values(array()), JSON_THROW_ON_ERROR); + } catch (JsonException $e) { + } + } }?> diff --git a/controleur/recupVotesTemp.php b/controleur/recupVotesTemp.php index f5c09f14..6cafff7c 100644 --- a/controleur/recupVotesTemp.php +++ b/controleur/recupVotesTemp.php @@ -1,5 +1,5 @@ verifPerm("connect")) +if(Permission::getInstance()->verifPerm('connect')) { echo '[DIV]'; diff --git a/controleur/security/security.php b/controleur/security/security.php new file mode 100644 index 00000000..e28bbc42 --- /dev/null +++ b/controleur/security/security.php @@ -0,0 +1,65 @@ + tags + $minifiedSanitized = preg_replace('/[<][^<]*script.*[>].*[<].*[\/].*script*[>]/i',"",$minified); + + $unMinifiedSanitized = str_replace(array($spaceDelimiter, $newLineDelimiter), array(" ", "\n"), $minifiedSanitized); + + //removing inline js events + $unMinifiedSanitized = preg_replace("/([ ]on[a-zA-Z0-9_-]{1,}=\".*\")|([ ]on[a-zA-Z0-9_-]{1,}='.*')|([ ]on[a-zA-Z0-9_-]{1,}=.*[.].*)/", '',$unMinifiedSanitized); + + //removing inline js + $unMinifiedSanitized = preg_replace("/([ ]href.*=\".*javascript:.*\")|([ ]href.*='.*javascript:.*')|([ ]href.*=.*javascript:.*)/i", '',$unMinifiedSanitized); + + + $sanitizedInput[] = $unMinifiedSanitized; + } + + if($returnType === 'string' && count($sanitizedInput) > 0) + { + $returnData = $sanitizedInput[0]; + } + else + { + $returnData = $sanitizedInput; + } + + return $returnData; + } +} diff --git a/controleur/support/ticket.php b/controleur/support/ticket.php index ca49c966..f5f9a635 100644 --- a/controleur/support/ticket.php +++ b/controleur/support/ticket.php @@ -1,22 +1,19 @@ AddTicket($titre, $message, $_Joueur_['pseudo'], $ticketDisplay); - } -} -else -{ - $post = new PostTicket($bddConnection); - $post->AddTicket($titre, $message, $_Joueur_['pseudo'], $ticketDisplay); -} -?> \ No newline at end of file +if ($_Serveur_['support']['visibilite'] !== 'both') { + if (($_Serveur_['support']['visibilite'] === 'prive' && $ticketDisplay != 1) || ($_Serveur_['support']['visibilite'] === 'public' && $ticketDisplay != 0)) { + header('Location: index.php?page=erreur&erreur=17'); + } else { + $post = new PostTicket($bddConnection); + $post->AddTicket($titre, $message, $_Joueur_['pseudo'], $ticketDisplay); + } +} else { + $post = new PostTicket($bddConnection); + $post->AddTicket($titre, $message, $_Joueur_['pseudo'], $ticketDisplay); +} \ No newline at end of file diff --git a/controleur/support/ticketCommentaire.php b/controleur/support/ticketCommentaire.php index b52bae5e..2fb19ede 100644 --- a/controleur/support/ticketCommentaire.php +++ b/controleur/support/ticketCommentaire.php @@ -2,15 +2,15 @@ $id = (int)htmlspecialchars($_POST['id']); require('modele/app/ckeditor.class.php'); $message = ckeditor::verif($_POST['message']); + $message = Security::sanitizeInput($message); require_once('modele/support/postCommentaire.class.php'); $post = new PostCommentaireTicket($bddConnection); $req_infosTicket = $post->GetInfosTicket($id); $infosTicket = $req_infosTicket->fetch(PDO::FETCH_ASSOC); -if($infosTicket['auteur'] == $_Joueur_['pseudo'] AND $infosTicket['ticketDisplay'] == 1 OR Permission::getInstance()->verifPerm('PermsDefault', 'support', 'displayTicket')) { +if(($infosTicket['auteur'] === $_Joueur_['pseudo'] && $infosTicket['ticketDisplay'] === 1) || Permission::getInstance()->verifPerm('PermsDefault', 'support', 'displayTicket')) { $post->AddCommentaireTicket($id, $message, $_Joueur_['pseudo']); } elseif($ticketDisplay == 0) { $post->AddCommentaireTicket($id, $message, $_Joueur_['pseudo']); } -?> \ No newline at end of file diff --git a/controleur/support/ticketCommentaireDelete.php b/controleur/support/ticketCommentaireDelete.php index 5e004334..c79da20c 100644 --- a/controleur/support/ticketCommentaireDelete.php +++ b/controleur/support/ticketCommentaireDelete.php @@ -1,45 +1,45 @@ verifPerm('PermsDefault', 'support', 'deleteMemberComm'))) { +if(isset($_Joueur_) && ($ticketCommentaires[$tickets['id']][$i]['auteur'] === $_Joueur_['pseudo'] || Permission::getInstance()->verifPerm('PermsDefault', 'support', 'deleteMemberComm'))) { $id_ticket = urldecode($_GET['id_ticket']); $id_comm = urldecode($_GET['id_comm']); $auteur = urldecode($_GET['auteur']); $pseudo = $_Joueur_['pseudo']; - if(Permission::getInstance()->verifPerm('PermsDefault', 'support', 'deleteMemberComm')) + if(Permission::getInstance()->verifPerm('PermsDefault', 'support', 'deleteMemberComm')) { $adminMode = true; + } require_once('modele/support/commentaires.class.php'); $commentairesTickets = new CommentairesTickets($bddConnection); $req_ExistTicket = $commentairesTickets->GetExistTicket($id_ticket); - if($adminMode = true) + if($adminMode = true) { $req_ExistCommentaire = $commentairesTickets->GetExistCommentaire($id_comm, $id_ticket, $auteur); - else + } + else { $req_ExistCommentaire = $commentairesTickets->GetExistCommentaire($id_comm, $id_ticket, $pseudo); + } $req_AuteurCommentaire = $commentairesTickets->GetAuteurCommentaire($id_comm, $id_ticket); $get_AuteurCommentaire = $req_AuteurCommentaire->fetch(PDO::FETCH_ASSOC); $AuteurCommentaire = $get_AuteurCommentaire['auteur']; - if($AuteurCommentaire == $_Joueur_['pseudo'] OR Permission::getInstance()->verifPerm('PermsDefault', 'support', 'deleteMemberComm')) + if($AuteurCommentaire === $_Joueur_['pseudo'] || Permission::getInstance()->verifPerm('PermsDefault', 'support', 'deleteMemberComm')) { $ExistCommentaire = $req_ExistCommentaire->rowCount(); $ExistTicket = $req_ExistTicket->rowCount(); - if($ExistTicket == "0") { + if($ExistTicket === '0') { header('Location: index.php?page=support&TicketNotExist'); - } else { - if($ExistCommentaire == "0") { - header('Location: index.php?page=support&CommentaireNotExist'); - } else { - if($AuteurCommentaire != $pseudo OR $adminMode != true) { - header('Location: index.php?page=support&SuppressionImpossible'); - } else { - $commentairesTickets->DeleteCommentaireTicket($id_comm, $id_ticket, $AuteurCommentaire); - header('Location: index.php?page=support&SuppressionCommentaire'); - } - } - } + } else if($ExistCommentaire === '0') { + header('Location: index.php?page=support&CommentaireNotExist'); + } else { + if($AuteurCommentaire !== $pseudo || $adminMode !== true) { + header('Location: index.php?page=support&SuppressionImpossible'); + } else { + $commentairesTickets->DeleteCommentaireTicket($id_comm, $id_ticket, $AuteurCommentaire); + header('Location: index.php?page=support&SuppressionCommentaire'); + } + } } else { header('Location: index.php?page=support&SuppressionCommentaire'); } } else { header('Location: index.php?page=support&NotOnline'); } -?> \ No newline at end of file diff --git a/controleur/support/ticketCommentaireEdit.php b/controleur/support/ticketCommentaireEdit.php index 0584d10d..c8eb8d96 100644 --- a/controleur/support/ticketCommentaireEdit.php +++ b/controleur/support/ticketCommentaireEdit.php @@ -1,41 +1,39 @@ verifPerm("connect")) { +if (Permission::getInstance()->verifPerm('connect')) { $pseudo = $_Joueur_['pseudo']; $id_ticket = urldecode($_GET['id_ticket']); $id_comm = urldecode($_GET['id_comm']); $auteur = urldecode($_GET['auteur']); $message = htmlspecialchars($_POST['editMessage']); - if(Permission::getInstance()->verifPerm('PermsDefault', 'support', 'editMemberComm')) + if (Permission::getInstance()->verifPerm('PermsDefault', 'support', 'editMemberComm')) $adminMode = true; require_once('modele/support/commentaires.class.php'); $commentairesTickets = new CommentairesTickets($bddConnection); $req_ExistTicket = $commentairesTickets->GetExistTicket($id_ticket); - if($adminMode = true) + if ($adminMode = true) { $req_ExistCommentaire = $commentairesTickets->GetExistCommentaire($id_comm, $id_ticket, $auteur); - else + } else { $req_ExistCommentaire = $commentairesTickets->GetExistCommentaire($id_comm, $id_ticket, $pseudo); + } $req_AuteurCommentaire = $commentairesTickets->GetAuteurCommentaire($id_comm, $id_ticket); $get_AuteurCommentaire = $req_AuteurCommentaire->fetch(PDO::FETCH_ASSOC); $AuteurCommentaire = $get_AuteurCommentaire['auteur']; $ExistCommentaire = $req_ExistCommentaire->rowCount(); $ExistTicket = $req_ExistTicket->rowCount(); - if($ExistTicket == "0") { - header('Location: index.php?page=support&TicketNotExist=true'); + if ($ExistTicket === '0') { + header('Location: index.php?page=support&TicketNotExist=true'); + } else if ($ExistCommentaire === '0') { + header('Location: index.php?page=support&CommentaireNotExist=true'); } else { - if($ExistCommentaire == "0") { - header('Location: index.php?page=support&CommentaireNotExist=true'); + if (!$AuteurCommentaire === $pseudo || !$adminMode = true) { + header('Location: index.php?page=support&EditionImpossible=true'); } else { - if(!$AuteurCommentaire == $pseudo OR !$adminMode = true) { - header('Location: index.php?page=support&EditionImpossible=true'); - } else { $commentairesTickets->EditCommentaireTicket($message, $id_comm, $id_ticket, $AuteurCommentaire); header('Location: index.php?page=support&EditCommentaire=true'); } } -} } else { header('Location: index.php?page=support&NotOnline=true'); } -?> \ No newline at end of file diff --git a/controleur/supprInstall.php b/controleur/supprInstall.php index e8424c8a..ef4978aa 100644 --- a/controleur/supprInstall.php +++ b/controleur/supprInstall.php @@ -1,13 +1,15 @@ file['name'], '.'),1)); - if(in_array($extension, $this->types)) + if(in_array($extension, $this->types, true)) $dimension = getimagesize($this->file['tmp_name']); else return 1; diff --git a/controleur/voteCron.php b/controleur/voteCron.php index c3eb22b5..a2dbf97d 100644 --- a/controleur/voteCron.php +++ b/controleur/voteCron.php @@ -1,6 +1,6 @@ $s) @@ -9,15 +9,15 @@ $info = $serveur->GetServeurInfos(); foreach ($info['joueurs'] as $player) { - if(!ExisteJoueur2($player,$bddConnection) && $_Serveur_['VoteCron']['sendtoall'] == 0) + if(!ExisteJoueur2($player,$bddConnection) && $_Serveur_['VoteCron']['sendtoall'] === 0) { continue; } - if($_Serveur_['VoteCron']['sendtoallserv'] == 1) { + if($_Serveur_['VoteCron']['sendtoallserv'] === 1) { $lienInfo = $bddConnection->query('SELECT id, lien, titre, temps FROM cmw_votes_config'); } else { $lienInfo = $bddConnection->prepare('SELECT id, lien, titre, temps FROM cmw_votes_config WHERE serveur = :serveur'); - $lienInfo->execute(array("serveur" => $s['id'])); + $lienInfo->execute(array('serveur' => $s['id'])); } if(!empty($_Serveur_['VoteCron']['entete'])) { @@ -57,18 +57,12 @@ function RecupJoueur($pseudo, $id, $bddConnection) $line->execute(array( 'pseudo' => $pseudo, 'site' => $id )); - $donnees = $line->fetch(PDO::FETCH_ASSOC); - return $donnees; + return $line->fetch(PDO::FETCH_ASSOC); } function Vote($pseudo, $id, $bddConnection, $donnees, $temps) { - if($donnees['date_dernier'] + $temps < time()) - { - return true; - } - else - return false; + return $donnees['date_dernier'] + $temps < time(); } function ExisteJoueur($pseudo, $id, $bddConnection) @@ -80,11 +74,12 @@ function ExisteJoueur($pseudo, $id, $bddConnection) $donnees = $line->fetch(PDO::FETCH_ASSOC); - if(empty($donnees['pseudo'])) - return false; - else - return true; - } + if(empty($donnees['pseudo'])) { + return false; + } + + return true; + } function ExisteJoueur2($pseudo,$bddConnection) { @@ -94,11 +89,12 @@ function ExisteJoueur2($pseudo,$bddConnection) $donnees = $line->fetch(PDO::FETCH_ASSOC); - if(empty($donnees['pseudo'])) - return false; - else - return true; - } + if(empty($donnees['pseudo'])) { + return false; + } + + return true; + } function CreerJoueur($pseudo, $id, $bddConnection) { @@ -117,15 +113,15 @@ function GetTempsRestant($temps, $tempsTotal, $donnees) $tempsM = 0; while($tempsRestant >= 3600) { - $tempsH = $tempsH + 1; - $tempsRestant = $tempsRestant - 3600; + ++$tempsH; + $tempsRestant -= 3600; } while($tempsRestant >= 60) { - $tempsM = $tempsM + 1; - $tempsRestant = $tempsRestant - 60; + ++$tempsM; + $tempsRestant -= 60; } - if($tempsH == 0) + if($tempsH === 0) { return $tempsM.' minute(s)'; } @@ -137,6 +133,4 @@ function GetTempsRestant($temps, $tempsTotal, $donnees) { return $tempsH. 'H' .$tempsM; } - } - -?> \ No newline at end of file + } \ No newline at end of file diff --git a/controleur/voter.php b/controleur/voter.php index 465396b9..464b7430 100644 --- a/controleur/voter.php +++ b/controleur/voter.php @@ -1,57 +1,51 @@ getReponseConnection(); - $playerData = $playerData->fetch(PDO::FETCH_ASSOC); + $id = htmlspecialchars($_POST['id']); + $pseudo = htmlspecialchars($_POST['pseudo']); + require_once('modele/joueur/maj.class.php'); + $joueurMaj = new Maj($pseudo, $bddConnection); + $playerData = $joueurMaj->getReponseConnection(); + $playerData = $playerData->fetch(PDO::FETCH_ASSOC); - require_once('modele/vote.class.php'); + require_once('modele/vote.class.php'); - $vote = new vote($bddConnection, $pseudo, $id); + $vote = new vote($bddConnection, $pseudo, $id); - if($vote->exist()) { - if($vote->canVote()) { - if($vote->hasVote()) { - $vote->confirmVote($bddConnection); - if(isset($_Joueur_) && $_Joueur_['pseudo'] == $pseudo) - { - $vote->stockVote($bddConnection, null, null); - if(!empty($topVoteurs) && isset($topVoteurs)) { + if ($vote->exist()) { + if ($vote->canVote()) { + if ($vote->hasVote()) { + $vote->confirmVote($bddConnection); + if (isset($_Joueur_) && $_Joueur_['pseudo'] === $pseudo) { + $vote->stockVote($bddConnection, null, null); + if (!empty($topVoteurs) && isset($topVoteurs)) { - foreach($topVoteurs as $value) { - if($value['pseudo'] == $pseudo) { - $verif = $RecompenseAuto->verifRecVotes($value['nbre_votes']+1); - if(!empty($verif)) - { - foreach($verif as $action) - { - $vote->stockVote($bddConnection, $action, null); - } - } - break; - } - } - } - } else { - $vote->giveRecompense($bddConnection, null); - } - echo 'success'; - } else { - echo 'erreur-1'; - } - } else { - echo 'erreur-2'; - } - } else { - echo 'erreur-3'; - } + foreach ($topVoteurs as $value) { + if ($value['pseudo'] === $pseudo) { + $verif = $RecompenseAuto->verifRecVotes($value['nbre_votes'] + 1); + if (!empty($verif)) { + foreach ($verif as $action) { + $vote->stockVote($bddConnection, $action, null); + } + } + break; + } + } + } + } else { + $vote->giveRecompense($bddConnection, null); + } + echo 'success'; + } else { + echo 'erreur-1'; + } + } else { + echo 'erreur-2'; + } + } else { + echo 'erreur-3'; + } } else { - echo 'erreur-4'; + echo 'erreur-4'; } - -?> diff --git a/include/MinecraftPing/MinecraftPing.class.php b/include/MinecraftPing/MinecraftPing.class.php index e59ace02..3c1e5a31 100644 --- a/include/MinecraftPing/MinecraftPing.class.php +++ b/include/MinecraftPing/MinecraftPing.class.php @@ -90,7 +90,7 @@ private function Ping($socket, $timeout, $address, $port) { fgetc($socket); $length = $this->readVarInt($socket); - $data = ""; + $data = ''; do { if(microtime(true) - $timestart > $timeout) { throw new Exception('[MinecraftPing] Time out'); diff --git a/include/contributeurs.json b/include/contributeurs.json index e4c1bc63..90aab235 100644 --- a/include/contributeurs.json +++ b/include/contributeurs.json @@ -1,4 +1,19 @@ { + "1.9-LTS": { + "Développeur": [ + "Teyir", + "CapDRAKE", + "Noxeg", + "Z0mblard", + "vassilidev", + "Florentlife" + ], + "Support": [ + "Emilien52", + "CapDRAKE", + "X3R0" + ] + }, "1.8.3": { "Développeur": [ "guedesite", @@ -11,7 +26,7 @@ "Emilien52", "CapDRAKE" ] - }, + }, "1.8.2": { "Développeur": [ "LoGuardiaN", @@ -56,7 +71,7 @@ ], "Autres":[ "PandaxCSGO", - "X3RO", + "X3R0", "RedBoard", "AnackKel" ] diff --git a/include/note_dev.php b/include/note_dev.php deleted file mode 100644 index 562a45cb..00000000 --- a/include/note_dev.php +++ /dev/null @@ -1,18 +0,0 @@ - - -Contributeurs: - -1.6.x: Lucerno, DogeMVP, SawnFx, Cersus et TheTueurCity - -1.7.0: Florentlife, Oxykis et Ethanox - -1.7.1: Florentlife et Emilien52 - -1.7.2: Ethanox, PinglsDzn, Emilien52, Mario359, Guedesite et Florentlife - -1.7.3: Emilien52, Guedesite, BadiiiiX et Florentlife - -1.8.0: Guedesite, PinglsDzn, Emilien52, BadiiiX, Pandax et Florentlife diff --git a/include/purecaptcha/purecaptcha.php b/include/purecaptcha/purecaptcha.php index 6d0a12d7..717f567f 100644 --- a/include/purecaptcha/purecaptcha.php +++ b/include/purecaptcha/purecaptcha.php @@ -8,8 +8,8 @@ class PureCaptcha { protected $charWidth=6; protected $charHeight=13; - protected $chars="2346789ABDHKLMNPRTWXYZ"; //do not modify! - protected $ascii="eNrtW0FuwyAQ/NIANjbOa3LMG6r8vWrrSonkkt0xDWDvIcGXEYHM7O6s4b + protected $chars= '2346789ABDHKLMNPRTWXYZ'; //do not modify! + protected $ascii= 'eNrtW0FuwyAQ/NIANjbOa3LMG6r8vWrrSonkkt0xDWDvIcGXEYHM7O6s4b p4v3zcFlyuiwu/T/Hn4ba4h49fx7COwzqO3+P964tF+i0kViRWJLaQ4RGJF3PiETnQyFGzzidklC A31znlkMjt7Zzb2+y/kjQ79MwEbEH/+kOftsjxLHKehK7cbYT/qu0KNBcHmosjzcVI63yi1znTyE RHCAd6oZX479uL/yIuBho5SFgs5z8kc0YaOUm4iJfxXxVbEr23Djy0Dv+D1T/iXzvSyKjhop7/r+ @@ -18,7 +18,7 @@ class PureCaptcha z7L7QnAFG+7NgAgDYAnRngHgog50wAXAcU9BtgaBqDEz3nTK/zVALw/QiAbwHxFvg/X4G53QJwuw VgR4CCZYBc9wh0BpD3gKDuAVkJVE4Aw5EEgGICcF0JgG+C4vQCGI/QBTqWCT5cCSSDVhJANAH0Kw AzwfsFMB3xHBzEJliFLHwPoMY5OBEy0cj8OWi0mAFmM8G1D0LwHgC0CYbaBIvaBB1mgHRuAajOEB - W+CcNnANGcM408UwnkYQLoTwBWApUTgN0F7vAuDNRdILsLvymA+ycgmwSd"; + W+CcNnANGcM408UwnkYQLoTwBWApUTgN0F7vAuDNRdILsLvymA+ycgmwSd'; function __construct() { $this->ascii=unserialize(gzuncompress(base64_decode( @@ -41,7 +41,7 @@ function __construct() protected function randomText($length=4) { - $res=""; + $res= ''; for ($i=0;$i<$length;++$i) $res.=$this->chars[mt_rand(0,strlen($this->chars)-1)]; return $res; @@ -86,7 +86,7 @@ protected function textBitmap($text,$spacing=2) */ protected function displayBitmap($bitmap) { - header("Content-Type: image/bmp"); + header('Content-Type: image/bmp'); echo $this->bitmap2bmp($bitmap); } /** @@ -107,9 +107,9 @@ protected function bitmap2bmp($bitmap) $rowSize=floor(($width+31)/32)*4; $size=$rowSize*$height + 62; //62 metadata size #bitmap header - $data= "BM"; //header + $data= 'BM'; //header $data.= (pack('V',$size)); //bitmap size ,4 bytes unsigned little endian - $data.= "RRRR"; + $data.= 'RRRR'; $data.= (pack('V',14+40+8)); //bitmap data start offset , //4 bytes unsigned little endian, 14 forced, 40 header, 8 colors @@ -153,12 +153,12 @@ protected function bitmap2bytemap($bitmap) { for ($i=0;$i<$width/8;++$i) { - $bitstring=""; + $bitstring= ''; for ($k=0;$k<8;++$k) if (isset($bitmap[$j][$i*8+$k])) $bitstring.=$bitmap[$j][$i*8+$k]; else - $bitstring.="0"; + $bitstring.= '0'; $bytemap[$j][]=bindec($bitstring); } } diff --git a/include/version.php b/include/version.php index 277066bb..c793eca0 100644 --- a/include/version.php +++ b/include/version.php @@ -1,4 +1,4 @@ ".$versioncms."
"; -?> +$versioncms = '1.9 - LTS'; +$displayversioncms = "".$versioncms. ''; +?> \ No newline at end of file diff --git a/include/version_distant.php b/include/version_distant.php index 19ee611d..e05d203e 100644 --- a/include/version_distant.php +++ b/include/version_distant.php @@ -1,3 +1,2 @@ \ No newline at end of file +$versioncmsrelease = '2.0'; \ No newline at end of file diff --git a/index.php b/index.php index e9944f2c..c7ccb11f 100644 --- a/index.php +++ b/index.php @@ -1,33 +1,36 @@ exec("SET SESSION sql_mode = ''"); require_once('app/plugins/installSQL.php'); } else if ($testPDO == 3) { $erreur['type'] = 'pass'; @@ -40,7 +45,8 @@ } if (isset($_GET['action']) and $_GET['action'] == 'compte' and isset($_POST['pseudo']) and isset($_POST['mdp']) and isset($_POST['email'])) { $sql = getPDO($_Serveur_['DataBase']['dbAdress'], $_Serveur_['DataBase']['dbName'], $_Serveur_['DataBase']['dbUser'], $_Serveur_['DataBase']['dbPassword'], $_Serveur_['DataBase']['dbPort']); - + $sql->exec("SET SESSION sql_mode = ''"); + require_once('app/plugins/compteAdmin.php'); $compte = new CompteAdmin($sql, $_POST['pseudo'], $_POST['mdp'], $_POST['email']); //Création du compte admin diff --git a/installation/app/miscellaneous/install.sql b/installation/app/miscellaneous/install.sql index 41798834..a37a1d67 100644 --- a/installation/app/miscellaneous/install.sql +++ b/installation/app/miscellaneous/install.sql @@ -73,6 +73,7 @@ CREATE TABLE IF NOT EXISTS `cmw_boutique_offres` ( `ordre` int(11), `evo` text NULL, `max_vente` int(11), + `images` text NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; @@ -346,7 +347,7 @@ CREATE TABLE IF NOT EXISTS `cmw_support` ( `titre` varchar(100), `message` text, `date_post` datetime, - `etat` int(1), + `etat` int(1) NULL DEFAULT '0', `ticketDisplay` int(1), PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; @@ -397,7 +398,7 @@ CREATE TABLE IF NOT EXISTS `cmw_users` ( `rang` int(2) DEFAULT 1, `tokens` int(11) default 0, `age` int(11), - `resettoken` varchar(32), + `resettoken` varchar(500), `ip` varchar(40), `CleUnique` varchar(32), `ValidationMail` int(1), diff --git a/installation/app/plugins/chmod.php b/installation/app/plugins/chmod.php index df417c0e..2e42d1ae 100644 --- a/installation/app/plugins/chmod.php +++ b/installation/app/plugins/chmod.php @@ -1,5 +1,10 @@ GetTableau(); + $err = null; $errDossier = null; $errInstall = null; @@ -84,12 +89,14 @@ function VerifieChmod() { if ($err == null and $errDossier == null and $errInstall == null) return null; + else if ($_Serveur_['General']['Windows']) + return null; else return $return; } -function DrawChmod($return) { - +function DrawChmod($return): void +{ if ($return['chmodDossier'] != null or $return['chmod'] != null or $return['chmodInstall'] != null) { ?>
@@ -113,13 +120,13 @@ function DrawChmod($return) { - - - - 777 - - + + + + 777 + + - + 755 @@ -149,6 +156,10 @@ function DrawChmod($return) { modifier les chmod automatiquement Relancer la verification
+ + WINDOWS - FORCER INSTALLATION
+
diff --git a/installation/app/plugins/extension.php b/installation/app/plugins/extension.php index 0912a3b5..e9895e99 100644 --- a/installation/app/plugins/extension.php +++ b/installation/app/plugins/extension.php @@ -11,9 +11,9 @@ function VerifieExtension() { $i2++; } } - if(PHP_VERSION_ID < 50400) + if(PHP_VERSION_ID < 70400) { - $erreur[$i2]="Version de PHP obsolète requis 7.0 minimum, vous avez : ".phpversion(); + $erreur[$i2]="Version de PHP obsolète, requis 7.4 au minimum, vous avez : ".phpversion(); } if(empty($erreur)){ @@ -75,4 +75,4 @@ function AfficherExtension($retour) - \ No newline at end of file + diff --git a/installation/app/plugins/installInfos.php b/installation/app/plugins/installInfos.php index d5885f90..a59930fa 100644 --- a/installation/app/plugins/installInfos.php +++ b/installation/app/plugins/installInfos.php @@ -1,4 +1,6 @@ GetTableau(); @@ -8,6 +10,7 @@ $config['General']['ipTexte'] = $_POST['ipTexte']; $config['General']['ip'] = $_POST['ip']; $config['General']['port'] = $_POST['port']; +$config['General']['Windows'] = isWindows(); $config = new Ecrire('../modele/config/config.yml', $config); diff --git a/installation/app/plugins/utils.php b/installation/app/plugins/utils.php new file mode 100644 index 00000000..797d1fbb --- /dev/null +++ b/installation/app/plugins/utils.php @@ -0,0 +1,16 @@ +GetTableau(); + + $config['General']['Windows'] = isWindows(); + + new Ecrire('../modele/config/config.yml', $config); +} \ No newline at end of file diff --git a/installation/app/ressources/js/main.js b/installation/app/ressources/js/main.js index 594c229a..dcab35cd 100644 --- a/installation/app/ressources/js/main.js +++ b/installation/app/ressources/js/main.js @@ -1,5 +1,12 @@ function ajax_chmod() { - var url = 'index.php?action=setchmod'; + const url = 'index.php?action=setchmod'; + $.post(url, function (data) { + window.location = "index.php" + }); +} + +function windows_force_install() { + const url = 'index.php?action=windowsforceinstall'; $.post(url, function (data) { window.location = "index.php" }); diff --git a/installation/app/views/modalHtaccess.php b/installation/app/views/modalHtaccess.php index 3777612c..b250d157 100644 --- a/installation/app/views/modalHtaccess.php +++ b/installation/app/views/modalHtaccess.php @@ -7,7 +7,7 @@
Attention : Vous pouvez vous exposez à des failles critiques !
- Il semble que votre site soit susceptible de provoquer des failles htaccess rendant plusieurs informations sensibles visibles à la vue de tous ! Le test peut cependant être un faux positif, pour en être sur dirigez-vous vers notre Discord ou sur notre forum pour vous aider. Sinon vous pouvez essayer par vous même en allant sur ce lien, si vous atterrissez sur une demande d'authentification, alors c'est un faux positif, si vous voyez du texte c'est que votre site est réellement exposé à des failles critiques. + Il semble que votre site soit susceptible de provoquer des failles htaccess rendant plusieurs informations sensibles visibles à la vue de tous ! Le test peut cependant être un faux positif, pour en être sur dirigez-vous vers notre Discord ou sur notre forum obtenir de l'aide. Sinon vous pouvez essayer par vous même en allant sur ce lien, si vous atterrissez sur une demande d'authentification, alors c'est un faux positif, si vous voyez du texte c'est que votre site est réellement exposé à des failles critiques.

diff --git a/installation/app/views/modalSQL.php b/installation/app/views/modalSQL.php index 8df7347f..1da315f6 100644 --- a/installation/app/views/modalSQL.php +++ b/installation/app/views/modalSQL.php @@ -5,7 +5,7 @@

- Il semble que vous essayez d'installer le CMS sur une base de donnée qui n'est pas vide et qui contient des données du CMS ! Cela peut entrainer des conflits majeurs et fausser l'installation ! + Il semble que vous essayez d'installer le CMS sur une base de données qui n'est pas vide et qui contient des données du CMS ! Cela peut entrainer des conflits majeurs et fausser l'installation !

@@ -17,7 +17,7 @@ Forcer l'installation
- Vider la base et forcer l'installation (Recommandé) [Irréversible] + Vider la base de donnéees puis forcer l'installation (Recommandé) [Irréversible]
@@ -26,4 +26,4 @@
- \ No newline at end of file + diff --git a/installation/app/views/site.php b/installation/app/views/site.php index 7ca4a4e5..4fb7c1da 100644 --- a/installation/app/views/site.php +++ b/installation/app/views/site.php @@ -11,7 +11,7 @@
- +
diff --git a/installation/index.php b/installation/index.php index 9bec8eef..00908bd8 100644 --- a/installation/index.php +++ b/installation/index.php @@ -2,6 +2,7 @@ error_reporting(0); ini_set('display_errors', 1); require_once('../modele/config/yml.class.php'); +require_once "app/plugins/utils.php"; $configLecture = new Lire('../modele/config/config.yml'); $_Serveur_ = $configLecture->GetTableau(); @@ -43,7 +44,7 @@