Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'ai une action contrôleur qui ne m'affiche pas le message de retour:
$this->view->erreurs[] = '<div class="success">Votre mail a bien été envoyé. Le recruteur le recevra d\'ici quelques minutes.</div>';
Elle ne me renvoit qu'une page blanche, et je ne vois pas d'où vient le problème.
Voici l'action qui pose problème:
public function ficheAction(){ $this->_user = Zend_Auth::getInstance()->getIdentity(); if ($this->_user->role == 'candidat') { $this->view->candidat = true; } //*** Fiche descriptive d'une offre $this->view->headScript()->appendFile("http://maps.google.com/maps?file=api&v=2&key=".GOOGLE_KEY_API); $this->view->headScript()->appendFile(DEFAULT_SKIN_PATH . "scripts/gmap.js"); $this->view->headScript()->appendFile(DEFAULT_SKIN_PATH . 'scripts/poste-detail.js', $type = 'text/javascript'); $this->view->headScript()->appendFile(DEFAULT_SKIN_PATH . 'scripts/jquery.color.js', $type = 'text/javascript'); $this->view->headScript()->appendFile(DEFAULT_SKIN_PATH . 'scripts/glow.js', $type = 'text/javascript'); $this->view->headScript()->appendFile(PUBLIC_PATH . 'js/jquery/jquery.modalbox-1.0.9/js/jquery.modalbox-1.0.9-min.js', $type = 'text/javascript'); $this->view->headLink()->appendStylesheet(DEFAULT_SKIN_PATH . 'styles/detail-poste.css'); $this->view->headLink()->appendStylesheet(DEFAULT_SKIN_PATH . 'styles/recherches.css'); $this->view->headLink()->appendStylesheet(DEFAULT_SKIN_PATH . 'styles/detail-poste-print.css','print'); $this->view->headLink()->appendStylesheet(PUBLIC_PATH . 'js/jquery/jquery.modalbox-1.0.9/css/jquery.modalbox.css'); //*** 1re étape : vérification de l'id $poste_id = (int) trim($this->_request->getParam('id',0)); if(empty($poste_id)) { $this->_helper->viewRenderer->setNoRender(); echo "Cette offre n'est plus disponible"; return; } //*** 2e étape : vérification de l'existance de l'annonce $tPostes = new Postes(); $poste = $tPostes->getPosteById($poste_id); if(!$poste) { new Log('Consultation offre non dispo','Id de l\'offre: '.$poste_id,'Poste-Details-Not-Found','Poste404','postesID'.$poste_id); $this->_helper->viewRenderer->setNoRender(); echo "<h1>Cette offre n'est plus disponible</h1>"; return; } new Log('Consultation details offre','Id de l\'offre: '.$poste_id."\n".'Intitul�:'.$poste['poste_intitule']."\n".'Agence: '.$poste['agence_rs']."\n".'AgenceId: '.$poste['agence_id'],'Poste-Details-View','PosteView','postesID'.$poste_id); PosteLogCouch::detailsView($poste_id); $tAgences = new Agences(); $agence = $tAgences->GetDataAgenceById($poste['agence_id']); // SEF $tVilles = new Villes(); if ($poste['poste_ville_id']) $posteVille = $tVilles->getNameById($poste['poste_ville_id']); $tRegions = new Regions(); if ($poste['poste_region']) $posteRegion = $tRegions->getNameById($poste['poste_region']); //Zend_Debug::Dump($poste); //*** 3e étape : Tout est ok, paramètrage de l'entête et affichage de l'annonce //Options : postuler / localiser $this->view->optionShow = $this->_request->getParam('option',''); //Lien pour le bouton "retour à la liste" $sessionSearchPoste = new Zend_Session_Namespace('searchPoste'); if($sessionSearchPoste->request_uri != NULL){ $this->view->layout()->backToList = $sessionSearchPoste->request_uri; //Zend_Debug::Dump($sessionSearchPoste->request_uri); } else { $this->view->layout()->backToList = $this->_helper->baseUrl()."/index/recherche"; } //*** Affichages des informations du poste /*if (!is_empty_date($poste['poste_date_start']) && $poste['poste_date_start']!='0000-00-00') { $date = new Zend_Date($poste['poste_date_start'],null,'fr_FR'); $poste['poste_date_start'] = $date->toString('dd MMMM yyyy'); }*/ $this->view->result = $poste; $dptId = substr(($poste['poste_dpt']?$poste['poste_dpt']:$poste['agence_cp']),0,2); $dpt = new Departements(); $dptName = $dpt->getName($dptId); $this->view->layout()->metaDescription = $poste['poste_intitule'].','.$posteRegion.','.$dptName.','.$dptId.','.ucwords($poste['ville_nom']).','.$poste['poste_description']; $this->view->layout()->metaKeywords = $poste['poste_intitule'].','.$poste['contrat_nom'].','.$dptName.','.$dptId.','.ucwords($poste['ville_nom']).','.$this->_helper->StringToKeywords($poste['poste_description'],5); //*** postuler à une offre d'emploi $form = $this->getFormPostuler($poste['poste_id'],$agence['agence_cvRequired']); // Instancie le formulaire if ($this->getRequest()->isPost()) { // Vérification des données du formulaire $formData = $this->_request->getPost(); if ($form->isValid($formData)) { try { // Envoi du mail // http://www.z-f.fr/forum/viewtopic.php?id=1934 $mail = new Pi_Mail(); // attachement d'un CV if(isset($_FILES['cvattach']) && $_FILES['cvattach']['size'] > 0 && $_FILES['cvattach']['size'] < 7*1024*1024 ) { $cvUploaded = true; $fileContent = file_get_contents($_FILES["cvattach"]["tmp_name"]); $attType="application/octet-stream"; if (substr($_FILES['cvattach']['name'],-3)=='doc') {$attType="application/msword";$fileExt = 'doc';} if (substr($_FILES['cvattach']['name'],-4)=='docx') {$attType="application/msword";$fileExt = 'docx';} if (substr($_FILES['cvattach']['name'],-3)=='pdf') {$attType="application/pdf";$fileExt = 'pdf';} $joint = $mail->createAttachment($fileContent, $attType, Zend_Mime::DISPOSITION_INLINE, Zend_Mime::ENCODING_BASE64); $joint->filename = $_FILES['cvattach']['name']; } if ($this->_user->role == 'candidat') { $tCv = new Cv(); $cv = $tCv->checkCvExist($this->_user->candidat_id); $cvUrl = SITE_ABS_URL.'/cvtheq/index/nodossier/'.$cv*CV_KEY; } //Zend_Debug::Dump($form->getValues()); extract($form->getValues(),EXTR_PREFIX_ALL,'p'); // Extrait les valeurs du formulaire //Zend_Debug::Dump($formData,'data form'); $msg[] = 'Ce message vous est adressé à partir du site <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>'; $msg[] = "______________________________________________________________________" ; $msg[] = "Référence du dossier :" . $poste['poste_dossier']; $msg[] = $p_civilite . " " . htmlentities(mb_convert_encoding($p_prenom,'ISO-8859-1','UTF-8')) . " " . htmlentities(mb_convert_encoding($p_nom,'ISO-8859-1','UTF-8')) . "," ; $msg[] = 'Email : <a href="mailto:'.$p_email.'">' . $p_email .'</a>'; $msg[] = "Téléphone : " . htmlentities(mb_convert_encoding($p_telephone,'ISO-8859-1','UTF-8')) ; if ($cvUrl) $msg[] = '<a href="'.$cvUrl.'">Consultez le CV en ligne du candidat sur '.SITE_DOMAIN.'.</a>'; $msg[] = "Vous adresse le message suivant : " ; $msg[] = nl2br(htmlentities($p_message)) ; //$mail->setBodyText(implode("\r\n",$msg)); $mail->setBodyHtml(implode("<br />",$msg)); $mail->setFrom($p_email, $p_prenom . ' ' . $p_nom); $mail->addTo(strlen(trim($poste['poste_email']))?$poste['poste_email']:$agence['agence_mail']); $mail->addBcc('contact.annonce@portailinterim.com'); $mail->setSubject('['.SITE_DOMAIN.'-'.$agence['cli_id'].'-'.$agence['agence_id'].'] Candidature au poste de '.$poste['poste_intitule']); PosteLogCouch::appliant($poste['poste_id']); $mail->send(null,'Poste:'.$poste['poste_id']); Stats::incKey($agence['cli_id'],$agence['agence_id'],'candidatures'); //$this->_flashMessenger->addSuccess('Envoi du mail '); //$this->_redirect('index/fiche/id/' . $poste_id); $this->view->erreurs[] = '<div class="success">Votre mail a bien été envoyé. Le recruteur le recevra d\'ici quelques minutes.</div>'; $tGlobalstats = new Globalstats(); $stats = $tGlobalstats->find('candidatures')->current(); $stats->value++; $stats->save(); } catch (Exception $e) { $this->view->erreurs[] = "<div class='error'>Erreur dans l'envoi du mail. Veuillez reformuler votre demande. Si toutefois le problème devait persister, veuillez contacter l'administrateur du site. Merci de votre compréhension.<br />".$e->getMessage()."</div>"; if($this->getInvokeArg('env') == 'development'){ $this->view->erreurs[] = $e->getMessage(); } } //envoi d'un mail au candidat si non inscrit if (!$this->_user->role == 'candidat') { /* $mail = new Pi_Mail(); unset($msg); $msg[] = 'Ce message vous est adressée; à partir du site <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>'; $msg[] = "______________________________________________________________________" ; $msg[] = ''; $msg[] = 'Bonjour '.$p_prenom.' '.$p_nom.','; $msg[] = ''; $msg[] = 'Vous venez de postuler à un poste sur <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>, et nous vous en remercions.'; $msg[] = 'Pour optimiser vos chances de trouver un poste, <a href="http://'.SITE_DOMAIN.'/candidats/register">créez votre CV</a> sur <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>. Aujourd\'hui, il sera consulté par plus de 150 agences d\'intérim partenaires.'; $msg[] = ''; $msg[] = 'En espérant vous revoir bientôt sur <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>,'; $msg[] = 'Cordialement,'; $msg[]=''; $msg[]='L\'équipe de <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>'; $mail->setBodyHtml(implode("<br />",$msg)); $mail->addTo($p_email, $p_prenom . ' ' . $p_nom); $mail->setFrom(EMAIL_SUPPORT); $mail->setSubject('['.SITE_DOMAIN.'] Candidature recue'); $mail->send();*/ } $cvpath = "./public/cvtheque/"; // Dossier de stockage des cvs $new_filename = md5(uniqid(mt_rand(), true)); // identifiant unique pour le cv, cf : http://us2.php.net/uniqid if ($this->_user->role != 'candidat' && !$cvUploaded && $p_shareProfil) { $this->tCandidat = new Candidat(); /** Créer le Candidat **/ $login = explode("@", $p_email); // on récupere juste ce qu'il y a avant l'@ // Vérifie que le login n'est pas déjà utilisé if(!$this->tCandidat->checkLoginExist($login[0])) { // Vérifie que l'email n'est pas déjà utilisé if(!$this->tCandidat->checkEmailExist($p_email)) { // Préparation des variables avant insertion $data['login'] = $login[0]; //Modification de son mot de passe $myfct = new Fastfonctions(); // $password=array(cLe1VVge,xO595GFj); $newpwd = $myfct->GenPassword(8); $data['password'] = sha1(CRYPT_KEY . $newpwd); $data['email'] = $p_email; //$data['newsletter'] = isset($_POST['p_newsletter']) ? 1 : 0; $data['prenom']= $p_prenom; $data['nom']= $p_nom; $data['creadt'] = date('Y-m-d H-i-s'); $data['confirm'] = '1'; $data['metier'] = $poste['poste_intitule']; $data['statutpro_id'] =""; $data['telhome']=$p_telephone; // Ajout dans la BD du nouveau candidat if($this->tCandidat->insert($data)) { // Préparation d'un message de bienvenue $mail = new Pi_Mail(); unset($msg); $msg[] = 'Ce message vous est adressé à partir du site <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>'; $msg[] = "______________________________________________________________________" ; $msg[] = ''; $msg[] = 'Bonjour '.$p_prenom.' '.$p_nom.','; $msg[] = ''; $msg[] = 'Vous venez de postuler à une annonce sur <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>, et nous vous en remercions.'; $msg[] = 'Votre compte sur PortailIntérim a été crée avec succès.'; $msg[] = 'Pour des raisons de sécurité votre mot de passe a été généré automatiquement, libre à vous de le modifier lors de votre première connection.'; $msg[] = 'Login : ' . $login[0]; $msg[] = 'Mot de passe : ' . $newpwd; $msg[] ='Cliquer <a href="http://'.SITE_DOMAIN.'/index/index/link/candidats">ici</a> pour vous connecter à votre espace candidat, afin d\'optimiser vos chances de trouver un poste en enrichissant votre CV. Ce dernier sera consultable par plus de 450 agences d\'intérim partenaires.'; $msg[] = ''; $msg[] = 'En espérant vous revoir bientôt,'; $msg[] = 'Cordialement,'; $msg[]=''; $msg[]='L\'équipe de <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>'; $mail->setBodyHtml(implode("<br />",$msg)); $mail->addTo($p_email, $p_prenom . ' ' . $p_nom); $mail->setFrom(EMAIL_SUPPORT); $mail->setSubject('['.SITE_DOMAIN.'] Candidature recue'); $mail->send(); /**** Mail pour suivi pôle emploi ***/ $mail = new Pi_Mail(); unset($msg); $msg[] = $agence[agence_rs]; $msg[] = $agence[agence_adresse1]; if ($agence[agence_adresse2]!=""){ $msg[] = $agence[agence_adresse2]; } $msg[] = $agence[agence_cp].' '.$agence[agence_ville]; $msg[] = 'Tél: '.$agence[agence_tel]; //on déclare nos variables $nom_jour_fr = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"); $mois_fr = Array("", "janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"); // on extrait la date du jour list($nom_jour, $jour, $mois, $annee) = explode('/', date("w/d/n/Y")); $msg[] = ''; $msg[] =$nom_jour_fr[$nom_jour].' '.$jour.' '.$mois_fr[$mois].' '.$annee.','; $msg[] = ''; $msg[] = 'Objet: Candidature sur le site Portailinterim.com'; $msg[] = ''; $msg[] = 'Cher(e) '.$p_prenom.' '.$p_nom.','; $msg[] = ''; $msg[] = 'Nous accusons réception ce jour de votre candidature au poste de: ' .$poste['poste_intitule'].', dont voici le détail:'; $msg[] = ''; if ($poste['poste_dossier']!=""){ $msg[] = 'Référence: ' .$poste['poste_dossier']; } if (($poste['poste_date_start']!="") && ($poste['poste_date_start']!="0000-00-00")){ $dateMission=getFRDate($poste['poste_date_start']); $msg[] = 'Début de mission: ' .$dateMission; } $msg[] = 'Contrat: ' .$poste['contrat_nom']; $msg[] = 'Région: ' .$posteRegion. ' - Département: '.$dptName; // $msg[]=$lieu[]; if ($poste['poste_profil']!=""){ $msg[] = 'Profil: ' .$poste['poste_profil']; } $msg[] = ''; $msg[] = 'Description: ' .$poste['poste_description']; $msg[] = ''; $msg[] = 'N\'hesitez pas à vous connecter sur votre compte afin de bénéficier de toutes les fonctionnalités proposées par le site et consulter les nouvelles offres en ligne.'; $msg[] = 'Cordialement,'; $msg[]=''; $msg[]='L\'équipe de <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>'; $mail->setBodyHtml(implode("<br />",$msg)); $mail->addTo($p_email, $p_prenom . ' ' . $p_nom); $mail->setFrom(EMAIL_SUPPORT); $mail->setSubject('['.SITE_DOMAIN.'] Candidature recue'); $mail->send(); /**** Mail pour suivi pôle emploi ***/ $dataCandidat = $this->tCandidat->getCandidatByEmail($p_email); /*** Gestion de l'alerte mail ***/ // echo "ok"; $poData['name']= " Alerte Portailinterim - " .$poste['poste_intitule']; $poData['keys']=$poste['poste_intitule']; $poData['contrats']= serialize($poste['poste_contrat']); $poData['candidat_id']= $dataCandidat['candidat_id']; $poData['experience_id']=$poste['poste_experience']; $poData['fonction_id']=$poste['poste_fonction']; $poData['secteur_id']=$poste['poste_secteur']; if ($poste['poste_dpt']!="") { $poData['zone_id']=$poste['poste_dpt']; }else{ $poData['zone_id']=$poste['poste_region']; } // $poData['region_id']=$poste['poste_region']; //$poData['dpt_id']=$poste['poste_dpt']; $poData['country_id']=$poste['poste_pays']; $poData['statut']= true; $poData['created']= now(); $tAlert = new Alert(); $alertDb = $tAlert->createRow($poData); $alertDb->save(); /* if (($p_share && $p_shareProfil) || (!$p_share && $p_shareProfil) || ($p_share && !$p_shareProfil)){*/ if(file_put_contents($cvpath.$new_filename.'.'.$fileExt,$fileContent)){ // à verifier!! $cvData['candidat_id']= $dataCandidat['candidat_id']; $cvData['upddt'] = date('Y-m-d H:i:s'); $cvData['cv_uploaded'] = $new_filename . '.' . $fileExt; $cvData['nom'] = $p_nom; $cvData['prenom'] = $p_prenom; $cvData['telhome'] = $p_telephone; $cvData['email'] = $p_email; $cvData['intitule_poste'] = $poste['poste_intitule']; $cvData['secteur_id'] = $poste['poste_secteur']; $cvData['fonction_id'] = $poste['poste_fonction']; $cvData['ville'] = $poste['ville_nom']; $cvData['cp'] = $tVilles->getCpById($poste['ville_id']); $cvData['regions'] = serialize(array($poste['region_id'])); $tCv = new Cv(); $cvDb = $tCv->createRow($cvData); $cvDb->save(); $tGlobalstats = new Globalstats(); $stats = $tGlobalstats->find('new_cv')->current(); $stats->value++; $stats->save(); } } else { $this->view->erreurs[] = "Problème lors de l'enregistrement de votre compte."; } } else { // TODO : problème interne - erreur! // $this->view->erreurs[] = "Un compte utilise déjà cet email."; $dataCandidat = $this->tCandidat->getCandidatByEmail($p_email); /*** Créer l'alerte ***/ // echo "ok"; $poData['name']= " Alerte Portailinterim - " .$poste['poste_intitule']; $poData['keys']=$poste['poste_intitule']; $poData['contrats']= serialize($poste['poste_contrat']); $poData['candidat_id']= $dataCandidat['candidat_id']; $poData['experience_id']=$poste['poste_experience']; $poData['fonction_id']=$poste['poste_fonction']; $poData['secteur_id']=$poste['poste_secteur']; if ($poste['poste_dpt']!="") { $poData['zone_id']=$poste['poste_dpt']; }else{ $poData['zone_id']=$poste['poste_region']; } // $poData['region_id']=$poste['poste_region']; //$poData['dpt_id']=$poste['poste_dpt']; $poData['country_id']=$poste['poste_pays']; $poData['statut']= true; $poData['created']= now(); $tAlert = new Alert(); $alertDb = $tAlert->createRow($poData); $alertDb->save(); if(file_put_contents($cvpath.$new_filename.'.'.$fileExt,$fileContent)){ // à verifier!! $cvData['candidat_id']= $dataCandidat['candidat_id']; $cvData['upddt'] = date('Y-m-d H:i:s'); $cvData['cv_uploaded'] = $new_filename . '.' . $fileExt; $cvData['nom'] = $p_nom; $cvData['prenom'] = $p_prenom; $cvData['telhome'] = $p_telephone; $cvData['email'] = $p_email; $cvData['intitule_poste'] = $poste['poste_intitule']; $cvData['secteur_id'] = $poste['poste_secteur']; $cvData['fonction_id'] = $poste['poste_fonction']; $cvData['ville'] = $poste['ville_nom']; $cvData['cp'] = $tVilles->getCpById($poste['ville_id']); $cvData['regions'] = serialize(array($poste['region_id'])); $tCv = new Cv(); $cvDb = $tCv->createRow($cvData); $cvDb->save(); $tGlobalstats = new Globalstats(); $stats = $tGlobalstats->find('new_cv')->current(); $stats->value++; $stats->save(); } } } else { // TODO : problème interne - erreur! //$this->view->erreurs[] = "Un compte utilise déjà ces informations."; $dataCandidat = $this->tCandidat->getCandidatByLogin($login[0]); /*** Créer l'alerte ***/ //echo "ok"; $poData['name']= " Alerte Portailinterim - " .$poste['poste_intitule']; $poData['keys']=$poste['poste_intitule']; $poData['contrats']= serialize($poste['poste_contrat']); $poData['candidat_id']= $dataCandidat['candidat_id']; $poData['experience_id']=$poste['poste_experience']; $poData['fonction_id']=$poste['poste_fonction']; $poData['secteur_id']=$poste['poste_secteur']; if ($poste['poste_dpt']!="") { $poData['zone_id']=$poste['poste_dpt']; }else{ $poData['zone_id']=$poste['poste_region']; } // $poData['region_id']=$poste['poste_region']; //$poData['dpt_id']=$poste['poste_dpt']; $poData['country_id']=$poste['poste_pays']; $poData['statut']= true; $poData['created']= now(); $tAlert = new Alert(); $alertDb = $tAlert->createRow($poData); $alertDb->save(); if(file_put_contents($cvpath.$new_filename.'.'.$fileExt,$fileContent)){ // à verifier!! $cvData['candidat_id']= $dataCandidat['candidat_id']; $cvData['upddt'] = date('Y-m-d H:i:s'); $cvData['cv_uploaded'] = $new_filename . '.' . $fileExt; $cvData['nom'] = $p_nom; $cvData['prenom'] = $p_prenom; $cvData['telhome'] = $p_telephone; $cvData['email'] = $p_email; $cvData['intitule_poste'] = $poste['poste_intitule']; $cvData['secteur_id'] = $poste['poste_secteur']; $cvData['fonction_id'] = $poste['poste_fonction']; $cvData['ville'] = $poste['ville_nom']; $cvData['cp'] = $tVilles->getCpById($poste['ville_id']); $cvData['regions'] = serialize(array($poste['region_id'])); $tCv = new Cv(); $cvDb = $tCv->createRow($cvData); $cvDb->save(); $tGlobalstats = new Globalstats(); $stats = $tGlobalstats->find('new_cv')->current(); $stats->value++; $stats->save(); } } } //enregistrement du CV si cv joint et candidat non-inscrit if ($this->_user->role != 'candidat' && $cvUploaded) { if(file_put_contents($cvpath.$new_filename.'.'.$fileExt,$fileContent)){ if ($p_shareProfil){ $this->tCandidat = new Candidat(); /** Créer le Candidat **/ $login = explode("@", $p_email); // on récupere juste ce qu'il y a avant l'@ // Vérifie que le login n'est pas déjà utilisé if(!$this->tCandidat->checkLoginExist($login[0])) { // Vérifie que l'email n'est pas déjà utilisé if(!$this->tCandidat->checkEmailExist($p_email)) { // Préparation des variables avant insertion $data['login'] = $login[0]; //Modification de son mot de passe $myfct = new Fastfonctions(); $newpwd = $myfct->GenPassword(8); //$data['password'] = $newpwd; $data['password'] = sha1(CRYPT_KEY . $newpwd); $data['email'] = $p_email; //$data['newsletter'] = isset($_POST['p_newsletter']) ? 1 : 0; $data['prenom']= $p_prenom; $data['nom']= $p_nom; $data['creadt'] = date('Y-m-d H-i-s'); $data['confirm'] = '1'; $data['metier'] = $poste['poste_intitule']; $data['statutpro_id'] =""; $data['telhome']=$p_telephone; // Ajout dans la BD du nouveau candidat if($this->tCandidat->insert($data)) { // Préparation d'un message de bienvenue $mail = new Pi_Mail(); unset($msg); $msg[] = 'Ce message vous est adressé à partir du site <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>'; $msg[] = "______________________________________________________________________" ; $msg[] = ''; $msg[] = 'Bonjour '.$p_prenom.' '.$p_nom.','; $msg[] = ''; $msg[] = 'Vous venez de postuler à une annonce sur <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>, et nous vous en remercions.'; $msg[] = 'Votre compte sur PortailIntérim a été crée avec succès.'; $msg[] = 'Pour des raisons de sécurité votre mot de passe a été généré automatiquement, libre à vous de le modifier lors de votre première connection.'; $msg[] = 'Login : ' . $login[0]; $msg[] = 'Mot de passe : ' . $newpwd; $msg[] ='Cliquer <a href="http://'.SITE_DOMAIN.'/index/index/link/candidats">ici</a> pour vous connecter à votre espace candidat, afin d\'optimiser vos chances de trouver un poste en enrichissant votre CV. Ce dernier sera consultable par plus de 450 agences d\'intérim partenaires.'; $msg[] =''; $msg[] = 'En espérant vous revoir bientôt,'; $msg[] = 'Cordialement,'; $msg[]=''; $msg[]='L\'équipe de <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>'; $mail->setBodyHtml(implode("<br />",$msg)); $mail->addTo($p_email, $p_prenom . ' ' . $p_nom); $mail->setFrom(EMAIL_SUPPORT); $mail->setSubject('['.SITE_DOMAIN.'] Candidature recue'); $mail->send(); /**** Mail pour suivi pôle emploi ***/ $mail = new Pi_Mail(); unset($msg); $msg[] = $agence[agence_rs]; $msg[] = $agence[agence_adresse1]; if ($agence[agence_adresse2]!=""){ $msg[] = $agence[agence_adresse2]; } $msg[] = $agence[agence_cp].' '.$agence[agence_ville]; $msg[] = 'Tél: '.$agence[agence_tel]; //on déclare nos variables $nom_jour_fr = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"); $mois_fr = Array("", "janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"); // on extrait la date du jour list($nom_jour, $jour, $mois, $annee) = explode('/', date("w/d/n/Y")); $msg[] = ''; $msg[] =$nom_jour_fr[$nom_jour].' '.$jour.' '.$mois_fr[$mois].' '.$annee.','; $msg[] = ''; $msg[] = 'Objet: Candidature sur le site Portailinterim.com'; $msg[] = ''; $msg[] = 'Cher(e) '.$p_prenom.' '.$p_nom.','; $msg[] = ''; $msg[] = 'Nous accusons réception ce jour de votre candidature au poste de: ' .$poste['poste_intitule'].', dont voici le détail:'; $msg[] = ''; if ($poste['poste_dossier']!=""){ $msg[] = 'Référence: ' .$poste['poste_dossier']; } if (($poste['poste_date_start']!="") && ($poste['poste_date_start']!="0000-00-00")){ $dateMission=getFRDate($poste['poste_date_start']); $msg[] = 'Début de mission: ' .$dateMission; } $msg[] = 'Contrat: ' .$poste['contrat_nom']; $msg[] = 'Région: ' .$posteRegion. ' - Département: '.$dptName; // $msg[]=$lieu[]; if ($poste['poste_profil']!=""){ $msg[] = 'Profil: ' .$poste['poste_profil']; } $msg[] = ''; $msg[] = 'Description: ' .$poste['poste_description']; $msg[] = ''; $msg[] = 'N\'hesitez pas à vous connecter sur votre compte afin de bénéficier de toutes les fonctionnalités proposées par le site et consulter les nouvelles offres en ligne.'; $msg[] = 'Cordialement,'; $msg[]=''; $msg[]='L\'équipe de <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>'; $mail->setBodyHtml(implode("<br />",$msg)); $mail->addTo($p_email, $p_prenom . ' ' . $p_nom); $mail->setFrom(EMAIL_SUPPORT); $mail->setSubject('['.SITE_DOMAIN.'] Candidature recue'); $mail->send(); /**** Mail pour suivi pôle emploi ***/ $dataCandidat = $this->tCandidat->getCandidatByEmail($p_email); /*** Gestion de l'alerte mail ***/ $dataCandidat = $this->tCandidat->getCandidatByEmail($p_email); /*** Gestion de l'alerte mail ***/ // $this->tAlert = new Alert(); $poData['name']= " Alerte Portailinterim - " .$poste['poste_intitule']; $poData['keys']=$poste['poste_intitule']; $poData['contrats']= serialize($poste['poste_contrat']); $poData['candidat_id']= $dataCandidat['candidat_id']; $poData['experience_id']=$poste['poste_experience']; $poData['fonction_id']=$poste['poste_fonction']; $poData['secteur_id']=$poste['poste_secteur']; if ($poste['poste_dpt']!="") { $poData['zone_id']=$poste['poste_dpt']; }else{ $poData['zone_id']=$poste['poste_region']; } // $poData['region_id']=$poste['poste_region']; //$poData['dpt_id']=$poste['poste_dpt']; $poData['country_id']=$poste['poste_pays']; $poData['statut']= true; $poData['created']= now(); $tAlert = new Alert(); $alertDb = $tAlert->createRow($poData); $alertDb->save(); $cvData['candidat_id']=$dataCandidat['candidat_id']; // echo $dataCandidat['candidat_id']; } else { $this->view->erreurs[] = "Problème lors de l'enregistrement de votre compte."; } } else { // TODO : problème interne - erreur! //$this->view->erreurs[] = "Un compte utilise déjà cet email."; $dataCandidat = $this->tCandidat->getCandidatByEmail($p_email); /*** Créer l'alerte ***/ // echo "ok"; $poData['name']= " Alerte Portailinterim - " .$poste['poste_intitule']; $poData['keys']=$poste['poste_intitule']; $poData['contrats']= serialize($poste['poste_contrat']); $poData['candidat_id']= $dataCandidat['candidat_id']; $poData['experience_id']=$poste['poste_experience']; $poData['fonction_id']=$poste['poste_fonction']; $poData['secteur_id']=$poste['poste_secteur']; if ($poste['poste_dpt']!="") { $poData['zone_id']=$poste['poste_dpt']; }else{ $poData['zone_id']=$poste['poste_region']; } // $poData['region_id']=$poste['poste_region']; //$poData['dpt_id']=$poste['poste_dpt']; $poData['country_id']=$poste['poste_pays']; $poData['statut']= true; $poData['created']= now(); $tAlert = new Alert(); $alertDb = $tAlert->createRow($poData); $alertDb->save(); if(file_put_contents($cvpath.$new_filename.'.'.$fileExt,$fileContent)){ // à verifier!! $cvData['candidat_id']= $dataCandidat['candidat_id']; $cvData['upddt'] = date('Y-m-d H:i:s'); $cvData['cv_uploaded'] = $new_filename . '.' . $fileExt; $cvData['nom'] = $p_nom; $cvData['prenom'] = $p_prenom; $cvData['telhome'] = $p_telephone; $cvData['email'] = $p_email; $cvData['intitule_poste'] = $poste['poste_intitule']; $cvData['secteur_id'] = $poste['poste_secteur']; $cvData['fonction_id'] = $poste['poste_fonction']; $cvData['ville'] = $poste['ville_nom']; $cvData['cp'] = $tVilles->getCpById($poste['ville_id']); $cvData['regions'] = serialize(array($poste['region_id'])); $tCv = new Cv(); $cvDb = $tCv->createRow($cvData); $cvDb->save(); $tGlobalstats = new Globalstats(); $stats = $tGlobalstats->find('new_cv')->current(); $stats->value++; $stats->save(); } } } else { // TODO : problème interne - erreur! //$this->view->erreurs[] = "Un compte utilise déjà ces informations."; $dataCandidat = $this->tCandidat->getCandidatByLogin($login[0]); /*** Créer l'alerte ***/ //echo "ok"; $poData['name']= " Alerte Portailinterim - " .$poste['poste_intitule']; $poData['keys']=$poste['poste_intitule']; $poData['contrats']= serialize($poste['poste_contrat']); $poData['candidat_id']= $dataCandidat['candidat_id']; $poData['experience_id']=$poste['poste_experience']; $poData['fonction_id']=$poste['poste_fonction']; $poData['secteur_id']=$poste['poste_secteur']; if ($poste['poste_dpt']!="") { $poData['zone_id']=$poste['poste_dpt']; }else{ $poData['zone_id']=$poste['poste_region']; } // $poData['region_id']=$poste['poste_region']; //$poData['dpt_id']=$poste['poste_dpt']; $poData['country_id']=$poste['poste_pays']; $poData['statut']= true; $poData['created']= now(); $tAlert = new Alert(); $alertDb = $tAlert->createRow($poData); $alertDb->save(); if(file_put_contents($cvpath.$new_filename.'.'.$fileExt,$fileContent)){ // à verifier!! $cvData['candidat_id']= $dataCandidat['candidat_id']; $cvData['upddt'] = date('Y-m-d H:i:s'); $cvData['cv_uploaded'] = $new_filename . '.' . $fileExt; $cvData['nom'] = $p_nom; $cvData['prenom'] = $p_prenom; $cvData['telhome'] = $p_telephone; $cvData['email'] = $p_email; $cvData['intitule_poste'] = $poste['poste_intitule']; $cvData['secteur_id'] = $poste['poste_secteur']; $cvData['fonction_id'] = $poste['poste_fonction']; $cvData['ville'] = $poste['ville_nom']; $cvData['cp'] = $tVilles->getCpById($poste['ville_id']); $cvData['regions'] = serialize(array($poste['region_id'])); $tCv = new Cv(); $cvDb = $tCv->createRow($cvData); $cvDb->save(); $tGlobalstats = new Globalstats(); $stats = $tGlobalstats->find('new_cv')->current(); $stats->value++; $stats->save(); } } }/** creation candidat **/ //gestion du else if (($p_share && $p_shareProfil) || (!$p_share && $p_shareProfil) || ($p_share && !$p_shareProfil)){ $cvData['upddt'] = date('Y-m-d H:i:s'); $cvData['cv_uploaded'] = $new_filename . '.' . $fileExt; $cvData['nom'] = $p_nom; $cvData['prenom'] = $p_prenom; $cvData['telhome'] = $p_telephone; $cvData['email'] = $p_email; $cvData['intitule_poste'] = $poste['poste_intitule']; $cvData['secteur_id'] = $poste['poste_secteur']; $cvData['fonction_id'] = $poste['poste_fonction']; $cvData['ville'] = $poste['ville_nom']; $cvData['cp'] = $tVilles->getCpById($poste['ville_id']); $cvData['regions'] = serialize(array($poste['region_id'])); $tCv = new Cv(); $cvDb = $tCv->createRow($cvData); $cvDb->save(); $tGlobalstats = new Globalstats(); $stats = $tGlobalstats->find('new_cv')->current(); $stats->value++; $stats->save(); } } } } else { $this->view->formulaire = $this->_helper->getFormModeWrite($form); // Rend le formulaire accessible en "écriture" $form->setDefaults($formData); //Récupère les erreurs foreach ($form->getMessages() as $item => $v) { foreach ($v as $error ){ $this->view->erreurs[] = $error; } } } } else { // si pas posté, on affiche les valeurs par défauts $this->view->formulaire = $this->_helper->getFormModeWrite($form); // Rend le formulaire accessible en "écriture" $form->setDefaults($poste); } $this->view->layout()->agence_id = $poste['agence_id']; /* * Pagination dans la fiche : 1 par 1 * TODO : Vérifier si on est passé par le moteur de recherche ou is il y a des infos en session */ $sessionInsidePaginator = new Zend_Session_Namespace('insidePaginator'); if( ($sessionInsidePaginator->datas != Null) ) { // Récupère le tableau d'index $insidePaginatorArray = unserialize($sessionInsidePaginator->datas); $total_records = count($insidePaginatorArray); if($total_records != 0){ $current_key = array_search($poste_id,$insidePaginatorArray); if($current_key > 0){ $this->view->previous_record = $insidePaginatorArray[($current_key - 1)]; } if($current_key < ($total_records - 1)) { $this->view->next_record = $insidePaginatorArray[($current_key + 1)]; } $this->view->current_record = $current_key + 1; // car l'index d'un tableau commence à 0 $this->view->total_record = $total_records; } } //*** Rends les différents éléments du gabarit $this->render('poste-detail'); $this->render('box/lastsearch','right',True); $this->render('box/tags','left',True); $this->render('box/selection','right',True); $this->render('box/annonceur-info','right',True); $this->render('box/annonceur-offres','right',True); }
Merci d'avance pour votre aide.
Dernière modification par Hall (19-11-2010 14:34:33)
Hors ligne
Bon j'ai avancé...
Le problème ne vient apparemment pas de mon action et n'y de mon contrôleur d'ailleurs mais je suis toujours dans le flou le plus total...
Est-ce que quelqu'un pourrait m'aider a y voir plus clair...je ne sais plus ou chercher..j'aimerai juste qu'il ne me retourne pas une page blanche à la fin.
Ce qu'il y a c'est que j'ai 2 fois le même code l'un en test et l'autre en ligne.
Celui en test fonctionne alors que celui qui est en ligne non, je ne vois pas du tout ce qui cloche.
Pourquoi la fonction ne me renvoit rien alors que je lui donne ces render??:
$this->render('poste-detail'); $this->render('box/lastsearch','right',True); $this->render('box/tags','left',True); $this->render('box/selection','right',True); $this->render('box/annonceur-info','right',True); $this->render('box/annonceur-offres','right',True);
Merci d'avance!
Dernière modification par Hall (18-11-2010 20:54:00)
Hors ligne
As-tu essayé de mettre un HTACCESS pour afficher toutes les erreurs ? (eventuellement un php.ini local selon ta configuration) ?
Hors ligne
J'ai pas d'erreur en local tout passe bien c'est sur mon serveur en ligne que ça passe pas:
C'est bon ça fonctionne j'avais juste oublié de définir une fonction sur le site en ligne.
Dernière modification par Hall (19-11-2010 14:34:06)
Hors ligne
Pages: 1