-
Notifications
You must be signed in to change notification settings - Fork 0
/
utils.php
87 lines (78 loc) · 2.64 KB
/
utils.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
<?php
// les utilitaires pour la gestion des JO_INF245_INF245_INF245_INF245_INF245_INF245_INF245_INF245_INF245
putenv("ORACLE_SID=im2ag");
// les messages d'erreurs
function LeMessage ($codeErreur) {
$t = 1;
switch ($codeErreur) {
case "pasdeconnexion":
$t = 0;
$message= "La connexion à la base de données a échoué"; break;
case "connexionOK":
$t = 1;
$message= "Connexion réussie"; break;
case "majOk":
$t = 1;
$message = "La mise à jour a été effectuée"; break ;
case "disciplineconnue":
$t = 0;
$message = "Discipline déjà enregistrée" ; break ;
case "representationconnue":
$t = 0;
$message = "Representation déjà enregistrée" ; break ;
case "affectationconnue":
$t = 0;
$message = "Affectation déjà enregistrée" ; break ;
case "majRejetee":
$t = 0;
$message = "La mise à jour a été rejetée"; break ;
case "problemevariables":
$t = 0;
$message = "Votre navigateur ne semble pas accepter les cookies"; break ;
default:
$t = 0;
$message = "Autre message" ; break ;
}
$type = $t == 0 ? "erreur" : "info";
return "<P class=\"$type\"><b>".$message."</b></P>";
}
// les messages d'erreur Oracle
function LeMessageOracle ($codeOracle, $messageOracle) {
switch ($codeOracle) {
case 1:
$message = "-> contrainte de clef non respectée"; break ;
case 1400:
$message = "-> valeur absente interdite"; break ;
case 1722:
$message = "-> erreur de type, un nombre était attendu"; break ;
case 2291:
$message = "-> contrainte référentielle non respectée"; break;
default:
$message = "-> autre message : ".$codeOracle; break ;
}
$message = "<b>".$message ;
$message .= " (".$messageOracle.") </b>" ;
return $message ;
}
// Connexion : une action (deux donnees, deux resultats)
// Connexion (n, p, c, r) etablit une connexion oracle pour
// l'utilisateur de nom n et de mot de passe p. c est le lien
// vers la connexion et r est le code erreur associe.
function Connexion ($nom, $motdepasse, &$lien, &$codeerreur) {
// @ devant le nom de l'action neutralise les messages d'erreur
// qu'elle pourrait envoyer
$host = 'im2ag-oracle.e.ujf-grenoble.fr';
$port = '1521';
$service_name = 'im2ag';
$lien = oci_connect($nom, $motdepasse, "//$host:$port/$service_name");
if ($lien)
$codeerreur = "connexionOK" ;
else
$codeerreur = "pasdeconnexion" ;
}
// Deconnexion : une action (une donnee)
// Deconnexion (l) deconnecte le lien l de Oracle
function Deconnexion ($lien) {
oci_close ($lien) ;
}
?>