You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

108 lines
2.9 KiB

<?php
/**
* @package tikiwiki
*/
// (c) Copyright by authors of the Tiki Wiki CMS Groupware Project
//
// All Rights Reserved. See copyright.txt for details and a complete list of authors.
// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details.
// $Id$
$section = 'sheet';
require_once('tiki-setup.php');
require_once('lib/sheet/grid.php');
$sheetlib = TikiLib::lib('sheet');
$auto_query_args = [
'sheetId',
'readdate',
];
$access->check_feature('feature_sheet');
$info = TikiLib::lib("sheet")->get_sheet_info($_REQUEST['sheetId']);
if (empty($info)) {
$smarty->assign('msg', tra('Incorrect parameter'));
$smarty->display('error.tpl');
die;
}
$objectperms = Perms::get('sheet', $_REQUEST['sheetId']);
if ($tiki_p_admin != 'y' && ! $objectperms->view_sheet && ! ($user && $info['author'] == $user)) {
$smarty->assign('msg', tra('Permission denied'));
$smarty->display('error.tpl');
die;
}
$encoding = new Encoding();
$charsetList = $encoding->get_input_supported_encodings();
$smarty->assign_by_ref("charsets", $charsetList);
$smarty->assign('title', $info['title']);
$smarty->assign('description', $info['description']);
$smarty->assign('page_mode', 'form');
$smarty->assign('sheetId', $_REQUEST['sheetId']);
// Process the insertion or modification of a gallery here
$grid = new TikiSheet();
$history = $sheetlib->sheet_history($_REQUEST['sheetId']);
$smarty->assign_by_ref('history', $history);
if (isset($_REQUEST['encoding'])) {
$smarty->assign('page_mode', 'submit');
$handler = new TikiSheetDatabaseHandler($_REQUEST['sheetId'], $_REQUEST['readdate']);
$grid->import($handler);
$handler = $_REQUEST['handler'];
if (! in_array($handler, TikiSheet::getHandlerList())) {
$smarty->assign('msg', "Handler is not allowed.");
$smarty->display("error.tpl");
die;
}
$handler = new $handler("php://stdout", 'UTF-8', $_REQUEST['encoding']);
$grid->export($handler);
header("Content-type: text/comma-separated-values");
header("Content-Disposition: attachment; filename=export.csv");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0,pre-check=0");
header("Pragma: public");
echo $handler->output;
exit;
} else {
$list = [];
$handlers = TikiSheet::getHandlerList();
foreach ($handlers as $key => $handler) {
$temp = new $handler();
if (! $temp->supports(TIKISHEET_SAVE_DATA | TIKISHEET_SAVE_CALC)) {
continue;
}
$list[$key] = [
"name" => $temp->name(),
"version" => $temp->version(),
"class" => $handler
];
}
$smarty->assign_by_ref("handlers", $list);
}
$cat_type = 'sheet';
$cat_objid = $_REQUEST["sheetId"];
include_once("categorize_list.php");
include_once('tiki-section_options.php');
ask_ticket('sheet');
// Display the template
$smarty->assign('mid', 'tiki-export-sheets.tpl');
$smarty->display("tiki.tpl");