Exemplo n.º 1
0
 public static function indexationBuild()
 {
     set_time_limit(0);
     /*         * ****** PAGE ******* */
     $pageSelect = new PagesIndex();
     $select = $pageSelect->select()->where('PI_Status = 1');
     $pageData = $pageSelect->fetchAll($select)->toArray();
     $cpt = count($pageData);
     for ($i = 0; $i < $cpt; $i++) {
         $indexData['action'] = "add";
         $indexData['pageID'] = $pageData[$i]['PI_PageID'];
         $indexData['moduleID'] = 0;
         $indexData['contentID'] = $pageData[$i]['PI_PageID'];
         $indexData['languageID'] = $pageData[$i]['PI_LanguageID'];
         $indexData['title'] = $pageData[$i]['PI_PageTitle'];
         $indexData['text'] = '';
         $indexData['link'] = '';
         $indexData['contents'] = $pageData[$i]['PI_PageTitle'];
         Cible_FunctionsIndexation::indexation($indexData);
     }
     /*         * ****** TEXT ******* */
     if (class_exists('Text', false)) {
         $textSelect = new Text();
         $select = $textSelect->select()->setIntegrityCheck(false)->from('TextData', array('ID' => 'TD_ID', 'LanguageID' => 'TD_LanguageID', 'Text' => 'TD_OnlineText'))->join('Blocks', 'B_ID = TD_BlockID', array('BlockID' => 'B_ID', 'ModuleID' => 'B_ModuleID'))->where('B_Online = 1')->join('PagesIndex', 'PI_PageID = B_PageID', array('PageID' => 'PI_PageID', 'Title' => 'PI_PageTitle'))->where('PI_Status = 1')->where('PI_LanguageID = TD_LanguageID');
         $textData = $textSelect->fetchAll($select)->toArray();
         $cpt = count($textData);
         for ($i = 0; $i < $cpt; $i++) {
             $indexData['action'] = "add";
             $indexData['pageID'] = $textData[$i]['PageID'];
             $indexData['moduleID'] = $textData[$i]['ModuleID'];
             $indexData['contentID'] = $textData[$i]['ID'];
             $indexData['languageID'] = $textData[$i]['LanguageID'];
             $indexData['title'] = $textData[$i]['Title'];
             $indexData['text'] = '';
             $indexData['link'] = '';
             $indexData['contents'] = $textData[$i]['Title'] . " " . $textData[$i]['Text'];
             Cible_FunctionsIndexation::indexation($indexData);
         }
     }
     /*         * ********************* */
     /*         * ****** NEWS ******* */
     if (class_exists('NewsData', false)) {
         $newsSelect = new NewsData();
         $select = $newsSelect->select()->setIntegrityCheck(false)->from('NewsData', array('NewsID' => 'ND_ID', 'CategoryID' => 'ND_CategoryID'))->join('NewsIndex', 'NI_NewsDataID = ND_ID', array('LanguageID' => 'NI_LanguageID', 'NewsTitle' => 'NI_Title', 'NewsBrief' => 'NI_Brief', 'NewsText' => 'NI_Text', 'NewsImageAlt' => 'NI_ImageAlt'))->where('NI_Status = 1');
         $newsData = $newsSelect->fetchAll($select);
         $cpt = count($newsData);
         for ($i = 0; $i < $cpt; $i++) {
             $indexData['action'] = "add";
             $indexData['pageID'] = $newsData[$i]['CategoryID'];
             $indexData['moduleID'] = 2;
             $indexData['contentID'] = $newsData[$i]['NewsID'];
             $indexData['languageID'] = $newsData[$i]['LanguageID'];
             $indexData['title'] = $newsData[$i]['NewsTitle'];
             $indexData['text'] = '';
             $indexData['link'] = '';
             $indexData['contents'] = $newsData[$i]['NewsTitle'] . " " . $newsData[$i]['NewsBrief'] . " " . $newsData[$i]['NewsText'] . " " . $newsData[$i]['NewsImageAlt'];
             Cible_FunctionsIndexation::indexation($indexData);
         }
     }
     /*         * ********************* */
     /*         * ****** EVENTS ******* */
     if (class_exists('EventsIndex', false)) {
         $eventsSelect = new EventsIndex();
         $select = $eventsSelect->select()->setIntegrityCheck(false)->from('EventsIndex', array('ID' => 'EI_EventsDataID', 'LanguageID' => 'EI_LanguageID', 'Title' => 'EI_Title', 'Brief' => 'EI_Brief', 'Text' => 'EI_Text', 'ImageAlt' => 'EI_ImageAlt'))->join('EventsData', 'ED_ID = EI_EventsDataID', array('CategoryID' => 'ED_CategoryID'))->where('EI_Status = 1');
         $eventsData = $eventsSelect->fetchAll($select)->toArray();
         $cpt = count($eventsData);
         for ($i = 0; $i < $cpt; $i++) {
             $indexData['action'] = "add";
             $indexData['pageID'] = $eventsData[$i]['CategoryID'];
             $indexData['moduleID'] = 7;
             $indexData['contentID'] = $eventsData[$i]['ID'];
             $indexData['languageID'] = $eventsData[$i]['LanguageID'];
             $indexData['title'] = $eventsData[$i]['Title'];
             $indexData['text'] = '';
             $indexData['link'] = '';
             $indexData['contents'] = $eventsData[$i]['Title'] . " " . $eventsData[$i]['Brief'] . " " . $eventsData[$i]['Text'] . " " . $eventsData[$i]['ImageAlt'];
             Cible_FunctionsIndexation::indexation($indexData);
         }
     }
     /*         * ********************* */
     /*         * ****** GALLERY ******* */
     if (class_exists('Galleries', false)) {
         $gallerySelect = new Galleries();
         $select = $gallerySelect->select()->setIntegrityCheck(false)->from('Galleries', array('ID' => 'G_ID', 'CategoryID' => 'G_CategoryID'))->where('G_Online = 1')->join('GalleriesIndex', 'GI_GalleryID = G_ID', array('LanguageID' => 'GI_LanguageID', 'Title' => 'GI_Title', 'Description' => 'GI_Description'))->join('ImagesIndex', 'II_ImageID = G_ImageID', array('ImageTitle' => 'II_Title', 'ImageDescription' => 'II_Description'))->where('II_LanguageID = GI_LanguageID');
         $galleryData = $gallerySelect->fetchAll($select);
         $cpt = count($galleryData);
         for ($i = 0; $i < $cpt; $i++) {
             $indexData['action'] = "add";
             $indexData['pageID'] = $galleryData[$i]['CategoryID'];
             $indexData['moduleID'] = 9;
             $indexData['contentID'] = $galleryData[$i]['ID'];
             $indexData['languageID'] = $galleryData[$i]['LanguageID'];
             $indexData['title'] = $galleryData[$i]['Title'];
             $indexData['text'] = '';
             $indexData['link'] = 'gallery';
             $indexData['contents'] = $galleryData[$i]['Title'] . " " . $galleryData[$i]['Description'] . " " . $galleryData[$i]['ImageTitle'] . " " . $galleryData[$i]['ImageDescription'];
             Cible_FunctionsIndexation::indexation($indexData);
             $imagesSelect = new GalleriesImages();
             $select = $imagesSelect->select()->setIntegrityCheck(false)->from('Galleries_Images', array('ID' => 'GI_ImageID'))->where('GI_GalleryID = ?', $galleryData[$i]['ID'])->where('GI_Online = 1')->join('ImagesIndex', 'II_ImageID = GI_ImageID', array('LanguageID' => 'II_LanguageID', 'Title' => 'II_Title', 'Description' => 'II_Description'));
             $imagesData = $imagesSelect->fetchAll($select);
             $cptImage = count($imagesData);
             for ($y = 0; $y < $cptImage; $y++) {
                 $indexData['action'] = "add";
                 $indexData['pageID'] = $galleryData[$i]['CategoryID'];
                 $indexData['moduleID'] = 9;
                 $indexData['contentID'] = $galleryData[$i]['ID'];
                 $indexData['languageID'] = $imagesData[$y]['LanguageID'];
                 $indexData['title'] = $imagesData[$y]['Title'];
                 $indexData['text'] = '';
                 $indexData['link'] = 'image';
                 $indexData['contents'] = $imagesData[$y]['Title'] . " " . $imagesData[$y]['Description'];
                 Cible_FunctionsIndexation::indexation($indexData);
             }
         }
     }
     /*         * ********************* */
     /*         * ****** NEWSLETTERS ******* */
     if (class_exists('NewsletterRelease', false)) {
         $newsletterSelect = new NewsletterReleases();
         $select = $newsletterSelect->select()->from('Newsletter_Releases', array('ID' => 'NR_ID', 'LanguageID' => 'NR_LanguageID', 'Title' => 'NR_Title'))->where('NR_Online = 1');
         $newsletterData = $newsletterSelect->fetchAll($select)->toArray();
         $cpt = count($newsletterData);
         for ($i = 0; $i < $cpt; $i++) {
             $indexData['action'] = "add";
             $indexData['pageID'] = $newsletterData[$i]['ID'];
             $indexData['moduleID'] = 8;
             $indexData['contentID'] = $newsletterData[$i]['ID'];
             $indexData['languageID'] = $newsletterData[$i]['LanguageID'];
             $indexData['title'] = $newsletterData[$i]['Title'];
             $indexData['text'] = '';
             $indexData['link'] = 'release';
             $indexData['contents'] = $newsletterData[$i]['Title'];
             Cible_FunctionsIndexation::indexation($indexData);
             $articlesSelect = new NewsletterArticles();
             $select = $articlesSelect->select()->from('Newsletter_Articles', array('ID' => 'NA_ID', 'Title' => 'NA_Title', 'Resume' => 'NA_Resume', 'Text' => 'NA_Text'))->where('NA_ReleaseID = ?', $newsletterData[$i]['ID']);
             $articlesData = $articlesSelect->fetchAll($select);
             $cptArticle = count($articlesData);
             for ($y = 0; $y < $cptArticle; $y++) {
                 $indexData['action'] = "add";
                 $indexData['pageID'] = $newsletterData[$i]['ID'];
                 $indexData['moduleID'] = 8;
                 $indexData['contentID'] = $articlesData[$y]['ID'];
                 $indexData['languageID'] = $newsletterData[$i]['LanguageID'];
                 $indexData['title'] = $articlesData[$y]['Title'];
                 $indexData['text'] = '';
                 $indexData['link'] = 'article';
                 $indexData['contents'] = $articlesData[$y]['Title'] . " " . $articlesData[$y]['Resume'] . " " . $articlesData[$y]['Text'];
                 Cible_FunctionsIndexation::indexation($indexData);
             }
         }
     }
     /*         * ********************* */
 }
Exemplo n.º 2
0
 public function listarchivesAction()
 {
     // Newsletter ID and Category ID
     $categoryID = $this->_getParam('categoryID');
     $newsletterID = $this->_getParam('newsletterID');
     $back_to_newsletter = !empty($newsletterID) ? "/ID/{$newsletterID}" : '';
     // Get the Newsletter ID to dont show
     $newsletterSelect = new NewsletterReleases();
     $select = $newsletterSelect->select()->setIntegrityCheck(false);
     $select->from('Newsletter_Releases')->join('Languages', 'L_ID = NR_LanguageID', array())->join('CategoriesIndex', 'CI_CategoryID = NR_CategoryID', array())->join('Newsletter_Models_Index', 'NMI_NewsletterModelID = NR_ModelID', array())->join('Newsletter_Models', 'NM_ID = NMI_NewsletterModelID', array())->where('CI_LanguageID = ?', Zend_Registry::get("languageID"))->where('NR_LanguageID = ?', Zend_Registry::get("languageID"))->where('NR_Online = ?', 1)->order('NR_Date DESC');
     $newsletterData = $newsletterSelect->fetchRow($select);
     $actualNewsletterOnline = $newsletterData['NR_ID'];
     if ($actualNewsletterOnline != '') {
         if (empty($categoryID) || $categoryID == '') {
             $categoryID = $newsletterData['NR_CategoryID'];
         }
         //get all releases exept the one online
         $releasesSelect = new NewsletterReleases();
         $select = $releasesSelect->select()->setIntegrityCheck(false);
         $select->from('Newsletter_Releases')->join('CategoriesIndex', 'CI_CategoryID = NR_CategoryID')->join('Status', 'Newsletter_Releases.NR_Online = Status.S_ID')->where('CI_LanguageID = ?', Zend_Registry::get("languageID"))->where('NR_LanguageID = ?', Zend_Registry::get("languageID"))->where('NR_Online = ?', 1)->where('NR_CategoryID = ?', $categoryID)->where('NR_ID <> ?', $actualNewsletterOnline)->order('NR_Date DESC');
         $releasesData = $releasesSelect->fetchAll($select);
         $this->view->assign('listArchives', $releasesData);
         $this->view->assign('subscribeLink', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($categoryID, 'subscribe', 8));
         $this->view->assign('unsubscribeLink', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($categoryID, 'unsubscribe', 8));
         //$this->view->assign('detailsRelease', $this->view->baseUrl()."/".Cible_FunctionsCategories::getPagePerCategoryView($categoryID, 'details_release', 8));
         $this->view->assign('detailsRelease', Cible_FunctionsCategories::getPagePerCategoryView($categoryID, 'details_release', 8));
         //$this->view->assign('back_to_release', Cible_FunctionsCategories::getPagePerCategoryView($categoryID, 'details_release', 8));
         $this->view->assign('back_to_release', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($categoryID, 'details_release', 8) . $back_to_newsletter);
         $this->view->assign('archivesLink', $this->view->baseUrl() . "/" . Cible_FunctionsCategories::getPagePerCategoryView($categoryID, 'list_archives', 8) . '/categoryID/' . $categoryID);
     } else {
         $this->view->assign('listArchives', array());
         $blockID = $this->_getParam('BlockID');
         $blockParams = Cible_FunctionsBlocks::getBlockParameters($blockID)->toArray();
         $newsletterCategoryID = $blockParams[0]['P_Value'];
         $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);
     }
 }
