Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
.env
/node_modules
node_modules
package-lock.json
.DS_Store
/vendor
vendor
composer.lock
/config/environment.php
/nbproject
nbproject
12 changes: 12 additions & 0 deletions config/environment.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?php

$_ENV['DOMAIN'] = 'http://localhost';
$_ENV['NAME_APP'] = 'auth';
$_ENV['LOGIN_URL'] = 'http://localhost/auth';
$_ENV['API'] = '/src/server/public';
$_ENV['DB_HOSTNAME'] = 'localhost';
$_ENV['DB_USERNAME'] = 'root';
$_ENV['DB_USERPASS'] = '';
$_ENV['DB_SCHEMA'] = 'bbox_login';

?>
152 changes: 102 additions & 50 deletions dump/database.sql
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ CREATE DATABASE IF NOT EXISTS `bbox_login` /*!40100 DEFAULT CHARACTER SET latin
USE `bbox_login`;
-- MySQL dump 10.13 Distrib 5.7.17, for macos10.12 (x86_64)
--
-- Host: localhost Database: bbox_login
-- Host: 127.0.0.1 Database: bbox_login
-- ------------------------------------------------------
-- Server version 5.6.35
-- Server version 5.5.5-10.1.29-MariaDB

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
Expand All @@ -26,16 +26,18 @@ DROP TABLE IF EXISTS `bbox_users`;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `bbox_users` (
`id_user` int(11) NOT NULL AUTO_INCREMENT,
`user` varchar(45) CHARACTER SET utf8 NOT NULL,
`user` varchar(45) COLLATE utf8_bin NOT NULL,
`user_password` varchar(35) COLLATE utf8_bin NOT NULL DEFAULT 'f5a5d1e505092b674af2e6fe94ec9341b0b',
`is_active` tinyint(4) DEFAULT '1',
`is_removed` tinyint(4) DEFAULT '0',
`dt_last_activity` datetime DEFAULT NULL,
`id_creator` int(11) NOT NULL DEFAULT '0',
`dt_created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`id_modifier` int(11) DEFAULT NULL,
`dt_last_modifier` datetime DEFAULT NULL,
PRIMARY KEY (`id_user`),
UNIQUE KEY `user_UNIQUE` (`user`)
) ENGINE=InnoDB AUTO_INCREMENT=92 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
/*!40101 SET character_set_client = @saved_cs_client */;

