Skip to content
Snippets Groups Projects
Select Git revision
  • 5bad5972056b9dc54fda1cd60b17b897c24509dc
  • pre-2.1b default protected
  • pre-2.1
  • pre-2.0
  • testTag
  • pre2.1b
6 results

index.php

Blame
  • index.php 10.63 KiB
    <?php
    require_once '../vbcms-core/core.php';
    
    $isUpToDate = $bdd->query("SELECT value FROM `vbcms-settings` WHERE name = 'upToDate'")->fetchColumn();
    if ($isUpToDate == 1) {
    	$updateMessage = translate("isUpToDate");
    } else {
    	$updateMessage = translate("isNotUpToDate");
    }
    if($_SESSION['auth']=='vbcms'){
    	$userHasLocalAccount = $bdd->prepare("SELECT * FROM `vbcms-localAccounts` WHERE userIdAssoc = ?");
    	$userHasLocalAccount->execute([$_SESSION['id']]);
    	$userHasLocalAccount = $userHasLocalAccount->fetch(PDO::FETCH_ASSOC);
    
    	if(empty($userHasLocalAccount)){
    		if(isset($_POST['localUserUsername']) && !empty($_POST['localUserUsername'])){
    			$query = $bdd->prepare('INSERT INTO `vbcms-localAccounts` (`userIdAssoc`, `username`, `password`) VALUES (?,?,?)');
    			$query->execute([$_SESSION['id'], $_POST['localUserUsername'], password_hash($_POST['localUserPassword1'], PASSWORD_DEFAULT)]);
    
    			$userHasLocalAccount = $bdd->prepare("SELECT * FROM `vbcms-localAccounts` WHERE netIdAssoc = ?");
    			$userHasLocalAccount->execute([$_SESSION['id']]);
    			$userHasLocalAccount = $userHasLocalAccount->fetch(PDO::FETCH_ASSOC);
    			if(empty($userHasLocalAccount)){
    				$localAccountCreationSuccess=false;
    			}else{
    				$localAccountCreationSuccess=true;
    			}
    		} else {
    			$showLocalAccountCreationModal = true;
    		}
    	}
    }
    
    
    ?>
    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="utf-8">
    	<title><?=VBcmsGetSetting("websiteName")?> | <?=translate("dashboard")?></title>
    	<?php include 'includes/depedencies.php';?>
    </head>
    <body>
    	<?php 
    	include ('includes/navbar.php');
    	?>
    
    	<!-- Contenu -->
    	<div class="dashboardTopCard" leftSidebar="240" rightSidebar="0">
    		<div class="d-flex">
    			<div class="userLogo" style="background-image: url('<?=$_SESSION['user_profilePic']?>');"></div>
    			<div class="ml-5">
    				<h3>Bienvenue <?=$_SESSION["user_username"]?>!</h3>
    				<p><?=$updateMessage?>
    				<br><strong>Vous êtes sur une version de développement de VBcms.</strong></p>
    			</div>
    		</div>
    	</div>
    	<div class="page-content notTop" leftSidebar="240" rightSidebar="0">
    		<h3>Tableau de bord</h3>
    		<p>Bienvenu sur le paneau d’administration. Voici un bref résumé de l'activité de cette semaine.</p>
    
    		<!-- Debut de la liste des cartes -->
    		<!--
    		<div id="indexCards" class="row" style="">
    			<div class="col-xl-6">
    				<div id="indexCardOne" class="indexCard mb-3 overflow-hidden">
    					<div style="position: absolute; z-index: 1;height: 100%; width: 100%; background-image: url(<?=VBcmsGetSetting("websiteUrl")?>vbcms-admin/images/misc/mainIndexCardBg.png); background-position: right bottom; background-repeat: no-repeat; background-size: 100%;"></div>
    					<div class="indexCardBody">
    						<h5>Nouvelles licences</h5>
    						<h3>15</h3>
    						<p class="subText">+15% que la semaine dernière</p>
    						<a href="#" class="btn btn-light">Voir les liscences</a>
    					</div>
    				</div>
    			</div>
    			<div class="col-xl-6">
    				<div class="row">
    					<div class="col-sm-6">
    						<div id="indexCardTwo" class="indexCard overflow-hidden">
    							<div class="indexCardImg">
    								<img src="<?=VBcmsGetSetting("websiteUrl")?>vbcms-admin/images/misc/globe.png">
    							</div>
    							<div class="indexCardBody">
    								<h5>Visites</h5>
    								<h3>20</h3>
    								<p class="subText">+5% que la semaine dernière</p>
    								<a href="#" class="text-light">Voir les statistiques <i class="fas fa-arrow-right"></i></a>
    							</div>
    						</div>
    						<div id="indexCardThree" class="indexCard overflow-hidden">
    							<div class="indexCardImg">
    								<img src="<?=VBcmsGetSetting("websiteUrl")?>vbcms-admin/images/misc/ticket.png">
    							</div>
    							<div class="indexCardBody">
    								<h5>Tickets support</h5>
    								<h3>4</h3>
    								<p class="subText">14 depuis le début de la semaine</p>
    								<a href="#" class="text-light">Voir les tickets <i class="fas fa-arrow-right"></i></a>
    							</div>
    						</div>
    					</div>
    					<div class="col-sm-6">
    						<div id="indexCardFour" class="indexCard overflow-hidden">
    							<div class="indexCardImg">
    								<img src="<?=VBcmsGetSetting("websiteUrl")?>vbcms-admin/images/misc/puzzle.png">
    							</div>
    							<div class="indexCardBody">
    								<h5>Nouveaux addons</h5>
    								<h3>15</h3>
    								<p class="subText">+15% que la semaine dernière</p>
    								<a href="#" class="text-light">Voir les addons <i class="fas fa-arrow-right"></i></a>
    							</div>
    						</div>
    						<div id="indexCardFive" class="indexCard overflow-hidden">
    							<div class="indexCardImg">
    								<img src="<?=VBcmsGetSetting("websiteUrl")?>vbcms-admin/images/misc/hourglass.png">
    							</div>
    							<div class="indexCardBody">
    								<h5>Inscriptions en attente</h5>
    								<h3>15</h3>
    								<p class="subText">+15% que la semaine dernière</p>
    								<a href="#" class="text-light">Voir les inscriptions <i class="fas fa-arrow-right"></i></a>
    							</div>
    						</div>
    					</div>
    				</div>
    			</div>
    		</div>
    		-->
    		<!-- Fin de la liste des cartes -->
    		
    		<div class="mt-3">
    			<h3>Merci de participer aux tests!</h3>
    			<p>Salut et merci d'avoir accepté de participer aux tests de pré-sortie. Tu es là sur une version très primaire de ce que sera VBcms 2.0 à la fin, et comme tu l'as peut-être déjà remarqué, il n'y a pas grand chose de terminé.</p><br>
    			<?php print_r($_SESSION); ?>
    			
    		</div>
    
    		
    		
    	</div>
    
    	<?php
    		if(isset($showLocalAccountCreationModal) && $showLocalAccountCreationModal){ ?>
    
    		<div class="modal fade" id="localAccountCreationModal" data-backdrop="static">
    			<div class="modal-dialog">
    				<div class="modal-content">
    					<div class="modal-header bg-brown text-white">
    						<h5 id="extensionActivationModalTitle" class="modal-title"><?=translate('localAccountCreation')?></h5>
    					</div>
    					<div class="modal-body">
    						<form method="post" class="needs-validation" novalidate>
    							<div class="form-group">
    								<label><?=translate('username')?></label>
    								<input type="text" class="form-control" name="localUserUsername" placeholder="<?=$_SESSION['user_username']?>" value="<?=$_SESSION['user_username']?>" required>
    								<small class="form-text text-muted"><?=translate("localAccountCreation_loginCanBeDifferent")?></small>
    								<div class="invalid-feedback"><?=translate("localAccountCreation_pleaseEnterLogin")?></div>
    							</div>
    							<div class="form-group">
    								<label><?=translate('password')?></label>
    								<input type="password" class="form-control" name="localUserPassword1" id="localUserPassword1" placeholder="" required>
    								<div class="invalid-feedback" id="localUserPassword1Alert">
    									<?=translate('localAccountCreation_youCreateAnAccountWithoutPassword')?> <img height="16" src="<?=VBcmsGetSetting("websiteUrl")?>vbcms-admin/images/emojis/thinkingHard.png">
    								</div>
    							</div>
    							<div class="form-group">
    								<label><?=translate('repeatPassword')?></label>
    								<input type="password" class="form-control" name="localUserPassword2" id="localUserPassword2" placeholder="" required>
    								<div class="invalid-feedback" id="localUserPassword2Alert"><?=translate("localAccountCreation_pleaseRewriteYourPassword")?></div>
    							</div>
    
    							<div>
    								<h5><?=translate("whyCreateALocalAccount")?></h5>
    								<p>Autant le dire tout de suite, les serveurs de VBcms ne sont pas réputés pour être très fiables... Il sera assez fréquent de les voir inaccessibles, surtout à ce stade du développement.<br><br><strong>Le compte local te permettera d'accéder au panneau d'administration, même en cas de panne générale.</strong> Tu ne pourras pas télécharger d'extensions ni mettre VBcms à jour, mais au moins tu pourras continuer à gérer ton site. :D</p>
    							</div>
    						</div>
    						<div class="modal-footer">
    							<button id="registerBtn" type="submit" class="btn btn-brown"><?=translate("create")?></button>
    						</div>
    					</form>
    				</div>
    			</div>
    		</div>
    
    		<script type="text/javascript">
    			(function() {
    			'use strict';
    			window.addEventListener('load', function() {
    				// Fetch all the forms we want to apply custom Bootstrap validation styles to
    				var forms = document.getElementsByClassName('needs-validation');
    				// Loop over them and prevent submission
    				var validation = Array.prototype.filter.call(forms, function(form) {
    				form.addEventListener('submit', function(event) {
    					if (form.checkValidity() === false) {
    					event.preventDefault();
    					event.stopPropagation();
    					}
    					form.classList.add('was-validated');
    				}, false);
    				});
    			}, false);
    			})();
    
    			$( document ).ready(function() {
    				$('#localAccountCreationModal').modal('show');
    			});
    
    			$("#localUserPassword1").change(function() {
    				checkPassword();
    			});
    			$("#localUserPassword2").change(function() {
    				checkPassword();
    			});
    
    			function checkPassword(){
    				if ($("#localUserPassword1").val()!=$("#localUserPassword2").val()) {
    					$("#localUserPassword1Alert").html("<?=translate("localAccountCreation_passwordsDontMatches")?>");
    					$("#localUserPassword1Alert").css("display","block");
    					$("#localUserPassword2Alert").html("<?=translate("localAccountCreation_passwordsDontMatches")?>");
    					$("#localUserPassword2Alert").css("display","block");
    					$("#registerBtn").attr("disabled", "");
    				} else {
    					var passw = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,32}$/;
    					if($("#localUserPassword1").val().match(passw)) { 
    						$("#localUserPassword1Alert").html('<?=translate('localAccountCreation_youCreateAnAccountWithoutPassword')?> <img height="16" src="<?=VBcmsGetSetting("websiteUrl")?>vbcms-admin/images/emojis/thinkingHard.png">');
    						$("#localUserPassword1Alert").css("display","");
    						$("#localUserPassword2Alert").html('<?=translate("localAccountCreation_pleaseRewriteYourPassword")?>');
    						$("#localUserPassword2Alert").css("display","");
    						$("#registerBtn").removeAttr("disabled");
    					} else { 
    						$("#localUserPassword1Alert").html("<?=translate("localAccountCreation_yourPasswordIsTooWeak")?>");
    						$("#localUserPassword1Alert").css("display","block");
    						$("#localUserPassword2Alert").html("<?=translate("localAccountCreation_yourPasswordIsTooWeak")?>");
    						$("#localUserPassword2Alert").css("display","block");
    						$("#registerBtn").attr("disabled", "");
    					}
    					
    				}
    			}
    		</script>
    		<?php }
    		
    		if(isset($localAccountCreationSuccess) && $localAccountCreationSuccess){ ?>
    		<script type="text/javascript">
    			SnackBar({
    				message: "<?=translate('localAccountCreation_success')?>",
    				status: "success"
    			});
    		</script>
    		<?php }if(isset($localAccountCreationSuccess) && !$localAccountCreationSuccess){ ?>
    		<script type="text/javascript">
    			SnackBar({
    				message: "<?=translate('localAccountCreation_error')?>",
    				status: "danger",
    				timeout: false
    			});
    		</script>
    		<?php } ?>
    </body>
    </html>