Exemplo n.º 3
0
 /**
  * Save and / or send email to the selected list.
  * Set the filter and the status of recipients.
  *
  * @return void
  */
 public function manageSendAction()
 {
     $this->view->title = "Gestion de l'envoie de l'infolettre";
     if ($this->view->aclIsAllowed('newsletter', 'manage', true)) {
         $blockID = (int) $this->_getParam('blockID');
         $pageID = (int) $this->_getParam('pageID');
         $newsletterID = (int) $this->_getParam('newsletterID');
         //Fetch data of the current newsletter
         $releaseSelect = new NewsletterReleases();
         $select = $releaseSelect->select()->where('NR_ID = ?', $newsletterID);
         $releaseData = $releaseSelect->fetchRow($select);
         $releaseDataArray = $releaseData->toArray();
         // Display data if newsletter exists
         if (count($releaseDataArray) > 0) {
             // generate the form
             $baseDir = $this->view->baseUrl();
             $cancelUrl = "/newsletter/index/edit/blockID/{$blockID}/pageID/{$pageID}/newsletterID/{$newsletterID}";
             $oDate = new Zend_Date($releaseDataArray['NR_MailingDateTimeScheduled'], 'fr');
             $listeID = (int) $this->_getParam('listeID');
             // List of filters with numbers of members
             $collectionsSelect = new NewsletterFilterCollectionsSet();
             $select = $collectionsSelect->select()->order('NFCS_Name');
             $collectionsData = $collectionsSelect->fetchAll($select);
             $collectionList = array();
             $arraySelect = array();
             foreach ($collectionsData as $collection) {
                 $members = $this->_countFilterMembers($collection['NFCS_ID']);
                 $nbMembers = count($members['members']);
                 $collectionList[$collection['NFCS_ID']] = $collection['NFCS_Name'] . ' (' . $nbMembers . ' dest.)';
                 $arraySelect[$collection['NFCS_ID']] = $members["selection"];
             }
             $releaseArrayMembers = array();
             $result = array();
             // Récupère les éléments d'une liste en particulier
             $planedDate = $oDate->toString('YYYY-MM-dd');
             $planedTime = $oDate->toString('HH:mm');
             // options to the form
             $form = new FormNewsletterManageSend(array('status' => $releaseDataArray['NR_Status'], 'planedDate' => $planedDate, 'planedTime' => $planedTime, 'baseDir' => $baseDir, 'cancelUrl' => $baseDir . $cancelUrl, 'filterList' => $collectionList));
             $db = Zend_Registry::get('db');
             if (!$listeID) {
                 $listeID = $releaseDataArray["NR_CollectionFiltersID"];
             }
             if ($listeID > 0) {
                 $result = $db->fetchAll($arraySelect[$listeID]);
             }
             $this->view->form = $form;
             $this->view->releaseData = $releaseDataArray;
             $this->view->rsDataMembers = $result;
             if ($releaseDataArray['NR_Status'] != 0) {
                 // List of members who already have recieved the newsletter.
                 $alreadyMembersRecievedSelect = new NewsletterReleasesMembers();
                 $select = $alreadyMembersRecievedSelect->select()->where('NRM_ReleaseID = ?', $releaseDataArray['NR_ID'])->order('NRM_DateTimeReceived');
                 $alreadyMembersRecievedData = $alreadyMembersRecievedSelect->fetchAll($select);
                 $i = 0;
                 $y = 0;
                 $cpt = 0;
                 $lastDate = "";
                 foreach ($alreadyMembersRecievedData as $alreadyMember) {
                     if ($lastDate == "") {
                         $lastDate = substr($alreadyMember['NRM_DateTimeReceived'], 0, 10);
                     }
                     if (substr($alreadyMember['NRM_DateTimeReceived'], 0, 10) != $lastDate) {
                         $endDate = $alreadyMember['NRM_DateTimeReceived'];
                         $dateTimeDiff = $this->get_time_difference($startDate, $endDate);
                         $time = $dateTimeDiff['hours'] . " heure(s):" . $dateTimeDiff['minutes'] . " minute(s):" . $dateTimeDiff['seconds'] . " seconde(s)";
                         $members[$y]['date'] = $lastDate;
                         $members[$y]['time'] = $time;
                         $members[$y]['count'] = $cpt;
                         $y++;
                         $i = 0;
                         $cpt = 0;
                     }
                     if ($i == 0) {
                         $startDate = $alreadyMember['NRM_DateTimeReceived'];
                         $lastDate = substr($alreadyMember['NRM_DateTimeReceived'], 0, 10);
                         $i++;
                     }
                     $cpt++;
                 }
                 if ($alreadyMembersRecievedData->count() > 0) {
                     $count = $alreadyMembersRecievedData->count() - 1;
                     $endDate = $alreadyMembersRecievedData[$count]['NRM_DateTimeReceived'];
                     $dateTimeDiff = $this->get_time_difference($startDate, $endDate);
                     $time = $dateTimeDiff['hours'] . " heure(s):" . $dateTimeDiff['minutes'] . " minute(s):" . $dateTimeDiff['seconds'] . " seconde(s)";
                     $members[$y]['date'] = $lastDate;
                     $members[$y]['time'] = $time;
                     $members[$y]['count'] = $cpt;
                     $this->view->members = $members;
                 } else {
                     $dateTimeDiff = $this->get_time_difference($releaseDataArray['NR_MailingDateTimeStart'], $releaseDataArray['NR_MailingDateTimeEnd']);
                     $time = $dateTimeDiff['hours'] . " heure(s):" . $dateTimeDiff['minutes'] . " minute(s):" . $dateTimeDiff['seconds'] . " seconde(s)";
                     $members[0]['date'] = substr($releaseDataArray['NR_MailingDateTimeStart'], 0, 10);
                     $members[0]['time'] = $time;
                     $members[0]['count'] = 0;
                 }
                 $this->view->members = $members;
             } else {
                 $this->view->members = "";
             }
             if ($this->_request->isPost()) {
                 $formData = $this->_request->getPost();
                 if ($form->isValid($formData)) {
                     $releaseData['NR_MailingDateTimeScheduled'] = $form->getValue('NR_MailingDate') . " " . $form->getValue('NR_MailingTime') . ":00";
                     $releaseData['NR_Status'] = $form->getValue('NR_Status');
                     $releaseData['NR_CollectionFiltersID'] = $form->getValue('NR_CollectionFiltersID');
                     $releaseData->save();
                     if ($formData['newsletter_send']) {
                         $this->_redirect("/newsletter/index/send-newsletter/newsletterID/{$newsletterID}");
                     } else {
                         $this->_redirect($cancelUrl);
                     }
                 } else {
                     $form->populate($formData);
                 }
             } else {
                 $form->populate($releaseData->toArray());
                 if ($releaseData['NR_Status'] == 0) {
                     $form->getElement('NR_Status')->setValue(3);
                 }
                 if ($listeID != "") {
                     $form->getElement('NR_CollectionFiltersID')->setValue($listeID);
                 }
                 $form->getElement('NR_MailingDate')->setValue(substr($releaseData['NR_MailingDateTimeScheduled'], 0, 10));
                 $form->getElement('NR_MailingTime')->setValue(substr($releaseData['NR_MailingDateTimeScheduled'], 10, 6));
             }
         }
     }
 }
