-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathAdministration.php
More file actions
201 lines (181 loc) · 7.38 KB
/
Administration.php
File metadata and controls
201 lines (181 loc) · 7.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
<?php
$tituloPagina = "Administración de Proyectos";
include 'templates/header.php';
/*
Inicio esta variable para usarla más adelante almacenar el resultado de una consulta.
*/
$NameUser = "";
$nameusr = $_SESSION["Name"];
$server = "localhost";
$user = "Administrador";
$pass = "P@ssw0rd";
$bbdd = "ScrumDB4";
$connect = mysqli_connect($server,$user, $pass, $bbdd);
/*
En la variable $consulta lanzaremos nuestra pequeña consulta SQL
donde obtendremos el nombre del usuario donde el nickname sea igual
a nuestra variable $nameusr (ésta almacena la SESSION["Name"]).
*/
$consulta = ("SELECT username FROM Users WHERE nickname='$nameusr';");
/*
Almacenaremos el anterior resultado en nuestra variable, valga la
redundancia, llamada resultado.
*/
$resultado = mysqli_query($connect, $consulta);
/*
Finalmente comprobaremos si tenemos algún resultado.
En caso de que haya un resultado, en este caso sí,
éste lo guardaremos en nuestra variable $NameUser donde almacenará
$variable = $registro["columna"], es decir $NameUser = $registro["username"]. El nombre username es el que tenemos en nuestra tabla Users donde se guarda el nombre del usuario.
*/
if($registro = mysqli_fetch_assoc($resultado)){
$NameUser = $registro["username"];
}
/* tratando de que borre cosas de la base de datos*/
// print_r($_POST);
// if ($_POST && $_POST['delete']) {
// checkIsset($sprintEliminar, $_POST['sprint']);
// $desasignarSprint = "UPDATE homework SET sprintID = 0 WHERE sprintID = $sprintEliminar;";
// $eliminarSprint = "DELETE FROM sprints WHERE sprintID = $sprintEliminar;";
// }
include 'templates/nav.php';
$host=$_SERVER["HTTP_HOST"];
$url= $_SERVER["REQUEST_URI"];
/*
Separo la url mediante el =
*/
$cutnewUrl = explode("%20", $url);
$newutl = explode("=", $url);
$ProjectName = $newutl[1];
$NameProject = str_replace("%20", " ", $ProjectName);
/*
Al obtener el nombre del projecto mediante el método GET puedo realizar una consulta que me devuelva los datos de ese proyecto y enviarselo mediante un array al JS para mostrar con DOM toda la información de X projecto.
*/
$InfoProject = ("SELECT * FROM Projects WHERE nameProject='$NameProject';");
$resultInfoProject = mysqli_query($connect, $InfoProject);
$infoProject=[];
while ($info = mysqli_fetch_assoc($resultInfoProject)) {
$NameP = $info["nameProject"];
$idProject=$info["projectID"];
$DescripcionP = $info["description"];
$scrumMasternameP = $info["scrumMasterName"];
$productOwnernameP = $info["productOwnerName"];
array_push($infoProject, $NameP);
array_push($infoProject, $DescripcionP);
array_push($infoProject, $scrumMasternameP);
array_push($infoProject, $productOwnernameP);
}
$typeUser = ("SELECT type FROM Users WHERE username='$NameUser';");
$resultTypeUser = mysqli_query($connect, $typeUser);
if($Query = mysqli_fetch_assoc($resultTypeUser)){
$userType = $Query["type"];
}
//Con el id del projecto buscamos los sprints de este, creando una array de arrays, para luego enviarla a javascript
$SprintsInfo = ("SELECT * FROM Sprints WHERE projectID=$idProject order by orderNumber;");
$resultSprints = mysqli_query($connect,$SprintsInfo);
$finalSprintInfoArray = [];
$restartSprintInfoArray = [];
while ($info = mysqli_fetch_assoc($resultSprints)) {
$order=$info["orderNumber"];
$hours=$info["hours"];
$startDate=$info["startDate"];
$endDate=$info["endDate"];
$status=$info["status"];
$sprintID=$info["sprintID"];
array_push($restartSprintInfoArray, $order);
array_push($restartSprintInfoArray, $hours);
array_push($restartSprintInfoArray, $startDate);
array_push($restartSprintInfoArray, $endDate);
array_push($restartSprintInfoArray, $status);
array_push($restartSprintInfoArray, $sprintID);
array_push($finalSprintInfoArray, $restartSprintInfoArray);
$restartSprintInfoArray=[];
}
//Con los ids de los sprints del projecto buscamos las especificaciones de este, creando una array de arrays, para luego enviarla a javascript
$HomeworkInfo = ("SELECT * FROM Homework WHERE sprintID IN (SELECT sprintID FROM Sprints WHERE projectID='$idProject' order by orderNumber) ORDER BY orderHW;");
$HomeworkResult = mysqli_query($connect,$HomeworkInfo);
$finalHWInfoArray=[];
$restartHWInfoArray=[];
while ($info = mysqli_fetch_assoc($HomeworkResult)){
$homeworkID=$info["homeworkID"];
$description=$info["description"];
$hours=$info["hours"];
$sprintID=$info["sprintID"];
$orderHW=$info["orderHW"];
array_push($restartHWInfoArray, $homeworkID);
array_push($restartHWInfoArray, $description);
array_push($restartHWInfoArray, $hours);
array_push($restartHWInfoArray, $sprintID);
array_push($restartHWInfoArray, $orderHW);
array_push($finalHWInfoArray, $restartHWInfoArray);
$restartHWInfoArray=[];
}
//Buscar especificaciones en el backlog
$HWnull=("SELECT * FROM Homework WHERE projectID='$idProject' AND sprintID=0;");
$HWnullResult=mysqli_query($connect,$HWnull);
$finalHWnullArray=[];
$restartHWnullArray=[];
while ($info = mysqli_fetch_assoc($HWnullResult)){
$homeworkID=$info["homeworkID"];
$description=$info["description"];
array_push($restartHWnullArray, $homeworkID);
array_push($restartHWnullArray, $description);
array_push($finalHWnullArray, $restartHWnullArray);
$restartHWInfoArray=[];
}
//Obtengo el orderNumber de la tabla Sprints de manera descendente para obtener el ultimo valor.
$consultOrderNumber = ("SELECT orderNumber FROM Sprints WHERE projectID='$idProject' Order By OrderNumber DESC;");
$resultConsult = mysqli_query($connect, $consultOrderNumber);
$finalOrderNumber = [];
while($number = mysqli_fetch_assoc($resultConsult)){
$orderNumber = $number["orderNumber"];
array_push($finalOrderNumber, $orderNumber);
}
$numberOrd = 1;
if (isset($finalOrderNumber[0])) {
$numberOrd = $finalOrderNumber[0]+1;
}
?>
<?php
/*
Hemos creado una función llamada destroySession para que una vez sea llamada destruya la SESSION actual y nos redirija a login.php
*/
function destroySession(){
session_destroy();
header("Location: index.php");
}
/*
Esta condición nos permite saber si el usuario ha hecho click en la imagen donde hemos añadido una especie de
variable que estará siempre en True, activada para que cuando se haya hecho clic llame a la función destroySession.
*/
if(isset($_GET['exituser'])){
destroySession();
}
/*
La variable converIntArray convierte nuestro array que obtenemos en formato String,
lo pasamos a entero.
*/
echo "<div id='contenido-web'></div>";
if ($_POST) {
$horas = $_POST["hours"];
$fechaInicio = $_POST["fechaInicio"];
$fechaFinal = $_POST["fechaFin"];
$estado = 2;
//Insert del nuevo Sprint.
$AddSprint = ("INSERT INTO Sprints (projectID, hours, startDate, endDate, orderNumber, status) VALUES ('$idProject', '$horas', '$fechaInicio', '$fechaFinal', '$numberOrd','$estado');");
if(mysqli_query($connect, $AddSprint)){
header("Location: Administration.php?id=".$NameProject);
}
}
?>
<script type="text/javascript">
var tipo = '<?php echo $userType;?>';
</script>
<script type="text/javascript">
var infoProject = <?php echo json_encode($infoProject);?>;
var arraySprint = <?php echo json_encode($finalSprintInfoArray);?>;
var arrayHW = <?php echo json_encode($finalHWInfoArray);?>;
var arrayHWnull = <?php echo json_encode($finalHWnullArray);?>;
var numberOrd = <?php echo json_encode($numberOrd);?>;
</script>
<?php include 'templates/footer.php'?>