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;
}
}
?>