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