ACC SHELL

Path : /var/lib/ntp/proc/self/root/srv/www/vhosts/calyx/old/qad/app/presenters/
File Upload :
Current File : //var/lib/ntp/proc/self/root/srv/www/vhosts/calyx/old/qad/app/presenters/HomepagePresenter.php

<?php

/**
 * Homepage presenter.
 */
class HomepagePresenter extends BasePresenter
{

	public function renderDefault()
	{

	}
    
    protected function createComponentHlavniKnihaForm()
    {
        $form = new Nette\Application\UI\Form;
        $form->addUpload("file", "Hlavní kniha");
        $form->addSubmit('submit', 'Nahrát');
        $form->onSuccess[] = callback($this, 'hlavniKnihaFormSubmitted');
        return $form;
    }

    function hlavniKnihaFormSubmitted($form)
    {
        $values = $form->getValues();
        $file = $values["file"];
        $this->hlavniKniha($file->getContents());
    }
    
    private function hlavniKniha($contents)
    {
        $lines = explode("\n", iconv("Windows-1250", "UTF-8", $contents));
//        dump($lines);
        
        define('EOL', (PHP_SAPI == 'cli') ? PHP_EOL : '<br />');

        PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP);
        
        // Create new PHPExcel object
//        echo date('H:i:s') , " Create new PHPExcel object" , EOL;
        $objPHPExcel = new PHPExcel();

        // Set document properties
//        echo date('H:i:s') , " Set document properties" , EOL;
        $objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
                                     ->setLastModifiedBy("Maarten Balliauw")
                                     ->setTitle("PHPExcel Test Document")
                                     ->setSubject("PHPExcel Test Document")
                                     ->setDescription("Test document for PHPExcel, generated using PHP classes.")
                                     ->setKeywords("office PHPExcel php")
                                     ->setCategory("Test result file");

        // Add some data
//        echo date('H:i:s') , " Add some data" , EOL;
        $objPHPExcel->setActiveSheetIndex(0)
                    ->setCellValue('A1', 'Hello')
                    ->setCellValue('B2', 'world!')
                    ->setCellValue('C1', 'Hello')
                    ->setCellValue('D2', 'world!');

        // Miscellaneous glyphs, UTF-8
        $objPHPExcel->setActiveSheetIndex(0)
                    ->setCellValue('A4', 'Miscellaneous glyphs')
                    ->setCellValue('A5', 'éàèùâêîôûëïüÿäöüç');

        $objPHPExcel->getActiveSheet()->setCellValue('A8',"Hello\nWorld");
        $objPHPExcel->getActiveSheet()->getRowDimension(8)->setRowHeight(-1);
        $objPHPExcel->getActiveSheet()->getStyle('A8')->getAlignment()->setWrapText(true);

        // Rename worksheet
//        echo date('H:i:s') , " Rename worksheet" , EOL;
        $objPHPExcel->getActiveSheet()->setTitle('Simple');

        // Set active sheet index to the first sheet, so Excel opens this as the first sheet
        $objPHPExcel->setActiveSheetIndex(0);

        // Save Excel 2007 file
//        echo date('H:i:s') , " Write to Excel2007 format" , EOL;
        $callStartTime = microtime(true);

        $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
        
        // output
//        $objWriter->save("output/text.xlsx");
        header('Content-type: application/vnd.ms-excel');
        header('Content-Disposition: attachment; filename="file.xls"');
        
        $objWriter->save('php://output');
        $callEndTime = microtime(true);
        $callTime = $callEndTime - $callStartTime;
        exit;

//        echo date('H:i:s') , " File written to " , str_replace('.php', '.xlsx', pathinfo(__FILE__, PATHINFO_BASENAME)) , EOL;
//        echo 'Call time to write Workbook was ' , sprintf('%.4f',$callTime) , " seconds" , EOL;
//        // Echo memory usage
//        echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL;
//
//        // Echo memory usage
//        echo date('H:i:s') , ' Current memory usage: ' , (memory_get_usage(true) / 1024 / 1024) , " MB" , EOL;
//
//        // Echo memory peak usage
//        echo date('H:i:s') , " Peak memory usage: " , (memory_get_peak_usage(true) / 1024 / 1024) , " MB" , EOL;
//
//        // Echo done
//        echo date('H:i:s') , " Done writing files" , EOL;
//        echo 'Files have been created in ' , getcwd() , EOL;
    }

}

ACC SHELL 2018