= 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; } ?>