Exemplo n.º 1
0
 function set_init($set_ha)
 {
     global $debug;
     $add_or_upgrade_ok = false;
     if (!is_array($set_ha)) {
         $this->initerror = translateFN("Dati di inizializzazione in formato non corretto");
         return false;
     } else {
         $this->livello = 0;
         $this->livellolink = 0;
         $this->livellomedia = 0;
         $this->set_ha['id_author'] = $set_ha['id_author'];
         $this->set_ha['id_course'] = $set_ha['id_course'];
         $this->set_ha['xml_file'] = $set_ha['xml_file'];
         $this->set_ha['media_path'] = $set_ha['media_path'];
     }
     // verifying if course has instances already started
     $id_course = $this->set_ha['id_course'];
     $dh = new AMA_DataHandler();
     // inserimento dati nel database
     $instances = $dh->course_has_instances($id_course);
     if ($instances) {
         $field_list_ar = array('data_inizio_previsto', 'data_inizio');
         $today = time();
         $clause = "id_corso = {$id_course} and data_inizio >= {$today}";
         $course_instancesAr = $dh->course_instance_find_list($field_list_ar, $clause);
         //      or else a loop on   course_instance_get($id) ...
         //  mydebug(__LINE__,__FILE__,$course_instancesAr);
         if (count($course_instancesAr)) {
             // Removing all course data
             $res = $dh->remove_course_content($id_course);
             // $debug=1; mydebug(__LINE__,__FILE__,$res);$debug=0;
             if (AMA_DataHandler::isError($res)) {
                 // ch'aggi'a fa'?
                 $this->initerror = translateFN("Impossibile rimuovere il corso con id:") . $id_course;
                 $add_or_upgrade_ok = false;
                 //  print $res->$message;
             } else {
                 $add_or_upgrade_ok = true;
             }
         } else {
             $add_or_upgrade_ok = true;
         }
     } else {
         $add_or_upgrade_ok = true;
     }
     if ($add_or_upgrade_ok) {
         if (!$this->set_ha['id_author']) {
             $this->initerror = translateFN("Impossibile trovare l'autore con id:") . $id_author;
             return false;
         } elseif (!$this->set_ha['id_course']) {
             $this->initerror = translateFN("Impossibile trovare il corso con id:") . $id_course;
             return false;
         } elseif (@filetype($this->set_ha['xml_file']) != "file") {
             $this->initerror = translateFN("Errore nel tipo di file");
             return false;
         } else {
             return true;
         }
     } else {
         return false;
     }
 }