mirror of
https://github.com/moodle/moodle.git
synced 2025-01-19 06:18:28 +01:00
MDL-51603 tablelib: Removed legacy export classes
This commit is contained in:
parent
bdb80f6a5f
commit
5684cc2d1e
324
lib/tablelib.php
324
lib/tablelib.php
@ -1676,122 +1676,6 @@ class table_default_export_format_parent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package moodlecore
|
|
||||||
* @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com}
|
|
||||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|
||||||
*/
|
|
||||||
class table_spreadsheet_export_format_parent extends table_default_export_format_parent {
|
|
||||||
var $currentrow;
|
|
||||||
var $workbook;
|
|
||||||
var $worksheet;
|
|
||||||
/**
|
|
||||||
* @var object format object - format for normal table cells
|
|
||||||
*/
|
|
||||||
var $formatnormal;
|
|
||||||
/**
|
|
||||||
* @var object format object - format for header table cells
|
|
||||||
*/
|
|
||||||
var $formatheaders;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* should be overriden in child class.
|
|
||||||
*/
|
|
||||||
var $fileextension;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This method will be overridden in the child class.
|
|
||||||
*/
|
|
||||||
function define_workbook() {
|
|
||||||
}
|
|
||||||
|
|
||||||
function start_document($filename) {
|
|
||||||
$filename = $filename.'.'.$this->fileextension;
|
|
||||||
$this->define_workbook();
|
|
||||||
// format types
|
|
||||||
$this->formatnormal = $this->workbook->add_format();
|
|
||||||
$this->formatnormal->set_bold(0);
|
|
||||||
$this->formatheaders = $this->workbook->add_format();
|
|
||||||
$this->formatheaders->set_bold(1);
|
|
||||||
$this->formatheaders->set_align('center');
|
|
||||||
// Sending HTTP headers
|
|
||||||
$this->workbook->send($filename);
|
|
||||||
$this->documentstarted = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function start_table($sheettitle) {
|
|
||||||
$this->worksheet = $this->workbook->add_worksheet($sheettitle);
|
|
||||||
$this->currentrow=0;
|
|
||||||
}
|
|
||||||
|
|
||||||
function output_headers($headers) {
|
|
||||||
$colnum = 0;
|
|
||||||
foreach ($headers as $item) {
|
|
||||||
$this->worksheet->write($this->currentrow,$colnum,$item,$this->formatheaders);
|
|
||||||
$colnum++;
|
|
||||||
}
|
|
||||||
$this->currentrow++;
|
|
||||||
}
|
|
||||||
|
|
||||||
function add_data($row) {
|
|
||||||
$colnum = 0;
|
|
||||||
foreach ($row as $item) {
|
|
||||||
$this->worksheet->write($this->currentrow,$colnum,$item,$this->formatnormal);
|
|
||||||
$colnum++;
|
|
||||||
}
|
|
||||||
$this->currentrow++;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function add_seperator() {
|
|
||||||
$this->currentrow++;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function finish_table() {
|
|
||||||
}
|
|
||||||
|
|
||||||
function finish_document() {
|
|
||||||
$this->workbook->close();
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package moodlecore
|
|
||||||
* @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com}
|
|
||||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|
||||||
*/
|
|
||||||
class table_excel_export_format extends table_spreadsheet_export_format_parent {
|
|
||||||
var $fileextension = 'xls';
|
|
||||||
|
|
||||||
function define_workbook() {
|
|
||||||
global $CFG;
|
|
||||||
require_once("$CFG->libdir/excellib.class.php");
|
|
||||||
// Creating a workbook
|
|
||||||
$this->workbook = new MoodleExcelWorkbook("-");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package moodlecore
|
|
||||||
* @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com}
|
|
||||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|
||||||
*/
|
|
||||||
class table_ods_export_format extends table_spreadsheet_export_format_parent {
|
|
||||||
var $fileextension = 'ods';
|
|
||||||
function define_workbook() {
|
|
||||||
global $CFG;
|
|
||||||
require_once("$CFG->libdir/odslib.class.php");
|
|
||||||
// Creating a workbook
|
|
||||||
$this->workbook = new MoodleODSWorkbook("-");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dataformat exporter
|
* Dataformat exporter
|
||||||
*
|
*
|
||||||
@ -1896,211 +1780,3 @@ class table_dataformat_export_format extends table_default_export_format_parent
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @package moodlecore
|
|
||||||
* @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com}
|
|
||||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|
||||||
*/
|
|
||||||
class table_text_export_format_parent extends table_default_export_format_parent {
|
|
||||||
protected $seperator = "tab";
|
|
||||||
protected $mimetype = 'text/tab-separated-values';
|
|
||||||
protected $ext = '.txt';
|
|
||||||
protected $myexporter;
|
|
||||||
|
|
||||||
public function __construct() {
|
|
||||||
$this->myexporter = new csv_export_writer($this->seperator, '"', $this->mimetype);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function start_document($filename) {
|
|
||||||
$this->filename = $filename;
|
|
||||||
$this->documentstarted = true;
|
|
||||||
$this->myexporter->set_filename($filename, $this->ext);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function start_table($sheettitle) {
|
|
||||||
//nothing to do here
|
|
||||||
}
|
|
||||||
|
|
||||||
public function output_headers($headers) {
|
|
||||||
$this->myexporter->add_data($headers);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function add_data($row) {
|
|
||||||
$this->myexporter->add_data($row);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public function finish_table() {
|
|
||||||
//nothing to do here
|
|
||||||
}
|
|
||||||
|
|
||||||
public function finish_document() {
|
|
||||||
$this->myexporter->download_file();
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Format a row of data.
|
|
||||||
* @param array $data
|
|
||||||
*/
|
|
||||||
protected function format_row($data) {
|
|
||||||
$escapeddata = array();
|
|
||||||
foreach ($data as $value) {
|
|
||||||
$escapeddata[] = '"' . str_replace('"', '""', $value) . '"';
|
|
||||||
}
|
|
||||||
return implode($this->seperator, $escapeddata) . "\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package moodlecore
|
|
||||||
* @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com}
|
|
||||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|
||||||
*/
|
|
||||||
class table_tsv_export_format extends table_text_export_format_parent {
|
|
||||||
protected $seperator = "tab";
|
|
||||||
protected $mimetype = 'text/tab-separated-values';
|
|
||||||
protected $ext = '.txt';
|
|
||||||
}
|
|
||||||
|
|
||||||
require_once($CFG->libdir . '/csvlib.class.php');
|
|
||||||
/**
|
|
||||||
* @package moodlecore
|
|
||||||
* @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com}
|
|
||||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|
||||||
*/
|
|
||||||
class table_csv_export_format extends table_text_export_format_parent {
|
|
||||||
protected $seperator = "comma";
|
|
||||||
protected $mimetype = 'text/csv';
|
|
||||||
protected $ext = '.csv';
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package moodlecore
|
|
||||||
* @copyright 1999 onwards Martin Dougiamas {@link http://moodle.com}
|
|
||||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|
||||||
*/
|
|
||||||
class table_xhtml_export_format extends table_default_export_format_parent {
|
|
||||||
function start_document($filename) {
|
|
||||||
header("Content-Type: application/download\n");
|
|
||||||
header("Content-Disposition: attachment; filename=\"$filename.html\"");
|
|
||||||
header("Expires: 0");
|
|
||||||
header("Cache-Control: must-revalidate,post-check=0,pre-check=0");
|
|
||||||
header("Pragma: public");
|
|
||||||
//html headers
|
|
||||||
echo <<<EOF
|
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE html
|
|
||||||
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
||||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
||||||
|
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml"
|
|
||||||
xml:lang="en" lang="en">
|
|
||||||
<head>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
|
||||||
<style type="text/css">/*<![CDATA[*/
|
|
||||||
|
|
||||||
.flexible th {
|
|
||||||
white-space:normal;
|
|
||||||
}
|
|
||||||
th.header, td.header, div.header {
|
|
||||||
border-color:#DDDDDD;
|
|
||||||
background-color:lightGrey;
|
|
||||||
}
|
|
||||||
.flexible th {
|
|
||||||
white-space:nowrap;
|
|
||||||
}
|
|
||||||
th {
|
|
||||||
font-weight:bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.generaltable {
|
|
||||||
border-style:solid;
|
|
||||||
}
|
|
||||||
.generalbox {
|
|
||||||
border-style:solid;
|
|
||||||
}
|
|
||||||
body, table, td, th {
|
|
||||||
font-family:Arial,Verdana,Helvetica,sans-serif;
|
|
||||||
font-size:100%;
|
|
||||||
}
|
|
||||||
td {
|
|
||||||
border-style:solid;
|
|
||||||
border-width:1pt;
|
|
||||||
}
|
|
||||||
table {
|
|
||||||
border-collapse:collapse;
|
|
||||||
border-spacing:0pt;
|
|
||||||
width:80%;
|
|
||||||
margin:auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1, h2 {
|
|
||||||
text-align:center;
|
|
||||||
}
|
|
||||||
.bold {
|
|
||||||
font-weight:bold;
|
|
||||||
}
|
|
||||||
.mdl-align {
|
|
||||||
text-align:center;
|
|
||||||
}
|
|
||||||
/*]]>*/</style>
|
|
||||||
<title>$filename</title>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
EOF;
|
|
||||||
$this->documentstarted = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function start_table($sheettitle) {
|
|
||||||
$this->table->sortable(false);
|
|
||||||
$this->table->collapsible(false);
|
|
||||||
echo "<h2>{$sheettitle}</h2>";
|
|
||||||
$this->table->start_html();
|
|
||||||
}
|
|
||||||
|
|
||||||
function output_headers($headers) {
|
|
||||||
$this->table->print_headers();
|
|
||||||
echo html_writer::start_tag('tbody');
|
|
||||||
}
|
|
||||||
|
|
||||||
function add_data($row) {
|
|
||||||
$this->table->print_row($row);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function add_seperator() {
|
|
||||||
$this->table->print_row(NULL);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
function finish_table() {
|
|
||||||
$this->table->finish_html();
|
|
||||||
}
|
|
||||||
|
|
||||||
function finish_document() {
|
|
||||||
echo "</body>\n</html>";
|
|
||||||
exit;
|
|
||||||
}
|
|
||||||
|
|
||||||
function format_text($text, $format=FORMAT_MOODLE, $options=NULL, $courseid=NULL) {
|
|
||||||
if (is_null($options)) {
|
|
||||||
$options = new stdClass;
|
|
||||||
}
|
|
||||||
//some sensible defaults
|
|
||||||
if (!isset($options->para)) {
|
|
||||||
$options->para = false;
|
|
||||||
}
|
|
||||||
if (!isset($options->newlines)) {
|
|
||||||
$options->newlines = false;
|
|
||||||
}
|
|
||||||
if (!isset($options->smiley)) {
|
|
||||||
$options->smiley = false;
|
|
||||||
}
|
|
||||||
if (!isset($options->filter)) {
|
|
||||||
$options->filter = false;
|
|
||||||
}
|
|
||||||
return format_text($text, $format, $options);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user