dolibarr 24.0.0-beta
salaries.php
Go to the documentation of this file.
1<?php
2/* Copyright (C) 2014-2019 Alexandre Spangaro <aspangaro@open-dsi.fr>
3 * Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
4 * Copyright (C) 2025 MDW <mdeweerd@users.noreply.github.com>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <https://www.gnu.org/licenses/>.
18 *
19 */
20
27// Load Dolibarr environment
28require '../../main.inc.php';
29
30// Class
31require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';
32require_once DOL_DOCUMENT_ROOT.'/core/lib/salaries.lib.php';
33if (isModEnabled('accounting')) {
34 require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaccounting.class.php';
35}
36
45// Load translation files required by the page
46$langs->loadLangs(array('admin', 'salaries'));
47
48// Security check
49if (!$user->admin) {
51}
52
53$action = GETPOST('action', 'aZ09');
54
55// Other parameters SALARIES_*
56$list = array(
57 'SALARIES_ACCOUNTING_ACCOUNT_PAYMENT',
58);
59
60/*
61 * Actions
62 */
63
64if ($action == 'update') {
65 $error = 0;
66
67 foreach ($list as $constname) {
68 $constvalue = GETPOST($constname, 'alpha');
69
70 if (!dolibarr_set_const($db, $constname, $constvalue, 'chaine', 0, '', $conf->entity)) {
71 $error++;
72 }
73 }
74
75 if (!$error) {
76 setEventMessages($langs->trans("SetupSaved"), null, 'mesgs');
77 } else {
78 setEventMessages($langs->trans("Error"), null, 'errors');
79 }
80}
81
82$reg = array();
83if (preg_match('/^(set|del)_?([A-Z_]+)$/', $action, $reg)) {
84 // Set boolean (on/off) constants
85 if (!dolibarr_set_const($db, $reg[2], ($reg[1] === 'set' ? '1' : '0'), 'chaine', 0, '', $conf->entity) > 0) {
87 }
88}
89
90/*
91 * View
92 */
93
94llxHeader('', $langs->trans('SalariesSetup'));
95
96$form = new Form($db);
97if (isModEnabled('accounting')) {
98 $formaccounting = new FormAccounting($db);
99}
100
101$linkback = '<a href="'.dolBuildUrl(DOL_URL_ROOT.'/admin/modules.php', ['restore_lastsearch_values' => 1]).'">'.img_picto($langs->trans("BackToModuleList"), 'back', 'class="pictofixedwidth"').'<span class="hideonsmartphone">'.$langs->trans("BackToModuleList").'</span></a>';
102print load_fiche_titre($langs->trans('SalariesSetup'), $linkback, 'title_setup');
103
104$head = salaries_admin_prepare_head();
105
106print dol_get_fiche_head($head, 'general', $langs->trans("Salaries"), -1, 'payment');
107
108// Document templates
109print load_fiche_titre($langs->trans("Options"), '', '');
110
111print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
112print '<input type="hidden" name="token" value="'.newToken().'">';
113print '<input type="hidden" name="action" value="update">';
114
115/*
116 * Params
117 */
118print '<table class="noborder centpercent">';
119print '<tr class="liste_titre">';
120print '<td>'.$langs->trans("Parameters").'</td>';
121print '<td width="60">'.$langs->trans("Value")."</td>\n";
122print "</tr>\n";
123
124foreach ($list as $key) {
125 print '<tr class="oddeven value">';
126
127 // Param
128 $label = $langs->trans($key);
129 print '<td class="fieldrequired" width="50%"><label for="'.$key.'">'.$label.'</label></td>';
130
131 // Value
132 print '<td>';
133 if (isModEnabled('accounting')) {
134 print $formaccounting->select_account(getDolGlobalString($key), $key, 1, array(), 1, 1);
135 } else {
136 print '<input type="text" size="20" id="'.$key.'" name="'.$key.'" value="'.getDolGlobalString($key).'">';
137 }
138 print '</td></tr>';
139}
140
141print '</tr>';
142
143print "</table>\n";
144
145//print dol_get_fiche_end();
146
147print '<div class="center"><input type="submit" class="button button-edit" name="button" value="'.$langs->trans('Modify').'"></div>';
148
149print '</form><br>';
150
151echo '<div>';
152echo '<table class="noborder centpercent">';
153echo '<thead>';
154echo '<tr class="liste_titre"><th>' . $langs->trans('Parameter') . '</th><th>' . $langs->trans('Value') . '</th></tr>';
155echo '</thead>';
156echo '<tbody>';
157
158$key = 'CREATE_NEW_SALARY_WITHOUT_AUTO_PAYMENT';
159echo '<tr><td>', $langs->trans($key), '</td><td>', ajax_constantonoff($key), '</td></tr>';
160
161echo '</tbody>';
162echo '</table>';
163echo '</div>';
164
165// End of page
166llxFooter();
167$db->close();
dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $note='', $entity=1)
Insert a parameter (key,value) into database (delete old key then insert it again).
llxFooter($comment='', $zone='private', $disabledoutputofmessages=0)
Empty footer.
Definition wrapper.php:91
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:73
Class to manage generation of HTML components for accounting management.
Class to manage generation of HTML components Only common components must be here.
if(!isModEnabled('ai')||!getDolGlobalString('AI_ASSISTANT_ENABLED')) global $conf
The main.inc.php has been included so the following variable are now defined:
if(!isModEnabled('ai')||!getDolGlobalString('AI_ASSISTANT_ENABLED')) global $db
API class for accounts.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2, $allowothertags=array())
Show picto whatever it's its name (generic function)
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0, $morecssdiv='')
Show tabs of a record.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='', $morecssonpicto='widthpictotitle')
Load a title with picto.
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
isModEnabled($module)
Is Dolibarr module enabled.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.