/**
  * This is the default 'index' action that is invoked
  * when an action is not explicitly requested by users.
  */
 public function actionIndex()
 {
     $leadsAndStatusDataProvider = new LeadsStatusDataProvider();
     // $leadsAndStatusDataProvider = new LeadsStatusUrlDataProvider();
     $chartDataObj = new ChartDataProvider($leadsAndStatusDataProvider->data);
     $chartDataProvider = $chartDataObj->getData();
     /* client data */
     $clientVb = Yii::app()->askteriskDb->createCommand("select * from client_panel")->queryAll();
     $clientj6 = Yii::app()->askteriskDb->createCommand("select * from clientj6_sec_today")->queryAll();
     $clientj6 = $clientj6[0];
     $_5CXFER = Yii::app()->askteriskDb->createCommand("select * from `5cxfer_today`")->queryRow();
     $criteria = new CDbCriteria();
     $criteria->order = "date_created DESC";
     $currentBalance = BalanceLog::model()->find($criteria);
     $updatedInitBalance = 300;
     foreach ($clientVb as $key => $value) {
         if ($currentBalance) {
             $updatedInitBalance = $currentBalance->current_balance;
         } else {
             $currentBalance->current_balance = 300;
             $currentBalance->save();
         }
         $tempContainer = $clientVb[$key];
         $tempContainer['raw_seconds'] = doubleval($value['seconds']) + doubleval($clientj6['seconds']);
         $tempContainer['id'] = uniqid();
         $tempContainer['total'] = doubleval($tempContainer['raw_seconds']) / 60 * doubleval($value['ppminc']);
         $tempContainer['balance'] = doubleval($updatedInitBalance);
         $tempContainer['balance'] -= doubleval($tempContainer['total']);
         $tempContainer['total'] = '£ ' . sprintf("%.2f", $tempContainer['total']);
         $tempContainer['balance'] = '£ ' . sprintf("%.2f", $tempContainer['balance']);
         $tempContainer['raw_seconds'] = doubleval($value['seconds']) + doubleval($clientj6['seconds']);
         $tempContainer['hours'] = intval($tempContainer['raw_seconds'] / (60 * 60));
         $tempContainer['minutes'] = intval($tempContainer['raw_seconds'] / 60);
         $tempContainer['seconds'] = intval($tempContainer['raw_seconds'] % 60);
         // $tempContainer['cxfer']  = $_5CXFER['generated'];
         $tempContainer['cxfer'] = BarryOptLog::getCountToday();
         $clientVb[$key] = $tempContainer;
     }
     /*compute the total*/
     /*file uploaded*/
     $fileUploadedObj = new ClientUploadedData();
     $fileUploadedArr = $fileUploadedObj->getListUploaded();
     /*export range form*/
     $exportModel = new ExportRangeForm();
     $exportModel->unsetAttributes();
     if (isset($_POST['ExportRangeForm'])) {
         $exportModel->attributes = $_POST['ExportRangeForm'];
         if ($exportModel->validate()) {
             $this->redirect(array("/export/range", "dateFrom" => $exportModel->date_from, "dateTo" => $exportModel->date_to));
         } else {
             Yii::app()->user->setFlash("error", CHtml::errorSummary($exportModel));
             $this->redirect(array('/site/index'));
         }
     }
     $this->render('index', compact('clientVb', 'fileUploadedArr', 'exportModel', 'leadsAndStatusDataProvider', 'chartDataProvider'));
 }
 /**
  * This is the default 'index' action that is invoked
  * when an action is not explicitly requested by users.
  */
 public function actionIndex()
 {
     $dialableLeads = 0;
     $leadsAndStatusDataProvider1 = new LeadsStatusDataProvider('1501');
     $leadsAndStatusDataProvider2 = new LeadsStatusDataProvider('1502');
     if (isset($_GET['listid']) && $_GET['listid'] == '1503,1504') {
         $leadsAndStatusDataProvider1 = new LeadsStatusDataProvider('1503');
         $leadsAndStatusDataProvider2 = new LeadsStatusDataProvider('1504');
     }
     //@TODO - combine leads status
     $data1Arr = $leadsAndStatusDataProvider1->data;
     $data2Arr = $leadsAndStatusDataProvider2->data;
     $tempClone = array();
     if (!empty($data1Arr)) {
         $tempClone = $data1Arr;
     } else {
         if (!empty($data2Arr)) {
             $tempClone = $data2Arr;
         }
     }
     $combinedArr = array();
     foreach ($tempClone as $key => $value) {
         $first = $data1Arr[$key]['lead'];
         $second = $data2Arr[$key]['lead'];
         $combinedArr[] = array('id' => $key, 'status' => $tempClone[$key]['status'], 'lead' => intval($first) + intval($second));
         if ($tempClone[$key]['status'] == 'New Lead') {
             $dialableLeads = intval($first) + intval($second);
         }
     }
     $leadsAndStatusDataProvider = new CArrayDataProvider($combinedArr, array('id' => 'id', 'keyField' => 'id'));
     $leadsAndStatusDataProvider->pagination = false;
     //Pass the combined data for chart
     $chartDataObj = new ChartDataProvider($leadsAndStatusDataProvider->data);
     $chartDataProvider = $chartDataObj->getData();
     /* client data */
     $clientVb = Yii::app()->askteriskDb->createCommand("select * from client_panel")->queryAll();
     // $clientj6 = Yii::app()->askteriskDb->createCommand("select * from clientj6_sec_today")->queryAll();
     // $clientj6 = $clientj6[0];
     // $_5CXFER = Yii::app()->askteriskDb->createCommand("select * from `5cxfer_today`")->queryRow();
     $criteria = new CDbCriteria();
     $criteria->order = "date_created DESC";
     $currentBalance = BalanceLog::model()->find($criteria);
     $updatedInitBalance = 300;
     foreach ($clientVb as $key => $value) {
         if ($currentBalance) {
             $updatedInitBalance = $currentBalance->current_balance;
         } else {
             $currentBalance->current_balance = 300;
             $currentBalance->save();
         }
         $tempContainer = $clientVb[$key];
         if (!is_null(@$clientj6) && isset($clientj6['seconds'])) {
             $tempContainer['raw_seconds'] = doubleval($value['seconds']) + doubleval($clientj6['seconds']);
         }
         $tempContainer['raw_seconds'] = doubleval($value['seconds']);
         $tempContainer['id'] = uniqid();
         $tempContainer['total'] = doubleval($tempContainer['raw_seconds']) / 60 * doubleval($value['ppminc']);
         $tempContainer['balance'] = doubleval($updatedInitBalance);
         $tempContainer['balance'] -= doubleval($tempContainer['total']);
         $tempContainer['total'] = '£ ' . sprintf("%.2f", $tempContainer['total']);
         $tempContainer['balance'] = '£ ' . sprintf("%.2f", $tempContainer['balance']);
         $tempContainer['raw_seconds'] = doubleval($value['seconds']) + doubleval($clientj6['seconds']);
         $tempContainer['hours'] = intval($tempContainer['raw_seconds'] / (60 * 60));
         $tempContainer['minutes'] = intval($tempContainer['raw_seconds'] / 60);
         $tempContainer['seconds'] = intval($tempContainer['raw_seconds'] % 60);
         $tempContainer['leads'] = intval($dialableLeads);
         // $tempContainer['cxfer']  = $_5CXFER['generated'];
         $tempContainer['cxfer'] = BarryOptLog::getCountToday();
         $clientVb[$key] = $tempContainer;
     }
     /*compute the total*/
     /*file uploaded*/
     $fileUploadedObj = new ClientUploadedData();
     $fileUploadedArr = $fileUploadedObj->getListUploaded();
     /*export range form*/
     $exportModel = new ExportRangeForm();
     $exportModel->unsetAttributes();
     if (isset($_POST['ExportRangeForm'])) {
         $exportModel->attributes = $_POST['ExportRangeForm'];
         if ($exportModel->validate()) {
             $this->redirect(array("/export/range", "dateFrom" => $exportModel->date_from, "dateTo" => $exportModel->date_to));
         } else {
             Yii::app()->user->setFlash("error", CHtml::errorSummary($exportModel));
             $this->redirect(array('/site/index'));
         }
     }
     $this->render('index', compact('clientVb', 'fileUploadedArr', 'exportModel', 'leadsAndStatusDataProvider', 'chartDataProvider'));
 }
 /**
  * Returns the data model based on the primary key given in the GET variable.
  * If the data model is not found, an HTTP exception will be raised.
  * @param integer $id the ID of the model to be loaded
  * @return BalanceLog the loaded model
  * @throws CHttpException
  */
 public function loadModel($id)
 {
     $model = BalanceLog::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }