Initial commit

This commit is contained in:
Senad Uka
2018-06-11 11:09:35 +02:00
commit ed7df7b11f
1954 changed files with 483354 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
<?php
class LoginController{
public function getToken(){
global $user;
if(isset($_POST['login'])){
$login = $user->login($_POST['username'], $_POST['password'], true);
echo json_encode($login);
}else{
echo json_encode(['status' => 'fail', 'errorMessage' => 'invalid request']);
}
}
public function validateToken(){
global $user;
if($user->isLoggedIn()){
$message = ['status' => 'success'];
}else{
$message = ['status' => 'fail', 'errorMessage' => $user->getErrorMessage()];
}
echo json_encode($message);
}
public function getModules(){
global $user, $route;
if($user->isLoggedIn()){
echo json_encode(['modules' => $route::getModules()]);
}else{
echo json_encode(['modules' => []]);
}
}
/**
* open packages page
*/
public function showPage(){
global $user;
require_once('LoginPage.php');
}
}
?>

View File

@@ -0,0 +1,26 @@
<?php
if(!defined('APPLICATION_VERSION')){
die("Permission denied!");
}
if($user->isLoggedIn()){
header('Location:dashboards');
}
if(isset($_REQUEST['generate']) && $_REQUEST['generate'] === 'newToken') {
include('templates/ForgotPasswordForm.php');
} else if(isset($_REQUEST['token'])) {
$confirmTokenMessage = $user->checkPasswordToken($_REQUEST['token']);
if($confirmTokenMessage === 'success') {
include('templates/ResetPasswordForm.php');
} else {
echo '<div id="confirmation-message" class="col-sm-4 col-sm-offset-4 password-confirmation-messages alert alert-danger">';
echo '<span class="glyphicon glyphicon-alert"></span> {{"validation.messages.INVALID_TOKEN" | translate}}';
echo '</div>';
echo '<div id="back-to-sign-in" class="col-sm-4 col-sm-offset-4 back-to-sign-in-btn alert alert-info">';
echo '<a href="login">{{"validation.buttons.SIGN_IN" | translate}}</a>';
echo '</div>';
}
} else {
include('templates/LoginForm.php');
}

View File

@@ -0,0 +1,50 @@
<?php
if(!defined('APPLICATION_VERSION')){
die("Permission denied!");
}
if(isset($_POST['forgetPassword']) && isset($_POST['mail']) && $_POST['mail']){
$confirmMessages = isset($_POST['mail']) ? $user->forgotPassword($_POST['mail']) : 'ERROR';
}
?>
<div class="row">
<div class="wiaas-title col-sm-12">
<h1>{{ 'login.headers.TITLE' | translate }}</h1>
</div>
</div>
<div class="row">
<div class="col-sm-4 col-sm-offset-4">
<form id="forget-passwd-form" action="" method="post" class="form-signin">
<h2 class="form-signin-heading">{{ 'login.headers.FORGET_PASSWORD_TITLE' | translate }}</h2>
<label for="mail" class="sr-only">{{ 'login.headers.MAIL' | translate }}</label>
<input id="forgotten-mail" name="mail" type="text" class="form-control" placeholder="{{ 'login.headers.MAIL' | translate }}" required autofocus />
<button id="login-button" type="submit" name="forgetPassword" class="btn btn-lg btn-primary btn-block">{{ 'login.buttons.SEND_RECOVER_MAIL' | translate }}</button>
</form>
<?php
if(isset($confirmMessages)) {
foreach ($confirmMessages as $key => $confirmMessage) {
$translatedMessage = '{{"login.messages.'.$confirmMessage.'" | translate}}';
$alertClass = 'alert-danger';
$iconClass = 'glyphicon-alert';
if($confirmMessage === 'SIGN_IN') {
$alertClass = 'alert-success';
$iconClass = 'glyphicon-ok';
$translatedMessage = '{{"login.messages.MAIL_SENT" | translate}}';
} else if($confirmMessage === 'NO_USER' || $confirmMessage === 'CHANGE_LATER') {
$alertClass = 'alert-warning';
}
$translatedMessage .= ' <a href="login">{{"login.messages.SIGN_IN" | translate}}</a>';
echo '<div id="confirmation-message" class="alert '.$alertClass.'">';
echo 'User '. ($key+1). ' : ';
echo '<span class="glyphicon '.$iconClass.'"></span> '.$translatedMessage;
echo '</div>';
}
}
?>
</div>
</div>

View File

