public function apimessageAction()
 {
     $rmonth = "";
     $ryear = "";
     $seereportby = $this->request->getParam('reportby');
     if ($this->request->getParam('searchvaluehide') != '') {
         $searchvalue = $this->request->getParam('searchvaluehide');
     } else {
         $searchvalue = $this->request->getParam('searchvalue');
     }
     if ($seereportby == "month") {
         $rmonth = $this->request->getParam('monthMessageReport');
         $ryear = $this->request->getParam('yearMessageReport');
         if ($rmonth == 0 or $ryear == 0) {
             $monthstartdate = 0;
             $monthenddate = 0;
         } else {
             $daysInMonth = cal_days_in_month(CAL_GREGORIAN, $rmonth, $ryear);
             // echo 'rmstart-'.$monthstartdate = $ryear."-".$rmonth."-1 00:00:00"; echo '<br>';
             //echo 'rmend-'.$monthenddate = $ryear."-".$rmonth."-30 00:00:00";
             $monthstartdate = $ryear . "-" . $rmonth . "-1 00:00:00";
             $monthenddate = $ryear . "-" . $rmonth . "-" . $daysInMonth . " 00:00:00";
         }
     } elseif ($seereportby == "date") {
         $monthstartdate = date("Y-m-d", strtotime($this->request->getParam('starttime')));
         $monthenddate = date("Y-m-d", strtotime($this->request->getParam('endtime')));
     } elseif ($seereportby == "") {
         $daysInMonth = cal_days_in_month(CAL_GREGORIAN, date('m'), date('Y'));
         $monthstartdate = date('Y') . "-" . date('m') . "-1 00:00:00";
         $monthenddate = date('Y') . "-" . date('m') . "-" . $daysInMonth . " 00:00:00";
     }
     $this->view->monthstartdate1 = $monthstartdate;
     $this->view->monthenddate1 = $monthenddate;
     $reportObj = new Application_Model_Report();
     $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)) {
         $subUsersArray = $reportObj->findChildEntityListApiReport($userid, $searchvalue);
         //echo "<pre>"; print_r($subUsersArray); exit;
         $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($usernamchilduseride, SORT_ASC, $subUsersArray);
         } elseif ($orderby == 'DESC') {
             array_multisort($username, SORT_DESC, $subUsersArray);
         }
         $this->view->sortOrderBy = $orderby;
         $allDetailsArray = array();
         if (!empty($subUsersArray)) {
             for ($i = $arraystart; $i < $arrayend; $i++) {
                 if (!empty($subUsersArray[$i])) {
                     $allDetailsArray[$subUsersArray[$i]['childuserid']]['username'] = $subUsersArray[$i]['username'];
                     $allDetailsArray[$subUsersArray[$i]['childuserid']]['childname'] = $reportObj->getChildName($subUsersArray[$i]['childuserid']);
                     $allDetailsArray[$subUsersArray[$i]['childuserid']]['totaloutboundmessage'] = $reportObj->reportCountTotalMessagesByApiKey($userid, $subUsersArray[$i]['username'], $monthstartdate, $monthenddate);
                 }
             }
         } else {
             "No any subusers present.";
         }
     } else {
         "This report for the Admin User only.";
     }
     $this->view->seeReportBy = $seereportby;
     $this->view->totalSubUsers = $totalSubUsers;
     $this->view->allDetailsArray = $allDetailsArray;
     $this->view->searchvalue = $searchvalue;
     $this->view->reportuserid = $userid;
     $this->view->starttime = $this->request->getParam('starttime');
     $this->view->endtime = $this->request->getParam('endtime');
     if ($this->request->getParam('shownumlist') != '') {
         $this->view->showNumList = $this->request->getParam('shownumlist');
     } else {
         $this->view->showNumList = 10;
     }
     if ($rmonth == '' or $ryear == '') {
         $this->view->monthSelected = date('m');
         $this->view->yearSelected = date('Y');
     } else {
         $this->view->monthSelected = $rmonth;
         $this->view->yearSelected = $ryear;
     }
 }