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.
 
 
 
 
 
 

159 lines
6.0 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$
require_once('tiki-setup.php');
$sheetlib = TikiLib::lib("sheet");
$access->check_feature('feature_sheet');
$auto_query_args = ['sheetId'];
$cookietab = 2;
if (! isset($_REQUEST["sheetId"])) {
$cookietab = 1;
$_REQUEST["sheetId"] = 0;
$info = [];
$smarty->assign('headtitle', tra('Spreadsheets'));
} else {
if (isset($_REQUEST['edit_mode']) && $_REQUEST['edit_mode'] == 1) {
$cookietab = 2;
}
$info = $sheetlib->get_sheet_info($_REQUEST["sheetId"]);
if ($tiki_p_admin == 'y' || $tiki_p_admin_sheet == 'y' || $tikilib->user_has_perm_on_object($user, $_REQUEST['sheetId'], 'sheet', 'tiki_p_view_sheet')) {
$tiki_p_view_sheet = 'y';
} else {
$tiki_p_view_sheet = 'n';
}
$smarty->assign('tiki_p_view_sheet', $tiki_p_view_sheet);
if ($tiki_p_admin == 'y' || $tiki_p_admin_sheet == 'y' || ($user && $user == $info['author']) || $tikilib->user_has_perm_on_object($user, $_REQUEST['sheetId'], 'sheet', 'tiki_p_edit_sheet')) {
$tiki_p_edit_sheet = 'y';
} else {
$tiki_p_edit_sheet = 'n';
}
$smarty->assign('tiki_p_edit_sheet', $tiki_p_edit_sheet);
if ($tiki_p_admin == 'y' || $tiki_p_admin_sheet == 'y' || ($user && $user == $info['author']) || $tikilib->user_has_perm_on_object($user, $_REQUEST['sheetId'], 'sheet', 'tiki_p_view_sheet_history')) {
$tiki_p_view_sheet_history = 'y';
} else {
$tiki_p_view_sheet_history = 'n';
}
$smarty->assign('tiki_p_view_sheet_history', $tiki_p_view_sheet_history);
$smarty->assign('headtitle', tra('Spreadsheet - ') . $info['title']);
}
$access->check_permission('tiki_p_view_sheet');
if (isset($_REQUEST["find"])) {
$find = $_REQUEST["find"];
} else {
$find = '';
}
$smarty->assign('find', $find);
$smarty->assign('sheetId', $_REQUEST["sheetId"]);
// Init smarty variables to blank values
$smarty->assign('title', '');
$smarty->assign('description', '');
$smarty->assign('edit_mode', 'n');
$smarty->assign('chart_enabled', (function_exists('imagepng') || function_exists('pdf_new')) ? 'y' : 'n');
// If we are editing an existing sheet prepare smarty variables
if (isset($_REQUEST["edit_mode"]) && $_REQUEST["edit_mode"]) {
$access->check_permission('tiki_p_edit_sheet');
check_ticket('sheet');
// Get information about this sheetId and fill smarty variables
$smarty->assign('edit_mode', 'y');
if ($_REQUEST["sheetId"] > 0) {
$smarty->assign('title', $info["title"]);
$smarty->assign('description', $info["description"]);
$smarty->assign('creator', $info['author']);
$smarty->assign('parentSheetId', isset($info['parentSheetId']) ? $info['parentSheetId'] : 0);
$info = $sheetlib->get_sheet_layout($_REQUEST["sheetId"]);
$smarty->assign('className', $info["className"]);
$smarty->assign('headerRow', $info["headerRow"]);
$smarty->assign('footerRow', $info["footerRow"]);
$smarty->assign('parseValues', $info["parseValues"]);
} else {
$smarty->assign('className', 'default');
$smarty->assign('headerRow', '0');
$smarty->assign('footerRow', '0');
$smarty->assign('parseValues', 'n');
$smarty->assign('creator', $user);
$smarty->assign('parentSheetId', 0);
}
}
$cat_type = 'sheet';
// Process the insertion or modification of a sheet here
if (isset($_REQUEST["edit"])) {
$access->check_permission('tiki_p_edit_sheet');
check_ticket('sheet');
// Everything is ok so we proceed to edit the gallery
$smarty->assign('edit_mode', 'y');
$smarty->assign_by_ref('title', $_REQUEST["title"]);
$smarty->assign_by_ref('description', $_REQUEST["description"]);
$smarty->assign_by_ref('className', $_REQUEST["className"]);
$smarty->assign_by_ref('headerRow', $_REQUEST["headerRow"]);
$smarty->assign_by_ref('footerRow', $_REQUEST["footerRow"]);
if (isset($_REQUEST['parseValues'])) {
$_REQUEST['parseValues'] = 'y';
} else {
$_REQUEST['parseValues'] = 'n';
}
$smarty->assign_by_ref('parseValues', $_REQUEST['parseValues']);
$gid = $sheetlib->replace_sheet(
$_REQUEST["sheetId"],
$_REQUEST["title"],
$_REQUEST["description"],
isset($_REQUEST['creator']) ? $_REQUEST['creator'] : $user,
$_REQUEST['parentSheetId'],
$_REQUEST
);
$cat_objid = $gid;
$cat_desc = substr($_REQUEST["description"], 0, 200);
$cat_name = $_REQUEST["title"];
$cat_href = "tiki-view_sheets.php?sheetId=" . $cat_objid;
include_once("categorize.php");
$smarty->assign('edit_mode', 'n');
}
if (isset($_REQUEST["removesheet"])) {
$access->check_permission('tiki_p_edit_sheet');
$access->checkCsrf(tra("Are you sure you want to delete this spreadsheet?"));
$sheetlib->remove_sheet($_REQUEST["sheetId"]);
header("Location: tiki-sheets.php");
}
$cat_objid = $_REQUEST['sheetId'];
include_once('categorize_list.php');
if (! isset($_REQUEST["sort_mode"])) {
$sort_mode = 'title_asc';
} else {
$sort_mode = $_REQUEST["sort_mode"];
}
$smarty->assign_by_ref('sort_mode', $sort_mode);
// If offset is set use it if not then use offset =0
// use the maxRecords php variable to set the limit
// if sortMode is not set then use lastModif_desc
if (! isset($_REQUEST["offset"])) {
$offset = 0;
} else {
$offset = $_REQUEST["offset"];
}
$smarty->assign_by_ref('offset', $offset);
// Get the list of sheets available for this user (or public galleries)
$sheets = $sheetlib->list_sheets($offset, $maxRecords, $sort_mode, $find);
$smarty->assign_by_ref('cant_pages', $sheets["cant"]);
$smarty->assign_by_ref('sheets', $sheets["data"]);
include_once('tiki-section_options.php');
ask_ticket('sheet');
// Display the template
$smarty->assign('mid', 'tiki-sheets.tpl');
$smarty->display("tiki.tpl");