public function reportAction() { $monthstartdate = $this->request->getParam('startdate'); $monthenddate = $this->request->getParam('enddate'); $searchvalue = ""; $yearmonth = $this->request->getParam('yearmonth'); // echo $monthstartdate."<>".$monthenddate; // exit; $filename = 'myreport'; $file_path = "/home/textm/textmunication.com/htdocs/public/reportdocs/{$filename}"; header("Content-type: application/vnd.ms-excel"); header("Content-disposition: csv" . date("Y-m-d") . ".csv"); header("Content-disposition: filename=" . $filename . ".csv"); echo "Accounts/Location/Folder,Total Keyword,Total Subscribers,Total Optsin,Total Optsout,Total Campaign,Total Campaign Message,Retention\r\n"; $reportObj = new Application_Model_Report(); $datareport = new Application_Model_DataReporting(); $pagenum = $this->request->getParam('page'); if ($pagenum == '' or $pagenum == 0) { $pagenum = 1; } $arraystart = $pagenum * 5 - 5; $arrayend = $pagenum * 5; if ($this->request->getParam('reportuserid') != '') { $userid = $this->request->getParam('reportuserid'); } else { $userid = $this->user->getId(); } if ($reportObj->checkAdminUser($userid)) { $this->view->userTypeshowing = 'users'; // $subUsersArray = $reportObj->findChildEntityList($userid,5,$searchvalue); //echo "<pre>"; print_r($subUsersArray); exit; $subUsersArray = $datareport->corporate_message_reporting($userid, $yearmonth, $monthstartdate, $monthenddate); $totalSubUsers = count($subUsersArray); if ($totalSubUsers > 0) { foreach ($subUsersArray as $key => $row) { $username[$key] = $row['username']; } } else { $subUsersArray = ''; } $orderby = $this->request->getParam('orderby'); if ($orderby == 'ASC') { array_multisort($username, SORT_ASC, $subUsersArray); } elseif ($orderby == 'DESC') { array_multisort($username, SORT_DESC, $subUsersArray); } //echo "<pre>"; print_r($subUsersArray); exit; $this->view->sortOrderBy = $orderby; //$this->view->userlist = $subUsersArray; $allDetailsArray = array(); $arraystart = 0; $arrayend = $totalSubUsers; if (!empty($subUsersArray)) { for ($i = $arraystart; $i < $arrayend; $i++) { if (!empty($subUsersArray[$i])) { echo $allDetailsArray[$i] = $subUsersArray[$i]['firstname'] . " " . $subUsersArray[$i]['lastname']; echo "," . ($allDetailsArray[$i] = $subUsersArray[$i]['keywords']); echo "," . ($allDetailsArray[$i] = $subUsersArray[$i]['optin']); echo "," . ($allDetailsArray[$i] = $subUsersArray[$i]['subscribers']); echo "," . ($allDetailsArray[$i] = $subUsersArray[$i]['optout']); echo "," . ($allDetailsArray[$i] = $subUsersArray[$i]['campaign']); echo "," . ($allDetailsArray[$i] = $subUsersArray[$i]['sms']); if ($subUsersArray[$i]['optin'] != 0) { echo "," . $subUsersArray[$i]['subscribers'] / $subUsersArray[$i]['optin'] * 100; } else { echo "," . "0"; } echo "%"; echo "\r\n"; } } } else { $this->view->userTypeshowing = 'locations'; $subFoldersArray = $reportObj->findChildEntityList($userid, 4); //echo "<pre>"; print_r($subFoldersArray); echo exit; $totalSubUsers = count($subFoldersArray); } } else { $this->view->userTypeshowing = 'locations'; // $subFoldersArray = $reportObj->findChildEntityList($userid,4); //echo "<pre>"; print_r($subFoldersArray); echo exit; $subFoldersArray = $datareport->account_message_reporting($userid, $yearmonth, $monthstartdate, $monthenddate); $totalSubUsers = count($subFoldersArray); for ($i = 0; $i < $totalSubUsers; $i++) { if (!empty($subFoldersArray[$i])) { echo $allDetailsArray[$i] = $subFoldersArray[$i]['value']; echo "," . ($allDetailsArray[$i] = $subFoldersArray[$i]['keywords']); echo "," . ($allDetailsArray[$i] = $subFoldersArray[$i]['optin']); echo "," . ($allDetailsArray[$i] = $subFoldersArray[$i]['subscribers']); echo "," . ($allDetailsArray[$i] = $subFoldersArray[$i]['optout']); echo "," . ($allDetailsArray[$i] = $subFoldersArray[$i]['campaign']); echo "," . ($allDetailsArray[$i] = $subFoldersArray[$i]['total_messages']); if ($subFoldersArray[$i]['optin'] != 0) { echo "," . $subFoldersArray[$i]['subscribers'] / $subFoldersArray[$i]['optin'] * 100; } else { echo "," . "0"; } echo "%"; //echo "i am here"; echo "\r\n"; } } } exit; }