@@ -0,0 +1,50 @@
<?php
if(!defined('APPLICATION_VERSION')){
die("Permission denied!");
}
if(isset($_POST['login'])){
$loginMessage = $user->login($_POST['username'], $_POST['password']);
if($loginMessage['status'] === 'success'){
header('Location:dashboards');
}
}
$message = (isset($_REQUEST['message'])) ? $_REQUEST['message'] : '';
?>
<div class="row">
<div class="wiaas-title col-sm-12">
<h1><?php echo APPLICATION_NAME;?> {{ 'login.headers.TITLE' | translate }}</h1>
</div>
</div>
<div class="row">
<div class="col-sm-4 col-sm-offset-4">
<form id="login-form" action="" method="post" class="form-signin">
<h2 class="form-signin-heading">{{ 'login.headers.SMALL_TITLE' | translate }}</h2>
<label for="username" class="sr-only">{{ 'login.headers.USERNAME' | translate }}</label>
<input id="username" name="username" type="text" id="username" class="form-control" placeholder="{{ 'login.headers.USERNAME' | translate }}" required autofocus>
<label for="inputPassword" class="sr-only">{{ 'login.headers.PASSWORD' | translate }}</label>
<input id="password" name="password" type="password" id="inputPassword" class="form-control" placeholder="{{ 'login.headers.PASSWORD' | translate }}">
<button id="login-button" name="login" class="btn btn-lg btn-primary btn-block" type="submit">{{ 'login.buttons.SIGN_IN' | translate }}</button>
</form>
<?php
if(isset($loginMessage['errorMessage'])){
echo '<div id="login-message" class="alert alert-warning">';
echo '<span class="glyphicon glyphicon-warning-sign"></span> {{"login.messages.'.$loginMessage['errorMessage'].'" | translate}}';
if($loginMessage['errorMessage'] === 'INVALID_USERNAME_PASSWORD') {
echo " <a href='?generate=newToken'>{{'login.headers.FORGET_PASSWORD' | translate}}</a>";
}
echo '</div>';
}
if($message){
echo '<div id="login-message" class="alert alert-success">';
echo '<span class="glyphicon glyphicon-ok"></span> {{"validation.messages.'.$message.'" | translate}}';
echo '</div>';
}
?>
</div>
</div>
<span id="application-version-login" style="display:none;"><?php echo APPLICATION_VERSION; ?></span>

View File

@@ -0,0 +1,58 @@
<?php
if(!defined('APPLICATION_VERSION')){
die("Permission denied!");
}
if(isset($_POST['resetPassword']) && isset($_POST['newPassword']) && isset($_POST['confirmPassword'])){
if(!empty($_POST['newPassword'] && !empty($_POST['confirmPassword']))) {
$passwords = [
'newPassword' => $_POST['newPassword'],
'confirmPassword' => $_POST['confirmPassword']
];
$confirmationData = $user->resetPassword(json_encode($passwords));
} else {
$confirmationData['messages'][] = [
'code' => 'error',
'message' => 'PASSWORDS_MISSING'
];
}
}
?>
<div class="row">
<div class="wiaas-title col-sm-12">
<h1><?php echo APPLICATION_NAME;?></h1>
</div>
</div>
<div class="row">
<div class="col-sm-4 col-sm-offset-4">
<form id="reset-password-form" action="" method="post" class="form-signin">
<?php
echo '<h2 class="form-signin-heading">{{ "validation.headers.RESET_TITLE" | translate }} - <b>'.$user->getSetPasswordUsername().'</b></h2>';
?>
<div class="alert alert-info">
<span class="glyphicon glyphicon-info-sign"></span>
{{'validation.messages.PASSWORD_CHARACTERS' | translate}}
</div>
<label for="passwd" class="sr-only">{{ 'validation.headers.NEW_PASSWORD' | translate }}</label>
<input id="new-passwd" name="newPassword" type="password" class="form-control" placeholder="{{ 'validation.headers.NEW_PASSWORD' | translate }}" required autofocus />
<label for="confirmPasswd" class="sr-only">{{ 'validation.headers.CONFIRM_PASSWORD' | translate }}</label>
<input id="confirm-passwd" name="confirmPassword" type="password" class="form-control" placeholder="{{ 'validation.headers.CONFIRM_PASSWORD' | translate }}" required />
<button id="reset-password-button" type="submit" name="resetPassword" class="btn btn-lg btn-primary btn-block">{{ 'validation.buttons.SET_PASSWORD' | translate }}</button>
</form>
<?php
if(isset($confirmationData) && $confirmationData['messages']) {
foreach($confirmationData['messages'] as $position => $messageData) {
if($messageData['code'] === 'success' && $messageData['message'] === 'PASSWORD_GENERATED') {
header('Location:login?message='.$messageData['message']);
} else {
echo '<div id="confirmation-message-'.$position.'" class="password-confirmation-messages alert alert-danger">';
echo '<span class="glyphicon glyphicon-alert"></span> {{"validation.messages.'.$messageData['message'].'" | translate}}';
echo '</div>';
}
}
}
?>
</div>
</div>