MDL-25384 - the file mod/feedback/easy_excel.php is not used anymore
This commit is contained in:
@@ -1,256 +0,0 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* makes it easier to use the spreadsheet-functions from pear
|
||||
*
|
||||
* @author Andreas Grabs
|
||||
* @license http://www.gnu.org/copyleft/gpl.html GNU Public License
|
||||
* @package feedback
|
||||
*/
|
||||
|
||||
require_once("../../config.php");
|
||||
require_once("lib.php");
|
||||
|
||||
ini_set('include_path', $CFG->libdir.'/pear' . PATH_SEPARATOR . ini_get('include_path'));
|
||||
require_once 'Spreadsheet/Excel/Writer.php';
|
||||
|
||||
class EasyWorkbook extends Spreadsheet_Excel_Writer {
|
||||
function &addWorksheet($name = ''){
|
||||
global $CFG;
|
||||
|
||||
$index = count($this->_worksheets);
|
||||
$sheetname = $this->_sheetname;
|
||||
|
||||
if ($name == '') {
|
||||
$name = $sheetname.($index+1);
|
||||
}
|
||||
|
||||
// Check that sheetname is <= 31 chars (Excel limit before BIFF8).
|
||||
if ($this->_BIFF_version != 0x0600)
|
||||
{
|
||||
if (strlen($name) > 31) {
|
||||
return $this->raiseError("Sheetname $name must be <= 31 chars");
|
||||
}
|
||||
}
|
||||
|
||||
// Check that the worksheet name doesn't already exist: a fatal Excel error.
|
||||
$total_worksheets = count($this->_worksheets);
|
||||
for ($i = 0; $i < $total_worksheets; $i++) {
|
||||
if ($this->_worksheets[$i]->getName() == $name) {
|
||||
return $this->raiseError("Worksheet '$name' already exists");
|
||||
}
|
||||
}
|
||||
|
||||
$worksheet = new EasyWorksheet($this->_BIFF_version,
|
||||
$name, $index,
|
||||
$this->_activesheet, $this->_firstsheet,
|
||||
$this->_str_total, $this->_str_unique,
|
||||
$this->_str_table, $this->_url_format,
|
||||
$this->_parser);
|
||||
|
||||
$this->_worksheets[$index] = &$worksheet; // Store ref for iterator
|
||||
$this->_sheetnames[$index] = $name; // Store EXTERNSHEET names
|
||||
$this->_parser->setExtSheet($name, $index); // Register worksheet name with parser
|
||||
|
||||
if(!isset($CFG->latinexcelexport) || !$CFG->latinexcelexport) {
|
||||
$worksheet->setInputEncoding('UTF-16LE');
|
||||
// $worksheet->setInputEncoding('utf-8');
|
||||
}
|
||||
return $worksheet;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class EasyWorksheet extends Spreadsheet_Excel_Writer_Worksheet {
|
||||
var $m_format;
|
||||
var $m_formatbox = array();
|
||||
var $m_workbook;
|
||||
|
||||
function set_workbook(&$workbook) {
|
||||
$this->m_workbook =& $workbook;
|
||||
}
|
||||
|
||||
function write($row, $col, $token)
|
||||
{
|
||||
parent::write($row, $col, $token, $this->m_format);
|
||||
}
|
||||
|
||||
function write_number($row, $col, $num)
|
||||
{
|
||||
parent::writeNumber($row, $col, $num, $this->m_format);
|
||||
}
|
||||
|
||||
function write_string($row, $col, $str)
|
||||
{
|
||||
parent::writeString($row, $col, feedback_convert_to_win($str), $this->m_format);
|
||||
}
|
||||
|
||||
function write_formula($row, $col, $formula)
|
||||
{
|
||||
parent::writeFormula($row, $col, $formula, $this->m_format);
|
||||
}
|
||||
|
||||
function write_url($row, $col, $url, $string = '')
|
||||
{
|
||||
parent::writeUrl($row, $col, $url, $string, $this->m_format);
|
||||
}
|
||||
|
||||
/**
|
||||
* Setz das aktuelle Format, dass zum Schreiben verwendet wird
|
||||
* Der Formatstring setzt sich aus den folgenden Buchstaben mit folgender Bedeutung zusammen.
|
||||
* <f> = Fett
|
||||
* <k> = kursiv
|
||||
* <z> = zentriert
|
||||
* <l> = linksb�ndig
|
||||
* <r> = rechtsb�ndig
|
||||
* <vo> = vertikal oben
|
||||
* <vz> = vertikal zentriert
|
||||
* <vu> = vertikal unten
|
||||
* <uX> = unterstrichen X=1-einfach, X=2-doppelt
|
||||
* <w> = w�hrungsformat
|
||||
* <pr> = prozentformat
|
||||
* <ruX> = Rahmen unten X=St�rke
|
||||
* <roX> = rahmen oben X=St�rke
|
||||
* <rrX> = rahmen rechts X=St�rke
|
||||
* <rlX> = rahmen links X=St�rke
|
||||
* <c:XXX> = Schriftfarbe, XXX kann einen der folgenden Farbwerte enthalten:
|
||||
* aqua,cyan,black,blue,brown,magenta,fuchsia,gray,
|
||||
* grey,green,lime,navy,orange,purple,red,silver,white,yellow
|
||||
* Wichtig: alle Werte m�ssen klein geschrieben werden.
|
||||
* @param string $formatString
|
||||
* @param int $size the size of font in pt
|
||||
* @param boolean $textWrap
|
||||
* @return void
|
||||
*/
|
||||
function setFormat($formatString,$size = 10,$textWrap = true)
|
||||
{
|
||||
//looking for an existing format-signature at the $m_formatbox
|
||||
//this prevents the overflow of formats
|
||||
$signature = $formatString.'_'.$size.'_'.$textWrap;
|
||||
if((count($this->m_formatbox) > 0) AND array_key_exists($signature, $this->m_formatbox)) {
|
||||
$this->m_format = $this->m_formatbox[$signature];
|
||||
}else {
|
||||
|
||||
$this->m_format = &$this->m_workbook->addFormat();
|
||||
if($textWrap)
|
||||
{
|
||||
$this->m_format->setTextWrap();
|
||||
}
|
||||
|
||||
if(preg_match("/<f>/i",$formatString) > 0)
|
||||
{
|
||||
$this->m_format->setBold();
|
||||
}
|
||||
|
||||
if(preg_match("/<k>/i",$formatString) > 0)
|
||||
{
|
||||
$this->m_format->setItalic();
|
||||
}
|
||||
|
||||
if(preg_match("/<z>/i",$formatString) > 0)
|
||||
{
|
||||
$this->m_format->setAlign("center");
|
||||
}
|
||||
|
||||
if(preg_match("/<l>/i",$formatString) > 0)
|
||||
{
|
||||
$this->m_format->setAlign("left");
|
||||
}
|
||||
|
||||
if(preg_match("/<r>/i",$formatString) > 0)
|
||||
{
|
||||
$this->m_format->setAlign("right");
|
||||
}
|
||||
|
||||
if(preg_match("/<vo>/i",$formatString) > 0)
|
||||
{
|
||||
$this->m_format->setAlign("top");
|
||||
}
|
||||
|
||||
if(preg_match("/<vz>/i",$formatString) > 0)
|
||||
{
|
||||
$this->m_format->setAlign("vcenter");
|
||||
}
|
||||
|
||||
if(preg_match("/<vu>/i",$formatString) > 0)
|
||||
{
|
||||
$this->m_format->setAlign("bottom");
|
||||
}
|
||||
|
||||
if(preg_match("/<u\d>/i",$formatString,$treffer) > 0)
|
||||
{
|
||||
$this->m_format->setUnderline(substr($treffer[0],2,1));
|
||||
}
|
||||
|
||||
if(preg_match("/<w>/i",$formatString) > 0)
|
||||
{
|
||||
$this->m_format->setNumFormat("#,##0.00_)�;[Red]-#,##0.00_)�");
|
||||
}
|
||||
|
||||
if(preg_match("/<pr>/i",$formatString) > 0)
|
||||
{
|
||||
$this->m_format->setNumFormat("#,##0.00%");
|
||||
}
|
||||
|
||||
if(preg_match("/<ru\d>/i",$formatString,$treffer) > 0)
|
||||
{
|
||||
$this->m_format->setBottom(substr($treffer[0],3,1));
|
||||
}
|
||||
|
||||
if(preg_match("/<ro\d>/i",$formatString,$treffer) > 0)
|
||||
{
|
||||
$this->m_format->setTop(substr($treffer[0],3,1));
|
||||
}
|
||||
|
||||
if(preg_match("/<rr\d>/i",$formatString,$treffer) > 0)
|
||||
{
|
||||
$this->m_format->setRight(substr($treffer[0],3,1));
|
||||
}
|
||||
|
||||
if(preg_match("/<rl\d>/i",$formatString,$treffer) > 0)
|
||||
{
|
||||
$this->m_format->setLeft(substr($treffer[0],3,1));
|
||||
}
|
||||
|
||||
if(preg_match("/<c\:[^>]+>/",$formatString,$treffer) > 0)
|
||||
{
|
||||
$len = strlen($treffer[0]) - 4; //abzueglich der Zeichen <c:>
|
||||
$this->m_format->setColor(substr($treffer[0],3,$len));
|
||||
}
|
||||
|
||||
$this->m_format->setSize($size);
|
||||
|
||||
//save the format with its signature
|
||||
$this->m_formatbox[$signature] = $this->m_format;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function feedback_convert_to_win($text) {
|
||||
global $CFG;
|
||||
static $textlib;
|
||||
static $newwincharset;
|
||||
|
||||
if(!isset($textlib)) {
|
||||
$textlib = textlib_get_instance();
|
||||
}
|
||||
|
||||
if(!isset($newwincharset)) {
|
||||
if(!isset($CFG->latinexcelexport) || !$CFG->latinexcelexport) {
|
||||
$newwincharset = 'UTF-16LE';
|
||||
}else {
|
||||
$newwincharset = get_string('localewincharset', 'langconfig');
|
||||
if($newwincharset == '') {
|
||||
$newwincharset = 'windows-1252';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//converting <br /> into newline
|
||||
$newtext = str_ireplace('<br />', "\n", $text);
|
||||
$newtext = str_ireplace('<br>', "\n", $newtext);
|
||||
|
||||
return $textlib->convert($newtext, 'utf-8', $newwincharset);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user