1<?php 2/* Copyright (C) 2003-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org> 3 * Copyright (C) 2004-2015 Laurent Destailleur <eldy@users.sourceforge.net> 4 * Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com> 5 * Copyright (C) 2005-2009 Regis Houssin <regis.houssin@inodbox.com> 6 * Copyright (C) 2005 Simon TOSSER <simon@kornog-computing.com> 7 * Copyright (C) 2011-2012 Juanjo Menent <jmenent@2byte.es> 8 * Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr> 9 * 10 * This program is free software; you can redistribute it and/or modify 11 * it under the terms of the GNU General Public License as published by 12 * the Free Software Foundation; either version 3 of the License, or 13 * (at your option) any later version. 14 * 15 * This program is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU General Public License for more details. 19 * 20 * You should have received a copy of the GNU General Public License 21 * along with this program. If not, see <https://www.gnu.org/licenses/>. 22 * or see https://www.gnu.org/ 23 */ 24 25/** 26 * \file htdocs/expensereport/document.php 27 * \ingroup expensereport 28 * \brief Page of linked files onto trip and expens reports 29 */ 30 31require '../main.inc.php'; 32require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; 33require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; 34require_once DOL_DOCUMENT_ROOT.'/core/lib/expensereport.lib.php'; 35require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; 36 37// Load translation files required by the page 38$langs->loadLangs(array("other", "trips", "companies", "interventions")); 39 40$id = GETPOST('id', 'int'); 41$ref = GETPOST('ref', 'alpha'); 42$action = GETPOST('action', 'aZ09'); 43$confirm = GETPOST('confirm', 'alpha'); 44 45$childids = $user->getAllChildIds(1); 46 47// Security check 48if ($user->socid) $socid = $user->socid; 49$result = restrictedArea($user, 'expensereport', $id, 'expensereport'); 50 51 52// Get parameters 53$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit; 54$sortfield = GETPOST('sortfield', 'aZ09comma'); 55$sortorder = GETPOST('sortorder', 'aZ09comma'); 56$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); 57if (empty($page) || $page == -1) { $page = 0; } // If $page is not defined, or '' or -1 58$offset = $limit * $page; 59$pageprev = $page - 1; 60$pagenext = $page + 1; 61if (!$sortorder) $sortorder = "ASC"; 62if (!$sortfield) $sortfield = "position_name"; 63 64 65$object = new ExpenseReport($db); 66if (!$object->fetch($id, $ref) > 0) 67{ 68 dol_print_error($db); 69} 70 71$upload_dir = $conf->expensereport->dir_output.'/'.dol_sanitizeFileName($object->ref); 72$modulepart = 'trip'; 73 74// Load object 75//include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not include_once // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals 76 77if ($object->id > 0) 78{ 79 // Check current user can read this expense report 80 $canread = 0; 81 if (!empty($user->rights->expensereport->readall)) $canread = 1; 82 if (!empty($user->rights->expensereport->lire) && in_array($object->fk_user_author, $childids)) $canread = 1; 83 if (!$canread) 84 { 85 accessforbidden(); 86 } 87} 88 89 90/* 91 * Actions 92 */ 93 94include DOL_DOCUMENT_ROOT.'/core/actions_linkedfiles.inc.php'; 95 96 97/* 98 * View 99 */ 100 101$form = new Form($db); 102 103$title = $langs->trans("ExpenseReport")." - ".$langs->trans("Documents"); 104$helpurl = "EN:Module_Expense_Reports"; 105llxHeader("", $title, $helpurl); 106 107if ($object->id) 108{ 109 $object->fetch_thirdparty(); 110 111 $head = expensereport_prepare_head($object); 112 113 print dol_get_fiche_head($head, 'documents', $langs->trans("ExpenseReport"), -1, 'trip'); 114 115 $linkback = '<a href="'.DOL_URL_ROOT.'/expensereport/list.php?restore_lastsearch_values=1'.(!empty($socid) ? '&socid='.$socid : '').'">'.$langs->trans("BackToList").'</a>'; 116 117 $morehtmlref = '<div class="refidno">'; 118 $morehtmlref .= '</div>'; 119 120 121 dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref); 122 123 124 // Build file list 125 $filearray = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview.*\.png)$', $sortfield, (strtolower($sortorder) == 'desc' ?SORT_DESC:SORT_ASC), 1); 126 $totalsize = 0; 127 foreach ($filearray as $key => $file) 128 { 129 $totalsize += $file['size']; 130 } 131 132 print '<div class="fichecenter">'; 133 print '<div class="underbanner clearboth"></div>'; 134 135 print '<table class="border tableforfield centpercent">'; 136 137 $linkback = '<a href="'.DOL_URL_ROOT.'/expensereport/list.php'.(!empty($socid) ? '?socid='.$socid : '').'">'.$langs->trans("BackToList").'</a>'; 138 139 print '<tr><td class="titlefield">'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>'; 140 print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.dol_print_size($totalsize, 1, 1).'</td></tr>'; 141 print '</table>'; 142 143 print '</div>'; 144 145 print dol_get_fiche_end(); 146 147 148 $modulepart = 'expensereport'; 149 $permission = $user->rights->expensereport->creer; 150 $permtoedit = $user->rights->expensereport->creer; 151 $param = '&id='.$object->id; 152 include DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_post_headers.tpl.php'; 153} else { 154 print $langs->trans("ErrorUnknown"); 155} 156 157// End of page 158llxFooter(); 159$db->close(); 160