diff --git a/jsonEncode.php b/jsonEncode.php index 6319299fde5a86cb156a9fd4d326694424e4eb83..da5db46dc21267673d2ed4c9e9580309a6282458 100644 --- a/jsonEncode.php +++ b/jsonEncode.php @@ -1,6 +1,6 @@ <?php // Fichier de test -$deTest['width'] = 1920; -$deTest['height'] = 1080; +$deTest['type'] = "identifier"; +$deTest['name'] = "test"; -echo json_encode($deTest); \ No newline at end of file +echo urlencode(json_encode($deTest)); \ No newline at end of file diff --git a/vbcms-content/extensions/vbcms-loadingscreens/admin/browse.php b/vbcms-content/extensions/vbcms-loadingscreens/admin/browse.php index d579a6a843a96d6b0f967b242cceebb8786e0bd0..77303f2fa84769eaa96164d6edfde01daafddb76 100644 --- a/vbcms-content/extensions/vbcms-loadingscreens/admin/browse.php +++ b/vbcms-content/extensions/vbcms-loadingscreens/admin/browse.php @@ -1,10 +1,28 @@ <!-- Contenu --> <div class="page-content d-flex flex-column" leftSidebar="240" rightSidebar="0" style="height:calc(100% - 60px);"> - <h3><?=translate("loadingscreens")?></h3> + <div class="d-flex align-items-center"> + <h3><?=translate("loadingscreens")?></h3> + <div class="ml-2"> + <button type="button" class="btn btn-brown btn-sm" data-toggle="modal" data-target="#createLoadingScreen"><i class="fas fa-plus-circle"></i> <?=translate("create")?></button> + </div> + </div> <p><?=translate("loadingscreens_listPhrase")?></p> <div class="d-flex flex-column" id="page-content"> <div class="d-flex flex-wrap"> + <?php + $loadingscreens = $bdd->query('SELECT * FROM `vbcmsLoadingScreens_list`')->fetchAll(PDO::FETCH_ASSOC); + foreach ($loadingscreens as $loadingscreen){ + $backgroundImage = 'https://api.apiflash.com/v1/urltoimage?access_key=65e037cb81b44087ba537b58dd19e4ff&format=jpeg&quality=80&response_type=image&url='.urlencode($GLOBALS['websiteUrl'].$this->clientAccess.'/'.$loadingscreen['identifier']).'/&width=1920&height=1080'; + echo(' + <div class="ld-card border rounded mx-1 my-1" style="background-image: url(\''.$backgroundImage.'\');"> + <div class="ld-card-content p-2"> + <span><strong>'.$loadingscreen['showName'].'</strong></span> + <a href="'.$GLOBALS['websiteUrl'].'vbcms-admin/'.$this->adminAccess.'/edit?id='.$loadingscreen['identifier'].'" class="btn btn-sm btn-brown float-right">'.translate('modify').'</a> + </div> + </div>'); + } + ?> <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> @@ -35,7 +53,134 @@ </div> </div> + <div class="modal fade" id="createLoadingScreen"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header bg-brown text-white"> + <h5 id="extensionDesacctivationModalTitle" class="modal-title"><?=translate("loadingscreens_giveAName")?></h5> + <button type="button" class="close text-white" data-dismiss="modal" aria-label="Close"> + <span aria-hidden="true">×</span> + </button> + </div> + <div class="modal-body"> + <form id="createLoadingScreenForm"> + <p><?=translate("ws_askExtToDeleteItsData")?></p> + <div class="form-group"> + <label><?=translate("name")?></label> + <input type="text" class="form-control" id="showName" name="showName"> + <div id="badName" class="invalid-feedback"></div> + </div> + <div class="form-group"> + <label><?=translate("ws_clientAccess")?></label> + <input type="text" class="form-control" id="identifier" name="identifier"> + <small class="form-text text-muted"><?=translate("loadingscreens_createLegendIdentifier")?></small> + <div id="badIdentifier" class="invalid-feedback"></div> + </div> + </form> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-outline-brown" data-dismiss="modal"><?=translate("cancel")?></button> + <button id="createLoadingScreenCreateBtn" onclick="createLoadingScreen()" type="button" class="btn btn-brown" disabled><?=translate("create")?></button> + </div> + </div> + </div> + </div> + <script type="text/javascript"> + document.getElementById('showName').addEventListener('change', function (evt) { + let slug = this.value + slug = slug.toLowerCase().replace(/ /g,'-').replace(/[^\w-]+/g,''); + $("#identifier").val(slug); + + let array = {}; + array.type="showName"; + array.name=this.value; + $.get("<?=$websiteUrl?>vbcms-admin/<?=$urlPath[2]?>/backTasks?checkIdentifierOrName="+encodeURIComponent(JSON.stringify(array)), function(data) { + let json = JSON.parse(data); + if(typeof json.error === 'undefined'){ + if(json.used == false){ + $("#badName").css("display", "none"); + if(typeof $("#createLoadingScreenCreateBtn").attr("disabled") !== 'undefined' && $("#badIdentifier").css("display") == "none" && $("#identifier").val() != ""){ + $("#createLoadingScreenCreateBtn").removeAttr("disabled"); + } + if(!isAlphanumeric($("#identifier").val())){ + if(typeof $("#createLoadingScreenCreateBtn").attr("disabled") === 'undefined'){ + $("#createLoadingScreenCreateBtn").attr("disabled", ""); + } + } + } else { + $("#badName").html("<?=translate('alreadyUsed')?>"); + $("#badName").css("display", "block"); + if(typeof $("#createLoadingScreenCreateBtn").attr("disabled") === 'undefined'){ + $("#createLoadingScreenCreateBtn").attr("disabled", ""); + } + } + } else { + $("#badName").html(json.error); + $("#badName").css("display", "block"); + if(typeof $("#createLoadingScreenCreateBtn").attr("disabled") === 'undefined'){ + $("#createLoadingScreenCreateBtn").attr("disabled", ""); + } + } + }) + }); + + document.getElementById('identifier').addEventListener('change', function (evt) { + let array = {}; + array.type="identifier"; + array.name=this.value; + $.get("<?=$websiteUrl?>vbcms-admin/<?=$urlPath[2]?>/backTasks?checkIdentifierOrName="+encodeURIComponent(JSON.stringify(array)), function(data) { + let json = JSON.parse(data); + if(typeof json.error === 'undefined'){ + if(json.used == false){ + $("#badIdentifier").css("display", "none"); + if(typeof $("#createLoadingScreenCreateBtn").attr("disabled") !== 'undefined' && $("#badName").css("display") == "none" && $("#showName").val() != ""){ + $("#createLoadingScreenCreateBtn").removeAttr("disabled"); + } + if(!isAlphanumeric($("#identifier").val())){ + if(typeof $("#createLoadingScreenCreateBtn").attr("disabled") === 'undefined'){ + $("#createLoadingScreenCreateBtn").attr("disabled", ""); + } + } + } else { + $("#badIdentifier").html("<?=translate('alreadyUsed')?>"); + $("#badIdentifier").css("display", "block"); + if(typeof $("#createLoadingScreenCreateBtn").attr("disabled") === 'undefined'){ + $("#createLoadingScreenCreateBtn").attr("disabled", ""); + } + } + } else { + $("#badIdentifier").html(json.error); + $("#badIdentifier").css("display", "block"); + if(typeof $("#createLoadingScreenCreateBtn").attr("disabled") === 'undefined'){ + $("#createLoadingScreenCreateBtn").attr("disabled", ""); + } + } + }) + }); + + function createLoadingScreen(){ + $.post( "<?=$GLOBALS['websiteUrl']?>vbcms-admin/<?=$urlPath[2]?>/backTasks?createLoadingScreen", $( "#createLoadingScreenForm" ).serialize() ) + .done(function( data ) { + if(data == ""){ + window.location.href = "<?=$GLOBALS['websiteUrl']?>vbcms-admin/<?=$urlPath[2]?>/edit?id="+$("#identifier").val(); + } else { + SnackBar({ + message: data, + status: "danger", + timeout: false + }); + } + }); + } + function isAlphanumeric(text){ + var letterNumber = /^[0-9a-zA-Z-\-]+$/; + if(text.match(letterNumber)){ + return true; + }else{ + return false; + } + } </script> </div> \ No newline at end of file diff --git a/vbcms-content/extensions/vbcms-loadingscreens/admin/create.php b/vbcms-content/extensions/vbcms-loadingscreens/admin/edit.php similarity index 90% rename from vbcms-content/extensions/vbcms-loadingscreens/admin/create.php rename to vbcms-content/extensions/vbcms-loadingscreens/admin/edit.php index efb04c261e06bca367bb837522f0fa2bdb796a8e..b641e5722c3bd9c57dd068babca3ed77bdd44135 100644 --- a/vbcms-content/extensions/vbcms-loadingscreens/admin/create.php +++ b/vbcms-content/extensions/vbcms-loadingscreens/admin/edit.php @@ -2,7 +2,7 @@ if(isset($_GET['id'])){ $loadingScreenIdentifier = $_GET['id']; } else { - $loadingScreenIdentifier = "temp-".$_SESSION['user_id']; + $redirectToList = true; } ?> @@ -12,6 +12,8 @@ if(isset($_GET['id'])){ <div style="padding: 30px 50px; background-color:#3e3e3e;"> <div class="d-flex text-white"> <div style="margin-right: 50px;"> + <h4><?=translate("loadingscreens_openEditor")?></h4> + <button type="button" class="btn btn-brown"><?=translate("loadingscreens_openEditor")?></button> <h4><?=translate("modifyProperties")?></h4> <div class="form-group"> <label><?=translate("theme")?></label> @@ -25,7 +27,7 @@ if(isset($_GET['id'])){ </div> <div class="form-group"> - <label><?=translate("previewResolution")?></label> + <label><?=translate("loadingscreens_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> @@ -80,6 +82,11 @@ if(isset($_GET['id'])){ <script type="text/javascript"> $( document ).ready(function() { + <?php + if(isset($redirectToList)){ + echo 'window.location.href = "'.$GLOBALS['websiteUrl'].'vbcms-admin/'.$urlPath[2].'/browse";'; + } + ?> resizePreview(); }); $( window ).resize(function() { diff --git a/vbcms-content/extensions/vbcms-loadingscreens/includes/translations/FR.php b/vbcms-content/extensions/vbcms-loadingscreens/includes/translations/FR.php index bb5b2d8f42e36dbed889c500d0660e31e7ba1b13..653c2c80cb577c3b3c4bbb54b275ab8fc4d0c8ce 100644 --- a/vbcms-content/extensions/vbcms-loadingscreens/includes/translations/FR.php +++ b/vbcms-content/extensions/vbcms-loadingscreens/includes/translations/FR.php @@ -6,7 +6,12 @@ $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["loadingscreens_previewResolution"] = "Résolution de la prévisualisation"; +$translation["loadingscreens_giveAName"] = "Donnez un nom pour en créer un."; +$translation["loadingscreens_createLegendIdentifier"] = "Sera utilisé pour accéder à l'écran de chargement.<br>Doit être en alphanumérique!"; +$translation["loadingscreens_openEditor"] = "Ouvrir l'éditeur"; +$translation["sample"] = "sample"; +$translation["sample"] = "sample"; $translation["sample"] = "sample"; $translation["sample"] = "sample"; $translation["sample"] = "sample"; diff --git a/vbcms-content/extensions/vbcms-loadingscreens/init.php b/vbcms-content/extensions/vbcms-loadingscreens/init.php index e526fca75b5d5e5a7fe7031643d07bbb3847fdcb..c432d84be821c6b1fa870dacd50c6d6cf7a1f0cb 100644 --- a/vbcms-content/extensions/vbcms-loadingscreens/init.php +++ b/vbcms-content/extensions/vbcms-loadingscreens/init.php @@ -7,11 +7,12 @@ function enable($name, $path, $adminAccess, $clientAccess){ adminNavbarAddItem($name, "fas fa-brush", "themes", "/themes"); // 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_list")) $bdd->query("CREATE TABLE `vbcmsLoadingScreens_list` ( `identifier` VARCHAR(128) NOT NULL , `visibility` INT NOT NULL , `sequenceId` INT NULL DEFAULT NULL , `showName` VARCHAR(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT 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_sequencesData")) $bdd->query("CREATE TABLE `vbcmsLoadingScreens_sequencesData` ( `sequenceId` INT NOT NULL , `dataId` INT NOT NULL , `parentId` INT NULL DEFAULT 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 , `parentId` INT NULL DEFAULT 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;"); + if(!tableExist("vbcmsLoadingScreens_previewTokens")) $bdd->query("CREATE TABLE `vbcmsLoadingScreens_previewTokens` ( `stringId` VARCHAR(32) NOT NULL , `lsId` INT NOT NULL , `expire` DATETIME NOT NULL , PRIMARY KEY (`stringId`)) ENGINE = InnoDB;"); } function deleteData(){ @@ -21,6 +22,7 @@ function deleteData(){ $bdd->query('DROP TABLE vbcmsLoadingScreens_sequencesData'); $bdd->query('DROP TABLE vbcmsLoadingScreens_tempSequencesData'); $bdd->query('DROP TABLE vbcmsLoadingScreens_clientsData'); + $bdd->query('DROP TABLE vbcmsLoadingScreens_previewTokens'); } function getSettingsHTML($params){ diff --git a/vbcms-content/extensions/vbcms-loadingscreens/pageHandler.php b/vbcms-content/extensions/vbcms-loadingscreens/pageHandler.php index 5825262e7df17992c3a44667886f36d8b48f7dc3..b18e1a19d3bb738adfd46c38f82e9b3357e59100 100644 --- a/vbcms-content/extensions/vbcms-loadingscreens/pageHandler.php +++ b/vbcms-content/extensions/vbcms-loadingscreens/pageHandler.php @@ -5,15 +5,63 @@ if($type =="admin"){ case 'browse': if(verifyUserPermission($_SESSION['user_id'], $this->name, 'access-browse')){ $pageToInclude = $extensionFullPath."/admin/browse.php"; - extensionCreatePage($type, 0, $pageToInclude, translate("loadingscreens_list"), "", $pageDepedencies); + $this->extensionCreatePage($type, 0, $pageToInclude, translate("loadingscreens_list"), "", $pageDepedencies); } break; - case 'create': - if(verifyUserPermission($_SESSION['user_id'], $this->name, 'access-browse')){ - $pageToInclude = $extensionFullPath."/admin/create.php"; - extensionCreatePage($type, 0, $pageToInclude, translate("loadingscreens_create"), "", $pageDepedencies); + case 'edit': + if(verifyUserPermission($_SESSION['user_id'], $this->name, 'canEdit')){ + $pageToInclude = $extensionFullPath."/admin/edit.php"; + $this->extensionCreatePage($type, 0, $pageToInclude, translate("loadingscreens_create"), "", $pageDepedencies); + } + break; + + case 'backTasks': + + if(isset($_GET['checkIdentifierOrName'])){ + if(!empty($_GET['checkIdentifierOrName'])){ + if(isJson(urldecode($_GET['checkIdentifierOrName']))){ + $json = json_decode(urldecode($_GET['checkIdentifierOrName']), true); + if(isset($json['type']) && $json['type']=='identifier'){ + $response = $bdd->prepare('SELECT * FROM `vbcmsLoadingScreens_list` WHERE identifier = ?'); + $response->execute([$json['name']]); + $response=$response->fetch(); + }elseif(isset($json['type']) && $json['type']=='showName'){ + $response = $bdd->prepare('SELECT * FROM `vbcmsLoadingScreens_list` WHERE showName = ?'); + $response->execute([$json['name']]); + $response=$response->fetch(); + }else{ + $return['error'] = translate('unknownType'); + } + if(isset($response) && empty($response)){ + $return['used'] = false; + } elseif(isset($response) && !empty($response)){ + $return['used'] = true; + } + echo json_encode($return); + } else { + $return['error'] = translate('thisIsNotJSON'); + echo json_encode($return); + } + } else { + $return['error'] = translate('noNameGiven'); + echo json_encode($return); + } + + } elseif(isset($_GET["createLoadingScreen"])){ + if(isset($_POST)&&!empty($_POST)){ + $query = $bdd->prepare('INSERT INTO `vbcmsLoadingScreens_list` (`identifier`, `visibility`, `sequenceId`, `showName`) VALUES (?, 1, NULL, ?)'); + $query->execute([$_POST['identifier'], $_POST['showName']]); + } else { + echo translate('noPostData'); + } + } elseif(isset($_GET)&&!empty($_GET)){ + $return['error'] = "Commande \"".array_key_first($_GET)."(".$_GET[array_key_first($_GET)].")\" non reconnue."; + echo json_encode($return); + } else { + $return['error'] = translate('noCommandSpecified'); + echo json_encode($return); } break; } diff --git a/vbcms-content/translations/FR.php b/vbcms-content/translations/FR.php index 81c016d2c9dd1e19232ad40d32314b5dd5556730..e9d10d25dc9e202a603e5a8ea8b42f1c589d26ad 100644 --- a/vbcms-content/translations/FR.php +++ b/vbcms-content/translations/FR.php @@ -15,7 +15,7 @@ $translation["none"] = "Aucun"; $translation["none-f"] = "Aucune"; $translation["modify"] = "Modifier"; $translation["delete"] = "Supprimer"; -$translation["name"] = "Name"; +$translation["name"] = "Nom"; $translation["parent"] = "Parent"; $translation["website"] = "Site internet"; $translation["noCategory"] = "Sans catégorie"; @@ -50,7 +50,7 @@ $translation["usernameEmail"] = "Nom d'utilisateur / Email"; $translation["invite"] = "Inviter"; $translation["themes"] = "Thèmes"; $translation["theme"] = "Thème"; -$translation["sample"] = "sample"; +$translation["cancel"] = "Annuler"; $translation["sample"] = "sample"; $translation["sample"] = "sample"; $translation["sample"] = "sample"; @@ -99,6 +99,14 @@ $translation["sendInvite"] = "Envoyer l'invitation"; $translation["toInviteAnUserYouMustSpecifyHisEmailOrUsername"] = "Pour inviter un utilisateur, tu dois connaitre son adresse email ou son nom d'utilisateur."; $translation["inviteSent"] = "Invitation envoyée!"; $translation["modifyProperties"] = "Modifier les propriétés"; +$translation["noParametersGiven"] = "Aucun paramètre de donné"; +$translation["noNameGiven"] = "Aucun nom de donné"; +$translation["thisIsNotJSON"] = "Ce n'est pas du JSON"; +$translation["unknownType"] = "Type inconnu"; +$translation["alreadyUsed"] = "Déjà utilisé"; +$translation["noCommandSpecified"] = "Aucune commande de spcécifiée"; +$translation["noPostData"] = "Pas de donnée POST :("; +$translation["sample"] = "sample"; $translation["sample"] = "sample"; $translation["sample"] = "sample"; $translation["sample"] = "sample"; diff --git a/vbcms-core/classes.php b/vbcms-core/classes.php index 43d56882cd1a3d3021eb6b457324379c35c46cc3..5e7b83d418ebd805657ab57f9cfa41644a41ac92 100644 --- a/vbcms-core/classes.php +++ b/vbcms-core/classes.php @@ -386,7 +386,7 @@ class module { } function call(array $parameters, $type){ - //$mbdd=$this->mbdd; + $moduleName=$this->name; $adminAccess=$this->adminAccess; $clientAccess=$this->clientAccess; $bdd=$this->bdd; $extensionFullPath = $this->extensionFullPath; global $translation; @@ -407,4 +407,34 @@ class module { return $this->extensionFullPath."/includes/translations/EN.php"; } } -} \ No newline at end of file + + // Cette fonction est appelée par les modules afin de créer des pages selon 3 modes (pas vraiment besoin de l'appeler pour le 3ème) + function extensionCreatePage($panelMode, $creationMode, $pageToInclude, $title, $description, $depedencies){ + // Le mode 0 correspond à l'inclusion d'une page qui retourne du code HTML + // Le mode 1 correspond à l'inclusion d'une page qui ne fait que passer des paramètres + // Le mode 2 correspond à l'inclusion d'une page qui n'utilise pas la maquette du thème, qui renvoie sa propre page + global $bdd; + $websiteUrl = VBcmsGetSetting("websiteUrl"); + $websiteName = VBcmsGetSetting("websiteName"); + $websiteDescription = VBcmsGetSetting("websiteDescription"); + $websiteLogo = VBcmsGetSetting("websiteLogo"); + + // Ici on ne peut pas récupérer $http et $urlPath, on va réécrire le code ici + if(isset($_SERVER['HTTPS'])) $http = "https"; else $http = "http"; + + $url = parse_url("$http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"); + $urlPath = explode("/", $url["path"]); + + + if($creationMode == 0){ + if($panelMode == "admin"){ + $vbcmsRequest = true; + require $GLOBALS['vbcmsRootPath']."/vbcms-admin/includes/emptyPage.php"; + } + } elseif($creationMode == 1){ + + } elseif($creationMode == 2){ + require $pageToInclude; + } + } +} diff --git a/vbcms-core/functions.php b/vbcms-core/functions.php index 4af9c0a4d704ef1ce67806df6486e9a5b561250b..90f3d41a74721a1ff44cbcac86cb6989e4a5021d 100644 --- a/vbcms-core/functions.php +++ b/vbcms-core/functions.php @@ -1,6 +1,15 @@ <?php +// Cette fonctions permettra de récupérer des variables propres au panel dans des endroits où les variables de variables.php ne sont plus accessibles +function VBcmsGetSetting($setting){ + global $bdd; + + $response = $bdd->prepare("SELECT value FROM `vbcms-settings` WHERE name = ?"); + $response->execute([$setting]); + return $response->fetchColumn(); +} + function loadModule($type, $moduleAlias, $moduleParams){ - global $bdd, $http, $websiteUrl, $translation; + global $bdd; // On va enregistrer l'évènement $response = $bdd->prepare("INSERT INTO `vbcms-events` (id,date,module,content,url,ip) VALUES (?,?,?,?,?,?)"); @@ -60,24 +69,7 @@ function loadModule($type, $moduleAlias, $moduleParams){ } } -// Cette fonction est appelée par les modules afin de créer des pages selon 3 modes (pas vraiment besoin de l'appeler pour le 3ème) -function extensionCreatePage($panelMode, $creationMode, $pageToInclude, $title, $description, $depedencies){ - // Le mode 0 correspond à l'inclusion d'une page qui retourne du code HTML - // Le mode 1 correspond à l'inclusion d'une page qui ne fait que passer des paramètres - // Le mode 2 correspond à l'inclusion d'une page qui n'utilise pas la maquette du thème, qui renvoie sa propre page - global $bdd, $http, $websiteUrl, $translation, $websiteName, $websiteMetaColor, $websiteDescription, $websiteLogo, $paths; - - if($creationMode == 0){ - if($panelMode == "admin"){ - $vbcmsRequest = true; - require $GLOBALS['vbcmsRootPath']."/vbcms-admin/includes/emptyPage.php"; - } - } elseif($creationMode == 1){ - } elseif($creationMode == 2){ - require $pageToInclude; - } -} // Cette fonction permet la traduction des textures en fcontion de la langue utilisée par l'utilisateur function translate($index){