Skip to content
Snippets Groups Projects
Commit 572d59e6 authored by Sofiane Lasri's avatar Sofiane Lasri
Browse files

17H50 - Pas fini écran de chargement

parent e35c27c4
No related branches found
No related tags found
No related merge requests found
<?php <?php
// Fichier de test // Fichier de test
$deTest['type'] = 1; $deTest['width'] = 1920;
$deTest['fldr'] = ""; $deTest['height'] = 1080;
$deTest['sort_by'] = "name";
$deTest['ascending'] = 1;
echo urlencode(json_encode($deTest)); echo json_encode($deTest);
\ No newline at end of file \ No newline at end of file
<!-- Contenu --> <!-- Contenu -->
<div class="page-content d-flex flex-column" leftSidebar="240" rightSidebar="0" style="height:calc(100% - 60px);"> <div class="page-content d-flex flex-column" leftSidebar="240" rightSidebar="0" style="height:calc(100% - 60px);">
<h3><?=translate("loadingscreens")?></h3> <h3><?=translate("loadingscreens")?></h3>
<p>Voici la liste des écrans de chargements.</p> <p><?=translate("loadingscreens_listPhrase")?></p>
<div class="d-flex flex-column" id="page-content">
<div class="d-flex flex-wrap">
<div class="ld-card border rounded mx-1 my-1" style="background-image: url('https://sofianelasri.mtxserv.com/vbcms-content/uploads/stayonline.jpg');">
<div class="ld-card-content p-2">
<span><strong>Un super loading screen</strong></span>
<a href="#" class="btn btn-sm btn-brown float-right">Modifier</a>
</div>
</div>
<div class="ld-card border rounded mx-1 my-1" style="background-image: url('https://sofianelasri.mtxserv.com/vbcms-content/uploads/doubleload.jpg');">
<div class="ld-card-content p-2">
<span><strong>Un super loading screen</strong></span>
<a href="#" class="btn btn-sm btn-brown float-right">Modifier</a>
</div>
</div>
<div class="ld-card border rounded mx-1 my-1" style="background-image: url('https://sofianelasri.mtxserv.com/vbcms-content/uploads/themeTopImage.jpg');">
<div class="ld-card-content p-2">
<span><strong>Un super loading screen</strong></span>
<a href="#" class="btn btn-sm btn-brown float-right">Modifier</a>
</div>
</div>
<div class="ld-card border rounded mx-1 my-1" style="background-image: url('https://sofianelasri.mtxserv.com/vbcms-content/uploads/scp2.jpg');">
<div class="ld-card-content p-2">
<span><strong>Un super loading screen</strong></span>
<a href="#" class="btn btn-sm btn-brown float-right">Modifier</a>
</div>
</div>
</div>
</div>
<script type="text/javascript"> <script type="text/javascript">
......
<?php
if(isset($_GET['id'])){
$loadingScreenIdentifier = $_GET['id'];
} else {
$loadingScreenIdentifier = "temp-".$_SESSION['user_id'];
}
?>
<!-- Contenu -->
<div class="page-content d-flex flex-column" leftSidebar="240" rightSidebar="0" style="height:calc(100% - 60px); padding: 0!important;">
<div style="padding: 30px 50px; background-color:#3e3e3e;">
<div class="d-flex text-white">
<div style="margin-right: 50px;">
<h4><?=translate("modifyProperties")?></h4>
<div class="form-group">
<label><?=translate("theme")?></label>
<select class="form-control form-control-sm" id="themeSelection">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
</div>
<div class="form-group">
<label><?=translate("previewResolution")?></label>
<select class="form-control form-control-sm" id="previewResolution">
<option value='{"width":2560,"height":1440}'>2560 x 1440</option>
<option value='{"width":1920,"height":1080}' selected>1920 x 1080</option>
<option value='{"width":1366,"height":768}'>1366 x 768</option>
<option value='{"width":1280,"height":720}'>1280 x 720</option>
</select>
</div>
</div>
<div class="flex-grow-1 ">
<h4>Prévisualisation</h4>
<div id="loadingScreenPreview" class="rounded" style="background-image: url('https://api.apiflash.com/v1/urltoimage?access_key=65e037cb81b44087ba537b58dd19e4ff&format=jpeg&quality=80&response_type=image&url=<?php echo urlencode($websiteUrl."loadingscreen/".$loadingScreenIdentifier."?preview"); ?>&width=1920&height=1080');"></div>
</div>
</div>
</div>
<div style="padding: 30px 50px;">
<h3><?=translate("loadingscreens_create")?></h3>
<p><?=translate("loadingscreens_createPhrase")?></p>
<div class="d-flex flex-column" id="page-content">
<div class="d-flex flex-wrap">
<div class="ld-card border rounded mx-1 my-1" style="background-image: url('https://sofianelasri.mtxserv.com/vbcms-content/uploads/stayonline.jpg');">
<div class="ld-card-content p-2">
<span><strong>Un super loading screen</strong></span>
<a href="#" class="btn btn-sm btn-brown float-right">Modifier</a>
</div>
</div>
<div class="ld-card border rounded mx-1 my-1" style="background-image: url('https://sofianelasri.mtxserv.com/vbcms-content/uploads/doubleload.jpg');">
<div class="ld-card-content p-2">
<span><strong>Un super loading screen</strong></span>
<a href="#" class="btn btn-sm btn-brown float-right">Modifier</a>
</div>
</div>
<div class="ld-card border rounded mx-1 my-1" style="background-image: url('https://sofianelasri.mtxserv.com/vbcms-content/uploads/themeTopImage.jpg');">
<div class="ld-card-content p-2">
<span><strong>Un super loading screen</strong></span>
<a href="#" class="btn btn-sm btn-brown float-right">Modifier</a>
</div>
</div>
<div class="ld-card border rounded mx-1 my-1" style="background-image: url('https://sofianelasri.mtxserv.com/vbcms-content/uploads/scp2.jpg');">
<div class="ld-card-content p-2">
<span><strong>Un super loading screen</strong></span>
<a href="#" class="btn btn-sm btn-brown float-right">Modifier</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$( document ).ready(function() {
resizePreview();
});
$( window ).resize(function() {
resizePreview();
});
function resizePreview(){
$('#loadingScreenPreview').css("height",$('#loadingScreenPreview').width() / (16/9));
}
document.getElementById('previewResolution').addEventListener('change', function (evt) {
let newRes = JSON.parse(this.value);
let previousUrl = $("#loadingScreenPreview").css("background-image");
let previewUrl = new URL(previousUrl.substring(5, previousUrl.length - 2));
previewUrl.searchParams.set('width', newRes.width);
previewUrl.searchParams.set('height', newRes.height);
$("#loadingScreenPreview").css("background-image", 'url("'+previewUrl.toString()+'")');
});
</script>
</div>
\ No newline at end of file
.ld-card{
position: relative;
width: 27em;
height: 15em;
background-color: #dadada;
overflow: hidden;
background-size: cover;
}
.ld-card-content{
position: absolute;
width: 100%;
bottom: 0;
background: linear-gradient(0deg, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0.75));
color: white;
}
#loadingScreenPreview{
position: relative;
width: 100%;
background-size: cover;
}
\ No newline at end of file
...@@ -2,7 +2,15 @@ ...@@ -2,7 +2,15 @@
// Traduction gestionnaire de fichiers // Traduction gestionnaire de fichiers
$translation["loadingscreens"] = "Écrans de chargements"; $translation["loadingscreens"] = "Écrans de chargements";
$translation["loadingscreens_browse"] = "Liste des loading screens"; $translation["loadingscreens_list"] = "Liste des écrans de chargements";
$translation["loadingscreens_create"] = "Créer un écran de chargement";
$translation["loadingscreens_listPhrase"] = "Voici la liste des écrans de chargements actuellment créés.";
$translation["loadingscreens_createPhrase"] = "Ici tu peux créer un écran de chargement comme bon te semble! :D";
$translation["previewResolution"] = "Résolution de la prévisualisation";
$translation["sample"] = "sample";
$translation["sample"] = "sample";
$translation["sample"] = "sample";
$translation["sample"] = "sample";
$translation["sample"] = "sample"; $translation["sample"] = "sample";
$translation["sample"] = "sample"; $translation["sample"] = "sample";
$translation["sample"] = "sample"; $translation["sample"] = "sample";
......
<?php <?php
function enable($name, $path, $adminAccess, $clientAccess){ function enable($name, $path, $adminAccess, $clientAccess){
global $bdd;
adminNavbarAddCategory($name, "loadingscreens"); adminNavbarAddCategory($name, "loadingscreens");
adminNavbarAddItem($name, "fas fa-list", "loadingscreens_browse", "/browse"); adminNavbarAddItem($name, "fas fa-plus-circle", "create", "/create");
} adminNavbarAddItem($name, "fas fa-list", "list", "/browse");
adminNavbarAddItem($name, "fas fa-brush", "themes", "/themes");
function disable(){ // On va créer les tables
if(!tableExist("vbcmsLoadingScreens_list")) $bdd->query("CREATE TABLE `vbcmsLoadingScreens_list` ( `identifier` VARCHAR(128) NOT NULL , `visibility` INT NOT NULL , `sequenceId` INT NULL DEFAULT NULL , PRIMARY KEY (`identifier`)) ENGINE = InnoDB;");
if(!tableExist("vbcmsLoadingScreens_sequences")) $bdd->query("CREATE TABLE `vbcmsLoadingScreens_sequences` ( `id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;");
if(!tableExist("vbcmsLoadingScreens_sequencesData")) $bdd->query("CREATE TABLE `vbcmsLoadingScreens_sequencesData` ( `sequenceId` INT NOT NULL , `dataId` INT NOT NULL , `type` VARCHAR(128) NOT NULL , `data` JSON NOT NULL , PRIMARY KEY (`sequenceId`, `dataId`)) ENGINE = InnoDB;");
if(!tableExist("vbcmsLoadingScreens_tempSequencesData")) $bdd->query("CREATE TABLE `vbcmsLoadingScreens_tempSequencesData` ( `sequenceId` INT NOT NULL , `dataId` INT NOT NULL , `type` VARCHAR(128) NOT NULL , `data` JSON NOT NULL , `date` DATETIME NOT NULL , PRIMARY KEY (`sequenceId`, `dataId`)) ENGINE = InnoDB;");
if(!tableExist("vbcmsLoadingScreens_clientsData")) $bdd->query("CREATE TABLE `vbcmsLoadingScreens_clientsData` ( `identifier` VARCHAR(64) NOT NULL , `stringId` VARCHAR(32) NOT NULL , `data` JSON NOT NULL , PRIMARY KEY (`identifier`)) ENGINE = InnoDB;");
}
function deleteData(){
global $bdd;
$bdd->query('DROP TABLE vbcmsLoadingScreens_list');
$bdd->query('DROP TABLE vbcmsLoadingScreens_sequences');
$bdd->query('DROP TABLE vbcmsLoadingScreens_sequencesData');
$bdd->query('DROP TABLE vbcmsLoadingScreens_tempSequencesData');
$bdd->query('DROP TABLE vbcmsLoadingScreens_clientsData');
} }
function getSettingsHTML($params){ function getSettingsHTML($params){
......
<?php <?php
if($type =="admin"){ if($type =="admin"){
$pageDepedencies = '<link href="'.$GLOBALS['websiteUrl'].'vbcms-content/extensions/'.$this->path.'/assets/css/admin.css" rel="stylesheet">';
switch($parameters[1]){ switch($parameters[1]){
case 'browse': case 'browse':
if(verifyUserPermission($_SESSION['user_id'], $this->name, 'access-browse')){ if(verifyUserPermission($_SESSION['user_id'], $this->name, 'access-browse')){
$pageToInclude = $extensionFullPath."/admin/browse.php"; $pageToInclude = $extensionFullPath."/admin/browse.php";
extensionCreatePage($type, 0, $pageToInclude, translate("gallery_filemanager"), "", ""); extensionCreatePage($type, 0, $pageToInclude, translate("loadingscreens_list"), "", $pageDepedencies);
} }
break; break;
case 'create': case 'create':
if(verifyUserPermission($_SESSION['user_id'], $this->name, 'access-browse')){
$pageToInclude = $extensionFullPath."/admin/create.php";
extensionCreatePage($type, 0, $pageToInclude, translate("loadingscreens_create"), "", $pageDepedencies);
}
break; break;
} }
} }
\ No newline at end of file
...@@ -39,6 +39,7 @@ $translation["localAccountCreation"] = "Création d'un compte local"; ...@@ -39,6 +39,7 @@ $translation["localAccountCreation"] = "Création d'un compte local";
$translation["username"] = "Nom d'utilisateur"; $translation["username"] = "Nom d'utilisateur";
$translation["password"] = "Mot de passe"; $translation["password"] = "Mot de passe";
$translation["create"] = "Créer"; $translation["create"] = "Créer";
$translation["list"] = "Liste";
$translation["repeatPassword"] = "Re-écris le mot de passe"; $translation["repeatPassword"] = "Re-écris le mot de passe";
$translation["users"] = "Utilisateurs"; $translation["users"] = "Utilisateurs";
$translation["user"] = "Utilisateur"; $translation["user"] = "Utilisateur";
...@@ -47,6 +48,14 @@ $translation["admins"] = "Administrateurs"; ...@@ -47,6 +48,14 @@ $translation["admins"] = "Administrateurs";
$translation["filemanager"] = "Gestionnaire de fichiers"; $translation["filemanager"] = "Gestionnaire de fichiers";
$translation["usernameEmail"] = "Nom d'utilisateur / Email"; $translation["usernameEmail"] = "Nom d'utilisateur / Email";
$translation["invite"] = "Inviter"; $translation["invite"] = "Inviter";
$translation["themes"] = "Thèmes";
$translation["theme"] = "Thème";
$translation["sample"] = "sample";
$translation["sample"] = "sample";
$translation["sample"] = "sample";
$translation["sample"] = "sample";
$translation["sample"] = "sample";
$translation["sample"] = "sample";
$translation["sample"] = "sample"; $translation["sample"] = "sample";
$translation["sample"] = "sample"; $translation["sample"] = "sample";
$translation["sample"] = "sample"; $translation["sample"] = "sample";
...@@ -89,6 +98,14 @@ $translation["inviteUser"] = "Inviter un utilisateur"; ...@@ -89,6 +98,14 @@ $translation["inviteUser"] = "Inviter un utilisateur";
$translation["sendInvite"] = "Envoyer l'invitation"; $translation["sendInvite"] = "Envoyer l'invitation";
$translation["toInviteAnUserYouMustSpecifyHisEmailOrUsername"] = "Pour inviter un utilisateur, tu dois connaitre son adresse email ou son nom d'utilisateur."; $translation["toInviteAnUserYouMustSpecifyHisEmailOrUsername"] = "Pour inviter un utilisateur, tu dois connaitre son adresse email ou son nom d'utilisateur.";
$translation["inviteSent"] = "Invitation envoyée!"; $translation["inviteSent"] = "Invitation envoyée!";
$translation["modifyProperties"] = "Modifier les propriétés";
$translation["sample"] = "sample";
$translation["sample"] = "sample";
$translation["sample"] = "sample";
$translation["sample"] = "sample";
$translation["sample"] = "sample";
$translation["sample"] = "sample";
$translation["sample"] = "sample";
$translation["sample"] = "sample"; $translation["sample"] = "sample";
$translation["sample"] = "sample"; $translation["sample"] = "sample";
$translation["sample"] = "sample"; $translation["sample"] = "sample";
......
...@@ -378,6 +378,11 @@ class module { ...@@ -378,6 +378,11 @@ class module {
$query = $bdd->prepare("DELETE FROM `vbcms-adminNavbar` WHERE id=? OR parentId=?"); $query = $bdd->prepare("DELETE FROM `vbcms-adminNavbar` WHERE id=? OR parentId=?");
$query->execute([$parentId['id'],$parentId['id']]); $query->execute([$parentId['id'],$parentId['id']]);
} }
if($deleteData){ // L'utilisateur a demandé la suppression des données, on va alors demander à l'extension de le faire
include $GLOBALS['vbcmsRootPath'].'/vbcms-content/extensions/'.$this->path."/init.php";
deleteData();
}
} }
function call(array $parameters, $type){ function call(array $parameters, $type){
......
...@@ -9,5 +9,5 @@ try { ...@@ -9,5 +9,5 @@ try {
} }
if (!isset($bddError)){ if (!isset($bddError)){
$bdd = new PDO("mysql:host=$bddHost;dbname=$bddName", $bddUser, $bddMdp); $bdd = new PDO("mysql:host=$bddHost;dbname=$bddName", $bddUser, $bddMdp);
$bdd->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING ); $bdd->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING ); // Debug
} }
\ No newline at end of file
...@@ -153,6 +153,16 @@ function getRandomString($length) { ...@@ -153,6 +153,16 @@ function getRandomString($length) {
return $randomString; return $randomString;
} }
function tableExist($tableName){
global $bdd;
try{
$response = $bdd->query("SELECT 1 FROM $tableName LIMIT 1"); // Aîe les injections SQL, ça va qu'ici c'est interne
} catch(Exception $e){
return false;
}
return $response !== FALSE; // Retourne l'objet si != faux
}
// Fonctions pour la barre de naviguation admin // Fonctions pour la barre de naviguation admin
function adminNavbarAddCategory($moduleName, $title){ function adminNavbarAddCategory($moduleName, $title){
global $bdd; global $bdd;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment