403Webshell
Server IP : 103.234.187.230  /  Your IP : 216.73.216.216
Web Server : Apache
System : Linux lserver42043-ind.megavelocity.net 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
User : apache ( 48)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/html/b2bzend/application/modules/finance/controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/html/b2bzend/application/modules/finance/controllers/BnplAgenciesController.php
<?php

/*
 * Catabatic Technology Pvt. Ltd.
 * File Name :StaffController.php
 * File Description :Staff controller managed all data related to staff
 * Created By : Pooja Choudhary
 * Created Date: 28-June-2016
 */

class Finance_BnplAgenciesController extends Catabatic_ValidateGtx {

    public $IsAdmin;
    public $siteUrl;
    public $smtpUserName;
    public $smtpPassword;
    public $smtpPort;
    public $smtpHost;
    public $fromEmail;
    public $fromName;
    public $intLoggedinUserAgencySysId;
    public $intLoggedinUserId;
    public $agencyDetails;
    public $IsSMSApi;
    public $SENDREGISTERSMSCONFIG;
    public $SMSURL;
    public $SMSMETHOD;
    public $SMSAPIKEY;
    public $SMSSENDER;
    public $SMSFORMAT;
    public $paymentMdl;
    public $SENDSMSCONFIG;
    public $insuranceMdl;

    public function init() {
        parent::init();
        $aConfig = $this->getInvokeArg('bootstrap')->getOptions();
        $this->siteUrl = $aConfig['bootstrap']['siteUrl'];
        $this->smtpUserName = $aConfig['smtpUserName'];
        $this->smtpPassword = $aConfig['smtpPassword'];
        $this->smtpPort = $aConfig['smtpPort'];
        $this->smtpHost = $aConfig['smtpHost'];
        $this->fromEmail = $aConfig['fromEmail'];
        $this->fromName = $aConfig['fromName'];

        $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');
        $this->intLoggedinUserAgencySysId = $sessionLogin_user->intLoggedinUserAgencySysId;
        $this->intLoggedinUserId = $sessionLogin_user->intLoggedinUserId;
        $this->agencyDetails = $sessionLogin_user->agencyDetails;
        $this->IsSMSApi = $sessionLogin_user->agencyDetails['IsSMSApi'];
        $this->SENDREGISTERSMSCONFIG = Catabatic_Helper::getSENDREGISTERSMSCONFIG();

        $this->SMSURL = Catabatic_Helper::getSMSURL();
        $this->SMSMETHOD = Catabatic_Helper::getSMSMETHOD();
        $this->SMSAPIKEY = Catabatic_Helper::getSMSAPIKEY();
        $this->SMSSENDER = Catabatic_Helper::getSMSSENDER();
        $this->SMSFORMAT = Catabatic_Helper::getSMSFORMAT();
        $this->paymentMdl = new Payment_Model_Payment();
        $this->SENDSMSCONFIG = Catabatic_Helper::getSENDSMSCONFIG();
        $this->insuranceMdl = new Finance_Model_Finance();
        if ($sessionLogin_user->IsSuperAdmin == True || $sessionLogin_user->IsAdmin == True) {
            $this->IsAdmin = true;
        } else {
            $this->IsAdmin = false;
        }
        $this->view->IsAdmin = $this->IsAdmin;
    }

    public function indexAction() {
        $objAgency = new Travel_Model_TblAgency();
        $MasterAgencySysId = $this->intLoggedinUserAgencySysId;
        $getData = $this->getRequest()->getPost();
        // $getData=$this->sanitizeData($getData);
        if ($getData) {
            $this->_HtmlPurifier = new Zend_Filter_HtmlPurifier();
            $getData = $this->_HtmlPurifier->filterArray($getData);
        }
        $this->view->searchData = $getData;
        $getData['IsApproved'] = 1;

        $AgencyList = $objAgency->getBNPLB2BAgency($MasterAgencySysId, $getData);
        $this->view->totalBNPN =$objAgency->getBNPLB2BAgencyTotal($MasterAgencySysId, $getData,1,'export');
        //echo "<pre>";print_r($totalBNPN);exit;
        $page = $this->_getParam('page', 1);
        $paginator = Zend_Paginator::factory($AgencyList);
        $paginator->setItemCountPerPage(GRID_PER_PAGE_RECORD_COUNT);
        $paginator->setCurrentPageNumber($page);
        $this->view->paginator = $paginator;
        // echo "<pre>"; print_r($this->view->paginator); die();
        $msg = $this->_getParam('msg');
        $this->view->msg = $msg;
        $this->view->controller = $this;
        $this->view->messages = $this->_helper->flashMessenger->getMessages();
        // die("test");
    }

    public function addB2bAgencyAction() {
        $id = $this->getRequest()->getParam('id');
        $this->view->isb2b = 1;
        $this->view->UserId = $id;
        $objStaff = new Travel_Model_TblAgencyStaff();
        $UserData = $objStaff->getUserDataByUserId(base64_decode($id));
    }

    public function autosuggestB2bAgentNameAction() {
        $this->_helper->viewRenderer->setNoRender(true);
        $this->_helper->layout->disableLayout();
        try {
            $arrResponse = array();
            if ($this->getRequest()->getParam("term") or $this->getRequest()->getParam("query")) {
                $query = $this->getRequest()->getParam("query") ? $this->getRequest()->getParam("query") : '';
                $AgencySysId = $this->getRequest()->getParam("AgencySysId") ? $this->getRequest()->getParam("AgencySysId") : $this->intLoggedinUserAgencySysId;
                //$this->intLoggedinUserAgencySysId
                $objStaff = new Travel_Model_TblAgencyStaff();
                $condAgency = "tb2.Title like '%" . $query . "%' or tb2.PrimaryContactName like '%" . $query . "%' or tb2.PrimaryEmail like '%" . $query . "%' or tb2.ContactInfo like '%" . $query . "%' or tb1.EmailId like '%" . $query . "%' or tb1.FirstName like '%" . $query . "%' or tb1.LastName like '%" . $query . "%' ";
                if (isset($AgencySysId) && !empty($AgencySysId)) {
                    //$condAgency .= "  AND tb1.MasterAgencySysId = " . $AgencySysId . " ";
                }
                $arrResponse = $objStaff->getB2BAgentAutoSuggest($condAgency, $AgencySysId);
            }
            echo json_encode($arrResponse);
            exit;
        } catch (Exception $e) {
            $response = array('success' => false, 'msg' => $e->getMessage());
            echo json_encode($response);
            exit;
        }
    }

    public function sanitize_data($input_data) {
        $searchArr = array("document", "write", "alert", "%", "$", ";", "+", "|", "#", "<", ">", ")", "(", "'", "\'", ",", "JAVASCRIPT");
        $input_data = str_replace("script", "", $input_data);
        $input_data = str_replace("iframe", "", $input_data);
        $input_data = str_replace($searchArr, "", $input_data);

        return htmlentities(stripslashes(trim($input_data)), ENT_QUOTES);
    }

    public function sanitize_data_address($input_data) {
        $searchArr = array("document", "write", "alert", "%", "$", ";", "+", "|", "#", "<", ">", "'", "\'", "JAVASCRIPT");
        $input_data = str_replace("script", "", $input_data);
        $input_data = str_replace("iframe", "", $input_data);
        $input_data = str_replace($searchArr, "", $input_data);

        return htmlentities(stripslashes(trim($input_data)), ENT_QUOTES);
    }

    /*
     * saveStaffSignatureAction(); is used add/update user's more information
     * Created By- Pooja
     * Created on- 08 July 2016
     */

    public function autosuggestAgencyNameAction() {
        $this->_helper->viewRenderer->setNoRender(true);
        $this->_helper->layout->disableLayout();
        try {
            $arrResponse = array();
            if ($this->getRequest()->getParam("term") or $this->getRequest()->getParam("query")) {
                $query = $this->getRequest()->getParam("query") ? $this->getRequest()->getParam("query") : '';
                $AgencySysId = $this->getRequest()->getParam("AgencySysId") ? $this->getRequest()->getParam("AgencySysId") : $this->intLoggedinUserAgencySysId;
                //$this->intLoggedinUserAgencySysId
                $objStaff = new Travel_Model_TblAgencyStaff();
                $condAgency = "tb1.Title like '%" . $query . "%' or tb1.PrimaryContactName like '%" . $query . "%' or tb1.PrimaryEmail like '%" . $query . "%' or tb1.ContactInfo like '%" . $query . "%'";
                if (isset($AgencySysId) && !empty($AgencySysId)) {
                    //$condAgency .= "  AND tb1.MasterAgencySysId = " . $AgencySysId . " ";
                }
                $arrResponse = $objStaff->getAgencyAutoSuggest($condAgency, $AgencySysId);
            }
            echo json_encode($arrResponse);
            exit;
        } catch (Exception $e) {
            $response = array('success' => false, 'msg' => $e->getMessage());
            echo json_encode($response);
            exit;
        }
    }

    public function creditLimitAction() {
        $objAgency = new Travel_Model_TblAgency();
        $TblCurrency = new Travel_Model_TblCurrency();
        $this->view->layout()->disableLayout();
        $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');
        $MasterAgencySysId = $this->intLoggedinUserAgencySysId;
        $this->view->ContactNo1 = $sessionLogin_user->agencyDetails['ContactInfo'];
        $this->view->AgencySysId = $AgencySysId = ($this->getRequest()->getParam('aid')) ? base64_decode($this->getRequest()->getParam('aid')) : '';
        $this->view->b2bAgencyData = $b2bAgencyData = $objAgency->isB2BAgencyExists('', $AgencySysId, $MasterAgencySysId);
        $this->view->CurrencyType = $CurrencyType = $TblCurrency->getCurrencyTypes();
        $this->view->intLoggedinUserTrxCurrency = $intLoggedinUserTrxCurrency = $sessionLogin_user->intLoggedinUserTrxCurrency;
        $this->view->CreditLimitData = $CreditLimitData = $objAgency->getAgencyBNPLCreditLimitDataByAgencyId($AgencySysId);
    }

    public function viewCreditLimitAction() {
        $objAgency = new Travel_Model_TblAgency();
        $TblCurrency = new Travel_Model_TblCurrency();
        //        $this->view->layout()->disableLayout();
        $this->view->aid = $aid = $this->getRequest()->getParam('aid');
        $filterData = array();
        if ($this->getRequest()->isPost()) {
            $filterData = $this->getRequest()->getParams();

            //            echo "<pre>"; print_r($filterData); die;
            $FromDate = (isset($filterData['FromDate']) && $filterData['FromDate'] != '__/__/____') ? explode('/', $filterData['FromDate']) : '';
            $ToDate = (isset($filterData['ToDate']) && $filterData['ToDate'] != '__/__/____') ? explode('/', $filterData['ToDate']) : '';

            $FromDateN = (!empty($FromDate)) ? trim($FromDate[2] . '-' . $FromDate[1] . '-' . $FromDate[0]) : '';
            $ToDateN = (!empty($ToDate)) ? trim($ToDate[2] . '-' . $ToDate[1] . '-' . $ToDate[0]) : '';
            $objAgency->filterArray = array('FromDate' => $FromDateN, 'ToDate' => $ToDateN);
        }
        $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');
        $MasterAgencySysId = $this->intLoggedinUserAgencySysId;
        $this->view->ContactNo1 = $sessionLogin_user->agencyDetails['ContactInfo'];
        $this->view->AgencySysId = $AgencySysId = ($this->getRequest()->getParam('aid')) ? base64_decode($this->getRequest()->getParam('aid')) : '';
        $this->view->b2bAgencyData = $b2bAgencyData = $objAgency->isB2BAgencyExists('', $AgencySysId, $MasterAgencySysId);
        $this->view->CurrencyType = $CurrencyType = $TblCurrency->getCurrencyTypes();
        $this->view->getCreditBalanceForAgency = $objAgency->getCreditBNPLBalanceForAgency($AgencySysId);
        $this->view->intLoggedinUserTrxCurrency = $intLoggedinUserTrxCurrency = $sessionLogin_user->intLoggedinUserTrxCurrency;
        $this->view->CreditLimitData = $CreditLimitData = $objAgency->getAgencyBNPLCreditLimitDataByAgencyId($AgencySysId);
        $page = $this->_getParam('page', 1);
        $paginator = Zend_Paginator::factory($CreditLimitData);
        $paginator->setItemCountPerPage(GRID_PER_PAGE_RECORD_COUNT);
        $paginator->setCurrentPageNumber($page);
        $this->view->paginator = $paginator;
        $this->view->filterData = $filterData;
    }

    public function viewOfflineCreditLimitAction() {
        $objAgency = new Travel_Model_TblAgency();
        $TblCurrency = new Travel_Model_TblCurrency();
        //        $this->view->layout()->disableLayout();
        $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');
        $MasterAgencySysId = $this->intLoggedinUserAgencySysId;
        $this->view->ContactNo1 = $sessionLogin_user->agencyDetails['ContactInfo'];
        $this->view->AgencySysId = $AgencySysId = ($this->getRequest()->getParam('aid')) ? base64_decode($this->getRequest()->getParam('aid')) : '';
        $this->view->b2bAgencyData = $b2bAgencyData = $objAgency->isB2BAgencyExists('', $AgencySysId, $MasterAgencySysId);
        $this->view->CurrencyType = $CurrencyType = $TblCurrency->getCurrencyTypes();
        $this->view->intLoggedinUserTrxCurrency = $intLoggedinUserTrxCurrency = $sessionLogin_user->intLoggedinUserTrxCurrency;
        $this->view->CreditLimitData = $CreditLimitData = $objAgency->getAgencyCreditLimitDataByAgencyId($AgencySysId, 2);
        //        echo "<pre>";print_r($CreditLimitData);die;
        $page = $this->_getParam('page', 1);
        $paginator = Zend_Paginator::factory($CreditLimitData);
        $paginator->setItemCountPerPage(GRID_PER_PAGE_RECORD_COUNT);
        $paginator->setCurrentPageNumber($page);
        $this->view->paginator = $paginator;
    }

    public function creditLimitOtpAction() {
        $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');
        $intLoggedinUserId = $sessionLogin_user->intLoggedinUserId;
        if ($this->getRequest()->isPost()) {
            $objPackage = new Travel_Model_TblPackage();
            $param = $this->getRequest()->getParams();
            $data = new Payment_Model_Checkotp();
            $mobile_no = $sessionLogin_user->agencyDetails['ContactInfo'];
            //$mobile_no = '9015562063';
            $randomString = $data->randomString();
            $message = "Hi,\nUse $randomString as OTP (One Time Password) to verify your mobile number. Do not share this OTP with anyone for security reason.\nThanks\nTeam HelloGTX\nTRVCRM";
            $this->postFields = "";
            $this->postFields .= "&method=$this->SMSMETHOD";
            $this->postFields .= "&api_key=$this->SMSAPIKEY";
            $this->postFields .= "&to=$mobile_no";
            $this->postFields .= "&sender=$this->SMSSENDER";
            $this->postFields .= "&message=$message";
            $this->postFields .= "&format=$this->SMSFORMAT";
            $postURL = $this->SMSURL;
            $arrSMSStatisticsType = array_keys(unserialize(ARR_SMS_STATISTICS_TYPE));
            $arrSMSStatistics = array(
                "TPSysId" => 0,
                "TypeSysId" => 2, // 1 For Email 2 For SMS
                "AgencySysId" => $this->intLoggedinUserAgencySysId,
                "AgentSysId" => $this->intLoggedinUserId,
                "Title" => $message,
                "Source" => $arrSMSStatisticsType[0], // 2 Resend Proposals (Bulk)
                "Status" => '',
                "RefSysId" => '',
                "RefSysStatus" => "",
                "CreateDate" => date('Y-m-d H:s:i')
            );
            try {
                $updateCreditType = isset($param['updateCreditType']) ? (int) $param['updateCreditType'] : 1;
                if ($updateCreditType == 1) {
                    $resultVal = $data->sendSmsDetails($postURL, $this->postFields, $arrSMSStatistics, $this->IsSMSApi);
                    $resultVal['message'] = $resultVal['Message'];
                    $PlanType = 7;
                    $PaymentMode = "Reduce Credit";
                    if (isset($param['TrxType']) && $param['TrxType'] == 1) {
                        $PaymentMode = "Add Credit";
                    }
                } else {
                    $PlanType = 7;
                    $resultVal = $data->sendSmsDetails($postURL, $this->postFields, $arrSMSStatistics, $this->IsSMSApi);
                    $resultVal['message'] = $resultVal['Message'];
                    $PaymentMode = "Reduce Topup";
                    if (isset($param['TrxType']) && $param['TrxType'] == 1) {
                        $PaymentMode = "Add Topup";
                    }
                }
                $subject = "OTP for " . $PaymentMode;
                $html = new Zend_View();
                $html->setScriptPath(APPLICATION_PATH . '/views/emails/');
                $html->assign(array('randomString' => $randomString, 'agencyDetails' => $sessionLogin_user->agencyDetails, 'PaymentMode' => $PaymentMode));
                $bodyText = $html->render('OTPEmailMaster.phtml');
                $PrimaryEmail = $EmailId = $sessionLogin_user->agencyDetails['PrimaryEmail'];
                $DisplayName = $sessionLogin_user->agencyDetails['DisplayName'];
                $emailData = array('fromEmail' => $PrimaryEmail, 'fromName' => $DisplayName, 'subject' => $subject, 'to' => array($EmailId), 'bodyHtml' => $bodyText, 'bodyText' => '');
                $arrEmailStatisticsType = array_keys(unserialize(ARR_EMAIL_STATISTICS_TYPE));
                $arrEmailStatistics = array(
                    "TPSysId" => 0,
                    "TypeSysId" => 1, // 1 For Email 2 For SMS
                    "AgencySysId" => $this->intLoggedinUserAgencySysId,
                    "AgentSysId" => $this->intLoggedinUserId,
                    "Title" => $message,
                    "Source" => $arrEmailStatisticsType[2], // 6 For Misc
                    "Status" => 0,
                    "RefSysId" => "",
                    "RefSysStatus" => "",
                    "CreateDate" => date('Y-m-d H:s:i')
                );
                $resultmail = $this->mailSentByElastice($emailData, $arrEmailStatistics);
                if (trim($resultVal['status']) == 'OK') {
                    if (isset($param['mode']) && $param['mode'] == 'edit') {
                        $CreditSysId = $param['CreditSysId'];
                        $CreditDate = date('Y-m-d', strtotime(date('Y-m-d') . " +" . $param['CreditDays'] . " days"));
                        if ($CreditSysId) {
                            $updateData = [
                                'IsOneTime' => (isset($param['IsOneTime']) && !empty($param['IsOneTime'])) ? (int) $param['IsOneTime'] : 0,
                            ];
                            $whereQuery1 = array('CreditSysId = ? ' => $CreditSysId, 'AgencySysId = ? ' => $param['AgensySysId']);
                            $objPackage->updateData('TB_Agency_BNPL_Credit', $updateData, $whereQuery1);
                            $saveHistoryData = [
                                'PlanType' => $PlanType,
                                'AgencySysId' => $param['AgensySysId'],
                                'CreditSysId' => $CreditSysId,
                                'CurrencyType' => isset($param['CurrencyType']) ? $param['CurrencyType'] : 1,
                                'CreditAmount' => $param['CreditAmount'],
                                'BalanceAmount' => $param['CreditAmount'],
                                'CreditDays' => $param['CreditDays'],
                                'CreditDate' => $CreditDate,
                                'UserSysId' => $intLoggedinUserId,
                                'IsOneTime' => (isset($param['IsOneTime']) && !empty($param['IsOneTime'])) ? (int) $param['IsOneTime'] : 0,
                                'Remark' => $param['Remark'],
                                'IsCredit' => $updateCreditType,
                                'OTPCode' => $randomString,
                                'CodeValidFrom' => date('Y-m-d H:i'),
                                'CodeValidTo' => date('Y-m-d H:i', (strtotime(date('Y-m-d H:i')) + 600)),
                                'CreateDate' => date('Y-m-d H:i'),
                                'UpdateDate' => date('Y-m-d H:i:s'),
                                'IsMarkForDel' => 0,
                                'IsActive' => 0,
                                'RefrenceNo' => time(),
                                'PaymentMode' => $PaymentMode,
                                'TrxType' => $param['TrxType'],
                                'Amount' => $param['CreditAmount'],
                            ];
                            $HistoryCreditSysId = $objPackage->insertData('TB_Agency_BNPL_Credit_History', $saveHistoryData);
                        }
                    } else {
                        if ($updateCreditType == 1) {
                            $CreditDate = date('Y-m-d', strtotime(date('Y-m-d') . " +" . $param['CreditDays'] . " days"));
                            $saveData = [
                                'AgencySysId' => $param['AgensySysId'],
                                'CurrencyType' => $param['CurrencyType'],
                                'BalanceAmount' => $param['CreditAmount'],
                                'CreditDays' => $param['CreditDays'],
                                'IsOneTime' => (isset($param['IsOneTime']) && !empty($param['IsOneTime'])) ? (int) $param['IsOneTime'] : 0,
                                'CreditDate' => $CreditDate,
                                'UserSysId' => $intLoggedinUserId,
                                'CreateDate' => date('Y-m-d H:i'),
                                'UpdateDate' => date('Y-m-d H:i:s'),
                                'IsMarkForDel' => 0,
                                'IsActive' => 0,
                                'CreditAmount' => $param['CreditAmount'],
                            ];
                            $CreditSysId = $objPackage->insertData('TB_Agency_BNPL_Credit', $saveData);
                            $saveHistoryData = [
                                'AgencySysId' => $param['AgensySysId'],
                                'CreditSysId' => $CreditSysId,
                                'CurrencyType' => $param['CurrencyType'],
                                'CreditAmount' => $param['CreditAmount'],
                                'BalanceAmount' => $param['CreditAmount'],
                                'CreditDays' => $param['CreditDays'],
                                'CreditDate' => $CreditDate,
                                'UserSysId' => $intLoggedinUserId,
                                'IsOneTime' => (isset($param['IsOneTime']) && !empty($param['IsOneTime'])) ? (int) $param['IsOneTime'] : 0,
                                'Remark' => $param['Remark'],
                                'IsCredit' => $updateCreditType,
                                'OTPCode' => $randomString,
                                'CodeValidFrom' => date('Y-m-d H:i'),
                                'CodeValidTo' => date('Y-m-d H:i', (strtotime(date('Y-m-d H:i')) + 600)),
                                'CreateDate' => date('Y-m-d H:i'),
                                'UpdateDate' => date('Y-m-d H:i:s'),
                                'IsMarkForDel' => 0,
                                'IsActive' => 0,
                                'TrxType' => 1,
                                'Amount' => $param['CreditAmount'],
                            ];
                            $HistoryCreditSysId = $objPackage->insertData('TB_Agency_BNPL_Credit_History', $saveHistoryData);
                        }
                    }
                    if ($updateCreditType == 1) {
                        $response = array('status' => true, 'msg' => $resultVal['message'], 'CreditSysId' => $CreditSysId, 'HistoryCreditSysId' => $HistoryCreditSysId, 'otp' => '');
                    } else {
                        $response = array('status' => true, 'msg' => $resultVal['message'], 'CreditSysId' => $CreditSysId, 'HistoryCreditSysId' => $HistoryCreditSysId, 'otp' => '');
                    }
                } else {
                    $response = array('status' => false, 'msg' => $resultVal['message']);
                }

                echo json_encode($response);
                exit;
            } catch (Exception $e) {
                $response = array('status' => false, 'msg' => $e->getMessage());
                echo json_encode($response);
                exit;
            }
        }
    }

    public function saveCreditLimitDataAction() {
        $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');
        $intLoggedinUserId = $sessionLogin_user->intLoggedinUserId;
        if ($this->getRequest()->isPost()) {
            $param = $this->getRequest()->getParams();
            $objPackage = new Travel_Model_TblPackage();
            $objAgency = new Travel_Model_TblAgency();
            $limit = (isset($param['limit']) && !empty($param['limit'])) ? trim($param['limit']) : '';
            $creditDays = (isset($param['creditDays']) && !empty($param['creditDays'])) ? trim($param['creditDays']) : '';
            $isActive = (isset($param['isActive']) && !empty($param['isActive'])) ? trim($param['isActive']) : '';
            $remark = (isset($param['remark']) && !empty($param['remark'])) ? trim($param['remark']) : '';
            $otp = (isset($param['otp']) && !empty($param['otp'])) ? trim($param['otp']) : '';
            $HistoryCreditSysId = (isset($param['HistoryCreditSysId']) && !empty($param['HistoryCreditSysId'])) ? trim($param['HistoryCreditSysId']) : '';
            $CreditSysId = (isset($param['CreditSysId']) && !empty($param['CreditSysId'])) ? trim($param['CreditSysId']) : '';
            $AgencySysId = (isset($param['AgensySysId']) && !empty($param['AgensySysId'])) ? trim($param['AgensySysId']) : '';
            $CreditLimitData = $objAgency->checkAgencyBNPLCreditLimitOtp($CreditSysId, $HistoryCreditSysId);
            //echo "<pre>";print_r($CreditLimitData);exit;
            $CodeValidTo = strtotime($CreditLimitData['CodeValidTo']->format('Y-m-d H:i'));
            $currencttime = strtotime(date('Y-m-d H:i'));
            $minuts = $currencttime - $CodeValidTo;
            if ($minuts > 10) {
                $response = array('status' => false, 'msg' => 'otp Expired');
                echo json_encode($response);
                exit;
            }
            if ($otp != $CreditLimitData['OTPCode']) {
                $response = array('status' => false, 'msg' => 'Invalid OTP.');
                echo json_encode($response);
                exit;
            }
            if (isset($param['mode']) && $param['mode'] == 'edit') {
                $CreditDate = date('Y-m-d', strtotime(date('Y-m-d') . " +" . $param['CreditDays'] . " days"));
                $CreditAmount = $param['CreditAmount'];

                if ($CreditSysId != '' && $HistoryCreditSysId != '') {

                    if (isset($CreditLimitData['IsCredit']) && (int) $CreditLimitData['IsCredit'] == 1) {
                        if (isset($CreditLimitData['TrxType']) && (int) $CreditLimitData['TrxType'] == 1) {
                            $saveData = [
                                'BalanceAmount' => new Zend_Db_Expr("BalanceAmount + $CreditAmount"),
                                'CreditAmount' => new Zend_Db_Expr("CreditAmount + $CreditAmount"),
                                'CreditDays' => $param['CreditDays'],
                                'CreditDate' => $CreditDate,
                                'IsOneTime' => (isset($CreditLimitData['IsOneTime']) && !empty($CreditLimitData['IsOneTime'])) ? (int) $CreditLimitData['IsOneTime'] : 0,
                                'UserSysId' => $intLoggedinUserId,
                                'CreateDate' => date('Y-m-d H:i'),
                                'UpdateDate' => date('Y-m-d H:i'),
                                'IsMarkForDel' => 0,
                                'IsActive' => 1,
                            ];
                        } else {
                            $saveData = [
                                'BalanceAmount' => new Zend_Db_Expr("BalanceAmount - $CreditAmount"),
                                'CreditAmount' => new Zend_Db_Expr("CreditAmount - $CreditAmount"),
                                'CreditDays' => $param['CreditDays'],
                                'CreditDate' => $CreditDate,
                                'UserSysId' => $intLoggedinUserId,
                                'IsOneTime' => (isset($CreditLimitData['IsOneTime']) && !empty($CreditLimitData['IsOneTime'])) ? (int) $CreditLimitData['IsOneTime'] : 0,
                                'CreateDate' => date('Y-m-d H:i'),
                                'UpdateDate' => date('Y-m-d H:i'),
                                'IsMarkForDel' => 0,
                                'IsActive' => 1,
                            ];
                        }
                    } else {
                        if (isset($CreditLimitData['TrxType']) && (int) $CreditLimitData['TrxType'] == 1) {
                            $saveData = [
                                'BalanceAmount' => new Zend_Db_Expr("BalanceAmount + $CreditAmount"),
                                'CreditDays' => $param['CreditDays'],
                                'CreditDate' => $CreditDate,
                                'UserSysId' => $intLoggedinUserId,
                                'IsOneTime' => (isset($CreditLimitData['IsOneTime']) && !empty($CreditLimitData['IsOneTime'])) ? (int) $CreditLimitData['IsOneTime'] : 0,
                                'CreateDate' => date('Y-m-d H:i'),
                                'UpdateDate' => date('Y-m-d H:i'),
                                'IsMarkForDel' => 0,
                                'IsActive' => 1,
                            ];
                        } else {
                            $saveData = [
                                'BalanceAmount' => new Zend_Db_Expr("BalanceAmount - $CreditAmount"),
                                'CreditDays' => $param['CreditDays'],
                                'CreditDate' => $CreditDate,
                                'UserSysId' => $intLoggedinUserId,
                                'IsOneTime' => (isset($CreditLimitData['IsOneTime']) && !empty($CreditLimitData['IsOneTime'])) ? (int) $CreditLimitData['IsOneTime'] : 0,
                                'CreateDate' => date('Y-m-d H:i'),
                                'UpdateDate' => date('Y-m-d H:i'),
                                'IsMarkForDel' => 0,
                                'IsActive' => 1,
                            ];
                        }
                    }
                    $whereQuery1 = array('CreditSysId = ? ' => $CreditSysId, 'AgencySysId = ? ' => $AgencySysId);
                    $objPackage->updateData('TB_Agency_BNPL_Credit', $saveData, $whereQuery1);
                    $BalanceAmount = $objAgency->getBNPLCreditBalance($CreditSysId, $AgencySysId);
                    $saveHistoryData = [
                        'CreditDays' => $param['CreditDays'],
                        'CreditDate' => $CreditDate,
                        'UserSysId' => $intLoggedinUserId,
                        'BalanceAmount' => $BalanceAmount,
                        'Remark' => $param['Remark'],
                        'OTPCode' => 0,
                        'CodeValidFrom' => date('Y-m-d H:i'),
                        'CodeValidTo' => date('Y-m-d H:i', (strtotime(date('Y-m-d H:i')) + 600)),
                        'CreateDate' => date('Y-m-d H:i'),
                        'UpdateDate' => date('Y-m-d H:i'),
                        'IsMarkForDel' => 0,
                        'IsActive' => 1,
                    ];

                    $whereQuery2 = array('CreditSysId = ? ' => $CreditSysId, 'HistoryCreditSysId = ? ' => $HistoryCreditSysId, 'AgencySysId = ? ' => $AgencySysId);
                    $objPackage->updateData('TB_Agency_BNPL_Credit_History', $saveHistoryData, $whereQuery2);
                    $response = array('status' => true, 'msg' => 'success', 'CreditSysId' => $CreditSysId, 'HistoryCreditSysId' => $HistoryCreditSysId);
                } else {
                    $response = array('status' => false, 'msg' => 'fail', 'CreditSysId' => $CreditSysId, 'HistoryCreditSysId' => $HistoryCreditSysId);
                }
            } else {
                $CreditDate = date('Y-m-d', strtotime(date('Y-m-d') . " +" . $param['CreditDays'] . " days"));
                $saveData = [
                    'CreditDays' => $param['CreditDays'],
                    'CreditDate' => $CreditDate,
                    'UserSysId' => $intLoggedinUserId,
                    'CreateDate' => date('Y-m-d H:i'),
                    'UpdateDate' => date('Y-m-d H:i'),
                    'IsMarkForDel' => 0,
                    'IsActive' => 1,
                ];
                $BalanceAmount = $objAgency->getBNPLCreditBalance($CreditSysId, $AgencySysId);
                $saveHistoryData = [
                    'CreditDays' => $param['CreditDays'],
                    'CreditDate' => $CreditDate,
                    'UserSysId' => $intLoggedinUserId,
                    'Remark' => $param['Remark'],
                    'OTPCode' => 0,
                    'CodeValidFrom' => date('Y-m-d H:i'),
                    'CodeValidTo' => date('Y-m-d H:i', (strtotime(date('Y-m-d H:i')) + 600)),
                    'CreateDate' => date('Y-m-d H:i'),
                    'UpdateDate' => date('Y-m-d H:i:s'),
                    'IsMarkForDel' => 0,
                    'IsActive' => 1,
                ];
                if ($CreditSysId != '' && $HistoryCreditSysId != '') {
                    $whereQuery1 = array('CreditSysId = ? ' => $CreditSysId, 'AgencySysId = ? ' => $AgencySysId);
                    $objPackage->updateData('TB_Agency_BNPL_Credit', $saveData, $whereQuery1);
                    $whereQuery2 = array('CreditSysId = ? ' => $CreditSysId, 'HistoryCreditSysId = ? ' => $HistoryCreditSysId, 'AgencySysId = ? ' => $AgencySysId);
                    $objPackage->updateData('TB_Agency_BNPL_Credit_History', $saveHistoryData, $whereQuery2);
                    $response = array('status' => true, 'msg' => 'success', 'CreditSysId' => $CreditSysId, 'HistoryCreditSysId' => $HistoryCreditSysId);
                } else {
                    $response = array('status' => false, 'msg' => 'fail', 'CreditSysId' => $CreditSysId, 'HistoryCreditSysId' => $HistoryCreditSysId);
                }
            }
            echo json_encode($response);
            exit;
        }
    }

    public function saveTopUpDataAction() {
        $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');
        $intLoggedinUserId = $sessionLogin_user->intLoggedinUserId;
        if ($this->getRequest()->isPost()) {
            $param = $this->getRequest()->getParams();
            $objPackage = new Travel_Model_TblPackage();
            $objAgency = new Travel_Model_TblAgency();
            $CreditSysId = isset($param['CreditSysId']) ? $param['CreditSysId'] : 0;
            $topupAmount = isset($param['topupAmount']) ? $param['topupAmount'] : 0;
            $topupRemark = isset($param['topupRemark']) ? $param['topupRemark'] : 0;
            $CurrencyType = isset($param['CurrencyType']) ? $param['CurrencyType'] : 1;
            $CreditDate = date("Y-m-d H:i");
            $AgencySysId = isset($param['B2BAgencySysId']) ? $param['B2BAgencySysId'] : 0;
            $checkCreditBalance = $objAgency->checkCreditBalance($AgencySysId, $CreditSysId);
            if (!empty($checkCreditBalance)) {
                $saveHistoryData = [
                    'AgencySysId' => $AgencySysId,
                    'CreditSysId' => $CreditSysId,
                    'CurrencyType' => $CurrencyType,
                    'CreditAmount' => isset($checkCreditBalance[0]['CreditAmount']) ? $checkCreditBalance[0]['CreditAmount'] : 0,
                    'BalanceAmount' => isset($checkCreditBalance[0]['BalanceAmount']) ? ($checkCreditBalance[0]['BalanceAmount'] + $topupAmount) : 0,
                    'CreditDays' => isset($checkCreditBalance[0]['CreditDays']) ? $checkCreditBalance[0]['CreditDays'] : 0,
                    'CreditDate' => $CreditDate,
                    'UserSysId' => $intLoggedinUserId,
                    'Remark' => $topupRemark,
                    'IsCredit' => 2,
                    'OTPCode' => '',
                    'CodeValidFrom' => $CreditDate,
                    'CodeValidTo' => $CreditDate,
                    'CreateDate' => $CreditDate,
                    'UpdateDate' => $CreditDate,
                    'IsMarkForDel' => 0,
                    'IsActive' => 1,
                    'TrxType' => 1,
                    'Amount' => $topupAmount,
                ];
                try {
                    $objPackage->insertData('TB_Agency_BNPL_Credit_History', $saveHistoryData);
                    $updateData = [
                        'CreditDate' => $CreditDate,
                        'UpdateDate' => $CreditDate,
                        'BalanceAmount' => new Zend_Db_Expr("BalanceAmount + $topupAmount")
                    ];
                    $whereQuery1 = array('CreditSysId = ? ' => $CreditSysId, 'AgencySysId = ? ' => $AgencySysId);
                    try {
                        $objPackage->updateData('TB_Agency_BNPL_Credit', $updateData, $whereQuery1);
                        $response = array('status' => true, 'msg' => 'Success', 'CreditSysId' => '');
                    } catch (Zend_Exception $e) {
                        $returnErrorMessage = $e->getMessage();
                        $response = array('status' => false, 'msg' => $returnErrorMessage, 'CreditSysId' => '');
                    }
                } catch (Zend_Exception $e) {
                    $returnErrorMessage = $e->getMessage();
                    $response = array('status' => false, 'msg' => $returnErrorMessage, 'CreditSysId' => '');
                }
            } else {
                $response = array('status' => false, 'msg' => 'Please contact to admin', 'CreditSysId' => '');
            }
        } else {
            $response = array('status' => false, 'msg' => 'Please use post method', 'CreditSysId' => '');
        }
        echo json_encode($response);
        exit;
    }

    public function isActivateAction() {
        if ($this->getRequest()->isPost()) {
            $objAgency = new Travel_Model_TblAgency();
            $param = $this->getRequest()->getParams();
            $isActivate = (isset($param['isActivate']) && $param['isActivate'] == 1) ? 1 : 0;
            $AgencySysId = (isset($param['AgencySysId'])) ? $param['AgencySysId'] : 0;
            $saveData = [
                'IsCheckB2BWallet' => $isActivate,
                'FirmType' => 0,
                'RandomCode' => '',
            ];
            if (!empty($AgencySysId)) {
                $whereQuery1 = array('AgencySysId = ? ' => $AgencySysId);
                try {
                    $objAgency->updateData('TB_Agency', $saveData, $whereQuery1);
                    $response = array('status' => true, 'msg' => 'success', 'AgencySysId' => $AgencySysId, 'isActivate' => $isActivate);
                } catch (Zend_Exception $e) {
                    $response = array('status' => false, 'msg' => $e->getMessage(), 'AgencySysId' => $AgencySysId);
                }
            } else {
                $response = array('status' => false, 'msg' => 'fail', 'AgencySysId' => $AgencySysId);
            }
            echo json_encode($response);
            exit;
        }
    }

    public function stopStartCreditLimitAction() {
        $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');
        $intLoggedinUserId = $sessionLogin_user->intLoggedinUserId;
        if ($this->getRequest()->isPost()) {
            $param = $this->getRequest()->getParams();
            //  echo "<pre>"; print_r($param); die;

            $objPackage = new Travel_Model_TblPackage();
            $objAgency = new Travel_Model_TblAgency();
            $isStart = (isset($param['isStart']) && $param['isStart'] == 1) ? 1 : 0;
            $CreditSysId = (isset($param['CreditSysId'])) ? $param['CreditSysId'] : 0;
            $AgencySysId = (isset($param['AgencySysId'])) ? $param['AgencySysId'] : 0;
            $saveData = [
                'IsActive' => $isStart,
            ];
            if (!empty($CreditSysId) && !empty($AgencySysId)) {
                $whereQuery1 = array('CreditSysId = ? ' => $CreditSysId, 'AgencySysId = ? ' => $AgencySysId);
                try {

                    $objPackage->updateData('TB_Agency_BNPL_Credit', $saveData, $whereQuery1);
                } catch (Zend_Exception $e) {
                    $response = array('status' => false, 'msg' => $e->getMessage(), 'CreditSysId' => $CreditSysId);
                }
                $response = array('status' => true, 'msg' => 'success', 'CreditSysId' => $CreditSysId, 'isStart' => $isStart);
            } else {

                $response = array('status' => false, 'msg' => 'fail', 'CreditSysId' => $CreditSysId);
            }
            echo json_encode($response);
            exit;
        }
    }

    public function viewDetailOfflineAction() {
        $this->view->layout()->disableLayout();
        $cid = $this->getRequest()->getParam('cid') ? base64_decode(trim($this->getRequest()->getParam('cid'))) : '';
        $hcid = $this->getRequest()->getParam('hcid') ? base64_decode(trim($this->getRequest()->getParam('hcid'))) : '';
        $objAgency = new Travel_Model_TblAgency();
        if ($hcid) {
            $CreditHistoryData = $objAgency->getAgencyCreditHistoryDataById($cid, $hcid);
            //            echo "<pre>";print_r($CreditHistoryData);die;
            $this->view->CreditHistoryData = $CreditHistoryData;
        }
    }

