Current File : /home/karenpetzb/application/modules/default/controllers/UserController.php
<?php


class UserController extends Modules_Default_Controllers_MainController
{
	public function init() {
		$this->view->baseUrl = $this->getBaseUrl();
		$this->checkMaintenance();
	}
	public function indexAction() {

	}
    
    public function deletecaddyfidelitypointAction() {
        try {
            $auth = Zend_Auth::getInstance();
			$auth->setStorage($this->getSessionStorage());
			$storage = $auth->getStorage()->read();
			if ($auth->hasIdentity() && isset($storage['user'])) {
		        if ($this->getRequest()->getParam('id')) {          
                    $id = (int) $this->getRequest()->getParam('id');
                    if ($id > 0) {
                        $userNamespace = $this->getSession();
                        if (isset($userNamespace->myObjectCaddyFidelite)) { 
                            $caddyFidelite = $userNamespace->myObjectCaddyFidelite;
                            $caddyFidelite->removeItem($id);
                            $userNamespace->myObjectCaddyFidelite = $caddyFidelite;
                        }
                    }    
                }            
            }
        } catch (Zend_Exception $e) { $this->log($e->getMessage(), 'err'); }
        $this->_redirect('/mon-panier.html');
    }

	public function addcaddyfidelitypointAction() {

        try {
            $auth = Zend_Auth::getInstance();
			$auth->setStorage($this->getSessionStorage());
			$storage = $auth->getStorage()->read();
			if ($auth->hasIdentity() && isset($storage['user'])) {
		        if ($this->getRequest()->getParam('id')) {          
                    $id = (int) $this->getRequest()->getParam('id');
                    if ($id > 0) {
                        $carteFidelite = new CarteFidelite();
                        $isAvailable = $carteFidelite->isAnnonceAvailableForUser($storage['user']['id'], $id);
                        if ($isAvailable) {
                            $userNamespace = $this->getSession();
                            if (!isset($userNamespace->myObjectCaddyFidelite)) { $userNamespace->myObjectCaddyFidelite = new CaddyFidelite(); }
                            $caddyFidelite = $userNamespace->myObjectCaddyFidelite;
                            $caddyFidelite->addItem($id);
                            $userNamespace->myObjectCaddyFidelite = $caddyFidelite;
                        }
                    }    
                }            
            }
        } catch (Zend_Exception $e) { $this->log($e->getMessage(), 'err'); }
        $this->_redirect('/mon-panier.html');
	}
	private function computeFactureTVA($facture, $paysLivraison) {
		$fact = new Facture();
		$fact->computeFactureTVA($facture, $paysLivraison);
		return $facture;
	}

