MINI
C:
/
SiakApp2.2
/
apps
/
ddn
/
modules
/
Proyeksi
/
actions
/
Upload File:
files >> C:/SiakApp2.2/apps/ddn/modules/Proyeksi/actions/GenerateAction.class.php
<?php class GenerateAction extends sfActions{ public function preExecute(){ require_once SIAK_ROOT_INCLUDE."siak_session.php"; } public function executeGenerate(sfWebRequest $request){ $input=$this->getController()->getPresentationFor('Proyeksi','GenerateInput'); $fileInput_name='C:\FIVSIN\INPUT.FIV'; $fileInput = fopen('C:\FIVSIN\INPUT.FIV','w'); fwrite($fileInput, $input); fclose(fileInput); $fileOutput_name='C:\FIVSIN\OUTPUT.FIV'; $pathExec = 'C:\FIVSIN\FIVFIV.EXE '.$fileInput_name.' '.$fileOutput_name; $WshShell = new COM("WScript.Shell"); $oExec = $WshShell->Exec($pathExec); $ukuran_awal=0; $sama_ukuran=false; while(!$sama_ukuran){ if(file_exists($fileOutput_name)){ $ukuran=filesize($fileOutput_name); if($ukuran==0){ sleep(1); }else{ if($ukuran!=$ukuran_awal){ $ukuran_awal=$ukuran; sleep(2); }else $sama_ukuran=true; } clearstatcache(); } else sleep(1); } $this->GenerateOutput(); //return sfView::NONE; } function GenerateOutput(){ $fileOutput_name='C:\FIVSIN\OUTPUT.FIV'; $fileOutput = fopen($fileOutput_name,'r'); $dataLaki=array(); $dataWanita=array(); $lineNumber=1; $lineLaki=0; $linePerempuan=0; while (! feof ($fileOutput)) { $line= fgets ($fileOutput); if($lineNumber>=185 && $lineNumber<=200){ $this->masukkanData($dataWanita,$linePerempuan,$line); //echo $line; $linePerempuan++; } if($lineNumber>=204 && $lineNumber<=219){ $this->masukkanData($dataLaki,$lineLaki,$line); //echo $line; $lineLaki++; } $lineNumber++; } fclose ($fileOutput); for($i=0,$tahun=$this->getUser()->getAttribute('pr_thn')+5;$i<7;$i++,$tahun+=5){ $prOutputLaki=new PrOutput(); $prOutputLaki->setTahun($tahun); $prOutputLaki->setJenisKlmin(1); $prOutputLaki->delete(); $prOutputLaki=new PrOutput(); $prOutputLaki->setTahun($tahun); $prOutputLaki->setJenisKlmin(1); $prOutputLaki->setCreatedBy($this->getUser()->getAttribute('ses_siak_user')); $prOutputLaki->setCreatedDate(date('d-m-Y')); $prOutputWanita=new PrOutput(); $prOutputWanita->setTahun($tahun); $prOutputWanita->setJenisKlmin(2); $prOutputWanita->delete(); $prOutputWanita=new PrOutput(); $prOutputWanita->setTahun($tahun); $prOutputWanita->setJenisKlmin(2); $prOutputWanita->setCreatedBy($this->getUser()->getAttribute('ses_siak_user')); $prOutputWanita->setCreatedDate(date('d-m-Y')); for($j=1;$j<=16;$j++){ $prOutputLaki->{'setCol'.tambahnol($j,2)}($dataLaki[$i]['COL'.tambahnol($j,2)]); $prOutputWanita->{'setCol'.tambahnol($j,2)}($dataWanita[$i]['COL'.tambahnol($j,2)]); } $prOutputLaki->save(); $prOutputWanita->save(); } } function masukkanData(&$data,$line,$input){ $dataParser=explode(' ',$input); $dataFilter=array(); for($i=0;$i<count($dataParser);$i++){ if($dataParser[$i]!='') $dataFilter[]=$dataParser[$i]; } for($i=0;$i<7;$i++) $data[$i]['COL'.tambahnol(($line+1),2)]=$dataFilter[$i+2]; } }
Copyright ©2021 || Defacer Indonesia