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;
 }
//$message = new Application_Model_Message();
// Set up our current timestamp
$timestamp = date('Y-m-d H:i:s');
// Log the start of this read
logWrite("**********************************");
logWrite("Begin truncate: {$timestamp}");
logWrite("------------------------------------");
$rpt = new Application_Model_Report();
$rpt->saveUserDailyactivity();
// Log our counts
//logWrite("")
/*Memcache server: BDAYCLUB info stores in the memcache memory*/
$msgobj = new Application_Model_Message();
$msgobj->addMemcahceBdclub();
/*end of memcache server use*/
$dataObj = new Application_Model_DataReporting();
$rst = $dataObj->allphonenumbers();
if ($rst) {
    $log = "Rows inserted: {$rst}";
    logWrite($log);
} else {
    logWrite("No data inserted!!");
}
// Set up our current timestamp for closing out
$timestamp = date('Y-m-d H:i:s');
// Log the end of this send
logWrite("\n---------------------");
logWrite("End of inserting: {$timestamp}");
logWrite("**********************************\n");
return 0;
/**
// Name, path, namepsace
$loader->addResourceType('model', 'models', 'Model');
// Get our config file
$config = new Zend_Config_Ini($apppath . '/application/configs/application.ini');
Zend_Registry::set('config', $config->production);
// Because our models need it this way
// Get the messages model
// Set up our current timestamp
$timestamp = date('Y-m-d H:i:s');
// Log the start of this read
logWrite("####################################");
logWrite("Begin update: {$timestamp}");
logWrite("------------------------------------");
// Log our counts
//logWrite("")
$dataObj = new Application_Model_DataReporting();
$rst = $dataObj->recipients_update();
if ($rst) {
    $log = "Messages updated: {$rst}";
    logWrite($log);
} else {
    logWrite("No messages updated");
}
// Set up our current timestamp for closing out
$timestamp = date('Y-m-d H:i:s');
// Log the end of this send
logWrite("\n---------------------");
logWrite("Process complete\nEnd update: {$timestamp}");
logWrite("####################################\n");
return 0;
/**