    public function updateDetailOfflinePaymentAction() {
        $sessionLogin_user = new Zend_Session_Namespace('sessionLogin_user');
        $intLoggedinUserId = $sessionLogin_user->intLoggedinUserId;
        $intLoggedinAgentUserId = $sessionLogin_user->intLoggedinUserAgencySysId;
        if ($this->getRequest()->isPost()) {
            $param = $this->getRequest()->getParams();

            $objPackage = new Travel_Model_TblPackage();
            $objAgency = new Travel_Model_TblAgency();
            $AgencySysId = (isset($param['AgencySysId'])) ? $param['AgencySysId'] : 0;
            $CreditSysId = (isset($param['CreditSysId'])) ? $param['CreditSysId'] : 0;
            $HistoryCreditSysId = (isset($param['HistoryCreditSysId'])) ? $param['HistoryCreditSysId'] : 0;
            $remark = (isset($param['remark'])) ? $param['remark'] : '';
            $IsActive = (isset($param['IsActive'])) ? $param['IsActive'] : 0;
            $CreditDate = date("Y-m-d H:i:s");
            if ($IsActive == 0) {
                $wherehistory = array('CreditSysId = ? ' => $CreditSysId, 'HistoryCreditSysId = ? ' => $HistoryCreditSysId);
                $updateHistoryData = [
                    'UpdateDate' => $CreditDate,
                    'Remark' => $remark,
                ];
                $objPackage->updateData('TB_Agency_BNPL_Credit_History', $updateHistoryData, $wherehistory);
                $response = array('status' => false, 'msg' => 'Success', 'CreditSysId' => '');
                echo json_encode($response);
                exit;
            }


            $getAgencyData = $objAgency->isB2BAgencyExists('', $AgencySysId, $intLoggedinAgentUserId);

            $MasterAgencyData = $objAgency->getAgencyDataById($intLoggedinAgentUserId);
            $PreviousBalance = $objAgency->getCreditBalance($CreditSysId, $AgencySysId);
            $IsB2bSiteURL = $this->agencyDetails['IsB2bSiteURL'];

            $checkOfflineData = $objAgency->checkOfflineData($CreditSysId, $HistoryCreditSysId, $AgencySysId);
            $whereQuery1111 = array('CreditSysId = ? ' => $CreditSysId, 'HistoryCreditSysId = ? ' => $HistoryCreditSysId);
            // echo "<pre>";print_r($param);exit;
            if (!empty($checkOfflineData)) {
                if ((isset($checkOfflineData['IsActive']) && $checkOfflineData['IsActive'] == 0) && (isset($checkOfflineData['IsCredit']) && trim($checkOfflineData['IsCredit']) == 2) && (isset($checkOfflineData['PlanType']) && $checkOfflineData['PlanType'] == 7)) {
                    $topupAmount = isset($checkOfflineData['Amount']) ? $checkOfflineData['Amount'] : 0;
                    if (isset($checkOfflineData['TrxType']) && $checkOfflineData['TrxType'] == 1) {
                        $updateData = [
                            'UpdateDate' => $CreditDate,
                            'BalanceAmount' => new Zend_Db_Expr("BalanceAmount + $topupAmount")
                        ];
                    } else {
                        $updateData = [
                            'UpdateDate' => $CreditDate,
                            'BalanceAmount' => new Zend_Db_Expr("BalanceAmount - $topupAmount")
                        ];
                    }
                    $whereQuery1 = array('CreditSysId = ? ' => $CreditSysId, 'AgencySysId = ? ' => $AgencySysId);
                    try {
                        $objPackage->updateData('TB_Agency_BNPL_Credit', $updateData, $whereQuery1);
                        $getUpdatedBalance = $objAgency->getCreditBalance($CreditSysId, $AgencySysId);
                        $saveData = [
                            'IsActive' => 1,
                            'UpdateDate' => $CreditDate,
                            'Remark' => $remark,
                            'BalanceAmount' => $getUpdatedBalance
                        ];
                        $objPackage->updateData('TB_Agency_BNPL_Credit_History', $saveData, $whereQuery1111);
                        // ################ Update status on B2B Agent portal ###################
                        $postFields = array(
                            'MasterAgencySysId' => $intLoggedinAgentUserId,
                            'AgencySysId' => $AgencySysId,
                            'TrxId' => $checkOfflineData['TrxId'],
                        );
                        $url = trim($IsB2bSiteURL) . "gtxwebservices/index/updatedepositrequest";
                        $ch = curl_init();
                        curl_setopt($ch, CURLOPT_URL, $url);
                        curl_setopt($ch, CURLOPT_HEADER, 0);
                        curl_setopt($ch, CURLOPT_POST, 1);
                        if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') {
                            curl_setopt($ch, CURLOPT_PORT, 443);
                            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
                            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
                        }
                        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
                        curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
                        $output = curl_exec($ch);
                        // ################ Email confirmation for b2b Agent #####################
                        $CurrentBalance = $objAgency->getCreditBalance($CreditSysId, $AgencySysId);
                        $getAgencyFinanceUserDetail = $objAgency->getAgencyFinanceUserDetail($intLoggedinAgentUserId);
                        $html = new Zend_View();
                        $html->setScriptPath(APPLICATION_PATH . '/modules/finance/views/scripts/b2b-deposit-request/');
                        if (!empty($getAgencyFinanceUserDetail)) {
                            $MasterAgencyData['PrimaryMobileNo'] = trim($getAgencyFinanceUserDetail['ContactNo1']);
                            $MasterAgencyData['countrycode'] = trim($getAgencyFinanceUserDetail['countrycode']);
                            $MasterAgencyData['PrimaryEmail'] = trim($getAgencyFinanceUserDetail['EmailId']);
                        }

                        $html->assign(array('post' => $checkOfflineData, 'getAgencyData' => $getAgencyData, 'MasterAgencyData' => $MasterAgencyData, 'TransactionId' => $checkOfflineData['TrxId'], 'CurrentBalance' => $CurrentBalance, 'PreviousBalance' => $PreviousBalance, 'baseUrl' => $this->baseUrl));

                        $bodyText = $html->render('depositupdateemail.phtml');
                        $subject = 'Deposit Update Ref. No.: ' . $checkOfflineData['TrxId'];
                        $configs = [
                            'to' => array($getAgencyData['PrimaryEmail']),
                            'fromName' => $MasterAgencyData['DisplayName'],
                            'fromEmail' => $MasterAgencyData['PrimaryEmail'],
                            'subject' => $subject,
                            'bodyHtml' => $bodyText,
                        ];
                        $arrEmailStatisticsType = array_keys(unserialize(ARR_EMAIL_STATISTICS_TYPE));

                        $arrEmailStatistics = array(
                            "TPSysId" => '',
                            "TypeSysId" => 1, // 1 For Email 2 For SMS
                            "AgencySysId" => $intLoggedinAgentUserId,
                            "AgentSysId" => $intLoggedinUserId,
                            "Title" => $subject,
                            "Source" => $arrEmailStatisticsType[2], // 1 For Vouchers Emailing
                            "Status" => 0,
                            "RefSysId" => "",
                            "RefSysStatus" => "",
                            "CreateDate" => date('Y-m-d H:i:s')
                        );

                        $this->mailSentByElastice($configs, $arrEmailStatistics);
                        $response = array('status' => true, 'msg' => 'Success', 'CreditSysId' => '');
                    } catch (Zend_Exception $e) {
                        $returnErrorMessage = $e->getMessage();
                        $response = array('status' => false, 'msg' => $returnErrorMessage, 'CreditSysId' => '');
                    }
                } else {
                    $returnErrorMessage = "Test Please Contact To Admin!";
                    $response = array('status' => false, 'msg' => $returnErrorMessage, 'CreditSysId' => '');
                }
            } else {
                $returnErrorMessage = "Please Contact To Admin!";
                $response = array('status' => false, 'msg' => $returnErrorMessage, 'CreditSysId' => '');
            }
        } else {
            $returnErrorMessage = "Please Use Post Method";
            $response = array('status' => false, 'msg' => $returnErrorMessage, 'CreditSysId' => '');
        }
        echo json_encode($response);
        exit;
    }

    public function changeAgencyStatusAction() {
        //$this->view->layout()->disableLayout();
        //$this->_helper->viewRenderer->setNoRender(true);
        if ($this->getRequest()->isPost()) {
            $param = $this->getRequest()->getParams();

            $AgencySysId = isset($param['uid']) ? base64_decode($param['uid']) : '';
            $loopId = isset($param['loopId']) ? $param['loopId'] : '';

            $objAgency = new Travel_Model_TblAgency();
            $statustext = '';
            if (isset($AgencySysId) && !empty($AgencySysId)) {
                $AgencyData = $objAgency->getUserDataByAgency($AgencySysId);
                //echo "<pre>";print_r($AgencyData);exit;
                if (!empty($AgencyData)) {
                    $arrayData = array(
                        'IsActive' => ($AgencyData['IsActive'] == 1) ? 0 : 1,
                        'UpdateDate' => date('Y-m-d H:i:s')
                    );
                    $updateAgencyId = $objAgency->updateAgencyData($arrayData, $AgencySysId);
                    $statustext = ($AgencyData['IsActive'] == 1) ? 'Deactivate' : 'Activate';
                    if ($AgencyData['IsActive'] == 0) {
                        $data = "<a href=\"javascript:void(0);\" onclick=\"return changeAgencyActiveDeactive('status_','linkclass_','" . base64_encode($AgencyData['AgencySysId']) . "'," . $loopId . ",'Active');\" title=\"" . $statustext . "\" class=\"tooltipLink glyphicon glyphicon fa fa-times view_text gtxsendemail\"></a>";
                    } else {
                        $data = "<a href=\"javascript:void(0);\" onclick=\"return changeAgencyActiveDeactive('status_','linkclass_','" . base64_encode($AgencyData['AgencySysId']) . "'," . $loopId . ",'Deactive');\" title=\"" . $statustext . "\" class=\"tooltipLink glyphicon glyphicon-ok-circle gtxsendemail view_text\"></a>";
                    }
                    echo json_encode(array('status' => true, 'msg' => ($AgencyData['IsActive'] == 1) ? 'Deactive' : 'Active', 'data' => $data));
                } else {
                    echo json_encode(array('status' => false, 'msg' => 'Error', 'data' => array()));
                }
            } else {
                echo json_encode(array('status' => false, 'msg' => 'Error', 'data' => array()));
            }
        }
    }

    public function exportLedgerAction() {
        $objAgency = new Travel_Model_TblAgency();
        $AgencySysId = $this->intLoggedinUserAgencySysId;
        if ($this->IsAdmin == true) {
            $filterData = array("IsApproved" => 1);
            $CreditLimitData = $objAgency->getBNPLB2BAgency($AgencySysId, $filterData, 1, "export");
            $resultsetArr = array();
            if ($CreditLimitData) {
                $i = 1;
                foreach ($CreditLimitData as $Agency) {
                    $RM = "";
                    if (isset($Agency['RFirstName']) && $Agency['RFirstName'] != "") {
                        $RM = ucfirst(trim($Agency['RFirstName']));
                    }
                    if (isset($Agency['RLastName']) && $Agency['RLastName'] != "") {
                        $RM = $RM . ' ' . ucfirst(trim($Agency['RLastName']));
                    }
                    $cosumedAmount = (float) $Agency['CreditAmount'] - (float) $Agency['BalanceAmount'];
                    $resultsetArr[$i]['S.No.'] = $i;
                    $resultsetArr[$i]['Agency ID'] = $Agency['AgencySysId'];
                    $resultsetArr[$i]['Agency Name'] = trim($Agency['PrimaryContactName']);
                    $resultsetArr[$i]['Email Id'] = trim($Agency['PrimaryEmail']);
                    $resultsetArr[$i]['Contact No.'] =trim($Agency['countrycode']).'-'.trim($Agency['ContactInfo']);
                    $resultsetArr[$i]['BNPL Limit'] = (float) $Agency['CreditAmount'];
                    $resultsetArr[$i]['BNPL Consumed'] = $cosumedAmount;
                    $resultsetArr[$i]['BNPL Balance'] = (float) $Agency['BalanceAmount'];
                    $resultsetArr[$i]['RM'] = $RM;
                    $resultsetArr[$i]['Status'] = ($Agency['IsActive'] == 1) ? 'Active' : 'Deactive';
                    $resultsetArr[$i]['Active Since'] = $Agency['CreateDate']->format("d/m/Y");
                    $resultsetArr[$i]['Settlement Date'] = ($Agency['CreditDate']) ? $Agency['CreditDate']->format("d/m/Y") : '-';
                    $i++;
                }
            }
            $sheetTitle = "ledger";
            $arrFieldLabel = array("S.No.", "Agency ID", "Agency Details", "Email Id", "Contact No.", "BNPL Limit", "BNPL Consumed", "BNPL Balance", "RM", "Status", "Active Since", "Settlement Date");
            Zend_Controller_Action_HelperBroker::getStaticHelper("CreateExcel")->exportToExcel($sheetTitle, $arrFieldLabel, $resultsetArr);
        } else {
            echo "Please contact to admin user";
            exit;
        }
    }

}

Youez - 2016 - github.com/yon3zu
LinuXploit