Esempio n. 1
0
 public function subscribeAction()
 {
     // VARIABLES
     $blockID = $this->_getParam('BlockID');
     $config = Zend_Registry::get('config');
     $pageId = $config->privacyPolicy->pageId;
     $urlPrivacy = Cible_FunctionsPages::getPageLinkByID($pageId);
     $messageConf = str_replace('##URL##', $urlPrivacy, $this->view->getCibleText('joindre_fo_form_label_confident_joindre'));
     $this->view->assign('messageConfidentialite', $messageConf);
     $newsletterID = $this->_getParam('newsletterID');
     $back_to_newsletter = !empty($newsletterID) ? "/ID/{$newsletterID}" : '';
     $blockParams = Cible_FunctionsBlocks::getBlockParameters($blockID)->toArray();
     $newsletterCategoryID = $blockParams[0]['P_Value'];
     $newsletterCategoryDetails = Cible_FunctionsCategories::getCategoryDetails($newsletterCategoryID);
     $this->view->assign('newsletterTitle', $newsletterCategoryDetails['CI_Title']);
     $this->view->assign('subscribeLink', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'subscribe', 8));
     $this->view->assign('unsubscribeLink', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'unsubscribe', 8));
     $this->view->assign('back_to_release', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'details_release', 8) . $back_to_newsletter);
     $this->view->assign('archivesLink', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'list_archives', 8) . '/categoryID/' . $newsletterCategoryID);
     $form = new FormNewsletterSubscription(array());
     $this->view->assign('form', $form);
     if ($this->_request->isPost()) {
         $formData = $this->_request->getPost();
         //$this->view->dump($formData);
         if (array_key_exists('subscribe', $formData)) {
             if ($form->isValid($formData)) {
                 $messageSuccess = str_replace('###member_name###', " <b>{$formData['firstName']} {$formData['lastName']}</b>", $this->view->getCibleText('newsletter_subscribe_confirmation_message1'));
                 $messageSuccess = str_replace('###img-pierre-gervais###', $this->view->baseUrl() . '/themes/default/images/common/img-signature-pierre-gervais.png', $messageSuccess);
                 $message[0] = $messageSuccess;
                 $message[1] = $this->view->getCibleText('newsletter_subscribe_confirmation_message2');
                 $this->view->assign('inscriptionValidate', true);
                 $this->view->assign('returnLink', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'subscribe', 8));
                 $genericProfil = new GenericProfile();
                 $members = $genericProfil->findMembers(array('email' => $formData['email']));
                 $memberProfile = new MemberProfile();
                 // if member dont exist in the system
                 if (count($members) == 0) {
                     $newsletterProfile = new NewsletterProfile();
                     $formData['newsletter_categories'] = $newsletterCategoryID;
                     $newsletterProfile->addMember($formData);
                     $members = $genericProfil->findMembers(array('email' => $formData['email']));
                     $memberID = $members[0]['member_id'];
                     $memberProfile->updateMember($memberID, $formData);
                     $this->view->assign('message', $message[0]);
                 } else {
                     $memberID = $members[0]['member_id'];
                     $newsletterProfile = new NewsletterProfile();
                     $memberDetails = $newsletterProfile->getMemberDetails($memberID);
                     //if(array_key_exists('newsletter_categories',$memberDetails)){
                     if ($memberDetails != '') {
                         $memberNewsletterCategories = explode(',', $memberDetails['newsletter_categories']);
                         // if member is already subscribe to the newsletter
                         if (in_array($newsletterCategoryID, $memberNewsletterCategories)) {
                             $this->view->assign('message', $message[1]);
                         } else {
                             $memberNewsletterCategories[] = $newsletterCategoryID;
                             $newMemberNewsletterCategories = implode(',', $memberNewsletterCategories);
                             $newsletterProfile->updateMember($memberID, array('newsletter_categories' => $newMemberNewsletterCategories));
                             $this->view->assign('message', $message[0]);
                         }
                     } else {
                         $newsletterProfile->updateMember($memberID, array('newsletter_categories' => $newsletterCategoryID));
                         $this->view->assign('message', $message[0]);
                     }
                 }
                 $this->_params = array('memberId' => $memberID, 'category' => $newsletterCategoryID);
                 $this->logSubscription();
             }
         } elseif (array_key_exists('unsubscribe', $formData)) {
             $this->_redirect(Cible_FunctionsCategories::getPagePerCategoryView($newsletterCategoryID, 'unsubscribe', 8));
         }
     }
 }
Esempio n. 2
0
 public function importAction()
 {
     $form = new FormImportNewsletter(array('cancelUrl' => $this->view->baseUrl()));
     $this->view->assign('form', $form);
     if ($this->_request->isPost()) {
         $formData = $this->_request->getPost();
         if ($form->isValid($formData)) {
             if ($form->file->receive()) {
                 $file = fopen($form->file->getFileName(), "r") or die('no file were selected');
                 while (!feof($file)) {
                     $line = fgets($file);
                     list($salutation, $nom, $prenom, $courriel, $lang) = split(';', $line);
                     $newsletterProfile = new NewsletterProfile();
                     $memberId = $newsletterProfile->addMember(array('lastName' => $nom, 'firstName' => $prenom, 'salutation' => $salutation, 'email' => $courriel, 'language' => $lang, 'newsletter_categories' => '21'));
                     $memberProfile = new MemberProfile();
                     $memberProfile->updateMember($memberId, array('isMember' => 1));
                 }
                 fclose($file);
             }
         }
     }
 }