Example #1
0
 public function exportCommonMarket()
 {
     if (!Yii::app()->user->checkAccess("Export Decisions")) {
         throw new CHttpException(403, 'You are not authorized to access this feature');
     }
     $export_key = 'cm';
     $models = EacFacts::model()->findAll();
     spl_autoload_unregister(array('YiiBase', 'autoload'));
     $phpExcelPath = Yii::getPathOfAlias('application.vendor.phpoffice');
     include $phpExcelPath . DIRECTORY_SEPARATOR . 'PHPExcel.php';
     // Create new PHPExcel object
     $objPHPExcel = new PHPExcel();
     // Set properties
     $objPHPExcel->getProperties()->setCreator("EAMS Country TZ")->setLastModifiedBy("EAMs")->setTitle("EAMS TZ  Export")->setSubject("EAMS TZ Export")->setDescription("EAMS TZ Export")->setKeywords("office 2007 openxml php")->setCategory("common market");
     $objPHPExcel->getActiveSheet()->setTitle('Common Market');
     // Add heading row
     $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', 'Freedoms / Rights')->setCellValue('B1', 'Provision')->setCellValue('C1', 'Indicator')->setCellValue('D1', 'Data Collection Guidelines')->setCellValue('E1', 'Numeric Data')->setCellValue('F1', 'Alphanumeric Data')->setCellValue('G1', 'Indicator_ID')->setCellValue('H1', 'data_field_code')->setCellValue('I1', 'reporting_period')->setCellValue('J1', 'financial_year');
     $rowCount = 2;
     foreach ($models as $model) {
         $objPHPExcel->setActiveSheetIndex(0)->setCellValue("A{$rowCount}", $model->protocol_details)->setCellValue("B{$rowCount}", $model->protocol_provision_description)->setCellValue("C{$rowCount}", $model->indicator_description)->setCellValue("D{$rowCount}", $model->data_collection_guidelines)->setCellValue("E{$rowCount}", $model->numeric_data)->setCellValue("F{$rowCount}", $model->alphanumeric_data)->setCellValue("G{$rowCount}", $model->indicator_id)->setCellValue("H{$rowCount}", $model->data_field_code)->setCellValue("I{$rowCount}", 'reporting period')->setCellValue("J{$rowCount}", 'financial year');
         $rowCount++;
     }
     // header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
     // header('Content-Disposition: attachment;filename="template.xlsx"');
     // header('Cache-Control: max-age=0');
     $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
     $targetDir = Yii::getPathOfAlias('webroot') . '/uploads/exports/';
     $filename = 'common_market_export_' . md5(time() . uniqid('export', true)) . '.xlsx';
     $objWriter->save($targetDir . $filename);
     spl_autoload_register(array('YiiBase', 'autoload'));
     $fileExportModel = new EamsFilesExport();
     $fileExportModel->name = $filename;
     $fileExportModel->export_key = $export_key;
     $fileExportModel->mime_type = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
     $fileExportModel->file_extension = 'xlsx';
     $fileExportModel->file_size = filesize($targetDir . $filename);
     $fileExportModel->date_created = date('Y-m-d H:i:s');
     $fileExportModel->save();
     $this->sendFileToEamsCentral($fileExportModel);
 }
Example #2
0
 /**
  * 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 EacFacts the loaded model
  * @throws CHttpException
  */
 public function loadModel($id)
 {
     $model = EacFacts::model()->findByPk($id);
     if ($model === null) {
         throw new CHttpException(404, 'The requested page does not exist.');
     }
     return $model;
 }
Example #3
0
 public function actionSaveCommonMarket()
 {
     if (isset($_POST['data'])) {
         $data = json_decode($_POST['data']);
         foreach ($data as $key => $item) {
             if (!EacFacts::model()->exists('indicator_id = :id', [':id' => $item->indicator_id])) {
                 $fact = new EacFacts();
                 $fact->protocol_id = $item->protocol_id;
                 $fact->protocol_details = $item->protocol_details;
                 $fact->protocol_provision_id = $item->protocol_provision_id;
                 $fact->protocol_provision_description = $item->provision;
                 $fact->data_field_code = $item->data_field_code;
                 $fact->data_field_desc = "";
                 $fact->indicator_id = $item->indicator_id;
                 $fact->indicator_description = $item->indicator;
                 $fact->data_collection_guidelines = $item->data_collection_guidelines;
                 $fact->date_created = date('Y-m-d H:i:s');
                 $fact->create_user_id = Yii::app()->user->id;
                 $fact->date_updated = date('Y-m-d H:i:s');
                 $fact->update_user_id = Yii::app()->user->id;
                 $fact->save();
             }
             //if
         }
         //foreach
     }
 }