Esempio n. 1
0
$id_course = $courseInstanceObj->id_corso;
$start_date = AMA_DataHandler::ts_to_date($courseInstanceObj->data_inizio, "%d/%m/%Y");
$history = '';
if ($id_course) {
    // get object course
    $courseObj = read_course_from_DB($id_course);
    if (is_object($courseObj) && !AMA_dataHandler::isError($courseObj)) {
        $course_title = $courseObj->titolo;
        //title
        $id_toc = $courseObj->id_nodo_toc;
        //id_toc_node
    } else {
        $errObj = new ADA_error(translateFN("Corso non trovato"), translateFN("Impossibile proseguire."));
    }
}
$studentObj = read_user_from_DB($id_student);
if (is_object($studentObj) && !AMA_dataHandler::isError($studentObj)) {
    if ($studentObj instanceof ADAPractitioner) {
        /**
         * @author giorgio 14/apr/2015
         *
         * If student is actually a tutor, build a new student
         * object for history and evaluation purposes
         */
        $studentObj = $studentObj->toStudent();
    }
    $studentObj->set_course_instance_for_history($id_course_instance);
    $id_profile_student = $studentObj->tipo;
    $user_name_student = $studentObj->username;
    $student_name = $studentObj->nome . " " . $studentObj->cognome;
    $user_historyObj = $studentObj->history;
Esempio n. 2
0
        $msg = $errObj->errorMessage();
        header("Location:{$error_page}?err_msg={$msg}");
        exit;
    } else {
        $course_title = $courseObj->titolo;
        //title
        $id_toc = $courseObj->id_nodo_toc;
        //id_toc_node
        $course_family = $courseObj->template_family;
    }
} else {
    $errObj = new ADA_error(translateFN("Corso non trovato"), translateFN("Impossibile proseguire."));
}
// ******************************************************
// get user object
$userObj = read_user_from_DB($sess_id_user);
if (is_object($userObj) && !AMA_dataHandler::isError($userObj)) {
    $id_profile = $userObj->tipo;
    $user_name = $userObj->username;
    $user_type = $userObj->convertUserTypeFN($id_profile);
    $user_historyObj = $userObj->history;
    $user_level = $userObj->get_student_level($sess_id_user, $sess_id_course_instance);
    $user_family = $userObj->template_family;
} else {
    $errObj = new ADA_error(translateFN("Utente non trovato"), translateFN("Impossibile proseguire."));
}
// ******************************************************
// LAYOUT
if (isset($family) and !empty($family)) {
    // from GET parameters
    $template_family = $family;
Esempio n. 3
0
     $errObj = new ADA_Error(NULL, translateFN("L'oggetto in sessione non è un esercizio ADA"));
 }
 if (isset($ripetibile)) {
     $exercise->setRepeatable(true);
 }
 if (isset($punteggio)) {
     $exercise->setRating($punteggio);
 }
 $exercise->setTutorComment($comment);
 if (!ExerciseDAO::save($exercise)) {
     //print("Errore nel salvataggio dell'esercizio<BR>");
     $errObj = new ADA_Error(NULL, translateFN("Errore nel salvataggio dell'esercizio"));
 }
 unset($_SESSION['exercise_object']);
 if (isset($messaggio)) {
     $studentObj = read_user_from_DB($exercise->getStudentId());
     // controllo errore
     $subject = translateFN('Esercizio: ') . $exercise->getTitle() . "\n";
     //if ($exe_type == 4) $testo .= "\n" .$correzione;
     /*
      * I problemi potrebbero verificarsi qui.
      */
     //$res = spedisci_messaggioFN($comment,$subject,$studentObj->username, $user_name);
     $message_ha = array('destinatari' => $studentObj->getUserName(), 'data_ora' => 'now', 'tipo' => ADA_MSG_SIMPLE, 'mittente' => $user_uname, 'testo' => $comment, 'titolo' => $subject, 'priorita' => 2);
     $mh = MessageHandler::instance(MultiPort::getDSN($sess_selected_tester));
     $result = $mh->send_message($message_ha);
     if (AMA_DataHandler::isError($result)) {
         // GESTIRE ERRORE
     }
 }
 $history = 'fine della correzione<br />';
Esempio n. 4
0
require_once MODULES_TEST_PATH . '/include/init.inc.php';
//needed to promote AMADataHandler to AMATestDataHandler. $sess_selected_tester is already present in session
$GLOBALS['dh'] = AMATestDataHandler::instance(MultiPort::getDSN($_SESSION['sess_selected_tester']));
switch ($_GET['mode']) {
    default:
        $res = false;
        break;
    case 'comment':
        $res = $dh->test_updateAnswer($_GET['id_answer'], array('commento' => $_POST['comment']));
        if (!$dh->isError($res) && $res && $_POST['notify'] == true) {
            $answer = $dh->test_getAnswer($_GET['id_answer']);
            $answer = $answer[0];
            $history = $dh->test_getHistoryTest(array('id_history_test' => $answer['id_history_test']));
            $history = $history[0];
            $test = $dh->test_getNode($history['id_nodo']);
            $studentObj = read_user_from_DB($answer['id_utente']);
            if (!$dh->isError($studentObj) && !$dh->isError($answer) && !$dh->isError($history) && !$dh->isError($test)) {
                $what = '';
                $link = '';
                if ($test['tipo'][0] == ADA_TYPE_TEST) {
                    $what = 'test';
                    $name = 'test';
                } else {
                    if ($test['tipo'][0] == ADA_TYPE_SURVEY) {
                        $what = 'survey';
                        $name = 'sondaggio';
                    }
                }
                $link = '';
                if ($what) {
                    $href = MODULES_TEST_HTTP . '/history.php?op=' . $what . '&id_course=' . $answer['id_corso'] . '&id_course_instance=' . $answer['id_istanza_corso'] . '&id_test=' . $test['id_nodo'] . '&id_history_test=' . $answer['id_history_test'];
Esempio n. 5
0
/**
 * Wrapper function for read_user_from_DB.
 * @see read_user_from_DB
 */
function read_user($id_user = NULL)
{
    /*
     * Return the user object in sess_userObj
     */
    if (is_null($id_user)) {
        $sess_userObj = $_SESSION['sess_userObj'];
        if ($sess_userObj instanceof ADAGenericUser) {
            return $sess_userObj;
        }
        return new ADA_Error(NULL, translateFN('Errore in lettura oggetto utente in sessione'), 'read_user', NULL, NULL, NULL, TRUE);
    }
    // FIXME: qui $id_user diventa ZERO. VEDIAMO DI CAPIRE PERCHE'.
    //$id_user = is_int($id_user) ? $id_user : 0;
    if (isset($_SESSION['sess_id_user']) && $id_user === $_SESSION['sess_id_user']) {
        $sess_userObj = $_SESSION['sess_userObj'];
        if ($sess_userObj instanceof ADAGenericUser && $sess_userObj->getId() == $id_user) {
            // QUI DEVO VEDERE QUALI SONO I TESTER ASSOCIATI A QUESTO UTENTE.
            $user_testersAr = $GLOBALS['common_dh']->get_testers_for_user($id_user);
            if (!AMA_Common_DataHandler::isError($user_testersAr)) {
                $sess_userObj->setTesters($user_testersAr);
                $_SESSION['sess_userObj'] = $sess_userObj;
            }
            return $_SESSION['sess_userObj'];
        }
    }
    return read_user_from_DB($id_user);
}