--
Expand All @@ -55,18 +57,21 @@ CREATE TABLE `bbox_users` (
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` FUNCTION `RANDOM_ID`() RETURNS text CHARSET utf8
CREATE FUNCTION `RANDOM_ID`(case_type INT, data_value TEXT) RETURNS int(11)
BEGIN
SET @numberRandom = FLOOR(10000 * RAND());

SET @numberRandom = (
SELECT
IF(LENGTH(@numberRandom) > 3,
(MID(@numberRandom,1,3)),
@numberRandom
));

RETURN @numberRandom;
DECLARE RANDOM_USER INT DEFAULT 1;
DECLARE SHORT_LAST_NAME INT DEFAULT 2;

CASE
WHEN case_type = RANDOM_USER THEN
RETURN MID(FLOOR(10000 * RAND()),1,3);
WHEN case_type = SHORT_LAST_NAME THEN
SET @number_random = FLOOR(10 * RAND()) + 1;
WHILE (@number_random < 2 OR @number_random >= LENGTH(data_value)) DO
SET @number_random = SUBSTRING(FLOOR(100 * RAND()),1);
END WHILE;
RETURN @number_random;
END CASE;
END ;;
DELIMITER ;
/*!50003 SET sql_mode = @saved_sql_mode */ ;
Expand All @@ -83,7 +88,7 @@ DELIMITER ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` FUNCTION `SPLIT_STR_PARAM`(x TEXT, delim VARCHAR(12),pos INT) RETURNS text CHARSET utf8
CREATE FUNCTION `SPLIT_STR_PARAM`(x TEXT, delim VARCHAR(12),pos INT) RETURNS text CHARSET utf8
RETURN REPLACE
(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
Expand All @@ -93,19 +98,23 @@ DELIMITER ;
/*!50003 SET character_set_client = @saved_cs_client */ ;
/*!50003 SET character_set_results = @saved_cs_results */ ;
/*!50003 SET collation_connection = @saved_col_connection */ ;
/*!50003 DROP FUNCTION IF EXISTS `USER_EXIST` */;
/*!50003 DROP FUNCTION IF EXISTS `USER_NO_EXIST` */;
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
/*!50003 SET character_set_client = utf8 */ ;
/*!50003 SET character_set_results = utf8 */ ;
/*!50003 SET collation_connection = utf8_general_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` FUNCTION `USER_EXIST`(user TEXT) RETURNS text CHARSET utf8
CREATE FUNCTION `USER_NO_EXIST`(user TEXT) RETURNS tinyint(1)
BEGIN
RETURN (select COUNT(*) from bbox_login.bbox_users where SUBSTRING_INDEX(bbox_login.bbox_users.user,'.',2) = user);
IF (SELECT COUNT(*) FROM bbox_login.bbox_users WHERE SUBSTRING_INDEX(bbox_login.bbox_users.user,'.',2) = user) = 0 THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
END ;;
DELIMITER ;
/*!50003 SET sql_mode = @saved_sql_mode */ ;
Expand All @@ -122,7 +131,7 @@ DELIMITER ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_login_user_get`(IN case_type INT, IN data_value TEXT, IN id_modifier INT)
CREATE PROCEDURE `sp_login_user_get`(IN case_type INT, IN data_value TEXT, IN id_modifier INT)
BEGIN

DECLARE GET_USER INT DEFAULT 2;
Expand All @@ -131,19 +140,19 @@ CASE
WHEN case_type = GET_USER THEN #This case get username and password, check its existence in bbox.users table, if this exist it returns the id_user, otherwise, nothing
SET @user = SPLIT_STR_PARAM(data_value,"|-|",1);
SET @pass = SPLIT_STR_PARAM(data_value,"|-|",2);

SELECT id_user
INTO @id_user
FROM `bbox_users`
FROM `bbox_users`
WHERE user = @user AND user_password = @pass COLLATE utf8_bin;

SELECT
@id_user as uuid,
id_employee as id_employee,
id_position as id_position,
shortName as name
FROM bbox_personnel.e_employee where id_user = @id_user LIMIT 1;

END CASE;
END ;;
DELIMITER ;
Expand All @@ -159,47 +168,90 @@ DELIMITER ;
/*!50003 SET character_set_results = utf8 */ ;
/*!50003 SET collation_connection = utf8_general_ci */ ;
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
/*!50003 SET sql_mode = 'NO_ENGINE_SUBSTITUTION' */ ;
/*!50003 SET sql_mode = 'NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
DELIMITER ;;
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_login_user_set`(IN case_type INT, IN data_value TEXT, IN id_modifier INT)
CREATE PROCEDURE `sp_login_user_set`(IN case_type INT, IN data_value TEXT, IN id_modifier INT)
BEGIN

DECLARE SET_NEW_USER INT DEFAULT 1;
DECLARE INSERT_NEW_USER INT DEFAULT 1;
DECLARE MODIFY_USER INT DEFAULT 2;
DECLARE DELETE_USER INT DEFAULT 3;

CASE
WHEN case_type = SET_NEW_USER THEN
SET data_value = LOWER(data_value);
WHEN case_type = INSERT_NEW_USER THEN
SET data_value = REPLACE(LOWER(data_value), ' ','');

SET @name = SPLIT_STR_PARAM(data_value,"|-|",1);
SET @middle = SPLIT_STR_PARAM(data_value,"|-|",2);
SET @last_name = SPLIT_STR_PARAM(data_value,"|-|",3);
SET @second_last = SPLIT_STR_PARAM(data_value,"|-|",4);

IF USER_EXIST(CONCAT(@name,'.',@last_name)) = 0 THEN
SET @shortName = SUBSTRING(CONCAT(@name,'.',@last_name),1,16);
ELSEIF LENGTH(@second_last) && USER_EXIST(CONCAT(@name,'.',@second_last)) = 0 THEN
SET @shortName = SUBSTRING(CONCAT(@name,'.',@second_last),1,16);
ELSEIF LENGTH(@middle) && USER_EXIST(CONCAT(@name,'.', @middle))= 0 THEN
SET @shortName = SUBSTRING(CONCAT(@name,'.', @middle),1,16);
ELSEIF LENGTH(@middle) && USER_EXIST(CONCAT(@middle,'.',@last_name)) = 0 THEN
SET @shortName = SUBSTRING(CONCAT(@middle,'.',@last_name),1,16);
ELSEIF LENGTH(@middle) && LENGTH(@second_last) && USER_EXIST(CONCAT(@middle,'.',@second_last)) = 0 THEN
SET @shortName = SUBSTRING(CONCAT(@middle,'.',@second_last),1,16);
ELSE
SET @shortName = SUBSTRING(CONCAT(@name,'.',LEFT(@last_name, LENGTH(@last_name)-2)),1,16);
SET @name_last = CONCAT(@name,'.',@last_name);
SET @name_second_last = CONCAT(@name,'.',@second_last);
SET @name_middle = CONCAT(@name,'.', @middle);
SET @middle_last = CONCAT(@middle,'.',@last_name);
SET @middle_second = CONCAT(@middle,'.',@second_last);
SET @name_last_2 = CONCAT(@name,'.',MID(@last_name,1,RANDOM_ID(2,@last_name)));

IF USER_NO_EXIST(@name_last) THEN
SET @shortName = MID(@name_last,1,16);
ELSEIF LENGTH(@second_last) && USER_NO_EXIST(@name_second_last) THEN
SET @shortName = MID(@name_second_last,1,16);
ELSEIF LENGTH(@middle) && USER_NO_EXIST(@name_middle) THEN
SET @shortName = MID(@name_middle,1,16);
ELSEIF LENGTH(@middle) && USER_NO_EXIST(@middle_last) THEN
SET @shortName = MID(@middle_last,1,16);
ELSEIF LENGTH(@middle) && LENGTH(@second_last) && USER_NO_EXIST(@middle_second) THEN
SET @shortName = MID(@middle_second,1,16);
ELSE
SET @shortName = MID(@name_last_2,1,16);
END IF;

IF SUBSTRING(@shortName,16) = '.' THEN
SET @shortName = REPLACE(@shortName,'.','');
SET @shortName = TRIM(TRAILING '.' FROM @shortName);
END IF;
SET @user = CONCAT(@shortName, '.',RANDOM_ID());
WHILE ((select COUNT(*) from bbox_login.bbox_users where user = @user and is_active = 1)>0) DO

SET @user = CONCAT(@shortName, '.',RANDOM_ID(1,''));

WHILE ((SELECT COUNT(*) FROM bbox_login.bbox_users WHERE user = @user AND is_active = 1)>0) DO
SET @user = CONCAT(@shortName, '.',RANDOM_ID());
END WHILE;

INSERT INTO bbox_login.bbox_users(user, id_creator) values(@user, id_modifier);
INSERT INTO bbox_login.bbox_users
(user,
id_creator,
id_modifier,
dt_last_modifier)
VALUES
(@user,
id_modifier,
id_modifier,
NOW());

SELECT user
FROM bbox_login.bbox_users
WHERE user = @user;

WHEN case_type = MODIFY_USER THEN
SET @user_id = SPLIT_STR_PARAM(data_value,"|-|",1);
SET @new_password = SPLIT_STR_PARAM(data_value,"|-|",2);

UPDATE bbox_login.bbox_users
SET
user_password = @new_password,
id_modifier = id_modifier,
dt_last_modifier =NOW()
WHERE id_user = @user_id;

WHEN case_type = DELETE_USER THEN
SET @user_id = SPLIT_STR_PARAM(data_value,"|-|",1);

UPDATE bbox_login.bbox_users
SET
is_active = 0,
id_modifier = id_modifier,
dt_last_modifier = NOW()
WHERE id_user = @user_id;

END CASE;
END ;;
Expand All @@ -218,4 +270,4 @@ DELIMITER ;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2018-02-08 15:27:04
-- Dump completed on 2018-02-14 13:45:48
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
},
"dependencies": {
"beliveo-files": "git+https://github.com/SDBLV/beliveo-files.git",
"bootstrap": "^4.0.0",
"font-awesome": "4.7.0",
"jquery": "^3.2.1"
},
Expand Down
6 changes: 5 additions & 1 deletion src/client/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
<head>
<title>Beliveo Authentication</title>
<script src="node_modules/beliveo-files/utils/urlFix/index.js"></script>
<link rel="stylesheet" type="text/css" href="node_modules/font-awesome/css/font-awesome.css">
<link rel="stylesheet" type="text/css" href="node_modules/bootstrap/dist/css/bootstrap.css">
<link rel="stylesheet" type="text/css" href="node_modules/beliveo-files/styles/main.css">
</head>
<body>
Expand All @@ -13,7 +15,8 @@
require '../../config/environment.php';
?>
<?php require_once '../../node_modules/beliveo-files/components/header.php'; ?>
<div class="body_container">
<div class='row'>
<div class="body_container col col-md-12">
<?php
$cookie_name = 'unou';
if (! isset($_COOKIE[ $cookie_name ])) {
Expand All @@ -33,6 +36,7 @@
}
}
?>
</div>
</div>