	public function commandeAction()
	{
		if ($this->getRequest()->getParam('ref')) {
			$auth = Zend_Auth::getInstance();
			$auth->setStorage($this->getSessionStorage());
			$storage = $auth->getStorage()->read();

			$linksMenu[0]['NAVURL'] = '/mon-compte.html';
			$linksMenu[0]['NAVNOM'] = 'Mon compte';
			$this->view->linksMenu = $linksMenu;

			$filter = new Zend_Filter();
			$filter->addFilter(new Zend_Filter_StringTrim())
			->addFilter(new Zend_Filter_StripTags());

			if ($auth->hasIdentity() && isset($storage['user'])) {

				$commande = new Command();
				$ref = $filter->filter($this->getRequest()->getParam('ref'));
				$isExist = $commande->fetchRow("REFERENCE = '".$ref."'");
				if ($isExist) {

					$resultCommande = $commande->findCommandByUserAndRef($storage['user']['id'],$ref );

					$myCommand = array();
					$myCommand['CADDY'] = array();
					$myCommand['CADDYFIDELITE'] = array();
					$i = 0;

                    $idCommand = 0;
					foreach ($resultCommande AS $row) {
						if ($i == 0) {
							$myCommand['REFERENCE'] = $row['REFERENCE'];
							$myCommand['ID'] = $row['ID'];
                            $idCommand = $row['ID'];

							$myCommand['PRIXTOTALTTC'] = sprintf("%.2f", $row['TOTALTTC']);
							$myCommand['PRIXTOTALHTFP'] = sprintf("%.2f", $row['TOTALHTFP']);
							$myCommand['PRIXFRAISPORTPOUR'] = $row['FRAISPORTPOUR'];
							$myCommand['PRIXFRAISPORT'] = sprintf("%.2f", $row['FRAISPORT']);
							$myCommand['PRIXTOTALHT'] = sprintf("%.2f", $row['TOTALHT']);
							$myCommand['PRIXTOTALHTHR'] = sprintf("%.2f", $row['TOTALHTHR']);
							$myCommand['PRIXREMISEEUR'] = sprintf("%.2f", $row['REMISEEUR']);
							$myCommand['DATESTART'] = $row['DATESTART'];

							$myCommand = $this->computeFactureTVA($myCommand, $row['LIVPAYS']);

							$myCommand['STATUT'] = $row['STATUT'];
							$myCommand['LIV_RAISONSOCIAL'] = $row['LIVRAISONSOCIAL'];
							$myCommand['LIV_ADRESSE'] = $row['LIVADRESSE'];
							$myCommand['LIV_CP'] = $row['LIVCP'];
							$myCommand['LIV_VILLE'] = $row['LIVVILLE'];
							$myCommand['LIV_PAYS'] = $row['LIVPAYS'];
							$myCommand['FACT_RAISONSOCIAL'] = $row['FACTRAISONSOCIAL'];
							$myCommand['FACT_ADRESSE'] = $row['FACTADRESSE'];
							$myCommand['FACT_CP'] = $row['FACTCP'];
							$myCommand['FACT_VILLE'] = $row['FACTVILLE'];
							$myCommand['FACT_PAYS'] = $row['FACTPAYS'];
							$myCommand['USER_NOM'] = $row['USERNOM'];
							$myCommand['USER_PRENOM'] = $row['USERPRENOM'];
							$myCommand['USER_TEL'] = $row['USERTEL'];
							$myCommand['USER_FAX'] = $row['USERFAX'];
							$myCommand['USER_NUMCOMPTE'] = $row['USERNUMCOMPTE'];
							$myCommand['USER_EMAIL'] = $row['USEREMAIL'];
							$myCommand['USER_MODEPAIEMENT'] = $row['USERMODEPAIEMENT'];
							$myCommand['LIV_NOM'] = $row['LIV_NOM'];
							$myCommand['CODEREDUCTION'] = $row['CODEREDUCTION'];
							$myCommand['USER_MODEPAIEMENT_TYPE'] = $row['USER_MODEPAIEMENT_TYPE'];
							$myCommand['USER_MODEPAIEMENT_LABEL'] = $row['USER_MODEPAIEMENT_LABEL'];
						}

						$myCommand['CADDY'][$i]['ID'] = $row['CHILDID'];
						$myCommand['CADDY'][$i]['REFERENCE'] = $row['CHILDREF'];
						$myCommand['CADDY'][$i]['DESIGNATION'] = $row['DESIGNATION'];
						$myCommand['CADDY'][$i]['isPROMO'] = $row['CHILDisPROMO'];
						$myCommand['CADDY'][$i]['isDEVIS'] = $row['CHILDisDEVIS'];
						$myCommand['CADDY'][$i]['PRIX'] = sprintf("%.2f", $row['CHILDPRIX']);
						$myCommand['CADDY'][$i]['QUANTITY'] = $row['CHILDQUANTITY'];
						$myCommand['CADDY'][$i]['PROMOPRIX'] = sprintf("%.2f", $row['CHILDPROMOPRIX']);
						$myCommand['CADDY'][$i]['PRIXTOTAL'] = sprintf("%.2f", $row['CHILDPRIXTOTAL']);
						$myCommand['CADDY'][$i]['REMISEPRIX'] = sprintf("%.2f", $row['CHILDPRIXREMISE']);
						$myCommand['CADDY'][$i]['REMISEPRIXTAUXE'] = sprintf("%.2f", $row['CHILDREMISEPRIXTAUXE']);
						$myCommand['CADDY'][$i]['REMISEPRIXTAUXP'] = $row['CHILDREMISEPRIXTAUXP'];
						$myCommand['CADDY'][$i]['PRODUCTID'] = $row['PRODUCTID'];
						$myCommand['CADDY'][$i]['PRODUCTNOM'] = $row['PRODUCTNOM'];
						$myCommand['CADDY'][$i]['STOCK'] = $row['STOCK'];
						$myCommand['CADDY'][$i]['SELECTEDOPTION'] = $row['SELECTEDOPTION'];
                        
						$myCommand['CADDY'][$i]['NAVPRODUCTNOM'] = $this->verifyNavigationString($row['PRODUCTNAVNOM'], $row['PRODUCTNOM'],'');
						$myCommand['CADDY'][$i]['NAVNOM_URLPARENTS'] = $row['NAVNOM_URLPARENTS'];
						$i++;
					}
                    
                    
					$i = 0;
					$resultCommandeFidelite = $commande->findCommandFideliteByUserAndRef($idCommand);
					foreach ($resultCommandeFidelite AS $row) {
						$myCommand['CADDYFIDELITE'][$i]['IDFIDELITE'] = $row['IDFIDELITE'];
						$myCommand['CADDYFIDELITE'][$i]['NOM'] = $row['NOM'];
						$myCommand['CADDYFIDELITE'][$i]['NBPOINT'] = $row['NBPOINT'];
                        $i++;
                    }
						
					if ($myCommand['STATUT'] == 1 || $myCommand['STATUT'] == 2 || $myCommand['STATUT'] == 3) {
						$this->view->title = 'Votre Facture';
					} else {
						$this->view->title = 'Votre Devis';
					}


					$this->view->facture = $myCommand;
					$this->render('facture');
				} else {
					$this->_redirect('/mon-compte.html');
				}
			} else {
				$this->_redirect('/connectez-vous.html');
			}
		} else {
			$this->_redirect('/mon-compte.html');
		}
	}
	public function newsletteraddAction()
	{
		if ($this->getRequest()->isPost()) {

			//filtres pour changer les chaines
			$filter = new Zend_Filter();
			$filter	->addFilter(new Zend_Filter_StripTags())
			->addFilter(new Zend_Filter_StringTrim())
			->addFilter(new Zend_Filter_StringToLower());

			$validatorEmail = new Zend_Validate_EmailAddress();

			$email = $filter->filter($this->getRequest()->getPost('nltr_email'));
			$date = new Zend_Date();
			$dateins = $date->toString('YYYY-MM-dd HH:mm:ss');
			$code = md5($dateins.'_'.$email);

			if ($validatorEmail->isValid($email)) {
				$myNltr = new UserNewsletter();
				$isExist = $myNltr->fetchRow("EMAIL = '".$email."'");
				if(!$isExist) {
					$data = array(
						'EMAIL' => $email,
						'CODE' => $code,
						'DATEINS' => $dateins
					);
					$myNltr->insert($data);
					$this->view->messageSuccess =   "Vous �tes maintenant membre de notre <b>Newsletter</b>";//"Pour effacer : <a href='/user/newsletter/nltr_quit/$code'>$code</a>";
				} else {
					$this->view->messageError =  "L'email existe d�j�";
				}
			} else {
				$this->view->messageError =  "V�rifier votre email";
			}
		}
		$this->_forward('ajaxmessage','ajax');
	}
	public function newsletterAction()
	{
		if ($this->getRequest()->getParam('nltr_quit')) {
			//filtres pour changer les chaines
			$filter = new Zend_Filter();
			$filter	->addFilter(new Zend_Filter_StripTags())
			->addFilter(new Zend_Filter_StringTrim());

			$code = $filter->filter($this->getRequest()->getParam('nltr_quit'));

			$myNltr = new UserNewsletter();
			$isExist = $myNltr->fetchRow("CODE = '".$code."'");

			if ($isExist) {
				$myNltr->delete("CODE = '".$code."'");
			}
			$this->view->nltrMessageError = "Vous avez �t� d�sinscrit";
		}
		$this->_forward('index','index');
	}

	public function deconnexionAction()
	{
		$auth = Zend_Auth::getInstance();
		$auth->setStorage($this->getSessionStorage())->clearIdentity();

		$this->view->user = null;
		$this->resetSession();

		$this->_redirect('/connectez-vous.html');
	}

	public function ajaxdeconnexionAction()
	{
		$auth = Zend_Auth::getInstance();
		$auth->setStorage($this->getSessionStorage())->clearIdentity();
		$this->view->user = null;
		$this->resetSession();

		$layout = Zend_Layout::getMvcInstance();
		$layout->disableLayout();
	}

	private function passgen() {
		$chaine ="mnoTUzS5678kVvwxy9WXYZRNCDEFrslq41GtuaHIJKpOPQA23LcdefghiBMbj0";
		srand((double)microtime()*1000000);
		for($i=0; $i<8; $i++){
			@$pass .= $chaine[rand()%strlen($chaine)];
		}
		return $pass;
	}


