diff --git a/js/main.js b/js/main.js index e7947be91866ad4017b32fac2ebe924f96b096f6..e54c09949e407713631a25ab319ac07926d0741a 100644 --- a/js/main.js +++ b/js/main.js @@ -113,6 +113,19 @@ $(document).ready(function() formatSubmit: 'yyyy-mm-dd' }); + $('.button-login').click(function() + { + login(); + }); + + $('#password').keyup(function(e) + { + if(e.keyCode === 13) //Enter + { + login(); + } + }); + createTrainMap(); }); @@ -447,7 +460,7 @@ function editSubtask(subtask_ID, task_ID) $.post('../admin/helper/edit-subtask.php', { "title": title, - "description": description, + "de6scription": description, "done": done, "edit": edit, "ID": subtask_ID, @@ -494,4 +507,33 @@ function deleteSubtask(subtask_ID, task_ID) alert('An error occurred while deleting the subtask with the ID ' + subtask_ID); } }); +} + +function login() +{ + var password = $('#password').val(); + + if(isNull(password)) + { + alert("Please enter your password."); + return; + } + + $.post('../admin/helper/checkLogin.php', + { + "password": password, + + }, function(data, error) + { + data = data.toString().trim(); + + if(data != "error" && data != "bad_login") + { + window.location.href = "../admin/admin-roadmaps.php"; + } + else + { + alert('Wrong password!'); + } + }); } \ No newline at end of file diff --git a/php/admin/admin-edit-milestone.php b/php/admin/admin-edit-milestone.php index a1abdbcc613454e106375eedbdbfcfcd371e95cb..532f0c127113e88e687aa25950d488c86c20ef8f 100644 --- a/php/admin/admin-edit-milestone.php +++ b/php/admin/admin-edit-milestone.php @@ -1,10 +1,18 @@ <!DOCTYPE html> <?php +if(!isset($_SESSION)) +{ + session_start(); +} +if(!isset($_SESSION['loggedIn'])) +{ + header('Location: login.php'); +} + include_once('../getLanguageJSON.php'); include_once('../mysql.php'); - if(!isset($_GET['roadmapID'])) { header('Location: ../error.php?message=error_param_missing'); diff --git a/php/admin/admin-edit-roadmap.php b/php/admin/admin-edit-roadmap.php index d1b10d08e126ed131ee9a9f66970018a491a3e5a..72b5c8bfb67216e1aa8c9baa349846db23fd96e8 100644 --- a/php/admin/admin-edit-roadmap.php +++ b/php/admin/admin-edit-roadmap.php @@ -1,6 +1,15 @@ <!DOCTYPE html> <?php +if(!isset($_SESSION)) +{ + session_start(); +} +if(!isset($_SESSION['loggedIn'])) +{ + header('Location: login.php'); +} + include_once('../getLanguageJSON.php'); include_once('../mysql.php'); diff --git a/php/admin/admin-edit-subtask.php b/php/admin/admin-edit-subtask.php index c3a79f7c08a28674caa3b47f73ebe9ab16f5e6f3..2d35cc11c26625f6ae7ff9d358a92848bce0a502 100644 --- a/php/admin/admin-edit-subtask.php +++ b/php/admin/admin-edit-subtask.php @@ -1,10 +1,18 @@ <!DOCTYPE html> <?php +if(!isset($_SESSION)) +{ + session_start(); +} +if(!isset($_SESSION['loggedIn'])) +{ + header('Location: login.php'); +} + include_once('../getLanguageJSON.php'); include_once('../mysql.php'); - if(!isset($_GET['taskID'])) { header('Location: ../error.php?message=error_param_missing'); diff --git a/php/admin/admin-edit-task.php b/php/admin/admin-edit-task.php index 1f84210716c18ffc83e08ddd7386498b8ace901b..a17a30b2af778045813a216530551703cdd60454 100644 --- a/php/admin/admin-edit-task.php +++ b/php/admin/admin-edit-task.php @@ -1,10 +1,18 @@ <!DOCTYPE html> <?php +if(!isset($_SESSION)) +{ + session_start(); +} +if(!isset($_SESSION['loggedIn'])) +{ + header('Location: login.php'); +} + include_once('../getLanguageJSON.php'); include_once('../mysql.php'); - if(!isset($_GET['milestoneID'])) { header('Location: ../error.php?message=error_param_missing'); diff --git a/php/admin/admin-milestones.php b/php/admin/admin-milestones.php index c87f6e4d60c54a1f1af84c7b354359d04d58525b..dac01a50ab27f0ab5e8d366c8dd15a149577a136 100644 --- a/php/admin/admin-milestones.php +++ b/php/admin/admin-milestones.php @@ -1,6 +1,15 @@ <!DOCTYPE html> <?php +if(!isset($_SESSION)) +{ + session_start(); +} +if(!isset($_SESSION['loggedIn'])) +{ + header('Location: login.php'); +} + include_once('../getLanguageJSON.php'); include_once('../mysql.php'); @@ -52,6 +61,7 @@ $projectName = $projectName["Projectname"]; <body class="grey lighten-3"> <a class="waves-effect waves-light btn blue darken-3" href="admin-roadmaps.php"><i class="material-icons left">arrow_back</i>Back</a> +<a class="waves-effect waves-light btn blue darken-3 right" href="logout.php"><i class="material-icons left">lock</i>Logout</a> <div id="main"> <div class="container"> <h2 class="center-align" id="headline"><?php echo $projectName;?></h2> diff --git a/php/admin/admin-roadmaps.php b/php/admin/admin-roadmaps.php index 1562a83e84afbe5545d4ff5fb85750f19122729a..3bef775208a27f15d83e3ba838f09ce5cf4884e1 100644 --- a/php/admin/admin-roadmaps.php +++ b/php/admin/admin-roadmaps.php @@ -1,6 +1,15 @@ <!DOCTYPE html> <?php +if(!isset($_SESSION)) +{ + session_start(); +} +if(!isset($_SESSION['loggedIn'])) +{ + header('Location: login.php'); +} + include_once('../getLanguageJSON.php'); include_once('../mysql.php'); @@ -29,6 +38,8 @@ $db->createTables(); </head> <body class="grey lighten-3"> + <a class="waves-effect waves-light btn blue darken-3 right" href="logout.php"><i class="material-icons left">lock</i>Logout</a> + <div style="clear: both;"></div> <div id="main"> <div class="container"> <h2 class="center-align" id="headline">Roadmaps</h2> diff --git a/php/admin/admin-subtasks.php b/php/admin/admin-subtasks.php index 37dd5e786d52b6c2cc8a10464bb85fdcc114b59f..50da1fd0d42e87618c0ff1743cce655dc58c3969 100644 --- a/php/admin/admin-subtasks.php +++ b/php/admin/admin-subtasks.php @@ -1,6 +1,15 @@ <!DOCTYPE html> <?php +if(!isset($_SESSION)) +{ + session_start(); +} +if(!isset($_SESSION['loggedIn'])) +{ + header('Location: login.php'); +} + include_once('../getLanguageJSON.php'); include_once('../mysql.php'); @@ -51,6 +60,7 @@ if($task == false) <body class="grey lighten-3"> <a class="waves-effect waves-light btn blue darken-3" href="admin-tasks.php?id=<?php echo $task['MilestoneID'];?>"><i class="material-icons left">arrow_back</i>Back</a> +<a class="waves-effect waves-light btn blue darken-3 right" href="logout.php"><i class="material-icons left">lock</i>Logout</a> <div id="main"> <div class="container"> <h2 class="center-align" id="headline"><?php echo $task['Title'];?></h2> diff --git a/php/admin/admin-tasks.php b/php/admin/admin-tasks.php index 16e6d7955608127834d90e8a11360f71079c7adf..88bf5ea2d13ebfd0193e9f75b52ddef39b7a7d78 100644 --- a/php/admin/admin-tasks.php +++ b/php/admin/admin-tasks.php @@ -1,6 +1,15 @@ <!DOCTYPE html> <?php +if(!isset($_SESSION)) +{ + session_start(); +} +if(!isset($_SESSION['loggedIn'])) +{ + header('Location: login.php'); +} + include_once('../getLanguageJSON.php'); include_once('../mysql.php'); @@ -51,6 +60,7 @@ if($milestone == false) <body class="grey lighten-3"> <a class="waves-effect waves-light btn blue darken-3" href="admin-milestones.php?id=<?php echo $milestone['RoadmapID'];?>"><i class="material-icons left">arrow_back</i>Back</a> +<a class="waves-effect waves-light btn blue darken-3 right" href="logout.php"><i class="material-icons left">lock</i>Logout</a> <div id="main"> <div class="container"> <h2 class="center-align" id="headline"><?php echo $milestone['Title'];?></h2> diff --git a/php/admin/helper/checkLogin.php b/php/admin/helper/checkLogin.php new file mode 100644 index 0000000000000000000000000000000000000000..a5f351a89115904da8ce8fdc6333bf69155296ad --- /dev/null +++ b/php/admin/helper/checkLogin.php @@ -0,0 +1,32 @@ +<?php + +$PASSWORD = "123"; + +if(!isset($_SESSION)) +{ + session_start(); +} + +if($_SERVER['REQUEST_METHOD'] == 'POST') +{ + if(isset($_POST['password'])) + { + if($_POST['password'] == $PASSWORD) + { + $_SESSION['loggedIn'] = 'true'; + echo "success"; + } + else + { + echo "bad_login"; + } + } + else + { + echo "error"; + } +} +else +{ + echo "error"; +} \ No newline at end of file diff --git a/php/admin/index.php b/php/admin/index.php new file mode 100644 index 0000000000000000000000000000000000000000..59595ab259e253341ad3daa4be12ed9031cfc977 --- /dev/null +++ b/php/admin/index.php @@ -0,0 +1,3 @@ +<?php +header('Location: admin-roadmaps.php'); +exit; \ No newline at end of file diff --git a/php/admin/login.php b/php/admin/login.php new file mode 100644 index 0000000000000000000000000000000000000000..43d64de822957cd93ed9dd7b99a1c7f5b8ca45f9 --- /dev/null +++ b/php/admin/login.php @@ -0,0 +1,51 @@ +<!DOCTYPE html> + +<?php +include_once('../getLanguageJSON.php'); +include_once('../mysql.php'); +?> +<html xmlns="http://www.w3.org/1999/html"> + <head> + <meta charset="UTF-8"/> + <title>Login</title> + + <!--Import Google Icon Font--> + <link href="http://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> + <!--Import materialize.css--> + <link type="text/css" rel="stylesheet" href="../../materialize/css/materialize.min.css" media="screen,projection"/> + <link type="text/css" rel="stylesheet" href="../../css/style.css"/> + + <!--Import jQuery before materialize.js--> + <script type="text/javascript" src="../../js/jquery-2.2.4.min.js"></script> + <script type="text/javascript" src="../../materialize/js/materialize.min.js"></script> + <script type="text/javascript" src="../../js/main.js"></script> + <script type="text/javascript" src="../../js/ResizeSensor.js"></script> + <script type="text/javascript" src="../../js/ElementQueries.js"></script> + + <!--Let browser know website is optimized for mobile--> + <meta name="viewport" content="width=device-width, initial-scale=1.0"/> + </head> + + <body class="grey lighten-3"> + <div id="main"> + <div class="container"> + <h2 class="center-align" id="headline">Login</h2> + + <div class="row center-align"> + <div class="col s10 offset-s1 m6 offset-m3 l4 offset-l4"> + <div class="input-field col s12"> + <input id="password" name="password" type="password"> + <label for="password">Password</label> + </div> + </div> + </div> + <div class="row center-align margin-top"> + <div class="col s12 m8 offset-m2 l6 offset-l3"> + <a class="waves-effect waves-light btn blue darken-3" href="../index.php"><i class="material-icons left">arrow_back</i>Back</a> + <a class="waves-effect waves-light btn blue darken-3 margin-left button-login"><i class="material-icons left">exit_to_app</i>Login</a> + </div> + </div> + </div> + </div> + </body> +</html> \ No newline at end of file diff --git a/php/admin/logout.php b/php/admin/logout.php new file mode 100644 index 0000000000000000000000000000000000000000..7a5cc7d8a7c98fb7cd29a666e1ea5502a8634a1e --- /dev/null +++ b/php/admin/logout.php @@ -0,0 +1,8 @@ +<?php +session_start(); +session_unset(); +session_destroy(); +session_write_close(); +setcookie(session_name(),'',0,'/'); +session_regenerate_id(true); +header('Location: ../index.php'); \ No newline at end of file