<?php require_once '../../node_modules/beliveo-files/components/footer.php'; ?>
Expand Down
28 changes: 28 additions & 0 deletions src/client/pages/create-user/index.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Beliveo bBox - Powered by people</title>
<script src="node_modules/jquery/dist/jquery.js"></script>
<script src="node_modules/beliveo-files/utils/urlFix/index.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.0/jquery-confirm.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.0/jquery-confirm.min.js"></script>
</head>
<div align="center">
<div>
<h2>CREATE NEW USER</h2></br>
</div>
<div>
<form>
<input id="txtName" type="text" placeholder="Name"> </br>
<input id="txtMiddle" type="text" placeholder="Middle name"> </br>
<input id="txtLastName" type="text" placeholder="Last name"> </br>
<input id="txtSecondLast" type="text" placeholder="Second Last name"> </br></br>
<button type="button" id="btnCreateUser">Create user</button>
</form>
<div>
</br> <label> bBox and Windows user: </label> </br>
<input id="txtNewUser" type="text" readonly>
</div>
</div>
</div>
<script type="text/javascript" src="src/client/pages/create-user/js/functions.js"></script>
52 changes: 52 additions & 0 deletions src/client/pages/create-user/js/functions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
$(document).ready(
function () {
var api_url = "src/server/public";

var create_user = function (e) {
var name = $("#txtName").val()
var middle = $("#txtMiddle").val()
var last = $("#txtLastName").val()
var second = $("#txtSecondLast").val();
var dataJson = JSON.stringify({name: name, middle: middle,last:last,second:second});
if (name != "" & last != "" ) {
$.ajax(
{
type: "POST",
contentType: 'application/json',
url: api_url+"/user/create",
dataType: "json",
data: dataJson,
cache: false,
beforeSend: function () {},
success: function (data, textStatus, jqXHR) {
var response = eval(data);
var code = response.status.code;
var message = response.status.message;
var message_console = response.status.message_console;

switch (code) {
case 201:
var cun = response.user.user;
$("#txtNewUser").val(cun);
break;
case 500:
alert(message);
console.log(message_console);
break;
default:
console.log(message_console);
}
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(errorThrown);
}
}
);
} else {
alert("Name and Last name can not be empty");
}
}

$("#btnCreateUser").click(create_user);
}
);
Loading