dolibarr 21.0.0-alpha
document.php
Go to the documentation of this file.
1<?php
2/* Copyright (C) 2003-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
3 * Copyright (C) 2004-2014 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 Juanjo Menent <jmenent@2byte.es>
8 * Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr>
9 * Copyright (C) 2024 MDW <mdeweerd@users.noreply.github.com>
10 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 3 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU General Public License
22 * along with this program. If not, see <https://www.gnu.org/licenses/>.
23 */
24
31// Load Dolibarr environment
32require '../../main.inc.php';
33require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php';
34require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
35require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php';
36require_once DOL_DOCUMENT_ROOT.'/core/lib/tax.lib.php';
37require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
38if (isModEnabled('project')) {
39 include_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
40 include_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php';
41}
42
43// Load translation files required by the page
44$langs->loadLangs(array('other', 'companies', 'compta', 'bills'));
45
46$id = GETPOSTINT('id');
47$action = GETPOST('action', 'aZ09');
48$confirm = GETPOST('confirm', 'alpha');
49
50// Get parameters
51$limit = GETPOSTINT('limit') ? GETPOSTINT('limit') : $conf->liste_limit;
52$sortfield = GETPOST('sortfield', 'aZ09comma');
53$sortorder = GETPOST('sortorder', 'aZ09comma');
54$page = GETPOSTISSET('pageplusone') ? (GETPOSTINT('pageplusone') - 1) : GETPOSTINT("page");
55if (empty($page) || $page == -1) {
56 $page = 0;
57}
58$offset = $limit * $page;
59$pageprev = $page - 1;
60$pagenext = $page + 1;
61if (!$sortorder) {
62 $sortorder = "ASC";
63}
64if (!$sortfield) {
65 $sortfield = "name";
66}
67
68
69$object = new ChargeSociales($db);
70if ($id > 0) {
71 $object->fetch($id);
72}
73
74$upload_dir = $conf->tax->dir_output.'/'.dol_sanitizeFileName($object->ref);
75$modulepart = 'tax';
76
77// Security check
78if ($user->socid) {
79 $socid = $user->socid;
80}
81$result = restrictedArea($user, 'tax', $object->id, 'chargesociales', 'charges');
82
83$permissiontoadd = $user->hasRight('tax', 'charges', 'creer'); // Used by the include of actions_dellink.inc.php
84
85
86/*
87 * Actions
88 */
89
90include DOL_DOCUMENT_ROOT.'/core/actions_linkedfiles.inc.php';
91
92if ($action == 'setlib' && $user->hasRight('tax', 'charges', 'creer')) {
93 $object->fetch($id);
94 $result = $object->setValueFrom('libelle', GETPOST('lib'), '', null, 'text', '', $user, 'TAX_MODIFY');
95 if ($result < 0) {
96 setEventMessages($object->error, $object->errors, 'errors');
97 }
98}
99
100
101/*
102 * View
103 */
104
105$form = new Form($db);
106if (isModEnabled('project')) {
107 $formproject = new FormProjets($db);
108}
109
110$title = $langs->trans("SocialContribution").' - '.$langs->trans("Documents");
111$help_url = 'EN:Module_Taxes_and_social_contributions|FR:Module Taxes et dividendes|ES:M&oacute;dulo Impuestos y cargas sociales (IVA, impuestos)';
112llxHeader("", $title, $help_url);
113
114if ($object->id) {
115 $alreadypayed = $object->getSommePaiement();
116
117 $head = tax_prepare_head($object);
118
119 print dol_get_fiche_head($head, 'documents', $langs->trans("SocialContribution"), -1, 'bill');
120
121 $morehtmlref = '<div class="refidno">';
122 // Label of social contribution
123 $morehtmlref .= $form->editfieldkey("Label", 'lib', $object->label, $object, $user->hasRight('tax', 'charges', 'creer'), 'string', '', 0, 1);
124 $morehtmlref .= $form->editfieldval("Label", 'lib', $object->label, $object, $user->hasRight('tax', 'charges', 'creer'), 'string', '', null, null, '', 1);
125 // Project
126 if (isModEnabled('project')) {
127 $langs->load("projects");
128 if (!empty($object->fk_project)) {
129 $morehtmlref .= '<br>';
130 $proj = new Project($db);
131 $proj->fetch($object->fk_project);
132 $morehtmlref .= $proj->getNomUrl(1);
133 if ($proj->title) {
134 $morehtmlref .= '<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).'</span>';
135 }
136 } else {
137 $morehtmlref .= '';
138 }
139 }
140 $morehtmlref .= '</div>';
141
142 $linkback = '<a href="'.DOL_URL_ROOT.'/compta/sociales/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
143
144 $object->totalpaid = $alreadypayed; // To give a chance to dol_banner_tab to use already paid amount to show correct status
145
146 $morehtmlstatus = '';
147
148 dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'ref', $morehtmlref, '', 0, '', $morehtmlstatus);
149
150 print '<div class="fichecenter">';
151 print '<div class="underbanner clearboth"></div>';
152
153 // Build file list
154 $filearray = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview.*\.png)$', $sortfield, (strtolower($sortorder) == 'desc' ? SORT_DESC : SORT_ASC), 1);
155 $totalsize = 0;
156 foreach ($filearray as $key => $file) {
157 $totalsize += $file['size'];
158 }
159
160
161 print '<table class="border tableforfield centpercent">';
162
163 print '<tr><td class="titlefield">'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>';
164 print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.dol_print_size($totalsize, 1, 1).'</td></tr>';
165 print '</table>';
166
167 print '</div>';
168
169 print '<div class="clearboth"></div>';
170
171 print dol_get_fiche_end();
172
173 $modulepart = 'tax';
174 $permissiontoadd = $user->hasRight('tax', 'charges', 'creer');
175 $permtoedit = $user->hasRight('tax', 'charges', 'creer');
176 $param = '&id='.$object->id;
177 include DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_post_headers.tpl.php';
178} else {
179 print $langs->trans("ErrorUnknown");
180}
181
182// End of page
183llxFooter();
184$db->close();
$id
Definition account.php:39
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
Definition card.php:58
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader($head='', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $morecssonbody='', $replacemainareaby='', $disablenofollow=0, $disablenoindex=0)
Empty header.
Definition wrapper.php:70
Class for managing the social charges.
Class to manage generation of HTML components Only common components must be here.
Class to manage building of HTML components.
Class to manage projects.
llxFooter()
Footer empty.
Definition document.php:107
dol_dir_list($utf8_path, $types="all", $recursive=0, $filter="", $excludefilter=null, $sortcriteria="name", $sortorder=SORT_ASC, $mode=0, $nohook=0, $relativename="", $donotfollowsymlinks=0, $nbsecondsold=0)
Scan a directory and return a list of files/directories.
Definition files.lib.php:63
dol_print_size($size, $shortvalue=0, $shortunit=0)
Return string with formatted size.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0)
Show tabs of a record.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_sanitizeFileName($str, $newstr='_', $unaccent=1)
Clean a string to use it as a file name.
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $mode=0)
Check permissions of a user to show a page and an object.
tax_prepare_head(ChargeSociales $object)
Prepare array with list of tabs.
Definition tax.lib.php:40