	public function passwordforgetAction() {
        try {
		    $this->view->title = 'Mot de passe oubli� ?';
		    $linksMenu[0]['NAVURL'] = '/connectez-vous.html';
		    $linksMenu[0]['NAVNOM'] = 'Identifiez-vous !';
		    $this->view->linksMenu = $linksMenu;
		    $this->view->showSlide = 1;

		    $filter = new Zend_Filter();
		    $filter	->addFilter(new Zend_Filter_StripTags())
		    ->addFilter(new Zend_Filter_StringTrim());

		    $validatorEmail = new Zend_Validate_EmailAddress();

		    if ($this->getRequest()->isPost()) {
			    $email = $filter->filter($this->getRequest()->getPost('emailpassword'));
			    if ($validatorEmail->isValid($email)) {
				    $user = new User();
				    $isExist = $user->fetchRow("EMAIL = '".$email."'");

				    if ($isExist) {

					    $newMDP = $this->passgen();
					    $mail = new Zend_Mail();

					    $mail->setBodyHtml("Cher(�re) ".$isExist['NOM']." ".$isExist['PRENOM'].",<br><br>
					    Nous avons bien re�u votre message nous demandant de vous aider � retrouver vos identifiants. <br>
					    Vous trouverez ci-dessous votre nouveau mot de passe. <br>
					    Si celui ci ne vous convient pas, vous pouvez le modifier � tout moment.<br><br>
					    Votre pseudo : ".$isExist['LOGIN']."<br>
					    Votre mot de passe : ".$newMDP."<br><br>
					    <a href='".$this->baseUrl_SiteCommerceUrl."/mon-compte.html'>Vous pouvez vous connecter ici</a><br><br>
					    ".$this->siteName);

					    $mail->setFrom($this->serviceClient_Mail, $this->siteName);
					    $mail->addTo($isExist['EMAIL'], $isExist['NOM'].' '.$isExist['PRENOM']);
					    $mail->setSubject($this->siteName.', votre mot de passe');
					    $mail->send();

					    $data = array('MDP' => md5($newMDP));
					    $user->update($data, 'ID = '.$isExist['ID']);

					    $this->view->messageSuccessPass = "Nous venons de vous envoyer par email votre nouveau mot de passe.";
				    } else {
				     $this->view->messageErrorPass = "V�rifier votre email";
				    }

			    } else {
				    $this->view->messageErrorPass = "V�rifier votre email";
			    }
		    }
		} catch (Zend_Exception $e) { $this->log($e->getMessage(), 'err'); }
		$this->render('connexion');
	}
	public function connexionAction() {
		$this->view->title = 'Identifiez-vous !';
		$linksMenu[0]['NAVURL'] = '/connectez-vous.html';
		$linksMenu[0]['NAVNOM'] = 'Identifiez-vous !';
		$this->view->linksMenu = $linksMenu;
		$this->view->showSlide = 1;

		if ($this->getRequest()->isPost()) {
			$filter = new Zend_Filter();
			$filter	->addFilter(new Zend_Filter_StripTags())
			->addFilter(new Zend_Filter_StringTrim());

			$validator = new Zend_Validate();
			$validator -> addValidator(new Zend_Validate_NotEmpty())
			-> addValidator(new Zend_Validate_StringLength(4));

			$login = $filter->filter($this->getRequest()->getPost('connexion_login'));
			$mdp = $filter->filter($this->getRequest()->getPost('connexion_mdp'));

			$user = new User();


			if ($validator->isValid($login) && $validator->isValid($mdp)) {
				$messageSuccess = $this->connectMe($login, $mdp);
				if ($messageSuccess == "SUCCESS") {

					$this->retrievecommandbyuser();

					$currentAncre = $this->getRequest()->getPost('current_con_ancre');
					if (isset($currentAncre) && !empty($currentAncre)) {
						if ($currentAncre == "commandes") {
							$this->_redirect('/mon-compte.html#commandes');
						} else if ($currentAncre == "selection") {
							$this->_redirect('/mon-compte.html#selection');
						}
					} else {
						$userNamespace = $this->getSession();
						$myCaddyTemp = $userNamespace->myObjectCaddy;
						if (isset($myCaddyTemp->items) && !empty($myCaddyTemp->items)) {
							$this->_redirect('/mon-panier.html');
						} else {
							$this->_redirect('/');
						}
					}

				} else {
					$this->view->messageErrorConnect =  $messageSuccess;
					$this->view->user = null;

					$currentAncre = $this->getRequest()->getPost('current_con_ancre');
					if (isset($currentAncre) && !empty($currentAncre)) {
						$this->view->current_con_ancre = $currentAncre;
					}
				}
			} else {
				foreach ($validator->getErrors() as $errorCode) {
					$this->view->messageErrorConnect =  $this->getErrorValidator($errorCode);
				}
			}
		}
	}

	public function ajaxrefreshcaddytypeAction() {
		if ($this->isConnected()) {
			$user = $this->getStorageUser();
			if ($user['iscaddytype'] == 'Y') { $this->view->messageSuccess = 'SUCCESS';
			} else { $this->view->messageSuccess = 'ERROR'; }
		}
		$this->_forward('ajaxvalue','ajax');
	}

	public function ajaxrefreshcaddysizeAction() {
		$userNamespace = $this->getSession();
		$result = 'Aucun produit';
		if (isset($userNamespace->myObjectCaddy) && !empty($userNamespace->myObjectCaddy)) {
			$myCaddy = $userNamespace->myObjectCaddy;
			$size = $myCaddy->getTotalSize();
			if ($size > 1) {
				$result = $size.' PRODUITS';
			} else if ($size == 1) {
				$result = $size.' PRODUIT';
			}
		}
		$this->view->messageSuccess = $result;
		$this->_forward('ajaxvalue','ajax');
	}

	public function ajaxconnexionAction() {
		if ($this->getRequest()->isPost()) {
			$filter = new Zend_Filter();
			$filter	->addFilter(new Zend_Filter_StripTags())
			->addFilter(new Zend_Filter_StringTrim());

			$validator = new Zend_Validate();
			$validator -> addValidator(new Zend_Validate_NotEmpty())
			-> addValidator(new Zend_Validate_StringLength(4));

			$login = $filter->filter($this->getRequest()->getPost('connexionleft_login'));
			$mdp = $filter->filter($this->getRequest()->getPost('connexionleft_mdp'));

			if ($validator->isValid($login) && $validator->isValid($mdp)) {
				$messageSuccess = $this->connectMe($login, $mdp);
				if ($messageSuccess == "SUCCESS") {

					$this->retrievecommandbyuser();

					$auth = Zend_Auth::getInstance();
					$auth->setStorage($this->getSessionStorage());
					$storage = $auth->getStorage()->read();
				} else {
					$this->view->messageError = $messageSuccess;
				}
			} else {
				foreach ($validator->getErrors() as $errorCode) {
					$this->view->messageError =  $this->getErrorValidator($errorCode);
				}
			}
		}
		$this->_forward('ajaxaccount','ajax');
	}

	public function moncompteAction() {
		$this->view->title = 'Mon Compte';
		if ($this->isConnected()) {

			$linksMenu[0]['NAVURL'] = '/mon-compte.html';
			$linksMenu[0]['NAVNOM'] = 'Mon compte';
			$this->view->linksMenu = $linksMenu;

			$user = $this->getStorageUser();

			$command = new Command();
			$this->view->myCommands = $command->findCommandsByUser($user['id']);
			$this->view->myDevis = $command->findDevisByUser($user['id']);
			$this->view->caddyType = $this->getCaddyTypeByUserConnected();
            
            $carteFidelite = new CarteFidelite();
			$this->view->carteFidelite = $carteFidelite->getInfosByUser($user['id']);
            
			$this->view->listfidelitegift = $carteFidelite->getAnnoncesByShow(1);
            
            
			$this->view->populateFormEdit = $user;

		}  else { $this->_redirect('/connectez-vous.html'); }
	}

	public function enregistrementAction() {
		$isAdd = false;

		$this->view->title = 'Cr�ation de votre compte';
		$linksMenu[0]['NAVURL'] = '/user/enregistrement';
		$linksMenu[0]['NAVNOM'] = ' Identifiez-vous !';
		$this->view->linksMenu = $linksMenu;

		$this->view->showSlide = 2;

		if ($this->getRequest()->isPost()) {

			$filter = new Zend_Filter();
			$filter	->addFilter(new Zend_Filter_StripTags())
			->addFilter(new Zend_Filter_StringTrim());
			$filter2 = new Zend_Filter();
			$filter2->addFilter(new Zend_Filter_StripTags())
			->addFilter(new Zend_Filter_StringTrim())
			->addFilter(new Zend_Filter_Digits());

			$filterMaj = new Zend_Filter();
			$filterMaj->addFilter(new Zend_Filter_StripTags())
			->addFilter(new Zend_Filter_StringTrim())
			->addFilter(new Zend_Filter_StringToUpper());

			$validator = new Zend_Validate();
			$validator -> addValidator(new Zend_Validate_NotEmpty())
			-> addValidator(new Zend_Validate_StringLength(4));

			$validatorTel = new Zend_Validate();
			$validatorTel -> addValidator(new Zend_Validate_NotEmpty())
			-> addValidator(new Zend_Validate_StringLength(10));

			$validator2 = new Zend_Validate();
			$validator2 -> addValidator(new Zend_Validate_NotEmpty());

			$validatorEmail = new Zend_Validate_EmailAddress();

			$adduser_login = $filter->filter($this->getRequest()->getPost('adduser_login'));
			$adduser_mdp = $filter->filter($this->getRequest()->getPost('adduser_mdp'));
			$adduser_mdp2 = $filter->filter($this->getRequest()->getPost('adduser_mdp2'));

			$adduser_civility = $filter->filter($this->getRequest()->getPost('adduser_civility'));
            $adduser_nom = $filterMaj->filter($this->getRequest()->getPost('adduser_nom'));
			$adduser_prenom = $filter->filter($this->getRequest()->getPost('adduser_prenom'));
            
			$adduser_fct = $filter->filter($this->getRequest()->getPost('adduser_fct'));
			$adduser_tel = $filter2->filter($this->getRequest()->getPost('adduser_tel'));
			$adduser_fax = $filter2->filter($this->getRequest()->getPost('adduser_fax'));
			$adduser_email = $adduser_login;// $filter->filter($this->getRequest()->getPost('adduser_email'));


			$adduser_adresse = $filter->filter($this->getRequest()->getPost('adduser_adresse'));
			$adduser_cp = $filter->filter($this->getRequest()->getPost('adduser_cp'));
			$adduser_ville = $filter->filter($this->getRequest()->getPost('adduser_ville'));
			$adduser_pays = $filter->filter($this->getRequest()->getPost('adduser_pays'));
			$adduser_departement = $filter->filter($this->getRequest()->getPost('adduser_departement'));
			$adduser_region = $filter->filter($this->getRequest()->getPost('adduser_region'));
			$adduser_adressecomplete = $filter->filter($this->getRequest()->getPost('adduser_adressecomplete'));

			$adresse_type = $this->getRequest()->getPost('address_type');
			if ($adresse_type == 'new') {
				$adduser_adresse = $filter->filter($this->getRequest()->getPost('adduser_adresse'));
				$adduser_cp = $filter->filter($this->getRequest()->getPost('adduser_cp'));
				$adduser_ville = $filter->filter($this->getRequest()->getPost('adduser_ville'));
				$adduser_pays = $filter->filter($this->getRequest()->getPost('adduser_pays'));
				$adduser_departement = $filter->filter($this->getRequest()->getPost('adduser_departement'));
				$adduser_region = $filter->filter($this->getRequest()->getPost('adduser_region'));
				$adduser_adressecomplete = $filter->filter($this->getRequest()->getPost('adduser_adressecomplete'));
			} else {
				$adduser_adresse = $filter->filter($this->getRequest()->getPost('adduser_adresse_old'));
				$adduser_cp = $filter->filter($this->getRequest()->getPost('adduser_cp_old'));
				$adduser_ville = $filter->filter($this->getRequest()->getPost('adduser_ville_old'));
				$adduser_pays = $filter->filter($this->getRequest()->getPost('adduser_pays_old'));
				$adduser_departement = '';
				$adduser_region = '';
				$adduser_adressecomplete = $filter->filter($this->getRequest()->getPost('adduser_adresse_old'));
			}

			$adduser_raisonsocial = $filterMaj->filter($this->getRequest()->getPost('adduser_raisonsocial'));
			$adduser_siret = $filterMaj->filter($this->getRequest()->getPost('adduser_siret'));
			$adduser_numidfisc = $filterMaj->filter($this->getRequest()->getPost('adduser_numidfisc'));
			$adduser_codeape = $filterMaj->filter($this->getRequest()->getPost('adduser_codeape'));
			$adduser_sectactivite = $filterMaj->filter($this->getRequest()->getPost('adduser_sectactivite'));

			$adduser_comm = $filter->filter($this->getRequest()->getPost('adduser_comm'));

			$adduser_newsletter = $filter->filter($this->getRequest()->getPost('adduser_newsletter'));

			$typeUser = $filter->filter($this->getRequest()->getPost('adduser_typeuser'));

			$date = new Zend_Date();
			$dateinsc = $date->toString('YYYY-MM-dd HH:mm:ss');

			$data = array(
                                  'LOGIN' => $adduser_login, 
                                  'MDP' => md5($adduser_mdp), 
                                  'ROLE' => 0, 
                                  'NOM' => $adduser_nom, 
                                  'PRENOM' => $adduser_prenom,
                                  'CIVILITE' => $adduser_civility, 
                                  'FONCTION' => $adduser_fct, 
                                  'RAISONSOCIAL' => $adduser_raisonsocial, 
                                  'ADRESSE' => $adduser_adresse, 
                                  'CP' => $adduser_cp, 
                                  'VILLE' => $adduser_ville, 
                                  'DEPARTEMENT' => $adduser_departement, 
                                  'REGION' => $adduser_region, 
								  'ADRESSECOMPLETE' => $adduser_adressecomplete,
                                  'PAYS' => $adduser_pays, 
                                  'EMAIL' => $adduser_email, 
                                  'TEL' => $adduser_tel, 
                                  'FAX' => $adduser_fax, 
                                  'SIRET' => $adduser_siret, 
								  'NUMIDFISC' => $adduser_numidfisc,
                                  'CODEAPE' => $adduser_codeape, 
                                  'SECTACTIVITE' => $adduser_sectactivite, 
                                  'COMMENTAIRE' => $adduser_comm,  
                                  'TYPE' => $typeUser, 
                                  'DATEINSC' => $dateinsc);

			$isTypeOk = false;
			if ($validator2->isValid($typeUser)) {
				$isTypeOk = true;
			}

			$errorType = 0;
			if ($validator->isValid($adduser_mdp) && $validator->isValid($adduser_mdp2) &&
			$validator2->isValid($adduser_civility) &&
			$validator2->isValid($adduser_nom) && $validator2->isValid($adduser_adresse) &&
			$validator2->isValid($adduser_prenom) && $validator2->isValid($adduser_ville) &&
			$validator2->isValid($adduser_pays) &&
			$validatorEmail->isValid($adduser_login) && $validator2->isValid($adduser_cp)
			) {
				if ($isTypeOk) {
					if ($typeUser == "Professionnel") {
						if ($validator2->isValid($adduser_raisonsocial) &&
						$validator2->isValid($adduser_siret) &&
						$validator2->isValid($adduser_numidfisc) &&
						$validator2->isValid($adduser_codeape)) {

						} else {
							$errorType = 3;
							foreach ($validator2->getErrors() as $errorCode) {
								$this->view->messageErrorAddUser =  $this->getErrorValidator($errorCode);
							}
						}
					}
				} else {
					$errorType = 2;
					$this->view->messageErrorAddUser =  "Vous devez choisir entre Particulier et Professionnel. ";
				}
			} else {
				$errorType = 1;
				foreach ($validator->getErrors() as $errorCode) {
					$this->view->messageErrorAddUser =  $this->getErrorValidator($errorCode);
				}
				foreach ($validator2->getErrors() as $errorCode) {
					$this->view->messageErrorAddUser =  $this->getErrorValidator($errorCode);
				}
				foreach ($validatorEmail->getErrors() as $errorCode) {
					$this->view->messageErrorAddUser =  $this->getErrorValidator($errorCode);
				}
			}


			if ($errorType == 0) {
				if ($validatorTel->isValid($adduser_tel)) {
					if ($adduser_mdp2 == $adduser_mdp) {

						try {
							$user = new User();

							$isExistLogin = $user->fetchRow("LOGIN = '".$adduser_login."'");

							if (!$isExistLogin) {

								$isExistEmail = $user->fetchRow("EMAIL = '".$adduser_email."'");
								if (!$isExistEmail) {
									$isAdd = $user->insert($data);
									$this->log("Nouveau client : ".$adduser_email,'info');
									if ($adduser_newsletter) {
										$user_newsletter = new UserNewsletter();
										$code = md5($dateinsc.'_'.$adduser_email);
											
										$isExistNL = $user_newsletter->fetchRow("EMAIL = '".$adduser_email."'");

										if(!$isExistNL) {
											$dataNL = array(
						 	 					'EMAIL' => $adduser_email,
						 	 					'DATEINS' => $dateinsc,
						 	 					'CODE' => $code
											);
											$user_newsletter->insert($dataNL);
										}
									}
									$messageSuccess = $this->connectMe($adduser_login, $adduser_mdp);
									if ($messageSuccess != "SUCCESS") {
										$this->view->messageErrorAddUser = $messageSuccess;
									}

								} else {
									$this->view->messageErrorAddUser =  "L'email est d�j� utilis�.";
								}
							} else {
								$this->view->messageErrorAddUser =  "L'identifiant existe d�j�";
							}
						} catch (Zend_Exception $e) {
							$this->log($e->getMessage(),'err');
							$data['newsletter'] = $adduser_newsletter;
							$this->view->populateFormAdd = $data;
							$this->view->messageErrorAddUser =  "Une erreur est survenue, v�rifier vos informations.";
							$this->render('connexion');
						}
					} else {
						$this->view->messageErrorAddUser =  "V�rifier votre mot de passe";
					}
				} else {
					$this->view->messageErrorAddUser =  "V�rifier votre num�ro de t�l�phone";
				}
			}

			$data['newsletter'] = $adduser_newsletter;
			$this->view->populateFormAdd = $data;

		}
		if ($isAdd) {
			$currentAncre = $this->getRequest()->getPost('current_save_ancre');
			if (isset($currentAncre) && !empty($currentAncre)) {
				if ($currentAncre == "commandes") {
					$this->_redirect('/mon-compte.html#commandes');
				} else if ($currentAncre == "selection") {
					$this->_redirect('/mon-compte.html#selection');
				}
			} else {
				$userNamespace = $this->getSession();
				$myCaddyTemp = $userNamespace->myObjectCaddy;
				if (isset($myCaddyTemp->items) && !empty($myCaddyTemp->items)) {
					$this->_redirect('/mon-panier.html');
				} else {
					$this->_redirect('/');
				}
			}
		} else {
			$currentAncre = $this->getRequest()->getPost('current_save_ancre');
			if (isset($currentAncre) && !empty($currentAncre)) {
				$this->view->current_save_ancre = $currentAncre;
			}
			$this->render('connexion');
		}
	}

	public function actualiserAction() {

		$linksMenu[0]['NAVURL'] = '/mon-compte.html';
		$linksMenu[0]['NAVNOM'] = 'Mon compte';
		$this->view->linksMenu = $linksMenu;
		if ($this->getRequest()->isPost()) {

			$filter = new Zend_Filter();
			$filter	->addFilter(new Zend_Filter_StripTags())
			->addFilter(new Zend_Filter_StringTrim());
			$filter2 = new Zend_Filter();
			$filter2->addFilter(new Zend_Filter_StripTags())
			->addFilter(new Zend_Filter_StringTrim())
			->addFilter(new Zend_Filter_Digits());

			$filterMaj = new Zend_Filter();
			$filterMaj->addFilter(new Zend_Filter_StripTags())
			->addFilter(new Zend_Filter_StringTrim())
			->addFilter(new Zend_Filter_StringToUpper());


			$validator = new Zend_Validate();
			$validator -> addValidator(new Zend_Validate_NotEmpty())
			-> addValidator(new Zend_Validate_StringLength(4));

			$validatorTel = new Zend_Validate();
			$validatorTel -> addValidator(new Zend_Validate_NotEmpty())
			-> addValidator(new Zend_Validate_StringLength(10));

			$validator2 = new Zend_Validate();
			$validator2 -> addValidator(new Zend_Validate_NotEmpty());


			$validatorEmail = new Zend_Validate_EmailAddress();

			$edituser_civility = $filter->filter($this->getRequest()->getPost('edituser_civility'));
			$edituser_nom = $filterMaj->filter($this->getRequest()->getPost('edituser_nom'));
			$edituser_prenom = $filter->filter($this->getRequest()->getPost('edituser_prenom'));
			$edituser_fct = $filter->filter($this->getRequest()->getPost('edituser_fct'));
			$edituser_tel = $filter2->filter($this->getRequest()->getPost('edituser_tel'));
			$edituser_fax = $filter2->filter($this->getRequest()->getPost('edituser_fax'));
			$edituser_email = $filter->filter($this->getRequest()->getPost('edituser_email'));

			$adresse_type = $this->getRequest()->getPost('address_type');
			if ($adresse_type == 'new') {
				$edituser_adresse = $filter->filter($this->getRequest()->getPost('edituser_adresse'));
				$edituser_cp = $filter->filter($this->getRequest()->getPost('edituser_cp'));
				$edituser_ville = $filter->filter($this->getRequest()->getPost('edituser_ville'));
				$edituser_pays = $filter->filter($this->getRequest()->getPost('edituser_pays'));
				$edituser_departement = $filter->filter($this->getRequest()->getPost('edituser_departement'));
				$edituser_region = $filter->filter($this->getRequest()->getPost('edituser_region'));
				$edituser_adressecomplete = $filter->filter($this->getRequest()->getPost('edituser_adressecomplete'));
			} else {
				$edituser_adresse = $filter->filter($this->getRequest()->getPost('edituser_adresse_old'));
				$edituser_cp = $filter->filter($this->getRequest()->getPost('edituser_cp_old'));
				$edituser_ville = $filter->filter($this->getRequest()->getPost('edituser_ville_old'));
				$edituser_pays = $filter->filter($this->getRequest()->getPost('edituser_pays_old'));
				$edituser_departement = '';
				$edituser_region = '';
				$edituser_adressecomplete = $filter->filter($this->getRequest()->getPost('edituser_adresse_old'));
			}

			$edituser_raisonsocial = $filterMaj->filter($this->getRequest()->getPost('edituser_raisonsocial'));
			$edituser_siret = $filterMaj->filter($this->getRequest()->getPost('edituser_siret'));
			$edituser_numidfisc = $filterMaj->filter($this->getRequest()->getPost('edituser_numidfisc'));
			$edituser_codeape = $filterMaj->filter($this->getRequest()->getPost('edituser_codeape'));
			$edituser_sectactivite = $filterMaj->filter($this->getRequest()->getPost('edituser_sectactivite'));

			$edituser_comm = $filter->filter($this->getRequest()->getPost('edituser_comm'));
			//$edituser_modepaiement = $filter->filter($this->getRequest()->getPost('edituser_modepaiement'));

			$typeUser = $filter->filter($this->getRequest()->getPost('edituser_typeuser'));


			$isTypeOk = false;
			if ($validator2->isValid($typeUser)) {
				$isTypeOk = true;
			}

			$errorType = 0;
			if ($validator2->isValid($edituser_civility) &&
			$validator2->isValid($edituser_nom) && $validator2->isValid($edituser_adresse) &&
			$validator2->isValid($edituser_prenom) && $validator2->isValid($edituser_ville) &&
			$validator2->isValid($edituser_pays) &&
			$validatorEmail->isValid($edituser_email)  && $validator2->isValid($edituser_cp)
			) {
				if ($isTypeOk) {
					if ($typeUser == "Professionnel") {
						if ($validator2->isValid($edituser_raisonsocial) &&
						$validator2->isValid($edituser_siret) &&
						$validator2->isValid($edituser_numidfisc) &&
						$validator2->isValid($edituser_codeape)) {

						} else {
							$errorType = 3;
							foreach ($validator2->getErrors() as $errorCode) {
								$this->view->messageErrorEditUser =  $this->getErrorValidator($errorCode);
							}
						}
					}
				} else {
					$errorType = 2;
					$this->view->messageErrorEditUser =  "Vous devez choisir entre Particulier et Professionnel. ";
				}
			} else {
				$errorType = 1;
					
				foreach ($validator->getErrors() as $errorCode) {
					$this->view->messageErrorEditUser =  $this->getErrorValidator($errorCode);
				}
				foreach ($validator2->getErrors() as $errorCode) {
					$this->view->messageErrorEditUser =  $this->getErrorValidator($errorCode);
				}
				foreach ($validatorEmail->getErrors() as $errorCode) {
					$this->view->messageErrorEditUser =  $this->getErrorValidator($errorCode);
				}
			}


			if ($errorType == 0) {
				if ($typeUser == "Particulier") {
					//$edituser_modepaiement = 1;
					$edituser_raisonsocial = "";
				}

				if ($validatorTel->isValid($edituser_tel)) {

					try {
						$user = new User();
						$auth = Zend_Auth::getInstance();
						$auth->setStorage($this->getSessionStorage());
						$storage = $auth->getStorage()->read();
						$isExistEmail = $user->fetchRow("EMAIL = '".$edituser_email."' AND ID <> ".$storage['user']['id']);
						/*
						 if($storage['user']['iscredit'] == 0 && ($edituser_modepaiement != 1 && $edituser_modepaiement != 2 && $edituser_modepaiement != 6) ) {
							$edituser_modepaiement = 1;
							}
							*/
						$data = array(
	                                  'ROLE' => 0, 
	                                  'NOM' => $edituser_nom, 
	                                  'PRENOM' => $edituser_prenom,
	                                  'CIVILITE' => $edituser_civility, 
	                                  'FONCTION' => $edituser_fct, 
	                                  'RAISONSOCIAL' => $edituser_raisonsocial, 
	                                  'ADRESSE' => $edituser_adresse, 
	                                  'CP' => $edituser_cp, 
	                                  'VILLE' => $edituser_ville, 
	                                  'PAYS' => $edituser_pays, 
	                                  'DEPARTEMENT' => $edituser_departement, 
	                                  'REGION' => $edituser_region, 
	                                  'ADRESSECOMPLETE' => $edituser_adressecomplete, 
	                                  'EMAIL' => $edituser_email, 
	                                  'TEL' => $edituser_tel, 
	                                  'FAX' => $edituser_fax, 
	                                  'SIRET' => $edituser_siret, 
									  'NUMIDFISC' => $edituser_numidfisc,
	                                  'CODEAPE' => $edituser_codeape, 
	                                  'SECTACTIVITE' => $edituser_sectactivite, 
	                                  'COMMENTAIRE' => $edituser_comm,  
	                                  'TYPE' => $typeUser);

						if (!$isExistEmail) {

							$isEdit = $user->update($data, 'ID = '.$storage['user']['id']);

							$myUser = $user->fetchRow("ID = ".$storage['user']['id']);

							$userAuth = $this->computUserInfo($myUser);

							$storage = $auth->getStorage();
							$storage->write(array( 'user' => $userAuth));

							$this->view->user = $userAuth;

							$this->view->messageSuccessEditUser =  "Vos informations ont �t� modifi�es.";
						} else {
							$this->view->messageErrorEditUser =  "L'email est d�j� utilis�";
						}
					} catch (Zend_Exception $e) {
						$this->view->messageErrorEditUser =  "Une erreur est survenue, v�rifier vos informations";
						$this->_forward('moncompte');
					}
				} else {
					$this->view->messageErrorEditUser =  "V�rifier votre num�ro de t�l�phone";
				}
			}
		}
		$this->_forward('moncompte');
	}

	public function modifierAction() {

		$linksMenu[0]['NAVURL'] = '/mon-compte.html';
		$linksMenu[0]['NAVNOM'] = 'Mon compte';
		$this->view->linksMenu = $linksMenu;
		if ($this->getRequest()->isPost()) {

			$filter = new Zend_Filter();
			$filter	->addFilter(new Zend_Filter_StripTags())
			->addFilter(new Zend_Filter_StringTrim());

			$validator = new Zend_Validate();
			$validator -> addValidator(new Zend_Validate_NotEmpty())
			-> addValidator(new Zend_Validate_StringLength(4));

			$validatorEmail = new Zend_Validate_EmailAddress();

			$edituser_login = $filter->filter($this->getRequest()->getPost('edituser_login'));
			$edituser_mdp = $filter->filter($this->getRequest()->getPost('edituser_mdp'));
			$edituser_mdp2 = $filter->filter($this->getRequest()->getPost('edituser_mdp2'));

			$data = array(
                   'LOGIN' => $edituser_login, 
                   'MDP' => md5($edituser_mdp));

			if (
			$validator->isValid($edituser_login) &&
			$validator->isValid($edituser_mdp) &&
			$validator->isValid($edituser_mdp2) &&
			$validatorEmail->isValid($edituser_login)
			) {
				if ($edituser_mdp2 == $edituser_mdp) {

					try {
						$user = new User();
							
						$auth = Zend_Auth::getInstance();
						$auth->setStorage($this->getSessionStorage());
						$storage = $auth->getStorage()->read();
							
						$isExistLogin = $user->fetchRow("LOGIN = '".$edituser_login."' AND ID <> ".$storage['user']['id']);

						if (!$isExistLogin) {
							$isEdit = $user->update($data,'ID = '.$storage['user']['id']);

							$messageResult = $this->connectMe($edituser_login,$edituser_mdp);

							if ($messageResult == "SUCCESS") {
								$auth = Zend_Auth::getInstance();
								$auth->setStorage($this->getSessionStorage());
								$storage = $auth->getStorage()->read();

								if ($auth->hasIdentity() && isset($storage['user'])) {
									$this->view->user = $storage['user'];
								}
							}
							$this->view->messageSuccessEditUser =  "Vos identifiants ont �t� modifi�s.";

						} else {
							$this->view->messageErrorEditUser =  "L'identifiant existe d�j�";
						}
					} catch (Zend_Exception $e) {
						$this->view->messageErrorEditUser =  "Une erreur est survenue, v�rifier vos informations.";
						$this->_forward('moncompte');
					}
				} else {
					$this->view->messageErrorEditUser =  "V�rifier votre mot de passe";
				}
			}  else {
				foreach ($validator->getErrors() as $errorCode) {
					$this->view->messageErrorEditUser =  $this->getErrorValidator($errorCode);
				}
				foreach ($validatorEmail->getErrors() as $errorCode) {
					$this->view->messageErrorEditUser =  $this->getErrorValidator($errorCode);
				}
			}

			$this->_forward('moncompte');

		}
	}



	public function retrievecommandbyrefAction() {
		$result = "ERROR";
		if ($this->getRequest()->isPost()) {
			try {
				$params = $this->getRequest()->getPost();
				$refCommand = $params["ref"];
				$auth = Zend_Auth::getInstance();
				$auth->setStorage($this->getSessionStorage());
				$storage = $auth->getStorage()->read();

				if ($auth->hasIdentity() && isset($storage['user']) &&
				isset($refCommand) && !empty($refCommand)) {

					$myCaddy = new Caddy();

					$command = new Command();
					$resultCommand = $command->findCommandCaddyRetrieve($storage['user']['id'],$refCommand );

					foreach ($resultCommand AS $row) {
						$item = new Item();

						$item->idChild = $row['CHILDID'];
						$item->qteChild = $row['CHILDQUANTITY'];
						$item->idProduit = $row['PRODUCTID'];
						$item->nom = $row['PRODUCTNOM'];
						$item->descshort = $row['DESCSHORT'];
						$item->navnom = $this->verifyNavigationString($row['PRODUCTNAVNOM'],$row['PRODUCTNOM'], '');
						$item->url = $row['URL'];
						$item->designation = $row['DESIGNATION'];
						$item->isAccessoire = 'N';
						$item->stock = $row['STOCK'];
						$item->selectedOption = $row['SELECTEDOPTION'];

						array_push($myCaddy->items, $item);
					}

					$userNamespace = $this->getSession();
					$userNamespace->myObjectCaddy = $myCaddy;
					$result = "SUCCESS";
				}
			} catch (Zend_Exception $e) {
				$this->log("Error retrievecommandbyref : ".$e->getMessage(),'err');
			}
		}
		$this->view->messageSuccess = $result;
		$this->_forward('ajaxvalue', 'ajax');
	}

	private function retrievecommandbyuser() {
		try {
			$auth = Zend_Auth::getInstance();
			$auth->setStorage($this->getSessionStorage());
			$storage = $auth->getStorage()->read();

			if ($auth->hasIdentity() && isset($storage['user'])) {
				$userNamespace = $this->getSession();
				if (isset($userNamespace->myObjectCaddy)) {
					$caddyTemp = $userNamespace->myObjectCaddy;
					if (!empty($caddyTemp->items)) { return false; }
				}
					
				$myCaddy = new Caddy();
				$myCaddy->getCaddyTemp($storage['user']['id']);
				$userNamespace->myObjectCaddy = $myCaddy;
			}
		} catch (Zend_Exception $e) {
			$this->log("Error retrievecommandbyuser : ".$e->getMessage(),'err');
		}
		return false;
	}


	public function ajaxdeletedevisAction() {
		$this->view->messageSuccess = "";
		$this->view->messageError = "";
		if ($this->isConnected()) {
			$user = $this->getStorageUser();
			$command = new Command();
			if($this->_request->getParam('id')) {
				$id = (int)$this->_request->getParam('id');
				if ($id > 0) {
					try {
						$result = $command->deleteDevisByUser($user['id'], $id);

						if ($result == 'OK') {
							$this->view->messageSuccess = "Le devis a �t� supprim�";
							$this->log("Le devis a �t� supprim�",'info');
						} else if ($result == 'USER') {
							$this->view->messageError = "Le devis n'a pas �t� supprim�, vous n'avez pas les droits.";
							$this->log("Le devis n'a pas �t� supprim�, vous n'avez pas les droits",'warn');
						} else {
							$this->view->messageError = "Le devis n'a pas �t� supprim�, vous n'avez pas les droits.";
							$this->log("Le devis n'a pas �t� supprim�, vous n'avez pas les droits",'err');
						}
					} catch (Zend_Exception $e) {
						$this->log($e->getMessage(),'err');
						$this->view->messageError = $e->getMessage();
					}
				}
			}
			$this->view->myDevis = $command->findDevisByUser($user['id']);
		}

		$layout = Zend_Layout::getMvcInstance();
		$layout->disableLayout();
		$this->render('ajaxlistdevis');
	}


	private function getCaddyTypeByUserConnected() {
		$caddyType = array();
		try {
			if ($this->isConnected()) {
				$user = $this->getStorageUser();
				if ($user['iscaddytype'] == 'Y') {
					$userNamespace = $this->getSession();
					if (!isset($userNamespace->myObjectCaddy)) { $userNamespace->myObjectCaddy = new Caddy(); }
					$caddy = $userNamespace->myObjectCaddy;
					$userCaddyType = new UserCaddyType();
					$caddyType = $userCaddyType->computeFrontCaddyTypeByUser($user, $caddy, true);
				}
			}
		} catch (Zend_Exception $e) {
			$this->log($e->getMessage(),'err');
		}
		return $caddyType;
	}

	public function sendmailtoconseillerAction() {
		try {
			$botDetector = new BotDetector();
			$isBot = $botDetector->isBot(getenv("HTTP_USER_AGENT"));
			if ($isBot != 'ERROR') {
				$this->_redirect($this->baseUrl_SiteCommerceUrl);
			}
				
			$linksMenu[0]['NAVURL'] = '/contacter-un-conseiller.html';
			$linksMenu[0]['NAVNOM'] = "Demande d'informations";
			$this->view->linksMenu = $linksMenu;

			if ($this->isConnected()) { $this->view->isConnected = true;
			} else { $this->view->isConnected = false; }

			if ($this->getRequest()->isPost()) {

				$filter = new Zend_Filter();
				$filter	->addFilter(new Zend_Filter_StripTags())
				->addFilter(new Zend_Filter_StringTrim());

				$validatorMessage = new Zend_Validate();
				$validatorMessage -> addValidator(new Zend_Validate_NotEmpty())
				-> addValidator(new Zend_Validate_StringLength(4));

				$validatorTel = new Zend_Validate();
				$validatorTel -> addValidator(new Zend_Validate_NotEmpty())
				-> addValidator(new Zend_Validate_StringLength(10));

				$validatorEmail = new Zend_Validate_EmailAddress();
					

				$params = $this->getRequest()->getPost();
				$message = $filter->filter($params['user_message']);
				$tel = "";
				$email = "";
				$messageNotConnected = "";
				$user = array();
				$fromEmail = $this->no_reply_Mail;
				$fromName = "Invit�";

				$isMailValid = false;

				if ($this->isConnected()) {
					$user = $this->getStorageUser();
					$fromEmail = $user['email'];
					$fromName = $user['prenom']." ".$user['prenom'];
					$tel = $user['tel'];
					$email = $user['email'];
					$isMailValid = true;
				} else {
					$messageNotConnected = 'Non connect�';
					$messageNotConnected .= '<br /><br />';
					$messageNotConnected .= 'IP : '.$_SERVER['REMOTE_ADDR'];
					$messageNotConnected .= '<br /><br />';

					$tel = $filter->filter($params['user_tel']);
					$email = $filter->filter($params['user_email']);
						
					if ($validatorTel->isValid($tel) || $validatorEmail->isValid($email)) {
						$isMailValid = true;
						if (!empty($email)) { $fromEmail = $email; $messageNotConnected .= 'Email : '.$email.'<br /><br />';}
						if (!empty($tel)) { $messageNotConnected .= 'T�l�phone : '.$tel.'<br /><br />'; }
					} else {
						$this->view->messageErrorAskConseiller = "Vous devez nous communiquer votre <b>email</b> ou votre <b>t�l�phone</b> pour prendre contact avec vous.";
					}
				}
				if ($isMailValid) {
					if ($validatorMessage->isValid($message)) {
						$isSend = $this->sendMailToCommercial($message, $messageNotConnected, $user, $fromEmail, $fromName);
						if ($isSend) {
							$this->view->messageSuccessAskConseiller = "Votre demande d'informations a �t� envoy�, un conseiller vous contactera au plus vite.";
						} else {
							$this->view->messageErrorAskConseiller = "Votre demande d'informations n'a pas �t� envoy�, contactez nous au ".$this->tel_contact.".";
						}
					} else {
						$this->view->messageErrorAskConseiller = "Votre message doit contenir au moins 4 caract�res.";
					}
				}
					
				$this->view->messageMail = $email;
				$this->view->messageTel = $tel;
				$this->view->messageBody = $message;
			}
		} catch (Zend_Exception $e) {
			$this->log($e->getMessage(),'err');
		}
	}

	private function sendMailToCommercial($message,$messageNotConnected, $user, $fromEmail, $fromName) {
		try {
			$view = new Zend_View();
			$view->addScriptPath('../application/modules/default/views/helpers/');
			$view->assign("message",$message);
			$view->assign("messageNotConnected",$messageNotConnected);
			$view->assign("user",$user);
				
			$body = $view->render("mail_user_to_commercial.phtml");
			$subject = "[INFORMATION] ".$fromName;
				
			$mail = new Zend_Mail();
			$mail->setBodyHtml($body);
			$mail->setFrom($fromEmail, $fromName);
			$mail->addTo($this->serviceClient_Mail);
			$mail->setSubject($subject);

			$mail->send();
			$this->log("L'email de demande d'informations a �t� envoy� par : ".$fromEmail.", ".$fromName,'info');
			return true;
		} catch (Zend_Exception $e) {
			$this->log($e->getMessage(),'err');
		}
		return false;
	}
}
?>