Initial commit
This commit is contained in:
42
api-wiaas/server/components/v1/login/LoginController.php
Normal file
42
api-wiaas/server/components/v1/login/LoginController.php
Normal 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');
|
||||
}
|
||||
}
|
||||
?>
|
||||
26
api-wiaas/server/components/v1/login/LoginPage.php
Normal file
26
api-wiaas/server/components/v1/login/LoginPage.php
Normal 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');
|
||||
}
|
||||
@@ -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>
|
||||
50
api-wiaas/server/components/v1/login/templates/LoginForm.php
Normal file
50
api-wiaas/server/components/v1/login/templates/LoginForm.php
Normal 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>
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user