Exemple #1
0
 $serviceObj = Service::findServiceFromImplementor($id_course);
 $serviceAr = $serviceObj->get_service_info();
 $service_name = $serviceAr[0];
 //  get service from course
 $serviceinfoAr = $common_dh->get_service_info_from_course($id_course);
 if (AMA_DataHandler::isError($serviceinfoAr)) {
     $message = urlencode(translateFN('Impossibile richiedere il servizio'));
     $errObj = new ADA_Error($serviceinfoAr, $message, NULL, NULL, NULL, $error_page . '?message=' . $message);
     exit;
 }
 $start_date1 = 0;
 $start_date2 = AMA_DataHandler::date_to_ts("now");
 $days = $serviceinfoAr[4];
 $istanza_ha = array('data_inizio' => $start_date1, 'durata' => $days, 'data_inizio_previsto' => $start_date2, 'id_layout' => NULL);
 // add user to tester DB
 $id_tester_user = Multiport::setUser($userObj, $testersAr, $update_user_data = FALSE);
 if ($id_tester_user === FALSE) {
     $message = urlencode(translateFN("Error while assigning user to provider."));
     //  header('Location:'.$userObj->getHomepage($message));
     // exit();
 }
 // add an instance to tester db
 $res_inst_add = $tester_dh->course_instance_add($id_course, $istanza_ha);
 if (!AMA_DataHandler::isError($res_inst_add) or $res_inst_add->code == AMA_ERR_UNIQUE_KEY) {
     // we add an instance OR there already was one with same data
     // get an instance
     $clause = "id_corso = {$id_course} AND data_inizio_previsto = {$start_date2} AND durata  = {$days}";
     $course_instanceAr = $tester_dh->course_instance_find_list(NULL, $clause);
     $id_instance = $course_instanceAr[0][0];
     // presubscribe user to the instance
     $res_presub = $tester_dh->course_instance_student_presubscribe_add($id_instance, $id_user);
Exemple #2
0
          * 
          * If the switcher is trying to subscribe a tutor, do it only
          * if the course instance belongs to a service of type 
          * ADA_SERVICE_TUTORCOMMUNITY
          */
         $canSubscribeUser = $courseInstanceObj instanceof Course_instance && $courseInstanceObj->isFull() && $courseInstanceObj->getServiceLevel() == ADA_SERVICE_TUTORCOMMUNITY;
     } else {
         $canSubscribeUser = false;
     }
 }
 if ($canSubscribeUser) {
     $courseProviderAr = $common_dh->get_tester_info_from_id_course($courseObj->getId());
     if (!AMA_DB::isError($courseProviderAr) && is_array($courseProviderAr) && isset($courseProviderAr['puntatore'])) {
         if (!in_array($courseProviderAr['puntatore'], $subscriberObj->getTesters())) {
             // subscribe user to course provider
             $canSubscribeUser = Multiport::setUser($subscriberObj, array($courseProviderAr['puntatore']));
             if (!$canSubscribeUser) {
                 $data = new CText(translateFN('Problemi nell\'iscrizione utente al provider del corso.') . ' ' . translateFN('Utente non iscritto'));
             }
         }
         if ($canSubscribeUser) {
             $subscriptionDate = 0;
             $s = new Subscription($subscriberObj->getId(), $courseInstanceId, $subscriptionDate, $startStudentLevel);
             $s->setSubscriptionStatus(ADA_STATUS_SUBSCRIBED);
             Subscription::addSubscription($s);
             $data = new CText(translateFN('Utente iscritto'));
         } else {
             $data = new CText(translateFN('Problemi') . ' ' . translateFN('Utente non iscritto'));
         }
     } else {
         $data = new CText(translateFN('Problemi nel recuperare il provider del corso.') . ' ' . translateFN('Utente non iscritto'));