Пример #1
0
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);
}
Пример #2
0
 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);
 }
Пример #3
0
        }
        /* 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;
}