Exemplo n.º 4
0
 function deleteAction()
 {
     $this->view->title = "'Suppression d'un article à une parution";
     $this->view->assign('isXmlHttpRequest', $this->_isXmlHttpRequest);
     $this->view->assign('success', false);
     if ($this->view->aclIsAllowed('newsletter', 'manage', true)) {
         // variables
         $articleID = $this->_getParam('articleID');
         $newsletterID = $this->_getParam('newsletterID');
         $return = "/newsletter/index/edit/newsletterID/{$newsletterID}";
         $this->view->return = $this->view->baseUrl() . $return;
         $newsletterArticleSelect = new NewsletterArticles();
         $select = $newsletterArticleSelect->select();
         $select->where('NA_ID = ?', $articleID);
         $newsletterArticleData = $newsletterArticleSelect->fetchRow($select);
         if (!$newsletterArticleData) {
             if ($this->_request->isPost()) {
                 $this->view->assign('success', true);
             }
             $this->view->assign('deleted', true);
             $this->view->assign('articleID', $articleID);
         } else {
             $this->view->assign('deleted', false);
             $this->view->newsletterArticle = $newsletterArticleData->toArray();
             if ($this->_request->isPost()) {
                 $del = $this->_request->getPost('delete');
                 if ($del && $newsletterArticleData) {
                     // delete index
                     // check if release is online
                     $releaseSelect = new NewsletterReleases();
                     $select = $releaseSelect->select()->where('NR_ID = ?', $newsletterArticleData['NA_ReleaseID']);
                     $releaseData = $releaseSelect->fetchRow($select);
                     $indexData['moduleID'] = 8;
                     $indexData['contentID'] = $newsletterArticleData['NA_ID'];
                     $indexData['languageID'] = $releaseData['NR_LanguageID'];
                     $indexData['action'] = 'delete';
                     Cible_FunctionsIndexation::indexation($indexData);
                     Cible_FunctionsGeneral::delFolder("../../{$this->_config->document_root}/data/images/newsletter/{$newsletterID}/{$articleID}");
                     // update position for all article higher
                     $newsletterArticlePosition = new NewsletterArticles();
                     $where = 'NA_PositionID > ' . $newsletterArticleData['NA_PositionID'];
                     $where .= ' AND NA_ReleaseID = ' . $newsletterArticleData['NA_ReleaseID'];
                     $where .= ' AND NA_ZoneID = ' . $newsletterArticleData['NA_ZoneID'];
                     $newsletterArticlePosition->update(array('NA_PositionID' => new Zend_Db_Expr('NA_PositionID - 1 ')), $where);
                     $newsletterArticleData->delete();
                     if (!$this->_isXmlHttpRequest) {
                         $this->_redirect($return);
                     } else {
                         $this->view->assign('success', true);
                         $this->view->assign('articleID', $articleID);
                     }
                 } else {
                     $this->_redirect($return);
                 }
             }
         }
     }
 }
