function _get_course_instance_info($id_course, $id_course_instance) { $common_dh = $GLOBALS['common_dh']; $dh = $GLOBALS['dh']; $sess_id_user = $_SESSION['sess_id_user']; $userObj = $_SESSION['sess_userObj']; $course_dataHa = $common_dh->get_service_info_from_course($id_course); $service_title = $course_dataHa[1]; $service_level = $course_dataHa[3]; //.. $provider_dataHa = $common_dh->get_tester_info_from_id_course($id_course); if (!AMA_DataHandler::isError($provider_dataHa)) { $provider_pointer = $provider_dataHa['puntatore']; $provider_name = $provider_dataHa['nome']; $provider_dsn = Multiport::getDSN($provider_pointer); if ($provider_dsn != null) { $provider_dh = AMA_DataHandler::instance($provider_dsn); $sub_courses = $provider_dh->get_subscription($sess_id_user, $id_course_instance); // if (!AMA_DataHandler::isError($sub_courses)&&$sub_courses['tipo'] == 2) { // introducing status 3 (suspended) and 5 (completed) if (!AMA_DataHandler::isError($sub_courses)) { // introducing status 3 (suspended) and 5 (completed) $info_dataHa = array(); $id_tutor = $dh->course_instance_tutor_get($id_course_instance); // vito, 27 may 2009 if ($id_tutor !== false) { $tutor = $dh->get_tutor($id_tutor); // vito, 27 may 2009 if (!AMA_DataHandler::isError($tutor) && is_array($tutor)) { $tutor_name = $tutor['nome'] . " " . $tutor['cognome']; if (empty($tutor_name)) { $tutor_info = translateFN('Non assegnato'); } else { // if (isset($sess_id_user)){ // $tutor_info = "<a href=\"$http_root_dir/admin/zoom_tutor.php?id=$id_tutor\">$tutor_name</a>"; // } else{ $tutor_info = $tutor_name; // } } } } else { $tutor_info = translateFN('Non assegnato'); } $start_date = ts2dFN($sub_courses['istanza_ha']['data_inizio']); // messaggi $messages_list = ""; // FIXME // appuntamenti $msgs_ha = MultiPort::getUserAgenda($userObj); if (AMA_DataHandler::isError($msgs_ha)) { $errObj = new ADA_Error($msgs_ha, translateFN('Errore in lettura appuntamenti')); } $testers_dataAr = MultiPort::getTestersPointersAndIds(); $meeting_List = CommunicationModuleHtmlLib::getAgendaAsForm($dataAr, $testers_dataAr); // $label_provider = translateFN('Fornitore'); // $label_title = translateFN('Titolo'); $label_date = translateFN('Data di inizio'); $label_tutor = translateFN('Tutor'); $label_meeting = translateFN('Appuntamenti'); $label_messages = translateFN('Messaggi'); $row = array("<img src=\"img/flag.png\" border=0> " . $label_date => $start_date, $label_tutor => $tutor_info, $label_meeting => $meeting_list, $label_messages => $messages_list); array_push($info_dataHa, $row); $tObj = new Table(); $tObj->initTable('1', 'center', '0', '1', '100%', '', '', '', '', 1, 1); $caption = "<strong>" . translateFN("Storico del servizio") . "</strong>"; $summary = translateFN("Storico del servizio"); $tObj->setTable($info_dataHa, $caption, $summary); $requested_service_data = $tObj->getTable(); } else { $requested_service_data = translateFN("Nessun'informazione disponibile sul servizio {$id_course_instance}."); } } else { $requested_service_data = translateFN("Nessun'informazione disponibile sul servizio {$id_course_instance}."); } } else { $requested_service_data = translateFN("Nessun'informazione disponibile sul servizio {$id_course_instance}."); } return $requested_service_data; }
* get User object */ $userObj = read_user($sess_id_user); if (ADA_Error::isError($userObj)) { $userObj->handleError(); } // FIXME: messages and agenda will be handled by class MultiPort // $user_messages = $userObj->get_messagesFN($sess_id_user); // $user_agenda = $userObj->get_agendaFN($sess_id_user); $testers_dataAr = MultiPort::getTestersPointersAndIds(); $user_messagesAr = MultiPort::getUserMessages($userObj); $user_messages = CommunicationModuleHtmlLib::getMessagesAsTable($user_messagesAr, $testers_dataAr); $user_agendaAr = MultiPort::getUserAgenda($userObj); $user_agenda = CommunicationModuleHtmlLib::getAgendaAsTable($user_agendaAr, $testers_dataAr); $user_eventsAr = MultiPort::getUserEventsNotRead($userObj); $user_events = CommunicationModuleHtmlLib::getEventsAsTable($userObj, $user_eventsAr, $testers_dataAr); /*$user_eventsAr = MultiPort::getUserEvents($userObj); $user_events = CommunicationModuleHtmlLib::getEventsAsTable($userObj, $user_eventsAr, $testers_dataAr); * */ $user_level = ADA_MAX_USER_LEVEL; $user_score = ""; // $user_status = ADA_STATUS_VISITOR; $user_uname = $userObj->username; $user_name = $userObj->nome; $user_surname = $userObj->cognome; $user_family = $userObj->template_family; $id_profile = $userObj->getType(); $user_type = $userObj->getTypeAsString(); $user_mail = $userObj->email; /*
} else { $status = $_REQUEST['status']; } // $is_istance_active = ... ?; /** * get User object */ $userObj = read_user($sess_id_user); if (ADA_Error::isError($userObj)) { $userObj->handleError(); } $testers_dataAr = MultiPort::getTestersPointersAndIds(); $user_messagesAr = MultiPort::getUserMessages($userObj); $user_messages = CommunicationModuleHtmlLib::getMessagesAsTable($user_messagesAr, $testers_dataAr); $user_agendaAr = MultiPort::getUserAgenda($userObj); $user_agenda = CommunicationModuleHtmlLib::getAgendaAsTable($user_agendaAr, $testers_dataAr); $user_level = ADA_MAX_USER_LEVEL; $user_score = ''; $id_profile = $userObj->getType(); $user_type = $userObj->convertUserTypeFN($id_profile); $user_uname = $userObj->username; $user_name = $userObj->nome; $user_surname = $userObj->cognome; $user_family = $userObj->template_family; $user_mail = $userObj->email; /* * Get this user needed objects from $neededObjAr based on user tyoe */ if (is_array($neededObjAr) && is_array($neededObjAr[$id_profile])) { $thisUserNeededObjAr = $neededObjAr[$id_profile]; } else {
} /* * Obtain a messagehandler instance for the correct tester */ if (MultiPort::isUserBrowsingThePublicTester()) { /* * In base a event_msg_id, ottenere connessione al tester appropriato */ $data_Ar = MultiPort::geTesterAndMessageId($msg_id); $tester = $data_Ar['tester']; } else { /* * We are inside a tester */ $tester = $sess_selected_tester; } if (($value = ADAEventProposal::canProposeThisDateTime($userObj, $datetimesAr[0]['date'], $datetimesAr[0]['time'], $tester)) !== TRUE) { $errors['date1'] = $value; } if (($value = ADAEventProposal::canProposeThisDateTime($userObj, $datetimesAr[1]['date'], $datetimesAr[1]['time'], $tester)) !== TRUE) { $errors['date2'] = $value; } if (($value = ADAEventProposal::canProposeThisDateTime($userObj, $datetimesAr[2]['date'], $datetimesAr[2]['time'], $tester)) !== TRUE) { $errors['date3'] = $value; } $form = CommunicationModuleHtmlLib::getProposedEventForm($data, $errors, $tester); } } $titolo = translateFN('Proposta di appuntamento'); $content_dataAr = array('user_name' => $user_name, 'user_type' => $user_type, 'titolo' => $titolo, 'course_title' => '<a href="../browsing/main_index.php">' . $course_title . '</a>', 'status' => $err_msg, 'data' => $form->getHtml(), 'label' => $titolo); ARE::render($layout_dataAr, $content_dataAr);
$status = translateFN('Cancellazione eseguita'); } } // analyze the sorting info if (!isset($sort_field)) { $sort_field = "data_ora desc"; } elseif ($sort_field == "data_ora") { $sort_field .= " desc"; } elseif ($sort_field == "titolo") { $sort_field .= " asc"; } else { $sort_field .= " asc, data_ora desc"; } $dataAr = MultiPort::getUserAgenda($userObj); $testers_dataAr = MultiPort::getTestersPointersAndIds(); $messages = CommunicationModuleHtmlLib::getAgendaAsForm($dataAr, $testers_dataAr); $node_title = ""; // empty if (!isset($course_title)) { $course_title = ""; } else { $course_title = '<a href="../browsing/main_index.php">' . $course_title . '</a>'; } /* * Last access link */ if (isset($_SESSION['sess_id_course_instance'])) { $last_access = $userObj->get_last_accessFN($_SESSION['sess_id_course_instance'], "UT", null); $last_access = AMA_DataHandler::ts_to_date($last_access); } else { $last_access = $userObj->get_last_accessFN(null, "UT", null);
$data = MultiPort::getUserAppointment($userObj, $msg_id); if ($data['flags'] & ADA_EVENT_PROPOSAL_OK) { /* * The user accepted one of the three proposed dates for the appointment. * E' UN CASO CHE NON SI PUO' VERIFICARE, visto che vogliamo che l'appuntamento * venga inserito non appena l'utente accetta una data porposta dal practitioner */ $form = CommunicationModuleHtmlLib::getConfirmedEventProposalForm($data); } else { /* * The user did not accept the proposed dates for the appointment */ $_SESSION['event_msg_id'] = $msg_id; $id_user = $data['id_mittente']; $errors = array(); $form = CommunicationModuleHtmlLib::getEventProposalForm($id_user, $data, $errors, $sess_selected_tester); } } else { /* * Build the form used to propose an event. Da modificare in modo da passare * eventualmente il contenuto dei campi del form nel caso si stia inviando * una modifica ad una proposta di appuntamento. */ $errors = array(); $data = array(); $form = CommunicationModuleHtmlLib::getEventProposalForm($sess_id_user, $data, $errors, $sess_selected_tester); } } $title = translateFN('Invia proposta di appuntamento'); $content_dataAr = array('user_name' => $user_name, 'user_type' => $user_type, 'titolo' => $titolo, 'course_title' => '<a href="../browsing/main_index.php">' . $course_title . '</a>', 'status' => $err_msg, 'data' => $form->getHtml(), 'label' => $title); ARE::render($layout_dataAr, $content_dataAr);
} elseif ($sort_field == "data_ora") { $sort_field .= " desc"; } elseif ($sort_field == "titolo") { $sort_field .= " asc"; } else { $sort_field .= " asc, data_ora desc"; } $testers_dataAr = MultiPort::getTestersPointersAndIds(); if (isset($_GET['messages']) && $_GET['messages'] == 'sent') { $dataAr = MultiPort::getUserSentMessages($userObj); $messages = CommunicationModuleHtmlLib::getSentMessagesAsForm($dataAr, $testers_dataAr); $label = translateFN('Messaggi inviati'); $displayedMsgs = 'sent'; } else { $dataAr = MultiPort::getUserMessages($userObj); $messages = CommunicationModuleHtmlLib::getReceivedMessagesAsForm($dataAr, $testers_dataAr); $label = translateFN('Messaggi ricevuti'); $displayedMsgs = 'received'; } $node_title = ""; // empty $menu_03 = ""; // FIXME: verificare se ha senso in ADA if (!isset($course_title)) { $course_title = ""; } else { $course_title = '<a href="../browsing/main_index.php">' . $course_title . '</a>'; } if (!isset($status)) { $status = ""; }
if ($exit_reason != NO_EXIT_REASON) { $chat = new CText(''); $offset = 0; if ($_SESSION['sess_selected_tester'] === NULL) { $tester_TimeZone = SERVER_TIMEZONE; } else { $tester_TimeZone = MultiPort::getTesterTimeZone($_SESSION['sess_selected_tester']); $offset = get_timezone_offset($tester_TimeZone, SERVER_TIMEZONE); } $current_time = ts2tmFN(time() + $offset); $close_page_message = addslashes(translateFN("You don't have a chat appointment at this time.")) . " ({$current_time})"; $optionsAr = array('onload_func' => "close_page('{$close_page_message}');"); } else { //$event_token = $chatroomObj->get_event_token(); $request_arguments = "chatroom={$id_chatroom}"; $chat = CommunicationModuleHtmlLib::getChat($request_arguments, $userObj, $event_token); $optionsAr = array('onload_func' => 'startChat();'); } $banner = (include ROOT_DIR . '/include/banner.inc.php'); /* * Create here the close link. */ $exit_chat = CDOMElement::create('a'); $exit_chat->addChild(new CText(translateFN('Chiudi'))); if ($userObj instanceof ADAPractitioner) { // pass 1 to redirect the practitioner to the eguidance session evaluation form if (!empty($event_token)) { $_SESSION['sess_event_token'] = $event_token; $onclick = "exitChat(1,'event_token={$event_token}');"; } else { $onclick = 'exitChat(0,0);';
$status = $_REQUEST['status']; } // $is_istance_active = ... ?; /** * get User object */ $userObj = read_user($sess_id_user); if (ADA_Error::isError($userObj)) { $userObj->handleError(); } // FIXME: messages and agenda will be handled by class MultiPort // $user_messages = $userObj->get_messagesFN($sess_id_user); // $user_agenda = $userObj->get_agendaFN($sess_id_user); $testers_dataAr = MultiPort::getTestersPointersAndIds(); $user_messagesAr = MultiPort::getUserMessages($userObj); $user_messages = CommunicationModuleHtmlLib::getMessagesAsTable($user_messagesAr, $testers_dataAr); //$user_agendaAr = MultiPort::getUserAgenda($userObj); //$user_agenda = CommunicationModuleHtmlLib::getAgendaAsTable($user_agendaAr, $testers_dataAr); $user_level = ADA_MAX_USER_LEVEL; $user_score = ""; // $user_status = ADA_STATUS_VISITOR; $user_uname = $userObj->username; $user_name = $userObj->nome; $user_surname = $userObj->cognome; $user_family = $userObj->template_family; $id_profile = $userObj->getType(); $user_type = $userObj->convertUserTypeFN($id_profile); $user_mail = $userObj->email; /* * Get this user needed objects from $neededObjAr based on user tyoe */