}
$this->add_checkbox_controller(1, null, null, 1);
require_once($CFG->libdir . '/portfoliolib.php');
- if (false) { // @todo penny replace with permissions check
+ if (true) { // @todo penny replace with permissions check
if ($portfoliooptions = portfolio_instance_select(
portfolio_instances(),
call_user_func(array('data_portfolio_caller', 'supported_formats')),
'data_portfolio_caller', '', true, true)) {
- $mform->addElement('header', 'notice', get_string('portfolionotfile', 'portfolio') . ':');
+ $mform->addElement('header', 'notice', get_string('portfolionotfile', 'data') . ':');
$portfoliooptions[0] = get_string('none');
ksort($portfoliooptions);
$mform->addElement('select', 'portfolio', get_string('portfolio', 'portfolio'), $portfoliooptions);
default: return null;
}
}
-function data_export_csv($export, $delimiter_name, $dataname, $count, $todir=false) {
+function data_export_csv($export, $delimiter_name, $dataname, $count, $return=false) {
global $CFG;
require_once($CFG->libdir . '/csvlib.class.php');
$delimiter = csv_import_reader::get_delimiter($delimiter_name);
$filename .= clean_filename('-' . gmdate("Ymd_Hi"));
$filename .= clean_filename("-${delimiter_name}_separated");
$filename .= '.csv';
- if (!$todir) {
+ if (empty($return)) {
header("Content-Type: application/download\n");
header("Content-Disposition: attachment; filename=$filename");
header('Expires: 0');
}
$returnstr .= implode($delimiter, $row) . "\n";
}
- if (empty($todir)) {
+ if (empty($return)) {
echo $returnstr;
return;
}
- // @todo - convert to files api.
- $status = ($handle = fopen($todir . '/' . $filename, 'w'));
- $status = $status && fwrite($handle, $returnstr);
- $status = $status && fclose($handle);
- if ($status) {
- return $filename;
- }
- return false;
+ return $returnstr;
}
-function data_export_xls($export, $dataname, $count, $todir=false) {
+function data_export_xls($export, $dataname, $count) {
global $CFG;
require_once("$CFG->libdir/excellib.class.php");
$filename = clean_filename("${dataname}-${count}_record");
$filename .= '.xls';
$filearg = '-';
- if ($todir) {
- $filearg = $todir . '/' . $filename;
- }
$workbook = new MoodleExcelWorkbook($filearg);
- if (!$todir) {
- $workbook->send($filename);
- }
+ $workbook->send($filename);
$worksheet = array();
$worksheet[0] =& $workbook->add_worksheet('');
$rowno = 0;
}
-function data_export_ods($export, $dataname, $count, $todir=false) {
+function data_export_ods($export, $dataname, $count) {
global $CFG;
require_once("$CFG->libdir/odslib.class.php");
$filename = clean_filename("${dataname}-${count}_record");
$filename .= clean_filename('-' . gmdate("Ymd_Hi"));
$filename .= '.ods';
$filearg = '-';
- if ($todir) {
- $filearg = $todir . '/' . $filename;
- }
- $workbook = new MoodleODSWorkbook($filearg, (empty($todir)));
- if (!$todir) {
- $workbook->send($filename);
- }
+ $workbook = new MoodleODSWorkbook($filearg);
+ $workbook->send($filename);
$worksheet = array();
$worksheet[0] =& $workbook->add_worksheet('');
$rowno = 0;
public function prepare_package() {
global $DB;
$count = count($this->exportdata);
+ $content = '';
+ $filename = '';
switch ($this->exporttype) {
case 'csv':
- $return = data_export_csv($this->exportdata, $this->delimiter, $this->cm->name, $count, $tempdir);
+ $content = data_export_csv($this->exportdata, $this->delimiter, $this->cm->name, $count, true);
+ $filename = clean_filename($this->cm->name . '.csv');
break;
case 'xls':
- $return = data_export_xls($this->exportdata, $this->cm->name, $count, $tempdir);
+ portfolio_exporter::raise_error('notimplemented', 'portfolio');
+ $content = data_export_xls($this->exportdata, $this->cm->name, $count, true);
break;
case 'ods':
- $return = data_export_ods($this->exportdata, $this->cm->name, $count, $tempdir);
+ portfolio_exporter::raise_error('notimplemented', 'portfolio');
+ $content = data_export_ods($this->exportdata, $this->cm->name, $count, true);
break;
}
- return $return;
-
+ return $this->exporter->write_new_file($content, $filename);
}
public function check_permissions() {