From 7631d9c355f84b4edd369236d8606950e04827ef Mon Sep 17 00:00:00 2001 From: moodler Date: Tue, 30 Sep 2003 13:24:23 +0000 Subject: [PATCH] Goodbye old library! Replaced by moodle/lib/excel --- lib/psxlsgen.php | 206 ----------------------------------------------- 1 file changed, 206 deletions(-) delete mode 100644 lib/psxlsgen.php diff --git a/lib/psxlsgen.php b/lib/psxlsgen.php deleted file mode 100644 index c243952ca4d..00000000000 --- a/lib/psxlsgen.php +++ /dev/null @@ -1,206 +0,0 @@ - -* Version : 0.3 -* Copyright : GNU LGPL -* URL : http://psxlsgen.sourceforge.net -* Last modified : 13 Jun 2001 -* Description : This class is used to generate very simple -* MS Excel file (xls) via PHP. -* The generated xls file can be obtained by web as a stream -* file or can be written under $default_dir path. This package -* is also included mysql, pgsql, oci8 database interaction to -* generate xls files. -* Limitations: -* - Max character size of a text(label) cell is 255 -* ( due to MS Excel 5.0 Binary File Format definition ) -* -* Credits : This class is based on Christian Novak's small -* Excel library functions. -******************************************************************/ - -if( !defined( "PHP_SIMPLE_XLS_GEN" ) ) { - define( "PHP_SIMPLE_XLS_GEN", 1 ); - - class PhpSimpleXlsGen { - var $class_ver = "0.3"; // class version - var $xls_data = ""; // where generated xls be stored - var $default_dir = ""; // default directory to be saved file - var $filename = "psxlsgen"; // save filename - var $fname = ""; // filename with full path - var $crow = 0; // current row number - var $ccol = 0; // current column number - var $totalcol = 0; // total number of columns - var $get_type = 0; // 0=stream, 1=file - var $errno = 0; // 0=no error - var $error = ""; // error string - var $dirsep = "/"; // directory separator - var $header = 1; // 0=no header, 1=header line for xls table - - // Default constructor - function PhpSimpleXlsGen() - { - $os = getenv( "OS" ); - $temp = getenv( "TEMP"); - // check OS and set proper values for some vars. - if ( stristr( $os, "Windows" ) ) { - $this->default_dir = $temp; - $this->dirsep = "\\"; - } else { - // assume that is Unix/Linux - $this->default_dir = "/tmp"; - $this->dirsep = "/"; - } - // begin of the excel file header - $this->xls_data = pack( "vvvvvv", 0x809, 0x08, 0x00,0x10, 0x0, 0x0 ); - // check header text - if ( $this->header ) { - $this->Header(); - } - } - - function Header( $text="" ) { - if ( $text == "" ) { - $text = "This file was generated using PSXlsGen at ".date("D, d M Y H:i:s T"); - } - if ( $this->totalcol < 1 ) { - $this->totalcol = 1; - } - $this->InsertText( $text ); - $this->crow += 2; - $this->ccol = 0; - } - - // end of the excel file - function End() - { - $this->xls_data .= pack("vvvvvvvC", 0x7D, 11, 3, 4, 25600,0,0,0); - $this->xls_data .= pack( "vv", 0x0A, 0x00 ); - return; - } - - // write a Number (double) into row, col - function WriteNumber_pos( $row, $col, $value ) - { - $this->xls_data .= pack( "vvvvv", 0x0203, 14, $row, $col, 0x00 ); - $this->xls_data .= pack( "d", $value ); - return; - } - - // write a label (text) into Row, Col - function WriteText_pos( $row, $col, $value ) - { - $len = strlen( $value ); - $this->xls_data .= pack( "v*", 0x0204, 8 + $len, $row, $col, 0x00, $len ); - $this->xls_data .= $value; - return; - } - - // insert a number, increment row,col automatically - function InsertNumber( $value ) - { - if ( $this->ccol == $this->totalcol ) { - $this->ccol = 0; - $this->crow++; - } - $this->WriteNumber_pos( $this->crow, $this->ccol, $value ); - $this->ccol++; - return; - } - - // insert text, increment row,col automatically - function InsertText( $value ) - { - if ( $this->ccol == $this->totalcol ) { - $this->ccol = 0; - $this->crow++; - } - $this->WriteText_pos( $this->crow, $this->ccol, $value ); - $this->ccol++; - return; - } - - // Change position of row,col - function ChangePos( $newrow, $newcol ) - { - $this->crow = $newrow; - $this->ccol = $newcol; - return; - } - - // new line - function NewLine() - { - $this->ccol = 0; - $this->crow++; - return; - } - - // send generated xls as stream file - function SendFileName( $filename ) - { - $this->filename = $filename; - $this->SendFile(); - } - // send generated xls as stream file - function SendFile() - { - global $HTTP_USER_AGENT; - - $this->End(); - header ( "Expires: Mon, 1 Apr 1974 05:00:00 GMT" ); - header ( "Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT" ); - header ( "Pragma: no-cache" ); - if (!strstr($HTTP_USER_AGENT,"MSIE")) { - $attachment=" attachment;"; - } else { - $attachment=""; - } - header("Content-Type: application/x-msexcel\r\n"); - header("Content-Disposition:$attachment filename=$this->filename.xls\r\n\r\n"); - header("Content-Transfer-Encoding: binary\r\n"); - header("Content-Description: Excel Spreadsheet" ); - print $this->xls_data; - } - - // change the default saving directory - function ChangeDefaultDir( $newdir ) - { - $this->default_dir = $newdir; - return; - } - - // Save generated xls file - function SaveFileName( $filename ) - { - $this->filename = $filename; - $this->SaveFile(); - } - - // Save generated xls file - function SaveFile() - { - $this->End(); - $this->fname = $this->default_dir."$this->dirsep".$this->filename; - if ( !stristr( $this->fname, ".xls" ) ) { - $this->fname .= ".xls"; - } - $fp = fopen( $this->fname, "wb" ); - fwrite( $fp, $this->xls_data ); - fclose( $fp ); - return; - } - - // Get generated xls as specified type - function GetXls( $type = 0 ) { - if ( !$type && !$this->get_type ) { - $this->SendFile(); - } else { - $this->SaveFile(); - } - } - } // end of the class PHP_SIMPLE_XLS_GEN -} -// end of ifdef PHP_SIMPLE_XLS_GEN