Exemplo n.º 5
0
 function deleteAction()
 {
     // web page title
     $this->view->title = "Suppression d'un destinataire";
     if ($this->view->aclIsAllowed('newsletter', 'manage', true)) {
         // variables
         $pageID = (int) $this->_getParam('pageID');
         $blockID = (int) $this->_getParam('blockID');
         $newsletterID = (int) $this->_getParam('newsletterID');
         $recipientID = (int) $this->_getParam('recipientID');
         $return = "/newsletter/index/manage-recipients/blockID/{$blockID}/pageID/{$pageID}/newsletterID/{$newsletterID}";
         $this->view->return = $this->view->baseUrl() . $return;
         $profile = new Profile(2);
         $recipientDetails = $profile->getMemberDetails($recipientID);
         $this->view->recipient = $recipientDetails;
         if ($this->_request->isPost()) {
             $del = $this->_request->getPost('delete');
             if ($del) {
                 // search the category id of the release
                 $categorySelect = new NewsletterReleases();
                 $select = $categorySelect->select();
                 $select->where('NR_ID = ?', $newsletterID);
                 $categoryData = $categorySelect->fetchRow($select);
                 $categoryData = $categoryData->toArray();
                 if ($categoryData) {
                     $categories = explode(",", $recipientDetails['newsletter_categories']);
                     $searchID = array_search($categoryData['NR_CategoryID'], $categories, true);
                     $categories[$searchID] = "";
                     $categories = array_filter($categories, "is_numeric");
                     $val = implode(',', $categories);
                     $profile->updateMember($recipientID, array("newsletter_categories" => "{$val}"));
                 }
             }
             $this->_redirect($return);
         }
     }
 }