/** * 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>'; } } }
function fromQueryResultToCv($value) { // print_r($value); $cv = new CV(); $cv->setCategoria($value->categoria); $cv->setCognome($value->cognome); $cv->setCv($value->cv); $cv->setDataInserimento($value->data_inserimento); $cv->setEmail($value->email); $cv->setNome($value->nome); $cv->setProvincia($value->provincia); $cv->setPubblicato($value->pubblicato); $cv->setRegione($value->regione); $cv->setRuolo($value->ruolo); return $cv; }