Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 18-11-2010 13:51:51

Hall
Membre
Date d'inscription: 23-08-2010
Messages: 54

[Résolu] Page blanche : $this->view->erreurs[] qui ne fonctionne pas

Bonjour,

J'ai une action contrôleur qui ne m'affiche pas le message de retour:

Code:

$this->view->erreurs[] = '<div class="success">Votre mail a bien &eacute;t&eacute envoy&eacute;. 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:

Code:

 
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&eacute; &agrave; partir du site <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>';
                    $msg[] = "______________________________________________________________________" ;
          $msg[] = "R&eacute;f&eacute;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&eacute;l&eacute;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 &eacute;t&eacute envoy&eacute;. 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&egrave;me devait persister, veuillez contacter l'administrateur du site. Merci de votre compr&eacute;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&eacute;e; &agrave; 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 &agrave; 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&eacute;ez votre CV</a> sur <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>. Aujourd\'hui, il sera consult&eacute; par plus de 150 agences d\'int&eacute;rim partenaires.';
          $msg[] = '';
          $msg[] = 'En esp&eacute;rant vous revoir bient&ocirc;t sur <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>,';
          $msg[] = 'Cordialement,';
          $msg[]='';
          $msg[]='L\'&eacute;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&eacute; &agrave; 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 &agrave; une annonce sur <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>, et nous vous en remercions.';
                                                      $msg[] = 'Votre compte sur PortailInt&eacute;rim a &eacute;t&eacute; cr&eacute;e avec succ&egrave;s.';
                                                      $msg[] = 'Pour des raisons de s&eacute;curit&eacute; votre mot de passe a &eacute;t&eacute; g&eacute;n&eacute;r&eacute; automatiquement, libre &agrave; vous de le modifier lors de votre premi&egrave;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 &agrave; 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&eacute;rim partenaires.';
                                                      $msg[] = '';
                                                      $msg[] = 'En esp&eacute;rant vous revoir bient&ocirc;t,';
                                                      $msg[] = 'Cordialement,';
                                                      $msg[]='';
                                                      $msg[]='L\'&eacute;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&eacute;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&eacute;ception ce jour de votre candidature au poste de: ' .$poste['poste_intitule'].', dont voici le d&eacute;tail:';
                                                    $msg[] = '';
                                                    if ($poste['poste_dossier']!=""){
                                                        $msg[] = 'R&eacute;f&eacute;rence: ' .$poste['poste_dossier'];
                                                    }
                                                    if (($poste['poste_date_start']!="") && ($poste['poste_date_start']!="0000-00-00")){
                                                          $dateMission=getFRDate($poste['poste_date_start']);
                                                          $msg[] = 'D&eacute;but de mission: ' .$dateMission;
                                               }
                                                    $msg[] = 'Contrat: ' .$poste['contrat_nom'];
                                                    
                                                    $msg[] = 'R&eacute;gion: ' .$posteRegion. ' - D&eacute;partement: '.$dptName;
                                                   // $msg[]=$lieu[];
                                                    if ($poste['poste_profil']!=""){
                                                            $msg[] = 'Profil: ' .$poste['poste_profil'];
                                                    }
                                                    $msg[] = '';
                                                    $msg[] = 'Description: ' .$poste['poste_description'];
                                                    $msg[] = '';
                                                    $msg[] = 'N\'hesitez pas &agrave; vous connecter sur votre compte afin de b&eacute;n&eacute;ficier de toutes les fonctionnalit&eacute;s propos&eacute;es par le site et consulter les nouvelles offres en ligne.';
                                                    $msg[] = 'Cordialement,';
                                                    $msg[]='';
                                                    $msg[]='L\'&eacute;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&egrave;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&eacute;j&agrave; 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&eacute; &agrave; 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 &agrave; une annonce sur <a href="http://'.SITE_DOMAIN.'">'.SITE_DOMAIN.'.</a>, et nous vous en remercions.';
                                                              $msg[] = 'Votre compte sur PortailInt&eacute;rim a &eacute;t&eacute; cr&eacute;e avec succ&egrave;s.';
                                                              $msg[] = 'Pour des raisons de s&eacute;curit&eacute; votre mot de passe a &eacute;t&eacute; g&eacute;n&eacute;r&eacute; automatiquement, libre &agrave; vous de le modifier lors de votre premi&egrave;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 &agrave; 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&eacute;rim partenaires.';
                                                              $msg[] ='';
                                                              $msg[] = 'En esp&eacute;rant vous revoir bient&ocirc;t,';
                                                              $msg[] = 'Cordialement,';
                                                              $msg[]='';
                                                              $msg[]='L\'&eacute;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&eacute;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&eacute;ception ce jour de votre candidature au poste de: ' .$poste['poste_intitule'].', dont voici le d&eacute;tail:';
                                                    $msg[] = '';
                                                    if ($poste['poste_dossier']!=""){
                                                        $msg[] = 'R&eacute;f&eacute;rence: ' .$poste['poste_dossier'];
                                                    }
                                                    if (($poste['poste_date_start']!="") && ($poste['poste_date_start']!="0000-00-00")){
                                                          $dateMission=getFRDate($poste['poste_date_start']);
                                                          $msg[] = 'D&eacute;but de mission: ' .$dateMission;
                                               }
                                                    $msg[] = 'Contrat: ' .$poste['contrat_nom'];
                                                    
                                                    
                                                    $msg[] = 'R&eacute;gion: ' .$posteRegion. ' - D&eacute;partement: '.$dptName;
                                                   // $msg[]=$lieu[];
                                                    
                                                    if ($poste['poste_profil']!=""){
                                                            $msg[] = 'Profil: ' .$poste['poste_profil'];
                                                    }
                                                    $msg[] = '';
                                                    $msg[] = 'Description: ' .$poste['poste_description'];
                                                    $msg[] = '';
                                                    $msg[] = 'N\'hesitez pas &agrave; vous connecter sur votre compte afin de b&eacute;n&eacute;ficier de toutes les fonctionnalit&eacute;s propos&eacute;es par le site et consulter les nouvelles offres en ligne.';
                                                    $msg[] = 'Cordialement,';
                                                    $msg[]='';
                                                    $msg[]='L\'&eacute;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&egrave;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&eacute;j&agrave; 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

 

#2 18-11-2010 17:37:30

Hall
Membre
Date d'inscription: 23-08-2010
Messages: 54

Re: [Résolu] Page blanche : $this->view->erreurs[] qui ne fonctionne pas

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??:

Code:

$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

 

#3 18-11-2010 22:28:49

tdutrion
Administrateur
Lieu: Dijon, Paris, Edinburgh
Date d'inscription: 23-12-2009
Messages: 614
Site web

Re: [Résolu] Page blanche : $this->view->erreurs[] qui ne fonctionne pas

As-tu essayé de mettre un HTACCESS pour afficher toutes les erreurs ? (eventuellement un php.ini local selon ta configuration) ?

Hors ligne

 

#4 19-11-2010 09:57:18

Hall
Membre
Date d'inscription: 23-08-2010
Messages: 54

Re: [Résolu] Page blanche : $this->view->erreurs[] qui ne fonctionne pas

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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages