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>  '; $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, '', ''); } } }