dolibarr  20.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  *
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  */
23 
30 // Load Dolibarr environment
31 require '../../main.inc.php';
32 require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php';
33 require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
34 require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php';
35 require_once DOL_DOCUMENT_ROOT.'/core/lib/tax.lib.php';
36 require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
37 if (isModEnabled('project')) {
38  include_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
39  include_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php';
40 }
41 
42 // Load translation files required by the page
43 $langs->loadLangs(array('other', 'companies', 'compta', 'bills'));
44 
45 $id = GETPOSTINT('id');
46 $action = GETPOST('action', 'aZ09');
47 $confirm = GETPOST('confirm', 'alpha');
48 
49 // Get parameters
50 $limit = GETPOSTINT('limit') ? GETPOSTINT('limit') : $conf->liste_limit;
51 $sortfield = GETPOST('sortfield', 'aZ09comma');
52 $sortorder = GETPOST('sortorder', 'aZ09comma');
53 $page = GETPOSTISSET('pageplusone') ? (GETPOSTINT('pageplusone') - 1) : GETPOSTINT("page");
54 if (empty($page) || $page == -1) {
55  $page = 0;
56 }
57 $offset = $limit * $page;
58 $pageprev = $page - 1;
59 $pagenext = $page + 1;
60 if (!$sortorder) {
61  $sortorder = "ASC";
62 }
63 if (!$sortfield) {
64  $sortfield = "name";
65 }
66 
67 
68 $object = new ChargeSociales($db);
69 if ($id > 0) {
70  $object->fetch($id);
71 }
72 
73 $upload_dir = $conf->tax->dir_output.'/'.dol_sanitizeFileName($object->ref);
74 $modulepart = 'tax';
75 
76 // Security check
77 if ($user->socid) {
78  $socid = $user->socid;
79 }
80 $result = restrictedArea($user, 'tax', $object->id, 'chargesociales', 'charges');
81 
82 $permissiontoadd = $user->hasRight('tax', 'charges', 'creer'); // Used by the include of actions_dellink.inc.php
83 
84 
85 /*
86  * Actions
87  */
88 
89 include DOL_DOCUMENT_ROOT.'/core/actions_linkedfiles.inc.php';
90 
91 if ($action == 'setlib' && $user->hasRight('tax', 'charges', 'creer')) {
92  $object->fetch($id);
93  $result = $object->setValueFrom('libelle', GETPOST('lib'), '', '', 'text', '', $user, 'TAX_MODIFY');
94  if ($result < 0) {
95  setEventMessages($object->error, $object->errors, 'errors');
96  }
97 }
98 
99 
100 /*
101  * View
102  */
103 
104 $form = new Form($db);
105 if (isModEnabled('project')) {
106  $formproject = new FormProjets($db);
107 }
108 
109 $title = $langs->trans("SocialContribution").' - '.$langs->trans("Documents");
110 $help_url = 'EN:Module_Taxes_and_social_contributions|FR:Module Taxes et dividendes|ES:M&oacute;dulo Impuestos y cargas sociales (IVA, impuestos)';
111 llxHeader("", $title, $help_url);
112 
113 if ($object->id) {
114  $alreadypayed = $object->getSommePaiement();
115 
116  $head = tax_prepare_head($object);
117 
118  print dol_get_fiche_head($head, 'documents', $langs->trans("SocialContribution"), -1, 'bill');
119 
120  $morehtmlref = '<div class="refidno">';
121  // Label of social contribution
122  $morehtmlref .= $form->editfieldkey("Label", 'lib', $object->label, $object, $user->hasRight('tax', 'charges', 'creer'), 'string', '', 0, 1);
123  $morehtmlref .= $form->editfieldval("Label", 'lib', $object->label, $object, $user->hasRight('tax', 'charges', 'creer'), 'string', '', null, null, '', 1);
124  // Project
125  if (isModEnabled('project')) {
126  $langs->load("projects");
127  if (!empty($object->fk_project)) {
128  $morehtmlref .= '<br>';
129  $proj = new Project($db);
130  $proj->fetch($object->fk_project);
131  $morehtmlref .= $proj->getNomUrl(1);
132  if ($proj->title) {
133  $morehtmlref .= '<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).'</span>';
134  }
135  } else {
136  $morehtmlref .= '';
137  }
138  }
139  $morehtmlref .= '</div>';
140 
141  $linkback = '<a href="'.DOL_URL_ROOT.'/compta/sociales/list.php?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
142 
143  $object->totalpaid = $alreadypayed; // To give a chance to dol_banner_tab to use already paid amount to show correct status
144 
145  $morehtmlstatus = '';
146 
147  dol_banner_tab($object, 'id', $linkback, 1, 'rowid', 'ref', $morehtmlref, '', 0, '', $morehtmlstatus);
148 
149  print '<div class="fichecenter">';
150  print '<div class="underbanner clearboth"></div>';
151 
152  // Build file list
153  $filearray = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview.*\.png)$', $sortfield, (strtolower($sortorder) == 'desc' ? SORT_DESC : SORT_ASC), 1);
154  $totalsize = 0;
155  foreach ($filearray as $key => $file) {
156  $totalsize += $file['size'];
157  }
158 
159 
160  print '<table class="border tableforfield centpercent">';
161 
162  print '<tr><td class="titlefield">'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>';
163  print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.dol_print_size($totalsize, 1, 1).'</td></tr>';
164  print '</table>';
165 
166  print '</div>';
167 
168  print '<div class="clearboth"></div>';
169 
170  print dol_get_fiche_end();
171 
172  $modulepart = 'tax';
173  $permissiontoadd = $user->hasRight('tax', 'charges', 'creer');
174  $permtoedit = $user->hasRight('tax', 'charges', 'creer');
175  $param = '&id='.$object->id;
176  include DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_post_headers.tpl.php';
177 } else {
178  print $langs->trans("ErrorUnknown");
179 }
180 
181 // End of page
182 llxFooter();
183 $db->close();
if($user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
Definition: card.php:58
if(GETPOST('button_removefilter_x', 'alpha')||GETPOST('button_removefilter.x', 'alpha')||GETPOST('button_removefilter', 'alpha')) if(GETPOST('button_search_x', 'alpha')||GETPOST('button_search.x', 'alpha')||GETPOST('button_search', 'alpha')) if($action=="save" &&empty($cancel)) $help_url
View.
Definition: agenda.php:118
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.
if($cancel &&! $id) if($action=='add' &&! $cancel) if($action=='delete') if($id) $form
Actions.
Definition: card.php:143
if(!defined('NOTOKENRENEWAL')) if(!defined('NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined('NOREQUIREAJAX')) if(isset($_GET["hashp"]) &&!defined("NOLOGIN")) if((isset($_GET["modulepart"]) && $_GET["modulepart"]=='medias')) llxHeader()
Header empty.
Definition: document.php:83
llxFooter()
Footer empty.
Definition: document.php:92
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.
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.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
dol_sanitizeFileName($str, $newstr='_', $unaccent=1)
Clean a string to use it as a file name.
GETPOSTISSET($paramname)
Return true if we are in a context of submitting the parameter $paramname from a POST of a form.
isModEnabled($module)
Is Dolibarr module enabled.
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:38