2001-07-09 13:45:10 +00:00
< ? 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
2001-10-11 12:55:16 +00:00
return " " ;
2001-07-09 13:45:10 +00:00
}
// 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 ;
2001-10-11 12:55:16 +00:00
while ( $ore >= 3600 ) :
2001-07-09 13:45:10 +00:00
$ore = ( $ore - 3600 );
$O = $O + 1 ;
endwhile ;
$resto = ( $diff - ( $O * 3600 ));
$min = $resto ;
$M = 0 ;
2001-10-11 12:55:16 +00:00
while ( $min >= 60 ) :
2001-07-09 13:45:10 +00:00
$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 ;
}
2001-10-11 12:55:16 +00:00
// Stabilisce se l'utente e' abilitato a eseguire i moduli di un corso
2001-07-09 13:45:10 +00:00
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 ;
}
2001-10-11 12:55:16 +00:00
// Restituisce 0 se non si deve effettuare il test iniziale del modulo altrimenti restituticse l'ID
function inizio ( $modulo , $utente )
2001-07-09 13:45:10 +00:00
{
include ( " required.php " );
2001-10-11 12:55:16 +00:00
2001-07-09 13:45:10 +00:00
$db = mysql_connect ( $ip , $user , $password );
mysql_select_db ( $dataname , $db );
2001-10-11 12:55:16 +00:00
//$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 ) " ;
2001-07-09 13:45:10 +00:00
//echo $criteri;
$result = mysql_query ( $criteri , $db );
2001-10-11 12:55:16 +00:00
if ( $myrow = mysql_fetch_array ( $result ))
2001-07-09 13:45:10 +00:00
{
2001-10-11 12:55:16 +00:00
$criteri1 = " SELECT prove.idutente, prove.idtest FROM prove WHERE (prove.idutente = $utente ) AND (prove.idtest = $myrow[idtest] ) " ;
2001-07-09 13:45:10 +00:00
$result1 = mysql_query ( $criteri1 , $db );
2001-10-11 12:55:16 +00:00
if ( $myrow1 = mysql_fetch_array ( $result1 ))
2001-07-09 13:45:10 +00:00
return 0 ;
else
2001-10-11 12:55:16 +00:00
return $myrow [ idtest ];
2001-07-09 13:45:10 +00:00
}
2001-10-11 12:55:16 +00:00
else
return 0 ;
2001-07-09 13:45:10 +00:00
}
// 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 ];
}
}
2001-10-11 12:55:16 +00:00
// 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.
2001-07-09 13:45:10 +00:00
function controllo_download ( $lezione , $utente )
{
include ( " required.php " );
$db = mysql_connect ( $ip , $user , $password );
mysql_select_db ( $dataname , $db );
2001-10-11 12:55:16 +00:00
$modulo = getvar ( $tbl_moduli_righe , " idmodulo " , " idlezione = " . $lezione );
$t_prima = getvar ( $tbl_moduli , " test_prima " , " id= " . $modulo );
if ( $t_prima == $s_vero )
2001-07-09 13:45:10 +00:00
{
2001-10-11 12:55:16 +00:00
$test = getvar ( $tbl_moduli_righe , " idtest " , " idlezione = " . $lezione . " AND posizione = " . $s_prima );
echo " qui " ;
if ( $test > 0 )
2001-07-09 13:45:10 +00:00
{
2001-10-11 12:55:16 +00:00
if ( test_effettuato ( $test , $utente ))
2001-07-09 13:45:10 +00:00
return true ;
2001-10-11 12:55:16 +00:00
else
return false ;
2001-07-09 13:45:10 +00:00
}
2001-10-11 12:55:16 +00:00
else
2001-07-09 13:45:10 +00:00
return false ;
}
else
{
2001-10-11 12:55:16 +00:00
$progressivo = getvar ( $tbl_moduli_righe , " progressivo " , " idlezione = " . $lezione . " AND idmodulo = " . $modulo );
//echo $progressivo;
if ( $progressivo != 0 )
2001-07-09 13:45:10 +00:00
{
2001-10-11 12:55:16 +00:00
//$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 )
2001-07-09 13:45:10 +00:00
{
2001-10-11 12:55:16 +00:00
//echo $lez_prec;
//$test = max_test($lez_prec);
//if ($test > 0)
//{
if ( test_effettuato ( $test_prec , $utente ))
return true ;
else
return false ;
//}
//else
2001-07-09 13:45:10 +00:00
return false ;
}
else
2001-10-11 12:55:16 +00:00
return false ;
2001-07-09 13:45:10 +00:00
}
else
2001-10-11 12:55:16 +00:00
return true ;
2001-07-09 13:45:10 +00:00
}
}
2001-10-11 12:55:16 +00:00
// 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 );
2001-07-09 13:45:10 +00:00
2001-10-11 12:55:16 +00:00
$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 ;
2001-07-09 13:45:10 +00:00
2001-10-11 12:55:16 +00:00
}
// Da il permesso di effettuare un test se e' stato eseguito il test finale della lezione precedente
function test_prima ( $test , $utente )
2001-07-09 13:45:10 +00:00
{
include ( " required.php " );
$db = mysql_connect ( $ip , $user , $password );
mysql_select_db ( $dataname , $db );
2001-10-11 12:55:16 +00:00
$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 " ;
2001-07-09 13:45:10 +00:00
//echo $criteri;
$result = mysql_query ( $criteri , $db );
$myrow = mysql_fetch_array ( $result );
2001-10-11 12:55:16 +00:00
if ( $myrow [ test_prima ] == $s_falso )
2001-07-09 13:45:10 +00:00
return false ;
2001-10-11 12:55:16 +00:00
else
return true ;
2001-07-09 13:45:10 +00:00
}
2001-10-11 12:55:16 +00:00
// Da il permesso di effettuare un test se e' stata scaricata la lezione
function test_dopo ( $test , $utente )
2001-07-09 13:45:10 +00:00
{
include ( " required.php " );
$db = mysql_connect ( $ip , $user , $password );
mysql_select_db ( $dataname , $db );
2001-10-11 12:55:16 +00:00
$lezione = getvar ( $tbl_moduli_righe , " idlezione " , " idtest = " . $test );
//echo $lezione;
$criteri = " SELECT * FROM $tbl_download WHERE (idlezione = $lezione ) AND (idutente = $utente ) " ;
2001-07-09 13:45:10 +00:00
//echo $criteri;
$result = mysql_query ( $criteri , $db );
2001-10-11 12:55:16 +00:00
$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 );
2001-07-09 13:45:10 +00:00
$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 " ;
2001-10-11 12:55:16 +00:00
$criteri1 .= " WHERE ( $tbl_lezioni .progressivo = $l_end ) AND ( $tbl_test .posizione = $s_dopo ) AND ( $tbl_prove .idutente = $utente ) " ;
2001-07-09 13:45:10 +00:00
//echo $criteri1;
$result1 = mysql_query ( $criteri1 , $db );
if ( $myrow1 = mysql_fetch_array ( $result1 ))
return true ;
else
return false ;
}
2001-10-11 12:55:16 +00:00
// 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 ;
}
2001-07-09 13:45:10 +00:00
2001-10-11 12:55:16 +00:00
// Restituisce il massimo numero di test che ha una lezione di un modulo
function max_num_test ( $modulo )
2001-07-09 13:45:10 +00:00
{
include ( " required.php " );
$db = mysql_connect ( $ip , $user , $password );
mysql_select_db ( $dataname , $db );
2001-10-11 12:55:16 +00:00
$max = 0 ;
$criteri = " SELECT $tbl_lezioni .id FROM $tbl_lezioni WHERE $tbl_lezioni .idmodulo = $modulo " ;
2001-07-09 13:45:10 +00:00
//echo $criteri;
$result = mysql_query ( $criteri , $db );
2001-10-11 12:55:16 +00:00
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 ;
2001-07-09 13:45:10 +00:00
}
2001-10-11 12:55:16 +00:00
// 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 ;
}
2001-07-09 13:45:10 +00:00
2001-07-09 13:37:45 +00:00
?>