Exemplo n.º 1
0
 public function manageRecipientsAction()
 {
     // web page title
     $this->view->title = "Gestion des destinataires";
     if ($this->view->aclIsAllowed('newsletter', 'manage', true)) {
         $blockID = (int) $this->_getParam('blockID');
         $pageID = (int) $this->_getParam('pageID');
         $newsletterID = (int) $this->_getParam('newsletterID');
         $orderField = $this->_getParam('orderField');
         $orderParam = $this->_getParam('orderParam');
         $tablePage = $this->_getParam('tablePage');
         $search = $this->_getParam('search');
         $nbByPage = 5;
         if ($orderField == "") {
             $orderField = 'lastName';
             $orderParam = 'asc';
         } elseif ($orderParam == "") {
             $orderParam = 'asc';
         }
         if ($tablePage == "") {
             $tablePage = 1;
         }
         $this->view->addRecipientLink = $this->view->baseUrl() . "/newsletter/recipient/add/blockID/{$blockID}/pageID/{$pageID}/newsletterID/{$newsletterID}";
         $newsletterSelect = new NewsletterReleases();
         $select = $newsletterSelect->select();
         $select->where('NR_ID = ?', $newsletterID);
         $newsletterData = $newsletterSelect->fetchRow($select);
         $profile = new NewsletterProfile();
         //$profile->updateMember(9,array('newsletter_categories'=>'1'));
         //$profileProperties = $profile->getProfileProperties();
         $sort[0]['field'] = $orderField;
         $sort[0]['param'] = $orderParam;
         if ($search != "") {
             $members = $profile->findMembers(array('newsletter_categories' => $newsletterData['NR_CategoryID'], 'lastName' => $search));
         } else {
             $members = $profile->findMembers(array('newsletter_categories' => $newsletterData['NR_CategoryID']));
         }
         $nbMembers = count($members);
         //$nbMembers = 0;
         $this->view->memberCount = $nbMembers;
         if ($nbMembers > 0) {
             $i = 0;
             foreach ($members as $member) {
                 //$membersDetails[$i] = $profile->getMemberDetails($member['MemberID']);
                 $membersDetails[$i] = $profile->getMemberDetails($member);
                 $i++;
             }
             $membersDetails = $this->subval_sort($membersDetails, $sort);
         }
         $tableTitle = "Liste des destinataires";
         $tableTH[0]["Title"] = "Nom";
         $tableTH[0]["OrderField"] = "lastName";
         $tableTH[1]["Title"] = "Envoi";
         $tableTH[2]["Title"] = "Actions";
         if ($nbMembers > 0) {
             $i = 0;
             foreach ($tableTH as $TH) {
                 if (array_key_exists("OrderField", $TH)) {
                     if ($orderField == $TH["OrderField"]) {
                         $tableTH[$i]["Order"] = strtolower($orderParam);
                     } else {
                         $tableTH[$i]["Order"] = "asc";
                     }
                     if ($tableTH[$i]["Order"] == "asc") {
                         $orderParamTH = "desc";
                     } else {
                         $orderParamTH = "asc";
                     }
                     $tableTH[$i]["OrderLink"] = $this->view->baseUrl() . "/newsletter/index/manage-recipients/blockID/{$blockID}/pageID/{$pageID}/newsletterID/{$newsletterID}/orderField/" . $tableTH[$i]['OrderField'] . "/orderParam/" . $orderParamTH;
                 }
                 $i++;
             }
             $nbTablePage = ceil(count($members) / $nbByPage);
             if ($tablePage > $nbTablePage || $tablePage < 1) {
                 $tablePage = 1;
             }
             $startMember = ($tablePage - 1) * $nbByPage;
             $endMember = $tablePage * $nbByPage - 1;
             if ($endMember >= count($membersDetails)) {
                 $endMember = count($membersDetails) - 1;
             }
             for ($i = $startMember; $i <= $endMember; $i++) {
                 $tableRows[$i][0] = $membersDetails[$i]['lastName'] . " " . $membersDetails[$i]['firstName'] . "<br>" . $membersDetails[$i]['email'];
                 $tableRows[$i][1] = "---";
                 $tableRows[$i][2] = '<a href="' . $this->view->baseUrl() . '/newsletter/recipient/edit/blockID/' . $blockID . '/pageID/' . $pageID . '/newsletterID/' . $newsletterID . '/recipientID/' . $membersDetails[$i]['memberID'] . '"><img class="action_icon" alt="Editer" src="' . $this->view->baseUrl() . '/icons/edit_icon_16x16.png"/></a>&nbsp;&nbsp';
                 $tableRows[$i][2] .= '<a href="' . $this->view->baseUrl() . '/newsletter/recipient/delete/blockID/' . $blockID . '/pageID/' . $pageID . '/newsletterID/' . $newsletterID . '/recipientID/' . $membersDetails[$i]['memberID'] . '"><img class="action_icon" alt="Supprimer" src="' . $this->view->baseUrl() . '/icons/del_icon_16x16.png"/></a>';
             }
             $listLink = $this->view->baseUrl() . "/newsletter/index/manage-recipients/blockID/{$blockID}/pageID/{$pageID}/newsletterID/{$newsletterID}";
             $search = array('searchLink' => $listLink, 'searchText' => $search, 'searchCount' => $nbMembers);
             $list = array('caption' => $tableTitle, 'thArray' => $tableTH, 'rowsArray' => $tableRows);
             $navigation = array('tablePage' => $tablePage, 'navigationLink' => $listLink, 'nbTablePage' => $nbTablePage);
             $this->view->htmltable = Cible_FunctionsGeneral::generateHtmlTableV2($search, $list, $navigation);
         } else {
             $listLink = $this->view->baseUrl() . "/newsletter/index/manage-recipients/blockID/{$blockID}/pageID/{$pageID}/newsletterID/{$newsletterID}";
             $search = array('searchLink' => $listLink, 'searchText' => $search, 'searchCount' => $nbMembers);
             $this->view->htmltable = Cible_FunctionsGeneral::generateHtmlTableV2($search, '', '');
         }
     }
 }