function _get_services_to_subscribe($orderBy = 'service', $minLevel = 1, $maxLevel = 5) { // used by browsing/user and info // so we have to distinguish... $common_dh = $GLOBALS['common_dh']; $callerModule = $GLOBALS['self']; $sess_id_user = $_SESSION['sess_id_user']; $userObj = $_SESSION['sess_userObj']; // services // filtering on levels $level_ha = Multiport::get_service_max_level($sess_id_user); // version using COMMON if (isset($minLevel) and $minLevel < 5) { $livelloMin = $minLevel; } else { $livelloMin = 1; } if (isset($maxLevel) and $maxLevel > 1) { $livelloMax = $maxLevel; } else { $livelloMax = 5; } $clause = "s.livello <= {$livelloMax} AND s.livello >= {$livelloMin} "; // ordering if ($orderBy == 'service') { $service_infoAr = $common_dh->get_services(array('s.nome', 't.nazione', 's.livello'), $clause); } elseif ($orderBy == 'country') { $service_infoAr = $common_dh->get_services(array('t.nazione', 't.provincia', 't.nome'), $clause); } $s = 0; foreach ($service_infoAr as $course_dataHa) { $provider_name = $course_dataHa[5]; $provider_id = $course_dataHa[4]; $provider_dataHa = $common_dh->get_tester_info_from_id($provider_id); $provider_pointer = $provider_dataHa[10]; $provider_dsn = Multiport::getDSN($provider_pointer); if ($provider_dsn != null) { $provider_dataHa = $common_dh->get_tester_info_from_pointer($provider); $provider_dh = AMA_DataHandler::instance($provider_dsn); $id_course_instanceAr = $provider_dh->get_course_instance_for_this_student_and_course_model($sess_id_user, $service_implementation_id); } else { $id_course_instanceAr = NULL; } // already subscribed? if (AMA_DataHandler::isError($id_course_instanceAr)) { // never subscribed $id_course_instance = 0; } else { $id_course_instance = $id_course_instanceAr['istanza_id']; } $service_infoAr[$s][8] = $id_course_instance; $s++; } $optionsAr = array('callerModule' => $callerModule, 'orderBy' => $orderBy); return GuestHtmlLib::displayServiceData($userObj, $service_infoAr, $optionsAr); }
public static function findServicesToSubscribe($orderBy = 'service', $minLevel = 1, $maxLevel = 5) { $common_dh = $GLOBALS['common_dh']; $callerModule = $GLOBALS['self']; $sess_id_user = $_SESSION['sess_id_user']; $userObj = $_SESSION['sess_userObj']; // filtering on levels // $level_ha = Multiport::get_service_max_level($sess_id_user); FIXME: it OUGHT TO be used to filter services // version using COMMON if (isset($minLevel) and $minLevel < 5) { $livelloMin = $minLevel; } else { $livelloMin = 1; } if (isset($maxLevel) and $maxLevel > 1) { $livelloMax = $maxLevel; } else { $livelloMax = 5; } $clause = "s.livello <= {$livelloMax} AND s.livello >= {$livelloMin} "; // ordering if ($orderBy == 'service') { $service_infoAr = $common_dh->get_services(array('s.nome', 't.nazione', 's.livello'), $clause); } elseif ($orderBy == 'country') { $service_infoAr = $common_dh->get_services(array('t.nazione', 't.provincia', 't.nome'), $clause); } $s = 0; $providers_data = array(); foreach ($service_infoAr as $course_dataHa) { //var_dump($course_dataHa); $service_implementation_id = $course_dataHa[3]; $provider_name = $course_dataHa[5]; $provider_id = $course_dataHa[4]; if (!isset($providers_data[$provider_id])) { $provider_dataHa = $common_dh->get_tester_info_from_id($provider_id); $provider_pointer = $provider_dataHa[10]; $providers_data[$provider_id] = $provider_dataHa; } else { $provider_pointer = $providers_data[$provider_id][10]; } $provider_dsn = Multiport::getDSN($provider_pointer); if ($provider_dsn != null) { // $provider_dataHa = $common_dh->get_tester_info_from_pointer($provider); $provider_dh = AMA_DataHandler::instance($provider_dsn); $id_course_instanceAr = $provider_dh->get_course_instance_for_this_student_and_course_model($sess_id_user, $service_implementation_id); } else { $id_course_instanceAr = NULL; } // already subscribed? if (AMA_DataHandler::isError($id_course_instanceAr) or $id_course_instanceAr == NULL) { // never subscribed $id_course_instance = 0; } else { //var_dump($id_course_instanceAr); $id_course_instance = $id_course_instanceAr['istanza_id']; /* // FIXME: we have to get the real status AND expiration date for service implementation * $now = time(); if ($data_fine < $now){ $stato = ADA_SERVICE_SUBSCRIPTION_STATUS_COMPLETED; } else { $stato = ADA_SERVICE_SUBSCRIPTION_STATUS_UNDEFINED; } $service_infoAr[$s][9] = $stato; */ } $service_infoAr[$s][8] = $id_course_instance; $s++; } $optionsAr = array('callerModule' => $callerModule, 'orderBy' => $orderBy); return GuestHtmlLib::displayAllServicesData($userObj, $service_infoAr, $optionsAr); }
} /* 2. info about a requested service */ if (isset($_REQUEST['id_course_instance']) and isset($_REQUEST['id_course'])) { $requested_service_data = _get_course_instance_info($_REQUEST['id_course'], $_REQUEST['id_course_instance']); // from services_functions } // id_course_instance } elseif (isset($_REQUEST['id_service'])) { // get general info about a service $service_dataHa = $common_dh->get_service_info($_REQUEST['id_service']); //var_dump($service_dataHa); $serviceObj = new Service($service_dataHa); // var_dump($serviceObj); //$serviceObj = new Service($_REQUEST['id_service']); $serviceAr = $serviceObj->get_service_info(); $service_data = GuestHtmlLib::displayServiceData($userObj, $serviceAr, $optionsAr); // $service_data = _get_service_info($_REQUEST['id_service']); // from services_functions } // end if id_service } else { // service request is empty /* 3.only info about all activated services (courses)*/ $parms = explode($_GET, "&"); $redirectUrl = HTTP_ROOT_DIR . "/info.php?" . $parms; header("Location: " . $redirectUrl); } $course_title = ""; $course_author_name = ""; if (isset($service_data)) { $infomsg .= $service_data . $submit_link; }