campo-sirio/corsi/pages/funzioni.php
alex cf0c1133fd Patch level :
Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
Versione FAD del 11/10/2001


git-svn-id: svn://10.65.10.50/trunk@9917 c028cbd2-c16b-5b4b-a496-9718f37d4682
2001-10-11 12:55:16 +00:00

460 lines
13 KiB
PHP
Executable File

<?php
// Controlla il login di un utente
function validazione($username, $psw)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
$criteri = "SELECT id FROM $tbl_utenti WHERE username = '$username' AND pass = '$psw'";
$result = mysql_query($criteri, $db);
$myrow = mysql_fetch_array($result);
if ($myrow)
return $myrow["id"];
else
return 0;
}
// Restituisce il corso a cui un utente e' abilitato
function corso($utente)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
$criteri = "SELECT idcorso FROM $tbl_utenti WHERE (id = $utente)";
$result = mysql_query($criteri, $db);
$myrow = mysql_fetch_array($result);
if ($myrow)
return $myrow["idcorso"];
else
return "";
}
// Restituisce tutte le informazioni su un utente
function generale($id)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
$criteri = "SELECT * FROM $tbl_utenti WHERE id = $id ";
$result = mysql_query($criteri, $db);
$myrow = mysql_fetch_array($result);
return $myrow;
}
// Scrive il login di un utente nella tabella accessi
function login($idutente, $login)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
$sql = "INSERT INTO $tbl_accessi (idutente, login, descrizione, modifica) VALUES($idutente, '$login', 'ONLINE', 'no') ";
$ins = mysql_query($sql,$db);
if ($ins)
{
$criteri = "SELECT id FROM $tbl_accessi WHERE login = '$login' ";
$result = mysql_query($criteri, $db);
$myrow = mysql_fetch_array($result);
return $myrow["id"];
}
}
// Scrive il logout di un utente nella tabella accessi
function logout($id, $ora)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
$sql = "UPDATE $tbl_accessi SET logout = '$ora' WHERE id = $id ";
$ins = mysql_query($sql,$db);
}
// Restituisce la differenza tra due date in Ore:Minuti:Secondi
function differenza($periodo1, $periodo2)
{
//string substr(string string, int start, int [length]);
$giorno1 = substr($periodo1, 8, 2);
$giorno2 = substr($periodo2, 8, 2);
$ora1 = substr($periodo1, 11, 2);
$ora2 = substr($periodo2, 11, 2);
$min1 = substr($periodo1, 14, 2);
$min2 = substr($periodo2, 14, 2);
$sec1 = substr($periodo1, 17, 2);
$sec2 = substr($periodo2, 17, 2);
$diff = (($ora2-$ora1)*3600) + (($min2-$min1)*60) + ($sec2-$sec1);
if ($giorno1 != $giorno2)
$diff = $diff + (($giorno2-$giorno1)*3600*24);
$ore = $diff;
$O = 0;
while ($ore >= 3600):
$ore = ($ore-3600);
$O = $O + 1;
endwhile;
$resto = ($diff-($O*3600));
$min = $resto;
$M = 0;
while ($min >= 60):
$min = ($min-60);
$M = $M + 1;
endwhile;
$sec = ($resto-($M*60));
if (strlen($sec) < 2)
$sec = "0".$sec;
if (strlen($M) < 2)
$M = "0".$M;
$tempo = $O.":".$M.":".$sec;
return $tempo;
}
// Effettua la somma di due tempi in Ore:Minuti:Secondi
function somma_tempo($tempo1, $tempo2)
{
if (strlen($tempo1) < 8){
$ora1 = substr($tempo1, 0, 1);
$min1 = substr($tempo1, 2, 2);
$sec1 = substr($tempo1, 5, 2);
}else{
$ora1 = substr($tempo1, 0 ,2);
$min1 = substr($tempo1, 3, 2);
$sec1 = substr($tempo1, 6, 2);
}
if (strlen($tempo2) < 8){
$ora2 = substr($tempo2, 0, 1);
$min2 = substr($tempo2, 2, 2);
$sec2 = substr($tempo2, 5, 2);
}else{
$ora2 = substr($tempo2, 0 ,2);
$min2 = substr($tempo2, 3, 2);
$sec2 = substr($tempo2, 6, 2);
}
$orat = ($ora1+$ora2);
$mint = ($min1+$min2);
$sect = ($sec1+$sec2);
if ($sect >= 60){
$sect = ($sect-60);
$mint = $mint+1;
}
if ($mint >= 60){
$mint = ($mint-60);
$orat = $orat+1;
}
if (strlen($sect) < 2)
$sect = "0".$sect;
if (strlen($mint) < 2)
$mint = "0".$mint;
$somma = $orat.":".$mint.":".$sect;
return $somma;
}
// Stabilisce se l'utente e' abilitato a eseguire i moduli di un corso
function abilitato($utente, $corso)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
$criteri = "SELECT * FROM $tbl_utenti WHERE (id = $utente)";
$result = mysql_query($criteri,$db);
$myrow = mysql_fetch_array($result);
if ($myrow)
{
if ($myrow[idcorso] == $corso)
return true;
else
return false;
}
else
return false;
}
// Restituisce 0 se non si deve effettuare il test iniziale del modulo altrimenti restituticse l'ID
function inizio($modulo, $utente)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
//$criteri = "SELECT moduli_righe.idmodulo, moduli_righe.iniziale, moduli_righe.idtest, prove.idutente ";
//$criteri .= "FROM moduli_righe INNER JOIN prove ON moduli_righe.idtest = prove.idtest ";
//$criteri .= "WHERE ($tbl_moduli.id = $modulo) AND (prove.idutente = $utente) AND (moduli_righe.iniziale = $s_vero)";
$criteri = "SELECT * FROM moduli_righe WHERE (idmodulo = $modulo) AND (iniziale = $s_vero)";
//echo $criteri;
$result = mysql_query($criteri,$db);
if ($myrow = mysql_fetch_array($result))
{
$criteri1 = "SELECT prove.idutente, prove.idtest FROM prove WHERE (prove.idutente = $utente) AND (prove.idtest = $myrow[idtest])";
$result1 = mysql_query($criteri1,$db);
if ($myrow1 = mysql_fetch_array($result1))
return 0;
else
return $myrow[idtest];
}
else
return 0;
}
// Restutuisce il test finale del corso se un utente puo' eseguirlo
function fine($utente)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
$criteri = "SELECT $tbl_utenti.id, $tbl_test.posizione, $tbl_test.nome, $tbl_test.id as test, $tbl_test.idlezione as lezione ";
$criteri .= "FROM (($tbl_corsi LEFT JOIN $tbl_utenti ON $tbl_corsi.id = $tbl_utenti.idcorso) LEFT JOIN $tbl_lezioni ON $tbl_corsi.id = $tbl_lezioni.idcorso) LEFT JOIN $tbl_test ON $tbl_lezioni.id = $tbl_test.idlezione ";
$criteri .= "WHERE ($tbl_utenti.id = $utente) AND ($tbl_test.posizione = '$s_fine')";
//echo $criteri;
$result = mysql_query($criteri,$db);
$myrow = mysql_fetch_array($result);
if ($myrow)
{
$criteri1 = "SELECT * FROM $tbl_prove WHERE (idutente = $utente) AND (idtest = $myrow[test])";
//echo $criteri1;
$result1 = mysql_query($criteri1,$db);
$myrow1 = mysql_fetch_array($result1);
if ($myrow1)
return 0;
else
return $myrow[test];
}
}
// da il permesso di scaricare una lezione
// se test_prima controllando che sia stato effettuato il test iniziale
// altrimenti che sia stato effettuato il test finale della lezione precedente.
function controllo_download($lezione, $utente)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
$modulo = getvar($tbl_moduli_righe, "idmodulo", "idlezione =".$lezione);
$t_prima = getvar($tbl_moduli, "test_prima", "id=".$modulo);
if ($t_prima == $s_vero)
{
$test = getvar($tbl_moduli_righe, "idtest", "idlezione = ".$lezione." AND posizione = ".$s_prima);
echo "qui";
if ($test > 0)
{
if (test_effettuato($test, $utente))
return true;
else
return false;
}
else
return false;
}
else
{
$progressivo = getvar($tbl_moduli_righe, "progressivo", "idlezione =".$lezione." AND idmodulo = ".$modulo);
//echo $progressivo;
if ($progressivo != 0)
{
//$modulo = getvar($tbl_lezioni, "idmodulo", "id =".$lezione);
//echo $modulo;
if ($progressivo == $l_end)
$p_lez_prec = max_lezione($modulo);
else
$p_lez_prec = $progressivo - 1;
//echo $p_lez_prec;
//$lez_prec = getvar($tbl_lezioni, "id", "idmodulo =".$modulo." AND progressivo = ".$p_lez_prec);
//$lez_prec = getvar($tbl_moduli_righe, "idlezione", "idmodulo =".$modulo." AND progressivo = ".$p_lez_prec);
$test_prec = getvar($tbl_moduli_righe, "idtest", "idmodulo =".$modulo." AND progressivo = ".$p_lez_prec);
if ($test_prec > 0)
{
//echo $lez_prec;
//$test = max_test($lez_prec);
//if ($test > 0)
//{
if (test_effettuato($test_prec, $utente))
return true;
else
return false;
//}
//else
return false;
}
else
return false;
}
else
return true;
}
}
// Restituisce Vero se il test e' stato effettuato
function test_effettuato($test, $utente)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
$criteri = "SELECT * FROM $tbl_prove WHERE (idtest = $test) AND (idutente = $utente) ";
//echo $criteri;
$result = mysql_query($criteri,$db);
$myrow = mysql_num_rows($result);
//echo $myrow;
if ($myrow > 0)
return true;
else
return false;
}
// Da il permesso di effettuare un test se e' stato eseguito il test finale della lezione precedente
function test_prima($test, $utente)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
$lezione = getvar($tbl_test, "idlezione", "id =".$test);
$progressivo = getvar($tbl_lezioni, "progressivo", "id =".$lezione);
if ($progressivo != 0)
{
$modulo = getvar($tbl_lezioni, "idmodulo", "id =".$lezione);
$lezione_prec = getvar($tbl_lezioni, "id", "idmodulo =".$modulo." AND progressivo =".($progressivo-1));
}
$criteri = "SELECT $tbl_moduli.test_prima ";
$criteri .= "FROM $tbl_moduli LEFT JOIN $tbl_lezioni ON $tbl_moduli.id = $tbl_lezioni.idmodulo ";
$criteri .= "WHERE $tbl_lezioni.id = $lezione ";
//echo $criteri;
$result = mysql_query($criteri,$db);
$myrow = mysql_fetch_array($result);
if ($myrow[test_prima] == $s_falso)
return false;
else
return true;
}
// Da il permesso di effettuare un test se e' stata scaricata la lezione
function test_dopo($test, $utente)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
$lezione = getvar($tbl_moduli_righe, "idlezione", "idtest =".$test);
//echo $lezione;
$criteri = "SELECT * FROM $tbl_download WHERE (idlezione = $lezione) AND (idutente = $utente) ";
//echo $criteri;
$result = mysql_query($criteri,$db);
$myrow = mysql_num_rows($result);
if ($myrow > 0)
return true;
else
return false;
}
// Restituisce true se l'utente puo' effettuare l'ultimo test di un modulo
function fine_abilita($utente)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
$criteri1 = "SELECT $tbl_lezioni.progressivo, $tbl_test.posizione, $tbl_prove.idutente ";
$criteri1 .= "FROM ($tbl_lezioni LEFT JOIN $tbl_test ON $tbl_lezioni.id = $tbl_test.idlezione) LEFT JOIN $tbl_prove ON $tbl_test.id = $tbl_prove.idtest ";
$criteri1 .= "WHERE ($tbl_lezioni.progressivo = $l_end) AND ($tbl_test.posizione = $s_dopo) AND ($tbl_prove.idutente = $utente) ";
//echo $criteri1;
$result1 = mysql_query($criteri1,$db);
if ($myrow1 = mysql_fetch_array($result1))
return true;
else
return false;
}
// Restituisce il numero massimo di test di una lezione
function max_test($lezione)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
//$criteri1 = "SELECT COUNT($tbl_test.id) AS conto FROM $tbl_test WHERE $tbl_test.idlezione = $myrow[id]";
$criteri1 = "SELECT COUNT(*) AS conto FROM $tbl_moduli_righe WHERE $tbl_moduli_righe.idlezione = $lezione";
//echo $criteri1;
$result1 = mysql_query($criteri1,$db);
$myrow1 = mysql_fetch_array($result1);
return $myrow[conto];
}
// Restituisce il numero massimo di lezioni di un modulo
function max_lezione($modulo)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
$max = 0;
//$criteri1 = "SELECT COUNT($tbl_test.id) AS conto FROM $tbl_test WHERE $tbl_test.idlezione = $myrow[id]";
//$criteri1 = "SELECT MAX(progressivo) AS alto FROM $tbl_lezioni WHERE $tbl_lezioni.idmodulo = $modulo HAVING progressivo <> $l_end";
//$criteri1 = "SELECT * FROM $tbl_lezioni WHERE $tbl_lezioni.idmodulo = $modulo";
$criteri1 = "SELECT * FROM $tbl_moduli_righe WHERE $tbl_moduli_righe.idmodulo = $modulo";
//echo $criteri1;
$result1 = mysql_query($criteri1,$db);
if ($myrow1 = mysql_fetch_array($result1))
{
do
{
if ($myrow1[progressivo] != $l_end)
if ($max < $myrow1[progressivo]) $max = $myrow1[progressivo];
}while ($myrow1 = mysql_fetch_array($result1));
}
return $max;
}
// Restituisce il massimo numero di test che ha una lezione di un modulo
function max_num_test($modulo)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
$max = 0;
$criteri = "SELECT $tbl_lezioni.id FROM $tbl_lezioni WHERE $tbl_lezioni.idmodulo = $modulo";
//echo $criteri;
$result = mysql_query($criteri,$db);
if ($myrow = mysql_fetch_array($result))
{
do
{
$num = max_test($myrow[id]);
if ($max < $num) $max = $num;
}while ($myrow = mysql_fetch_array($result));
}
return $max;
}
// DLOOKUP rudimentale
function getvar($tabella, $campo, $criteri)
{
include("required.php");
$db = mysql_connect($ip, $user, $password);
mysql_select_db($dataname,$db);
$criteri = "SELECT $campo FROM $tabella WHERE $criteri";
//echo $criteri;
$result = mysql_query($criteri,$db);
if ($myrow = mysql_fetch_array($result))
return $myrow[$campo];
else
return 0;
}
?>