This repository has been archived by the owner on Jan 13, 2024. It is now read-only.
forked from danesino/Registro-elettronico
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathautenticazione_db.php
executable file
·104 lines (87 loc) · 3.92 KB
/
autenticazione_db.php
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
<?php
// ----------------------------------------------------------------------
// Registro elettronico scuole ospedaliere
// ----------------------------------------------------------------------
// LICENSE and CREDITS
// This program is free software and it's released under the terms of the
// GNU General Public License(GPL)
// Link: http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
// Please READ carefully the Docs/License.txt file for further details
// Please READ the Docs/credits.txt file for complete credits list
// ----------------------------------------------------------------------
// Nome file: autenticazione_db.php
// Autore di questo file: Sophia Danesino, Puria Nafisi
// Descrizione: verifica l'autorizzazione ad operare su
// specifici studenti del registro elettronico.
// ----------------------------------------------------------------------
// Autorizzazione: ruolo amministratore
// ----------------------------------------------------------------------
/* Verifica che un utente possa accedere alle informazioni di un particolare studente */
function autorizza_affidatario_genitore($id_studente,$codice_utente)
{
global $link;
$sql =& $link->query("SELECT * FROM Esterni WHERE (id_utente= ? ) AND (id_studente= ? )", array($codice_utente, $id_studente));
if (!$sql->fetchRow())
errore_autenticazione("Utente non autorizzato a questa funzione.");
}
/* Verifica che un docente possa compilare il registro di un particolare
studente: deve essere in una classe in cui insegna */
function autorizza_docente_degenza ($id_degenza,$codice_utente)
{
global $link;
// classe in cui è inserito lo studente
$sql =& $link->query("SELECT id_classe FROM Classe WHERE (id_degenza= ? )",$id_degenza);
$classe =& $sql->fetchRow();
// classi in cui è abilitato ad insegnare quel docente
$sql =& $link->query("SELECT id_classe FROM CdC WHERE (id_utente= ? )",$codice_utente);
$verifica_classe=false;
while ( $classe_doc = $sql->fetchRow())
{ if ($classe==$classe_doc)
$verifica_classe=true;
}
if (!$verifica_classe)
errore_autenticazione("Docente non autorizzato a questa funzione.");
}
/* Verifica che un docente possa compilare il registro di un particolare
studente: deve essere in una classe in cui insegna */
function autorizza_docente_registro ($id_degenza,$codice_utente)
{
global $link;
// classe in cui è inserito lo studente
$sql =& $link->query("SELECT id_classe FROM Classe WHERE (id_degenza= ? )",$id_degenza);
$classe =& $sql->fetchRow();
// classi in cui è abilitato ad insegnare quel docente
$sql =& $link->query("SELECT id_classe FROM CdC WHERE (id_utente= ? )",$codice_utente);
$verifica_classe=false;
while ( $classe_doc =& $sql->fetchRow())
{ if ($classe==$classe_doc)
$verifica_classe=true;
}
if (!$verifica_classe)
errore_autenticazione("Docente non autorizzato a questa funzione.");
}
/* Verifica che un docente possa compilare il registro di un particolare
studente: deve essere in una classe in cui insegna */
function autorizza_docente_studente ($id_studente,$codice_utente)
{
// verifica che il docente abbia insegnato in una classe in cui è stato
// inserito lo studente
$sql="SELECT * FROM Degenze, Classe, CdC WHERE Degenze.id_degenza=Classe.id_degenza AND CdC.id_utente=".$codice_utente." AND
CdC.id_classe=Classe.id_classe AND
Degenze.id_studente=".$id_studente;
$query = mysql_query($sql);
if (!mysql_fetch_object($query))
errore_autenticazione("Docente non associato allo studente.");
}
// autorizza un docente ad esaminare le informazioni relative ad una classe
function autorizza_docente_classe ($id_classe,$codice_utente)
{
// verifica che il docente abbia insegnato in quella classe
$sql="SELECT * FROM CdC WHERE
id_utente=".$codice_utente." AND
id_classe=".$id_classe;
$query = mysql_query($sql);
if (!mysql_fetch_object($query))
errore_autenticazione("Docente non associato a questa Classe.");
}
?>