diff --git a/studentview/assets/css/Sidebar-Menu1.css b/studentview/assets/css/Sidebar-Menu1.css index 66e203c407f8777f74f6fdbcca0b9ba43812e3b1..f6d216035c82bc5e4b94bc106579ec61a83a1b84 100644 --- a/studentview/assets/css/Sidebar-Menu1.css +++ b/studentview/assets/css/Sidebar-Menu1.css @@ -30,7 +30,7 @@ body { } #wrapper.toggled #sidebar-wrapper { - width:250px; + width:350px; } #page-content-wrapper { @@ -47,7 +47,7 @@ body { .sidebar-nav { position:absolute; top:0; - width:250px; + width:350px; margin:0; padding:0; list-style:none; diff --git a/studentview/assets/js/deleteProject.js b/studentview/assets/js/deleteProject.js index ccce82ca807d2909b7f8a959258c32f62d4310c1..0d5176e61896d9e69974949f765f115305ed5bcd 100644 --- a/studentview/assets/js/deleteProject.js +++ b/studentview/assets/js/deleteProject.js @@ -11,7 +11,8 @@ $(document).ready(function () { }); function deleteProject(projectName) { - var url = "../database/deleteProject.php?project=" + projectName + "&password=" + document.getElementById('projectPassword').value.trim() + "&token=" + getUserTokenFromUrl(); + var token = getUserTokenFromUrl(); + var url = "../database/deleteProject.php?project=" + projectName + "&password=" + document.getElementById('projectPassword').value.trim() + "&token=" + token; if (projectName === "") { return false; } else { diff --git a/studentview/assets/js/myGroupsInit.js b/studentview/assets/js/myGroupsInit.js index 217ee7ab4db6e01660cdff14617ce4dc869a0bb9..a084ff91176d4316d228d449983c5cd8ebb791de 100644 --- a/studentview/assets/js/myGroupsInit.js +++ b/studentview/assets/js/myGroupsInit.js @@ -33,10 +33,10 @@ function getProjects(user) { if (data.length !== 0) { var projects = []; if (data.data != null) { - projects = data.data; - printProjectDropdown(projects, 0); + projects = data.data; + printProjectDropdown(projects, 0); } - getProjectsOfAuthor(user,projects, printProjectDropdown) + getProjectsOfAuthor(user, projects, printProjectDropdown) } else { document.getElementById("projectDropdown").innerHTML = "keine Projekte verfügbar"; //no projects of the students where found } @@ -44,7 +44,52 @@ function getProjects(user) { }); } + +function printGroupTable(student1, student2, student3, student4) { + var innerurl = "../database/getAdresses.php?student1=" + student1 + "&student2=" + student2 + "&student3=" + student3 + "&student4=" + student4; + $.ajax({ //get email adresses in this ajax. + student1: "" + student1, + student2: "" + student2, + student3: "" + student3, + student4: "" + student4, + url: innerurl, + type: 'GET', + contentType: "application/json", + dataType: "json", + success: function (innerData) { + var tableStart = '<table class="table table-striped table-bordered table-list"' + + ' style="width: 40%;margin-top:' + + ' 10px;"> <thead id="tableHead"> ' + + ' <tr>' + + ' <th class="hidden-xs">Student</th>' + + ' <th>E-Mail</th>' + + ' </tr>'; + var tableFinish = '</thead>' + '</table>'; + for (var k2 = 0; k2 < innerData.length; k2++) { + if (innerData[k2].name === student1) { + tableStart = tableStart + ("<tr><td>" + student1 + "</td><td><a" + + " href='mailto:" + innerData[k2].email + "'>" + innerData[k2].email + "</a></td></tr>"); + } else if (innerData[k2].name === student2) { + tableStart = tableStart + ("<tr><td>" + student2 + "</td><td><a" + + " href='mailto:" + innerData[k2].email + "'>" + innerData[k2].email + "</a></td></tr>"); + } else if (innerData[k2].name === student3) { + tableStart = tableStart + ("<tr><td>" + student3 + "</td><td><a" + + " href='mailto:" + innerData[k2].email + "'>" + innerData[k2].email + "</a></td></tr>"); + } else if (innerData[k2].name === student4 && (student4 != null)) { + tableStart = tableStart + ("<tr><td>" + student4 + "</td><td><a" + + " href='mailto:" + innerData[k2].email + "'>" + innerData[k2].email + "</a></td></tr>"); + } + } + + var tableString = tableStart + tableFinish; + $("#tablesHolder").append(tableString); + } + }); + return innerurl; +} function getMembers(project, user) { //gets all Members in the chosen Project user is a part of with email adresses + + $("#tablesHolder").empty(); var url = "https://esb.uni-potsdam.de:8243/services/competenceBase/api2/groups/" + project; //this API is used, since fleckenroller has security issues with CORS and stuff $.ajax({ url: url, @@ -54,77 +99,16 @@ function getMembers(project, user) { //gets all Members in the chosen Pro dataType: "json", //{groups: [id, users:[]] } success: function (data) { for (var i = 0; i < data.groups.length; i++) { - for (var j = 0; j < data.groups[i].users.length; j++) { - if (data.groups[i].users[j] === user) { - $("#student2").show(); - $("#student3").show(); - var student1 = data.groups[i].users[(j + 1) % data.groups[i].users.length]; - var student2 = data.groups[i].users[(j + 2) % data.groups[i].users.length]; - $("#student2").text("<td>"+student1 + "</td><td>keine E-Mail Adresse gefunden</td>"); //if there is no email in the DB, you can just see the name - $("#student3").text("<td>"+student2 + "</td><td>keine E-Mail Adresse gefunden</td>"); - if (data.groups[i].users.length > 3) { //the fourth student is just shown if the group has at least 4 members - var student3 = data.groups[i].users[(j + 3) % data.groups[i].users.length]; - $("#student4").text("<td>"+student3 + "</td><td>keine E-Mail Adresse gefunden</td>"); - } - if (data.groups[i].users.length > 4) { //the fifth student is just shown if the group has 5 members - var student4 = data.groups[i].users[(j + 4) % data.groups[i].users.length]; - $("#student5").text("<td>"+student4 + "</td><td>keine E-Mail Adresse gefunden</td>"); - } - var innerurl = "../database/getAdresses.php?student1=" + student1 + "&student2=" + student2 + "&student3=" + student3 + "&student4=" + student4 + "&student5="; - $.ajax({ //get email adresses in this ajax. - student1: "" + student1, - student2: "" + student2, - student3: "" + student3, - student4: "" + student4, - url: innerurl, - type: 'GET', - contentType: "application/json", - dataType: "json", - success: function (innerData) { - var k1 = 0; - var k2 = 0; - if (student3 == undefined){ - $("#student4").hide(); - } - if (student4 == undefined){ - $("#student5").hide(); - } - for (k1=0 ; k1 < innerData.length; k1++){ - for (k2=0; k2 < innerData.length; k2++){ - if (innerData[k2].name === student1){ - $("#student2").html("<td>"+student1 + "</td><td><a href='mailto:" + innerData[k2].email+"'>"+ innerData[k2].email+"</a></td>"); - }else - if (innerData[k2].name === student2){ - $("#student3").html("<td>"+student2 + "</td><td><a href='mailto:" + innerData[k2].email+"'>"+ innerData[k2].email+"</a></td>"); - }else - if (innerData[k2].name === student3){ - $("#student4").show(); - $("#student4").html("<td>"+student3 + "</td><td><a href='mailto:" + innerData[k2].email+"'>"+ innerData[k2].email+"</a></td>"); - }else - if (innerData[k2].name === student4){ - $("#student5").show(); - $("#student5").html("<td>"+student4 + "</td><td><a href='mailto:" + innerData[k2].email+"'>"+ innerData[k2].email+"</a></td>"); - } - } - } - }, - error: function (a,b,c){ - console.log(a); - $("#student2").hide(); - $("#student3").hide(); - $("#student4").hide(); - $("#student5").hide(); - } - }); - } - } + + var student1 = data.groups[i].users[0]; + var student2 = data.groups[i].users[1]; + var student3 = data.groups[i].users[2]; + var student4 = data.groups[i].users[3]; + printGroupTable(student1, student2, student3, student4); } }, - error: function (a, b, c) { - $("#student2").text("In diesem Projekt sind noch nicht ausreichend TeilnehmerInnen vorhanden."); - $("#student3").hide(); - $("#student4").hide(); - $("#student5").hide(); + error: function(data) { + $("#tablesHolder").append("<p>Es wurden keine Gruppen gefunden. Das Projekt muss mehr als 5 Teilnehmer haben!</p>") } }); diff --git a/studentview/assets/js/overview.js b/studentview/assets/js/overview.js index ae1e461118fd9e29a664c2adb612a0194a9912c0..3768586d4a21eb70c3201ed295fb75f216cc8f96 100644 --- a/studentview/assets/js/overview.js +++ b/studentview/assets/js/overview.js @@ -23,7 +23,7 @@ function printProjects(projects, offset) { //'<a class="btn btn-default"><em class="fa fa-pencil" ></em></a>' + //'<button id="deleteButton' +i+ '" class="btn btn-danger fa fa-trash deleteButton"></button>' + content.innerHTML = '<td align="center">' + - '<a href="deleteProject.php?token=5aba1b592ea69" class="btn btn-danger fa fa-trash"></a>' + + '<a href="deleteProject.php?token='+getUserTokenFromUrl()+'" class="btn btn-danger fa fa-trash"></a>' + '</td>' + '<td class="hidden-xs" href="#Div_Promo_Carousel" data-slide="next">' + projects[i] + '</td>' + '<td id="projectTags' + (i + offset) + '" href="#Div_Promo_Carousel" data-slide="next"></td>'; diff --git a/studentview/database/createUser.php b/studentview/database/createUser.php index 936eccde1ea79e1367e5a3e18a8e9e65f7bd5a55..afbeb1284e675d75fe845dcaf5ab34aa18632cfe 100644 --- a/studentview/database/createUser.php +++ b/studentview/database/createUser.php @@ -28,15 +28,15 @@ $result = mysqli_fetch_object($queryObj); if ($result) { header("Location: ../register.php?userExists=true"); die(); -} +} else { // is user does not exist create -$db->query("INSERT INTO `users`(`name`, `password`, `email`, `token` ) VALUES ('" . $name . "','" . $password . "','" . $email - . "','" . $token . "');"); -$db->commit(); - -header("Location: ../pages/projects.php?token=".$token); -die(); + $db->query("INSERT INTO `users`(`name`, `password`, `email`, `token` ) VALUES ('" . $name . "','" . $password . "','" . $email + . "','" . $token . "');"); + $db->commit(); + header("Location: ../pages/projects.php?token=" . $token); + die(); +} ?> \ No newline at end of file diff --git a/studentview/database/tokenSetter.php b/studentview/database/tokenSetter.php index 095abd67939f4a896d2aa7d3bcbdba13cae37da7..51e6543a18896389d5c64b3dbffaeb9785ae8574 100644 --- a/studentview/database/tokenSetter.php +++ b/studentview/database/tokenSetter.php @@ -10,5 +10,9 @@ $query = "SELECT (`name`) from users u where u.token = '". $_GET['token']."';"; //echo $db->query($query); $result = mysqli_query($db, $query); $resultObj = mysqli_fetch_object($result); -$userName = $resultObj->name; +if ($resultObj) { + $userName = $resultObj->name; +} else { + header("Location: ../index.php"); +} ?> \ No newline at end of file diff --git a/studentview/pages/menu.php b/studentview/pages/menu.php index 46bd38a17543c97d373690cddd333c66ef74c5d2..de93a13af9751ed5c82cbe393a852b535ae8fa8a 100644 --- a/studentview/pages/menu.php +++ b/studentview/pages/menu.php @@ -7,8 +7,8 @@ */ ?> <div id="sidebar-wrapper" style="width:190px;"> - <ul class="sidebar-nav" style="width:200px;margin-top:50px;"> - <li><h3 style="color:white;"><?php echo $userName; ?></h3></li> + <ul class="sidebar-nav" style="width:200px;margin-top:50px"> + <li><h4 style="color:white;display:none;"><?php echo $userName; ?></h4></li> <li style="width:146px;"><a href="newproject.php?token=<?php echo $token ?>" style="margin-top:32px;width:200px;">Projekt erstellen</a></li> <li style="width:146px;"><a href="enrollment.php?token=<?php echo $token ?>" style="margin-top:32px;width:200px;">Projekt beitreten</a> diff --git a/studentview/pages/mygroups.php b/studentview/pages/mygroups.php index c610e7cfdb1c552e528a65019ac1b9d27a5ef420..ee50022218242cd7e297d5c9a685d77849056104 100644 --- a/studentview/pages/mygroups.php +++ b/studentview/pages/mygroups.php @@ -57,7 +57,8 @@ include_once '../database/tokenSetter.php'; </div> </div> </div> - <table class="table table-striped table-bordered table-list" style="width: 40%;margin-top: 10px;"> + <div id="tablesHolder"></div> + <!-- <table class="table table-striped table-bordered table-list" style="width: 40%;margin-top: 10px;"> <thead id="tableHead"> <tr> <th class="hidden-xs">Student</th> @@ -80,9 +81,9 @@ include_once '../database/tokenSetter.php'; </tbody> - </table> - <p>Hier können sie ihre Gruppen zu allen Projekten einsehen. Klicken sie dafür auf das Dropdownmenü - um ihren Kurs auszuwählen.</p> + </table>--> + <!--<p>Hier können sie ihre Gruppen zu allen Projekten einsehen. Klicken sie dafür auf das Dropdownmenü + um ihren Kurs auszuwählen.</p>--> </div> </div> </div> diff --git a/studentview/pages/projects.php b/studentview/pages/projects.php index fb07420814db66d7defe70a5aaf4a1291220d557..1dee1d8746a0f922b7b0c7382fb2887087a479cb 100644 --- a/studentview/pages/projects.php +++ b/studentview/pages/projects.php @@ -29,6 +29,7 @@ include_once '../database/tokenSetter.php'; <script src="../assets/js/Customizable-Carousel-swipe-enabled.js"></script> <script src="../assets/js/Sidebar-Menu.js"></script> <script src="../assets/js/getProjects.js"></script> + <script src="../assets/js/utility.js"></script> <script src="../assets/js/overview.js"></script> <script src="../assets/js/showProjects.js"></script> </head> diff --git a/studentview/register.php b/studentview/register.php index 3f6a7c5cc1b4c635264e7adbdd4f5a48803cc911..f9383b1410befee32042af65e9e0a8076eb42761 100644 --- a/studentview/register.php +++ b/studentview/register.php @@ -16,7 +16,7 @@ <body> <div class="login-clean"> - <form method="post" action="database/createUser.php" target="pages/overview.html"> + <form method="post" action="database/createUser.php"> <h2 class="sr-only">Login Formular</h2> <div class="illustration"><img src="assets/img/fides-logo.svg"></div> <div class="form-group"><input class="form-control" name="name" placeholder="Name"></div>