public function videoroom_info($id_course_instance, $tempo_avvio = NULL, $interval = NULL) { $dh = $GLOBALS['dh']; $error = $GLOBALS['error']; $debug = $GLOBALS['debug']; $root_dir = $GLOBALS['root_dir']; $http_root_dir = $GLOBALS['http_root_dir']; $video_roomAr = $dh->get_videoroom_info($id_course_instance, $tempo_avvio, $interval); if (AMA_DataHandler::isError($video_roomAr) || !is_array($video_roomAr)) { // FIXME: prima restituiva una stringa di testo $this->full = 0; /* $this->id_room = 1; $this->id_tutor = 7; $this->id = 1; $this->descrizione_videochat = "descrizione"; // $this->tempo_avvio = $video_roomAr['tempo_avvio']; // $this->tempo_fine = $video_roomAr['tempo_fine']; $this->tipo_videochat = "pubblica"; */ } else { $this->id_room = $video_roomAr['id_room']; $this->id_tutor = $video_roomAr['id_tutor']; $this->id = $video_roomAr['id']; $this->id_istanza_corso = $video_roomAr['id_istanza_corso']; $this->descrizione_videochat = $video_roomAr['descrizione_videochat']; $this->tempo_avvio = $video_roomAr['tempo_avvio']; $this->tempo_fine = $video_roomAr['tempo_fine']; $this->tipo_videochat = $video_roomAr['tipo_videochat']; $this->full = 1; } }
/** * function loadSupportedLanguagesInSession: used to load ADA supported languages for * user interface messages translation into a session variable. * * @return TRUE if there arn't errors, ADA_Error object otherwise */ public static function loadSupportedLanguagesInSession() { unset($_SESSION['sess_ada_supported_languages']); $common_dh = $GLOBALS['common_dh']; $supported_languages = array(); $supported_languages = $common_dh->find_languages(); if (AMA_DataHandler::isError($supported_languages)) { // FIXME: qui si verifica questo errore anche quando c'è un errore di connessione al database. $errObj = new ADA_Error($supported_languages, 'No languages for user interface translation were found.', 'Translator'); } $_SESSION['sess_ada_supported_languages'] = $supported_languages; return TRUE; }
function __construct($id_banner = 0) { # constructor /* $user_prefHa = $this->get_user_pref(); //$node_keys is a list of keywords tha can be used to select a banner //$node_keysAr = $this->get_node_keys(); //$node_keys = implode(",",$node_keysAr); */ $dh = $GLOBALS['dh']; //$layoutObj = $GLOBALS['layoutObj']; $out_fields_ar = array(); $module = ""; $keywords = ""; $client = ""; $bannerListAr = $dh->find_banner_list($out_fields_ar, $module, $keywords, $client); $id_banner = $bannerListAr[0][0]; $bannerAr = $dh->get_banner($id_banner); //$path = $layoutObj->template_dir."img/banners/"; $path = "layout/clear/img/banners/"; // TODO: replace if (AMA_DataHandler::isError($bannerAr)) { $this->error_msg = ADA_ERR_BANNER; $this->html_code = "<!-- BANNER NOT FOUND-->\n<!-- END BANNER -->\n"; } else { $this->id_banner = $bannerAr['id_banner']; $this->id_client = $bannerAr['id_client']; $this->http_address = $bannerAr['address']; $this->img = ROOT_DIR . $path . $bannerAr['image']; $this->impressions = $bannerAr['impressions']; $this->acquired_impressions = $bannerAr['a_impressions']; $this->from = $bannerAr['date_from']; $this->to = $bannerAr['date_to']; $this->keywords = $bannerAr['keywords']; $this->module = $bannerAr['module']; $this->id_course = $bannerAr['id_course']; $this->html_code = "<!-- BANNER -->\n<a href=\"" . $this->http_address . "\" target=_blank><img src=\"" . $this->img . "\" alt=\"" . $this->alt . "\" width=\"" . $this->width . "\" height=\"" . $this->height . "\" border=\"0\"></a>\n<!-- END BANNER -->\n"; } }
public function videoroom_info($id_course_instance, $tempo_avvio = NULL, $interval = NULL) { $dh = $GLOBALS['dh']; $error = $GLOBALS['error']; $debug = isset($GLOBALS['debug']) ? $GLOBALS['debug'] : null; $root_dir = $GLOBALS['root_dir']; $http_root_dir = $GLOBALS['http_root_dir']; $video_roomAr = $dh->get_videoroom_info($id_course_instance, $tempo_avvio, $interval); if (AMA_DataHandler::isError($video_roomAr) || !is_array($video_roomAr)) { $this->full = 0; } else { $this->id_room = $video_roomAr['id_room']; $this->id_tutor = $video_roomAr['id_tutor']; $this->id = $video_roomAr['id']; $this->id_istanza_corso = $video_roomAr['id_istanza_corso']; $this->descrizione_videochat = $video_roomAr['descrizione_videochat']; $this->tempo_avvio = $video_roomAr['tempo_avvio']; $this->tempo_fine = $video_roomAr['tempo_fine']; $this->tipo_videochat = $video_roomAr['tipo_videochat']; $this->full = 1; } }
} else { $testersAr = array(); $tester_dataAr = array(array(translateFN('id'), $tester_infoAr[0]), array(translateFN('Nome'), $tester_infoAr[1]), array(translateFN('Ragione Sociale'), $tester_infoAr[2]), array(translateFN('Indirizzo'), $tester_infoAr[3]), array(translateFN('Città'), $tester_infoAr[4]), array(translateFN('Provincia'), $tester_infoAr[5]), array(translateFN('Nazione'), $tester_infoAr[6]), array(translateFN('Telefono'), $tester_infoAr[7]), array(translateFN('E-mail'), $tester_infoAr[8]), array(translateFN('Descrizione'), $tester_infoAr[11]), array(translateFN('Responsabile'), $tester_infoAr[9]), array(translateFN('Puntatore al database'), $tester_infoAr[10])); //$tester_data = BaseHtmlLib::tableElement('',array(),$tester_dataAr); $tester_data = AdminModuleHtmlLib::displayTesterInfo($id_tester, $tester_dataAr); $services_dataAr = $common_dh->get_info_for_tester_services($id_tester); if (AMA_Common_DataHandler::isError($services_dataAr)) { $errObj = new ADA_Error($services_dataAr); } else { $tester_services = AdminModuleHtmlLib::displayServicesOnThisTester($id_tester, $services_dataAr); } $tester_dsn = MultiPort::getDSN($tester_infoAr[10]); if ($tester_dsn != NULL) { $tester_dh = AMA_DataHandler::instance($tester_dsn); $users_on_this_tester = $tester_dh->count_users_by_type(array(AMA_TYPE_STUDENT, AMA_TYPE_AUTHOR, AMA_TYPE_TUTOR, AMA_TYPE_SWITCHER, AMA_TYPE_ADMIN)); if (AMA_DataHandler::isError($users_on_this_tester)) { $errObj = new ADA_Error($users_on_this_tester); } else { $users_list_link = CDOMElement::create('div', 'id:tester_users'); $users_list_link->addChild(new CText(translateFN('Numero di utenti presenti sul tester: ') . $users_on_this_tester)); $link = CDOMElement::create('a', 'href:list_users.php?id_tester=' . $id_tester); $link->addChild(new CText(translateFN('Lista utenti'))); $users_list_link->addChild($link); } } } } else { /* * non e' stato passato id_tester */ }
function spedisci_messaggioFN($testo, $subject, $destinatario, $mittente) { $sess_id_user = $_SESSION['sess_id_user']; // Initialize errors array $errors = array(); $mh = new MessageHandler(); // prepare message to send $message_ha['destinatari'] = $destinatario; $message_ha['data_ora'] = "now"; $message_ha['tipo'] = ADA_MSG_SIMPLE; $message_ha['mittente'] = $mittente; $message_ha['testo'] = $testo; $message_ha['titolo'] = $subject; $message_ha['priorita'] = 2; /* global $debug; $debug=1; mydebug(__LINE__,__FILE__,$message_ha); $debug=0; */ // delegate sending to the message handler $res = $mh->send_message($message_ha); if (AMA_DataHandler::isError($res)) { $err_code = $res->code; $errore = urlencode(translateFN("Impossibile spedire il messaggio. Errore n. ")); //header("Location: list_messages.php?status= $errore $err_code"); exit; } }
public static function add_chatroomFN($chatroom_ha, $tester_dsn = null) { $dh = $GLOBALS['dh']; /* * Check if was assigned a course instance to this chatroom. If it wasn't, * use course instance from request or from session. */ if (!isset($chatroom_ha['id_course_instance']) || empty($chatroom_ha['id_course_instance'])) { //get $id_course_instance from the REQUEST variables if (!empty($_REQUEST['id_course_instance'])) { $id_course_instance = $_REQUEST['id_course_instance']; } elseif (!empty($_SESSION['sess_id_course_instance'])) { $id_course_instance = $_SESSION['sess_id_course_instance']; } $chatroom_ha['id_course_instance'] = $id_course_instance; } // get the user_id form the session variables $sess_id_user = $_SESSION['sess_id_user']; // get the course title form the GLOBAL variables $course_title = $GLOBALS['course_title']; /* * Check if was assigned a chat owner: if it wasn't, get this course's tutor * and set him as chat owner */ if (!isset($chatroom_ha['id_chat_owner']) || empty($chatroom_ha['id_chat_owner'])) { $id_tutor = $dh->course_instance_tutor_get($chatroom_ha['id_course_instance']); if (!AMA_DataHandler::isError($id_tutor)) { $chatroom_ha['id_chat_owner'] = $id_tutor; } } if (!empty($chatroom_ha['chat_type'])) { $chatroom_ha['chat_type'] = $chatroom_ha['chat_type']; } else { $chatroom_ha['chat_type'] = CLASS_CHAT; } if (!empty($chatroom_ha['chat_title'])) { $chatroom_ha['chat_title'] = $chatroom_ha['chat_title']; } else { $chatroom_ha['chat_title'] = addslashes($course_title); } if (!empty($chatroom_ha['chat_topic'])) { $chatroom_ha['chat_topic'] = $chatroom_ha['chat_topic']; } else { $chatroom_ha['chat_topic'] = addslashes($course_title); } // MOVED TO LINE 446 // if (isset($chatroom_ha['id_chat_owner'])) { // $chatroom_ha['id_chat_owner']=$chatroom_ha['id_chat_owner']; // } // else { // $chatroom_ha['id_chat_owner']= $id_tutor; // } if (!empty($chatroom_ha['start_time'])) { $chatroom_ha['start_time'] = $chatroom_ha['start_time']; } else { $chatroom_ha['start_time'] = time(); } // check again this field if (isset($chatroom_ha['end_time'])) { $chatroom_ha['end_time'] = $chatroom_ha['end_time']; } else { $chatroom_ha['end_time'] = time() + SHUTDOWN_CHAT_TIME; } if (!empty($chatroom_ha['welcome_msg'])) { $chatroom_ha['welcome_msg'] = $chatroom_ha['welcome_msg']; } else { $chatroom_ha['welcome_msg'] = addslashes(translateFN("Benvenuti nella chat di ADA.Ricordatevi di uscire correttamente dalla chat usando l'apposita funzionalita'")); } if (!empty($chatroom_ha['max_users'])) { $chatroom_ha['max_users'] = $chatroom_ha['max_users']; } else { $chatroom_ha['max_users'] = DEFAULT_MAX_USERS; } // MOVED TO LINE 422 // // check again this field // if(isset($chatroom_ha['id_course_instance'])) { // $chatroom_ha['id_course_instance']=$chatroom_ha['id_course_instance']; // } // else { // $chatroom_ha['id_course_instance']= $id_course_instance; // } // write to db and returns the id of the chatroom $id_chatroom. // if (isset($this)) { // $this->chatroom_ha = $chatroom_ha; // } $cdh = self::obtainChatDataHandlerInstance(); $result = $cdh->add_chatroom($chatroom_ha); return $result; }
function link($id_link) { //global $dh,$error; // constructor $dh = $GLOBALS['dh']; $error = $GLOBALS['error']; $debug = isset($GLOBALS['debug']) ? $GLOBALS['debug'] : null; $dataHa = $dh->get_link_info($id_link); if (AMA_DataHandler::isError($dataHa) || !is_array($dataHa)) { $msg = $dataHa->getMessage(); if (!strstr($msg, 'record not found')) { header("Location: {$error}?err_msg={$msg}"); exit; } else { $this->full = 1; return $msg; } } if (!empty($dataHa['id_nodo'])) { // foreach ($dataHa as $linkHa) { $linkHa = $dataHa; //?? �uno solo??? $this->position = $linkHa['posizione']; $this->author = $linkHa['autore']; $this->node_id = $linkHa['id_nodo']; $this->to_node_id = $linkHa['id_nodo_to']; $this->type = $linkHa['tipo']; $this->creation_date = $linkHa['data_creazione']; $this->style = $linkHa['stile']; $this->action = $linkHa['azione']; $this->meaning = $linkHa['significato']; // } $this->full = 1; } else { $this->error_msg = translateFN("Nessuno"); } }
$allowedUsersAr = array(AMA_TYPE_SWITCHER); /** * Performs basic controls before entering this module */ $neededObjAr = array(AMA_TYPE_SWITCHER => array('layout')); require_once ROOT_DIR . '/include/module_init.inc.php'; $self = whoami(); include_once 'include/switcher_functions.inc.php'; include_once ROOT_DIR . '/admin/include/AdminUtils.inc.php'; /* * YOUR CODE HERE */ require_once ROOT_DIR . '/include/Forms/UserProfileForm.inc.php'; $userId = DataValidator::is_uinteger($_GET['id_user']); if ($userId === false) { $data = new CText('Utente non trovato'); } else { $user_info = $dh->_get_user_info($userId); if (AMA_DataHandler::isError($userId)) { $data = new CText('Utente non trovato'); } else { $viewedUserObj = MultiPort::findUser($userId); $viewedUserObj->toArray(); $user_dataAr = array('id' => $viewedUserObj->getId(), 'tipo' => $viewedUserObj->getTypeAsString(), 'nome e cognome' => $viewedUserObj->getFullName(), 'data di nascita' => $viewedUserObj->getBirthDate(), 'Comune o stato estero di nascita' => $viewedUserObj->getBirthCity(), 'Provincia di nascita' => $viewedUserObj->getBirthProvince(), 'genere' => $viewedUserObj->getGender(), 'email' => $viewedUserObj->getEmail(), 'telefono' => $viewedUserObj->getPhoneNumber(), 'indirizzo' => $viewedUserObj->getAddress(), 'citta' => $viewedUserObj->getCity(), 'provincia' => $viewedUserObj->getProvince(), 'nazione' => $viewedUserObj->getCountry(), 'confermato' => $viewedUserObj->getStatus() == ADA_STATUS_REGISTERED ? translateFN("Si") : translateFN("No")); $data = BaseHtmlLib::labeledListElement('class:view_info', $user_dataAr); } } $label = translateFN('Profilo utente'); $help = translateFN('Da qui il provider admin può visualizzare il profilo di un utente esistente'); $content_dataAr = array('user_name' => $user_name, 'user_type' => $user_type, 'status' => $status, 'label' => $label, 'help' => $help, 'data' => $data->getHtml(), 'edit_profile' => $userObj->getEditProfilePage(), 'module' => isset($module) ? $module : '', 'messages' => $user_messages->getHtml()); ARE::render($layout_dataAr, $content_dataAr);
* TODO: handle form generation for service with level = 4 and multiple users * subscribed. */ $user_infoAr = $users_infoAr[0]; $id_user = $user_infoAr['id_utente_studente']; $tutoredUserObj = MultiPort::findUser($id_user); $service_infoAr['id_istanza_corso'] = $id_course_instance; $service_infoAr['event_token'] = $event_token; /* * Check if an eguidance session with this event_token exists. In this case, * use this data to fill the form. */ $eguidance_session_dataAr = $dh->get_eguidance_session_with_event_token($event_token); if (!AMA_DataHandler::isError($eguidance_session_dataAr)) { if ($is_popup) { $eguidance_session_dataAr['is_popup'] = true; } $form = TutorModuleHtmlLib::getEditEguidanceDataForm($tutoredUserObj, $service_infoAr, $eguidance_session_dataAr); } else { $last_eguidance_session_dataAr = $dh->get_last_eguidance_session($id_course_instance); if (AMA_DataHandler::isError($last_eguidance_session_dataAr)) { $errObj = new ADA_Error($users_infoAr, translateFN("Errore nell'ottenimento dei dati della precedente sessione di eguidance"), NULL, NULL, NULL, $userObj->getHomePage()); } if ($is_popup) { $last_eguidance_session_dataAr['is_popup'] = true; } $form = TutorModuleHtmlLib::getEguidanceTutorForm($tutoredUserObj, $service_infoAr, $last_eguidance_session_dataAr); } } $content_dataAr = array('user_name' => $user_name, 'user_type' => $user_type, 'status' => $status, 'dati' => $form->getHtml()); ARE::render($layout_dataAr, $content_dataAr);
$error_message .= translateFN('La dimensione del file supera quella massima consentita.'); } else { if (!$accepted_mimetype) { $error_message .= translateFN('Il tipo di file inviato non è tra quelli accettati dalla piattaforma.') . ' ' . $file_type; } } $form = UserModuleHtmlLib::uploadForm('upload.php', $sess_id_user, $id_course, $id_course_instance, $id_node, $error_message); $form = $form->getHtml(); } } } else { $form = UserModuleHtmlLib::uploadForm('upload.php', $sess_id_user, $id_course, $id_course_instance, $id_node); $form = $form->getHtml(); } $nodeObj = read_node_from_DB($id_node); if (!AMA_DataHandler::isError($nodeObj)) { $node_title = $nodeObj->name; $node_version = $nodeObj->version; $node_date = $nodeObj->creation_date; $authorHa = $nodeObj->author; $node_author = $authorHa['username']; $node_level = $nodeObj->level; $node_keywords = ltrim($nodeObj->title); $node_path = $nodeObj->findPathFN(); } $content_dataAr = array('form' => isset($form) ? $form : '', 'status' => $status, 'user_name' => $user_name, 'user_type' => $user_type, 'messages' => $user_messages->getHtml(), 'agenda' => $user_agenda->getHtml(), 'title' => $node_title, 'version' => $node_version, 'date' => $node_date, 'author' => $node_author, 'level' => $node_level, 'keywords' => $node_keywords, 'course_title' => $course_title, 'path' => $node_path); /* 5. HTML page building */ ARE::render($layout_dataAr, $content_dataAr, NULL, isset($optionsAr) ? $optionsAr : null); } else {
* change the two below call to active to let the closed * instances completely disappear from the HTML table */ if (count($serviceProviders) == 1) { $provider_dh = AMA_DataHandler::instance(MultiPort::getDSN($serviceProviders[0])); // $courseInstances = $provider_dh->get_course_instances_active_for_this_student($userObj->getId()); $courseInstances = $provider_dh->get_course_instances_for_this_student($userObj->getId(), true); } else { foreach ($serviceProviders as $Provider) { $provider_dh = AMA_DataHandler::instance(MultiPort::getDSN($Provider)); // $courseInstances_provider = $provider_dh->get_course_instances_active_for_this_student($userObj->getId()); $courseInstances_provider = $provider_dh->get_course_instances_for_this_student($userObj->getId(), true); $courseInstances = array_merge($courseInstances, $courseInstances_provider); } } if (!AMA_DataHandler::isError($courseInstances)) { /** * @author giorgio 23/apr/2015 * * filter course instance that are associated to a level of service having nonzero * value in isPublic, so that all instances of public courses will not be shown here */ $courseInstances = array_filter($courseInstances, function ($courseInstance) { if (is_null($courseInstance['tipo_servizio'])) { $courseInstance['tipo_servizio'] = DEFAULT_SERVICE_TYPE; } return intval($_SESSION['service_level_info'][$courseInstance['tipo_servizio']]['isPublic']) === 0; }); $found = count($courseInstances); $thead_dataAr = array(translateFN('Titolo'), translateFN('Iniziato'), translateFN('Data inizio'), translateFN('Durata'), translateFN('Data fine'), translateFN('Azioni')); /**
public static function deleteAllSubscriptionsToClassRoom($classRoomId) { $dh = $GLOBALS['dh']; $result = $dh->course_instance_students_subscriptions_remove_all($classRoomId); if (AMA_DataHandler::isError($result)) { return false; } return true; }
function find_exercise_history_for_user($exercise_id, $course_instance_id, $user_id) { $sql = 'SELECT * FROM history_esercizi WHERE id_utente_studente = ? AND id_nodo = ? AND id_istanza_corso = ?'; $values = array($user_id, $exercise_id, $course_instance_id); $result = $this->getRowPrepared($sql, $values, AMA_FETCH_ASSOC); if (AMA_DataHandler::isError($result)) { return new AMA_Error(AMA_ERR_GET); } return $result; }
$msg = $res->getMessage(); // $dh->course_instance_student_presubscribe_remove($id_course_instance,$id_studente); // header("Location: $error?err_msg=$msg"); $message_ha["testo"] = translateFN('Gentile') . " " . $firstname . ",\r\n" . translateFN("Si è verificato un errore nell'iscrizione al corso") . " " . $course_name . "\n\r\n\r"; $message_ha["testo"] .= $body_mail; $message_ha["testo"] .= "\n\r\n\r" . translateFN('Per maggiori informazioni scrivi una mail a:') . " " . ADA_ADMIN_MAIL_ADDRESS; $message_ha["testo"] .= "\n\r" . translateFN("Buono studio."); $sender_email = ADA_ADMIN_MAIL_ADDRESS; $recipients_emails_ar = array($payer_email); } else { // header("Location: $back_url?id_studente=$id_studente"); // Send mail to the user with his/her data. $switcherTypeAr = array(AMA_TYPE_SWITCHER); $extended_data = TRUE; $switcherList = $dh->get_users_by_type($switcherTypeAr, $extended_data); if (!AMA_DataHandler::isError($switcherList)) { $switcher_email = $switcherList[0]['e_mail']; } else { $switcher_email = ADA_ADMIN_MAIL_ADDRESS; } $switcher_email = 'amministrazione@italicon'; // versione ICON $notice_mail = sprintf(translateFN('Questa è una risposta automatica. Si prega di non rispondere a questa mail. Per informazioni scrivere a %s'), $switcher_email); $message_ha["testo"] = $notice_mail . "\n\r\n\r"; $message_ha["testo"] .= translateFN('Gentile') . " " . $firstname . ",\r\n" . translateFN("grazie per esserti iscritto al corso") . " " . $course_name . "\n\r\n\r"; $message_ha["testo"] .= $body_mail; //$message_ha["testo"] .= "\n\r\n\r". translateFN("Ti ricordiamo i tuoi dati di accesso.\n\r username: "******"\n\r" . translateFN("password:"******" " . $user_password); $message_ha["testo"] .= "\n\r\n\r" . translateFN("Questo è l'indirizzo per accedere al corso: ") . "\n\r" . $http_root_dir . "\n\r"; $message_ha["testo"] .= "\n\r" . translateFN("Una volta fatto il login, potrai accedere al corso"); $message_ha["testo"] .= "\n\r" . translateFN("Buono studio!"); $message_ha["testo"] .= "\n\r" . translateFN("La segreteria dei Corsi di Lingua Italiana ICoN");
/** * get_visit_time * Fetches an associative array containing history information for nodes in $this->id_course_instance * visited by student $this->id_student. * Uses the fetched array to calculate $this->total_time time spent by student visiting * the course instance. */ function get_visit_time() { $dh = $GLOBALS['dh']; $visit_time = $dh->get_student_visit_time($this->id_student, $this->id_course_instance); //verificare il controllo degli errori if (AMA_DataHandler::isError($visit_time)) { $errObj = new ADA_Error($visit_time, translateFN("Errore nella lettura dei dati")); } $nodes_time = 0; if (isset($visit_time[0])) { $n_session = $visit_time[0]['session_id']; $n_start = $visit_time[0]['data_visita']; $n_time_prec = $visit_time[0]['data_visita']; } else { $n_session = null; $n_start = null; $n_time_prec = null; } $num_nodi = count($visit_time); foreach ($visit_time as $key => $val) { // controlla se vi e' stato cambio del valore del session_id if ($val['session_id'] != $n_session) { $nodes_time = $nodes_time + ($n_time_prec - $n_start) + ADA_SESSION_TIME; $n_session = $val['session_id']; $n_start = $val['data_visita']; $n_time_prec = $val['data_visita']; //ora di entrata nel primo nodo visitato nella sessione // assegna il valore di data uscita del "nodo precedente" } else { if ($key == $num_nodi - 1) { $nodes_time = $nodes_time + $val['data_visita'] - $n_start; } else { $n_time_prec = $val['data_uscita']; } } } $this->total_time = $nodes_time; unset($visit_time); }
// $mh = MessageHandler::instance(MultiPort::getDSN($tester)); // using the previous MH if exists //if (!isset($mh)) $mh = MessageHandler::instance(MultiPort::getDSN($tester)); // prepare message to send $destinatari = array($username); $message3_ha = array(); $message3_ha['titolo'] = $titolo; $message3_ha['testo'] = $testo; $message3_ha['destinatari'] = $destinatari; $message3_ha['data_ora'] = "now"; $message3_ha['tipo'] = ADA_MSG_MAIL; $message3_ha['mittente'] = $adm_uname; // delegate sending to the message handler $res3 = $mh->send_message($message3_ha); if (AMA_DataHandler::isError($res3)) { // $errObj = new ADA_Error($res,translateFN('Impossibile spedire il messaggio'), //NULL,NULL,NULL,$error_page.'?err_msg='.urlencode(translateFN('Impossibile spedire il messaggio'))); } unset($mh); $message = urlencode(translateFN("Servizio richiesto correttamente. Ti verrà inviato un messaggio contenente le proposte di appuntamento.")); } else { // a real error $message = urlencode(translateFN("Errore nella richiesta di servizio: 2")); //$AMAErrorObject=NULL,$errorMessage=NULL, $callerName=NULL, $ADAErrorCode=NULL, $severity=NULL, $redirectTo=NULL, $delayErrorHandling=FALSE $errorObj = new ADA_Error($res_presub, $message, NULL, NULL, NULL, $error_page . '?message=' . $message); } } else { // id_course is null or was not set $error_page = $userObj->getHomePage(); $message = urlencode(translateFN('Impossibile richiedere il servizio'));
public static function getAuthorMedia($id_course, $media_type = array()) { $dh = $GLOBALS['dh']; $course_ha = $dh->get_course($id_course); if (AMA_DataHandler::isError($course_ha)) { return $course_ha; } $id_author = $course_ha['id_autore']; $author_media = $dh->get_risorse_autore($id_author, $media_type); return $author_media; }
altri utenti.*/ if ($clause) { $and = " AND "; } $clause = '(' . $clause . ')' . $and . ' ((tipo <> ' . ADA_PRIVATE_NOTE_TYPE . ') OR (tipo =' . ADA_PRIVATE_NOTE_TYPE . ' AND id_utente = ' . $sess_id_user . '))'; break; } } /* ricerca su tutti i corsi pubblici * if (il tester è quello pubblico){ * $resHa = $dh->find_public_course_nodes_list($out_fields_ar, $clause,$sess_id_course); * } */ // $resHa = $dh->find_course_nodes_list($out_fields_ar, $clause,$sess_id_course); $resHa = $dh->find_course_nodes_list($out_fields_ar, $clause, $id_course); if (!AMA_DataHandler::isError($resHa) and is_array($resHa) and !empty($resHa)) { $total_results = array(); $group_count = 0; $node_count = 0; $note_count = 0; $exer_count = 0; foreach ($resHa as $row) { $res_id_node = $row[0]; $res_name = $row[1]; $res_course_title = $row[2]; $res_text = $row[3]; $res_type = $row[4]; switch ($res_type) { case ADA_GROUP_TYPE: //$icon = "<img src=\"img/group_ico.png\" border=0>"; $class_name = 'ADA_GROUP_TYPE';
function find_student_index_att($id_course, $id_course_instance, $id_student) { // returns an array // last element is index $dh = $GLOBALS['dh']; $debug = $GLOBALS['debug']; $clause = ""; $out_fields_ar = array('indice_att'); $dataHa = $dh->find_student_report($id_student, $id_course_instance, $clause, $out_fields_ar); if (AMA_DataHandler::isError($dataHa)) { $msg = $dataHa->getMessage(); // header("Location: $error?err_msg=$msg"); } else { $last_index = count($dataHa); $student_dataAr = $dataHa[$last_index - 1]; $student_dataHa['id_log'] = $student_dataAr[0]; $student_dataHa['id_course_instance'] = $student_dataAr[1]; $student_dataHa['id_user'] = $student_dataAr[2]; $student_dataHa['index_att'] = $student_dataAr[3]; return $student_dataHa; } }
} else { if ($courseInstanceObj instanceof Course_instance && $courseInstanceObj->isFull()) { $result = $dh->course_instance_tutor_get($courseInstanceObj->getId()); if (AMA_DataHandler::isError($result)) { // FIXME: verificare che si venga redirezionati alla home page del'utente $errObj = new ADA_Error($result, translateFN('Errore in lettura tutor')); } if ($result === false) { $id_tutor_old = 'no'; } else { $id_tutor_old = $result; } // array dei tutor $field_list_ar = array('nome', 'cognome'); $tutors_ar = $dh->get_tutors_list($field_list_ar); if (AMA_DataHandler::isError($tutors_ar)) { $errObj = new ADA_Error($tutors_ar, translate('Errore in lettura dei tutor')); } $tutors = array(); $ids_tutor = array(); if ($id_tutor_old == 'no') { $tutors['no'] = translateFN('Nessun tutor'); } foreach ($tutors_ar as $tutor) { $ids_tutor[] = $tutor[0]; $nome = $tutor[1] . ' ' . $tutor[2]; $link = CDOMElement::create('a'); $link->setAttribute('id', 'tooltip' . $tutor[0]); $link->setAttribute('href', 'javascript:void(0);'); $link->addChild(new CText($nome)); $tutors[$tutor[0]] = $link->getHtml();
function getNodeData($id_node) { $nodeObj = read_node_from_DB($id_node); if (AMA_DataHandler::isError($nodeObj)) { return $nodeObj; } $node_data = array('id' => $id_node, 'name' => $nodeObj->name, 'title' => $nodeObj->title, 'text' => $nodeObj->text, 'type' => $nodeObj->type, 'level' => $nodeObj->level, 'parent_id' => $nodeObj->parent_id, 'position' => $nodeObj->position, 'order' => $nodeObj->ordine, 'version' => $nodeObj->version, 'color' => $nodeObj->color, 'bgcolor' => $nodeObj->bgcolor, 'correctness' => $nodeObj->correctness, 'copyright' => $nodeObj->copyright, 'n_contacts' => $nodeObj->contacts, 'icon' => $nodeObj->icon, 'id_node_author' => $nodeObj->author['id'], 'creation_date' => $nodeObj->creation_date, 'id_instance' => $nodeObj->instance); if ($nodeObj->type == ADA_LEAF_WORD_TYPE or $nodeObj->type == ADA_GROUP_WORD_TYPE) { $node_data['hyphenation'] = $nodeObj->hyphenation; $node_data['grammar'] = $nodeObj->grammar; $node_data['semantic'] = $nodeObj->semantic; $node_data['notes'] = $nodeObj->notes; $node_data['examples'] = $nodeObj->examples; $node_data['ex_language'] = $nodeObj->language; } return $node_data; }
function get_all_instancesFN() { $dh = $GLOBALS['dh']; $field_list_ar = array('nome', 'titolo'); $courses = $dh->get_courses_list($field_list_ar); if (AMA_DataHandler::isError($courses)) { $msg = $courses->getMessage(); $classi = $msg; // header("Location: $error?err_msg=$msg"); } else { $classe = array(); $field_list_ar = array('data_inizio', 'durata', 'data_inizio_previsto'); $num_cl = 0; //inizializzazione numero classi $corsi = count($courses); for ($i = 0; $i < count($courses); $i++) { $id_corso_tmp = $courses[$i][0]; $titolo_tmp = $courses[$i][2]; $db_data_ar = $dh->course_instance_get_list($field_list_ar, $id_corso_tmp); if (AMA_DataHandler::isError($db_data_ar)) { $dati = $db_data_ar->getMessage(); $classi = $dati; // header("Location: course_instance.php?status=$dati"); } else { for ($c = 0; $c < count($db_data_ar); $c++) { $id_istance = $db_data_ar[$c][0]; if (!empty($id_istance)) { $classe[$num_cl][0] = $id_corso_tmp; $classe[$num_cl][1] = $titolo_tmp; $classe[$num_cl][2] = $id_istance; $data_inizio = $db_data_ar[$c][3]; $classe[$num_cl][3] = $data_inizio; $num_cl++; } } $classi = $classe; } } } return $classi; }
/* * 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; } /* * Find the appointment */ $msg_ha = MultiPort::getUserAppointment($userObj, $msg_id); if (AMA_DataHandler::isError($msg_ha)) { $errObj = new ADA_Error($msg_ha, translateFN('Errore durante la lettura di un evento'), NULL, NULL, NULL, 'comunica/list_events.php?status=' . urlencode(translateFN('Errore durante la lettura'))); } /** * Conversione Time Zone */ $tester_TimeZone = MultiPort::getTesterTimeZone($tester); $offset = get_timezone_offset($tester_TimeZone, SERVER_TIMEZONE); $date_time = $msg_ha['data_ora']; $date_time_zone = $date_time + $offset; $zone = translateFN("Time zone:") . " " . $tester_TimeZone; $Data_messaggio = AMA_DataHandler::ts_to_date($date_time_zone, "%d/%m/%Y - %H:%M:%S") . " " . $zone; //$Data_messaggio = AMA_DataHandler::ts_to_date($msg_ha['data_ora'], "%d/%m/%Y - %H:%M:%S"); /* * Check if the subject has an internal identifier and remove it */
protected static function fillAddressBook(ADALoggableUser $userObj, $user_types_Ar = array()) { $user_type = $userObj->getType(); $common_dh = $GLOBALS['common_dh']; $dh = $GLOBALS['dh']; // this tells get_users_by_type method to get nome, cognome.... $retrieve_extended_data = true; if (!is_array($user_types_Ar[$user_type]) || empty($user_types_Ar[$user_type])) { return FALSE; } switch ($user_type) { case AMA_TYPE_ADMIN: /* * Ottieni tutti i practitioner, gli autori e gli switcher da tutti i * tester */ // FIXME: differisce dagli altri casi !!! $users[] = $common_dh->get_users_by_type($user_types_Ar[AMA_TYPE_ADMIN], $retrieve_extended_data); if (AMA_Common_DataHandler::isError($users)) { // Gestione errore } break; case AMA_TYPE_SWITCHER: /* * Ottieni tutti i practitioner e gli utenti dal suo tester */ $tester = $userObj->getDefaultTester(); $tester_dh = AMA_DataHandler::instance(MultiPort::getDSN($tester)); $tester_info_Ar = $common_dh->get_tester_info_from_pointer($tester); $tester_name = $tester_info_Ar[1]; $users[$tester_name] = $tester_dh->get_users_by_type($user_types_Ar[AMA_TYPE_SWITCHER], $retrieve_extended_data); if (AMA_Common_DataHandler::isError($users)) { $users[$tester_name] = array(); } /* * Ottiene tutti i practitioner presenti sul tester */ // $practitioners_Ar = $tester_dh->get_users_by_type(array(AMA_TYPE_TUTOR), $retrieve_extended_data); // if(AMA_DataHandler::isError($practitioners_Ar) || !is_array($practitioners_Ar)) { // $practitioners_Ar = array(); // } /* * Ottiene tutti gli utenti che hanno richiesto un servizio sul tester * e che sono in attesa di assegnamento ad un practitioner */ // $users_Ar = $tester_dh->get_registered_students_without_tutor(); // if(AMA_DataHandler::isError($users_Ar) || !is_array($users_Ar)) { // $users_Ar = array(); // } // $users[$tester_name] = array_merge($practitioners_Ar, $users_Ar); break; case AMA_TYPE_TUTOR: /* * Ottieni lo switcher del suo tester, gli utenti con i quali è in relazione, * eventualmente gli altri practitioner sul suo tester */ $tester = $userObj->getDefaultTester(); $tester_dh = AMA_DataHandler::instance(MultiPort::getDSN($tester)); $tester_info_Ar = $common_dh->get_tester_info_from_pointer($tester); $tester_name = $tester_info_Ar[1]; if (in_array(AMA_TYPE_STUDENT, $user_types_Ar[$user_type])) { /* * STUDENTS */ // $users[$tester_name] = $tester_dh->get_list_of_tutored_users($userObj->id_user); if (!$userObj->isSuper()) { $students_Ar = $tester_dh->get_list_of_tutored_unique_users($userObj->id_user); } else { $students_Ar = $tester_dh->get_users_by_type(array(AMA_TYPE_STUDENT), $retrieve_extended_data); } // $users[$tester_name] = $tester_dh->get_users_by_type($user_types_Ar[AMA_TYPE_TUTOR], $retrieve_extended_data); if (AMA_DataHandler::isError($students_Ar) || !is_array($students_Ar)) { $students_Ar = array(); } } else { $students_Ar = array(); } if (in_array(AMA_TYPE_TUTOR, $user_types_Ar[$user_type])) { /* * TUTORS */ $tutors_Ar = $tester_dh->get_users_by_type(array(AMA_TYPE_TUTOR), $retrieve_extended_data); if (AMA_DataHandler::isError($tutors_Ar) || !is_array($tutors_Ar)) { $tutors_Ar = array(); } } else { $tutors_Ar = array(); } if (in_array(AMA_TYPE_SWITCHER, $user_types_Ar[$user_type])) { /* * SWITCHERS */ $switchers_Ar = $tester_dh->get_users_by_type(array(AMA_TYPE_SWITCHER), $retrieve_extended_data); if (AMA_DataHandler::isError($switchers_Ar) || !is_array($switchers_Ar)) { $switchers_Ar = array(); } } else { $switchers_Ar = array(); } $users[$tester_name] = array_merge($tutors_Ar, $students_Ar, $switchers_Ar); break; case AMA_TYPE_STUDENT: /* * Se sono all'interno di un tester, vedo solo i practitioner di questo * tester con i quali sono in relazione * Se sono nella home dell'utente, vedo tutti i practitioner di tutti i * tester con i quali sono in relazione * * Come faccio a capirlo qui? posso Verificare che sess_selected_tester == ADA_DEFAULT_TESTER */ if (MultiPort::isUserBrowsingThePublicTester()) { // home di user o navigazione nei contenuti pubblici $testers = $userObj->getTesters(); foreach ($userObj->getTesters() as $tester) { if ($tester != ADA_PUBLIC_TESTER or count($testers) == 1) { $tester_dh = AMA_DataHandler::instance(MultiPort::getDSN($tester)); $tester_info_Ar = $common_dh->get_tester_info_from_pointer($tester); $tester_name = $tester_info_Ar[1]; $tutors_Ar = $tester_dh->get_tutors_for_student($userObj->getId()); if (AMA_DataHandler::isError($tutors_Ar) || !is_array($tutors_Ar)) { $tutors_Ar = array(); } $tutors_Ar = array_unique($tutors_Ar, SORT_REGULAR); $switcher_Ar = $tester_dh->get_users_by_type(array(AMA_TYPE_SWITCHER), $retrieve_extended_data); if (AMA_DataHandler::isError($switcher_Ar) || !is_array($switcher_Ar)) { $switcher_Ar = array(); } /* * OTHER STUDENTS RELATED TO USER */ $subscribed_instances = $tester_dh->get_id_course_instances_for_this_student($userObj->getId()); $students_Ar = $tester_dh->get_unique_students_for_course_instances($subscribed_instances); if (AMA_DataHandler::isError($students_Ar) || !is_array($students_Ar)) { $students_Ar = array(); } /* foreach ($subscribed_instances as $subscribed_instance) { $subscribed_instance_id = $subscribed_instance['id_istanza_corso']; $students_Ar = array_merge($tester_dh->get_students_for_course_instance($subscribed_instance_id)); } * */ $users[$tester_name] = array_merge($tutors_Ar, $switcher_Ar, $students_Ar); } } } else { $tester = $_SESSION['sess_selected_tester']; $tester_info_Ar = $common_dh->get_tester_info_from_pointer($tester); $tester_name = $tester_info_Ar[1]; $tester_dh = AMA_DataHandler::instance(MultiPort::getDSN($tester)); /* * GET TUTORS OF TESTER */ $tutors_Ar = $tester_dh->get_tutors_for_student($userObj->getId()); if (AMA_DataHandler::isError($tutors_Ar) || !is_array($tutors_Ar)) { $tutors_Ar = array(); } $tutors_Ar = array_unique($tutors_Ar, SORT_REGULAR); /* * GET SWITCHER OF TESTER */ $switcher_Ar = $tester_dh->get_users_by_type(array(AMA_TYPE_SWITCHER), $retrieve_extended_data); if (AMA_DataHandler::isError($switcher_Ar) || !is_array($switcher_Ar)) { $switcher_Ar = array(); } /* * OTHER STUDENTS RELATED TO USER */ $subscribed_instances = $tester_dh->get_id_course_instances_for_this_student($userObj->getId()); $students_Ar = $tester_dh->get_unique_students_for_course_instances($subscribed_instances); if (AMA_DataHandler::isError($students_Ar) || !is_array($students_Ar)) { $students_Ar = array(); } $users[$tester_name] = array_merge($tutors_Ar, $switcher_Ar, $students_Ar); } break; case AMA_TYPE_AUTHOR: default: return FALSE; } return $users; }
function _get_course_info($id_course) { $common_dh = $GLOBALS['common_dh']; $serviceAr = $common_dh->get_service_info_from_course($id_course); if (!AMA_DataHandler::isError($serviceAr)) { $service_name = $serviceAr[1]; $service_level = $serviceAr[3]; $service_duration = $serviceAr[4]; $service_max_meeting = $serviceAr[5]; $service_max_meeting_time = $serviceAr[7] / 60; } $providerAr = $common_dh->get_tester_info_from_id_course($id_course); if (!AMA_DataHandler::isError($providerAr)) { $provider = $providerAr['puntatore']; $provider_dsn = MultiPort::getDSN($provider); $provider_name = $providerAr['nome']; $service_country = $providerAr['nazione'] . "/" . $providerAr['provincia']; } $provider_dh = AMA_DataHandler::instance($provider_dsn); $dataHa = $provider_dh->get_course($id_course); if (AMA_DataHandler::isError($dataHa) || !is_array($dataHa)) { $infomsg = $dataHa->getMessage(); if ($dataHa->code == AMA_ERR_NOT_FOUND) { $service_description = translateFN("Il provider non fornisce attualmente questo servizio"); } // header("Location: $error?err_msg=$msg"); //return $infomsg; } else { if (!empty($dataHa['nome'])) { $course_infoHa = array(); // 1.info from table modello_corso $service_title = $dataHa['titolo']; // $service_name = $dataHa['nome']; // 2. description of instance from table modello_corso $service_instance_description = $dataHa['descr']; // 3. full description from node id_nodo_iniziale $id_desc = $id_course . "_" . $dataHa['id_nodo_iniziale']; $user_level = "999"; $nodeHa = $provider_dh->get_node_info($id_desc); if (AMA_DataHandler::isError($nodeHa)) { // $errorObj = new ADA_error($nodeHa); //FIXME: mancano gli altri dati $service_description = translateFN("Il provider non fornisce attualmente questo servizio"); } else { $service_description = $nodeHa['text']; } } else { $service_description = translateFN("Il provider non fornisce attualmente questo servizio"); } } // check on level? /* if ($service_level > 1){ $require_link = "<a href=" . HTTP_ROOT_DIR . "/browsing/registration.php?id_course=$id_course>" .translateFN('Richiedi'). "</a>"; } else { $require_link = "<a href=" . HTTP_ROOT_DIR . "/browsing/view.php?id_course=$id_course&id_node=$id_desc>" .translateFN('Entra'). "</a>"; } */ if ($service_instance_description == NULL) { $service_instance_description = level2descriptionFN($service_level); } $service_div = CDOMElement::create('div', 'id:service_info'); $thead_data = array(translateFN('Fornitore'), translateFN('Nome'), translateFN('Paese'), translateFN('Livello'), translateFN('Durata (gg)'), translateFN('Numero incontri'), translateFN('Durata incontro (minuti)'), translateFN('Descrizione servizio'), translateFN('Descrizione dettagliata')); $tbody_dataAr = array(); $tbody_dataAr[] = array($provider_name, $service_name, $service_country, level2stringFN($service_level), $service_duration, $service_max_meeting, $service_max_meeting_time, $service_description, $service_instance_description); $element_attributes = ""; $serviceTable = BaseHtmlLib::tableElement($element_attributes, $thead_data, $tbody_dataAr); $service_div->addChild($serviceTable); $service_data = $service_div->getHtml(); return $service_data; }
$search_text = $_POST['t_name']; $language_code = $_POST['selectLanguage']; $common_dh = $GLOBALS['common_dh']; $thead_data = array(translateFN("Errore")); if (is_null($search_text) || $search_text == "") { $total_results = array(); $msgEr = translateFN("Nessun input sottomesso"); $temp_results = array(translateFN("") => $msgEr); array_push($total_results, $temp_results); $result_table = BaseHtmlLib::tableElement('id:table_result', $thead_data, $total_results); $result = $result_table->getHtml(); $retArray = array("status" => "ERROR", "msg" => translateFN("Nessun input sottomesso"), "html" => $result); } else { //$result = $common_dh->find_translation_for_message($search_text, $language_code, ADA_SYSTEM_MESSAGES_SHOW_SEARCH_RESULT_NUM); $result = $common_dh->find_translation_for_message($search_text, $language_code, null); if (AMA_DataHandler::isError($result)) { $total_results = array(); $msgEr = translateFN("Errore nella ricerca dei messaggi"); $temp_results = array(translateFN("") => $msgEr); array_push($total_results, $temp_results); $result_table = BaseHtmlLib::tableElement('id:table_result', $thead_data, $total_results); $result = $result_table->getHtml(); $retArray = array("status" => "ERROR", "msg" => translateFN("Errore nella ricerca dei messaggi"), "html" => $result); } else { if ($result == NULL) { $total_results = array(); $msgEr = translateFN("Nessuna frase trovata"); $temp_results = array(translateFN("") => $msgEr); array_push($total_results, $temp_results); $result_table = BaseHtmlLib::tableElement('id:table_result', $thead_data, $total_results); $result = $result_table->getHtml();
$message_ha['mittente'] = $user_name; $mh = new MessageHandler(); $mh->send_message($message_ha); } } } // max level attained } } // genera il messaggio per lo studente // $dataHa['exercise'] = $correttore->getMessageForStudent($user_name, $exercise); $message = $correttore->getMessageForStudent($user_name, $exercise); $dataHa['exercise'] = $message->getHtml(); // ottiene il prossimo esercizio da svolgere, se previsto. $next_exercise_id = ExerciseDAO::getNextExerciseId($exercise, $sess_id_user); if (AMA_DataHandler::isError($next_exercise_id)) { $errObj = new ADA_Error($next_exercise_id, translateFN('Errore nel caricamento del prossimo esercizio')); } else { if ($next_exercise_id) { $dataHa['exercise'] .= "<a href=\"{$http_root_dir}/browsing/exercise.php?id_node={$next_exercise_id}\">"; $dataHa['exercise'] .= translateFN('Prossimo esercizio') . '</a>'; } } } break; case 'view': default: $exercise = ExerciseDAO::getExercise($id_node); if ($user_level < $exercise->getExerciseLevel()) { $form = translateFN("Esercizio di livello superiore al tuo"); } else {
if (AMA_DataHandler::isError($dataHa)) { $err_msg = $dataHa->getMessage(); //header('Location: $error?err_msg=$msg'); //exit; } $total_visits = 0; $visits_dataHa = array(); foreach ($dataHa as $visited_node) { $id_node = $visited_node[0]; $nome = $visited_node[1]; $out_fields_ar = array('data_visita'); $clause = "id_nodo = '{$id_node}'"; // FIXME: verificare quale fra queste due usare // $visits = $dh->find_nodes_history_list($out_fields_ar,'', '', $node_id); $visits = $dh->_find_nodes_history_list($out_fields_ar, $clause); if (AMA_DataHandler::isError($visits)) { $msg = $visits->getMessage(); print '$msg'; //header('Location: $error?err_msg=$msg'); //exit; } $count_visits = count($visits); $total_visits = $total_visits + count($visits); $row = array(translateFN('Id') => $id_node, translateFN('Nome') => $nome, translateFN('Visite') => $count_visits); if ($count_visits > 0) { $row[translateFN('Zoom')] = "<a href=\"author_report.php?mode=zoom&id_node={$id_node}\"><img src=\"img/magnify.png\"' border=0></a>"; } else { $row[translateFN('Zoom')] = ' '; } $id_course_and_nodeAr = explode('_', $id_node); $id_course = $id_course_and_nodeAr[0];
} else { $pubblicato = 0; } $res_ha['pubblicato'] = $pubblicato; $res_ha['lingua'] = $lingua; $media_found = $dh->get_risorsa_esterna_info_autore($filename, $author_id); if (AMA_DataHandler::isError($media_found) and $media_found->code == AMA_ERR_NOT_FOUND) { $op = 'insert'; $id_res_ext = add_only_in_risorsa_esterna($res_ha); if (AMA_DataHandler::isError($id_res_ext)) { exitWith_JSON_Error(translateFN("Errore nell'inserimento del media")); } $response = array(); $response['result'] = 'Inserimento media riuscito'; } elseif (isset($media_found['id_risorsa_ext'])) { $op = 'update'; $id_res_ext = $media_found['id_risorsa_ext']; $update_media = $dh->set_risorsa_esterna($id_res_ext, $res_ha); if (AMA_DataHandler::isError($update_media)) { exitWith_JSON_Error(translateFN("Errore nell'aggiornamento del media")); } $response = array(); $response['result'] = 'Aggiornamento media riuscito'; } else { if (AMA_DataHandler::isError($media_found) and $media_found->code == AMA_ERR_GET) { $response = array(); $response['result'] = 'Errore AMA '; } } print json_encode($response); }