/**
  * Funzione che ascolta il form di inserimento Curriculum
  */
 public function listenerCvForm()
 {
     //se è stato inviato un cv attivo l'ascoltatore
     if (isset($_POST['invia-cv'])) {
         //controllo lato server dei campi obbligatori: Nome, Cognome, Email, Categoria, CV
         if ($this->checkData($_POST)) {
             //print_r($_POST);
             //                print_r($_FILES);
             //impongo un path dove salvare il cv
             $folder = 'upload_CV';
             //controllo se il path esiste
             $this->checkFolder($folder);
             //carico nel filesystem
             /*MODIFICA PER CAMBIARE IL NOME DEL FILE SALVATO */
             $nameFile = str_replace('.', '-', strip_tags(trim($_POST['email'])));
             $nameFile .= '-' . strip_tags($_POST['categoria']);
             //ottengo l'estensione del file
             $temp = explode('.', $_FILES['carica-cv']['name']);
             $extension = $temp[count($temp) - 1];
             $nameFile .= '.' . $extension;
             /*FINE MODIFICA */
             $check_upload = $this->uploadCvOnFileSystem($_FILES['carica-cv'], $folder, $nameFile);
             if ($check_upload) {
                 //se l'upload è avvenuto correttamente, salvo i dati nel database
                 $cv = new CV();
                 //campi obbligatori
                 $cv->setCategoria(strip_tags($_POST['categoria']));
                 $cv->setCognome(strip_tags(trim($_POST['cognome'])));
                 $cv->setCv($folder . '/' . $nameFile);
                 $cv->setEmail(strip_tags(trim($_POST['email'])));
                 $cv->setNome(strip_tags(trim($_POST['nome'])));
                 //campi non obbligatori
                 if (isset($_POST['ruolo']) && $_POST['ruolo'] != '') {
                     $cv->setRuolo($_POST['ruolo']);
                 }
                 //se l'utente inserisce un ruolo che non è stato confermato dall'amministratore
                 //il processo di associazione di quel ruolo al cv avviene con un precedente inserimento del ruolo indicato nel db
                 //il ruolo verrà aggiunto nel db e sarà associato all'attuale cv
                 if (isset($_POST['altro-ruolo']) && $_POST['altro-ruolo'] != '') {
                     $ruolo = new Ruolo();
                     $ruolo->setCategoria(strip_tags($_POST['categoria']));
                     $ruolo->setNome(strip_tags(trim($_POST['altro-ruolo'])));
                     //imposto il ruolo come non ancora pubblicato
                     $ruolo->setPubblicato(0);
                     //salvo il ruolo nel db e ottengo l'id appena salvato
                     $idNuovoRuolo = $this->ruoloController->saveRuolo($ruolo);
                     if (!(isset($_POST['ruolo']) && $_POST['ruolo'] != '')) {
                         //se non ho un ruolo già salvato dal campo $_POST['ruolo'] (ha la precedenza su questo), lo salvo
                         $cv->setRuolo($idNuovoRuolo);
                     }
                 }
                 if (isset($_POST['regione'])) {
                     $cv->setRegione($_POST['regione']);
                 }
                 if (isset($_POST['provincia'])) {
                     $cv->setProvincia($_POST['provincia']);
                 }
                 //eseguo il controllo se pubblicare o meno il cv
                 //ciò è dato dalla pubblicazione del RUOLO. Se il Ruolo è pubblicato, pubblico anche il CV
                 if ($cv->getRuolo() != null) {
                     //se il ruolo è stato inserito allora bisogna che questo venga controllato
                     //se il ruolo esiste ed è pubblicato allora il cv può essere pubblicato
                     //se il ruolo non è presente oppure non è ancora stato approvato, il cv non può essere pubblicato
                     if ($this->ruoloController->isRuoloPubblicato($cv->getRuolo())) {
                         //AGGIUNTA --> Il CV viene pubblicato anche se non è associato al ruolo.
                         $cv->setPubblicato(1);
                     } else {
                         $cv->setPubblicato(0);
                     }
                 } else {
                     //se il ruolo non è presente nel cv inviato, allora questo può essere pubblicato tranquillamente.
                     $cv->setPubblicato(1);
                 }
                 //salvo il cv nel db
                 $valueSaveCV = $this->cvController->saveCV($cv);
                 if ($valueSaveCV == 1) {
                     echo '<div class="ok">Il Curriculum è stato caricato correttamente nel sistema!</div>';
                 } else {
                     if ($valueSaveCV == 2) {
                         echo '<div class="ok">Il Curriculum per la categoria occupazionale indicata è già presente nel sistema. Abbiamo provveduto ad aggiornare con l\'ultimo Curriculum fornito.</div>';
                     } else {
                         echo '<div class="ko">Sono sopraggiunti errori nel caricare il Curriculum nel sistema.</div>';
                     }
                 }
             }
         } else {
             echo '<div class="ko">Abbiamo riscontrato un errore nel caricamento per il seguente motivo:';
             if (isset($_SESSION['errorEntry'])) {
                 echo $_SESSION['errorEntry'];
             }
             echo '</div>';
         }
     }
 }
Example #2
0
 /**
  * La funzione aggiorna i campi di un cv esistente riconosciuto tramite l'ID
  * 
  * @param CV $cv
  * @param type $idCV
  * @return boolean
  */
 public function updateCV(CV $cv, $idCV)
 {
     try {
         //imposto il timezone
         date_default_timezone_set('Europe/Rome');
         $timestamp = date('Y-m-d H:i:s', strtotime("now"));
         $this->wpdb->update($this->table, array('data_inserimento' => $timestamp, 'nome' => addslashes($cv->getNome()), 'cognome' => addslashes($cv->getCognome()), 'ruolo' => addslashes($cv->getRuolo()), 'regione' => addslashes($cv->getRegione()), 'provincia' => addslashes($cv->getProvincia()), 'cv' => addslashes($cv->getCv()), 'pubblicato' => addslashes($cv->getPubblicato())), array('ID' => $idCV), array('%s', '%s', '%s', '%d', '%s', '%s', '%s'), array('%d'));
         return true;
     } catch (Exception $ex) {
         _e($ex);
         return false;
     }
 }