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;
}
示例#2
0
 public static function displayServiceData(ADAGenericUser $UserObj, $service_infoAr = array(), $optionsAr = array())
 {
     $service_div = CDOMElement::create('div', 'id:service_info');
     $label_title = translateFN('Service');
     $label_level = translateFN('Level');
     $label_description = translateFN('Description');
     $label_service_time = translateFN('Open for');
     $label_service_min_meetings = translateFN('Min Meetings');
     $label_service_max_meetings = translateFN('Max meetings');
     $label_service_meeting_max_time = translateFN('Meetings duration');
     $overall_service_data = "";
     //var_dump($service_infoAr);
     if (!AMA_DataHandler::isError($service_infoAr)) {
         $service_title = $service_infoAr[0];
         $service_level = level2stringFN($service_infoAr[2]);
         $service_description = $service_infoAr[1];
         // durata_servizio, min_incontri, max_incontri, durata_max_incontro
         $service_time = $service_infoAr[3] . " " . translateFN("days");
         $service_min_meetings = $service_infoAr[4];
         $service_max_meetings = $service_infoAr[5];
         $service_meeting_max_time = $service_infoAr[6] . " " . translateFN("min");
     } else {
         $service_description = translateFN("Not available");
         $service_level = translateFN("?");
         $service_title = translateFN("Not available");
     }
     $thead_data = array($label_title, $label_level, $label_service_time, $label_service_min_meetings, $label_service_max_meetings, $label_service_meeting_max_time);
     $tbody_dataAr[] = array($label_title => $service_title, $label_level => $service_level, $label_service_time => $service_time, $label_service_min_meetings => $service_min_meetings, $label_service_max_meetings => $service_max_meetings, $label_service_meeting_max_time => $service_meeting_max_time);
     $serviceTable = BaseHtmlLib::tableElement($element_attributes, $thead_data, $tbody_dataAr);
     $service_div->addChild($serviceTable);
     $service_data = $service_div->getHtml();
     return $service_data;
 }