29require
'../../main.inc.php';
37require_once DOL_DOCUMENT_ROOT.
'/core/lib/prelevement.lib.php';
38require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
39require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/ligneprelevement.class.php';
40require_once DOL_DOCUMENT_ROOT.
'/compta/prelevement/class/bonprelevement.class.php';
41require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
44$langs->loadLangs(array(
'banks',
'categories',
'bills',
'companies',
'withdrawals'));
47$action =
GETPOST(
'action',
'aZ09');
57$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
58$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
60if (empty($page) || $page == -1) {
63$offset = $limit * $page;
68 $sortfield =
'pl.rowid';
77include DOL_DOCUMENT_ROOT.
'/core/actions_fetchobject.inc.php';
79$hookmanager->initHooks(array(
'directdebitprevcard',
'globalcard',
'directdebitprevlist'));
84$salaryBonPl =
$object->checkIfSalaryBonPrelevement();
87if ($type ==
'bank-transfer') {
88 $result =
restrictedArea($user,
'paymentbybanktransfer',
'',
'',
'');
90 $permissiontoadd = $user->hasRight(
'paymentbybanktransfer',
'create');
91 $permissiontosend = $user->hasRight(
'paymentbybanktransfer',
'send');
92 $permissiontocreditdebit = $user->hasRight(
'paymentbybanktransfer',
'debit');
93 $permissiontodelete = $user->hasRight(
'paymentbybanktransfer',
'read');
97 $permissiontoadd = $user->hasRight(
'prelevement',
'bons',
'creer');
98 $permissiontosend = $user->hasRight(
'prelevement',
'bons',
'send');
99 $permissiontocreditdebit = $user->hasRight(
'prelevement',
'bons',
'credit');
100 $permissiontodelete = $user->hasRight(
'prelevement',
'bons',
'read');
108$parameters = array(
'socid' => $socid);
109$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
114if (empty($reshook)) {
115 if ($action ==
'setbankaccount' && $permissiontoadd) {
123 if ($action ==
'setdate_trans' && $permissiontosend) {
124 $result =
$object->setValueFrom(
'date_trans', $date_trans,
'',
null,
'date');
130 if ($action ==
'infotrans' && $permissiontosend) {
131 require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
157 header(
"Location: card.php?id=".
$id.
"&error=$error");
163 if ($action ==
'setinfocredit' && $permissiontocreditdebit) {
166 if ((
$object->type !=
'bank-transfer' &&
$object->status == BonPrelevement::STATUS_CREDITED) || (
$object->type ==
'bank-transfer' &&
$object->statut == BonPrelevement::STATUS_DEBITED)) {
170 $error =
$object->set_infocredit($user, $dt, ($salaryBonPl ?
'salary' :
''));
178 if ($action ==
'reopen' && $permissiontocreditdebit) {
180 $res =
$object->setStatut(BonPrelevement::STATUS_TRANSFERED);
186 if ($action ==
'setcancel' && $permissiontocreditdebit) {
188 $res =
$object->setStatut(BonPrelevement::STATUS_CANCELED);
194 if ($action ==
'confirm_delete' && $permissiontodelete) {
198 if ($savtype ==
'bank-transfer') {
199 header(
"Location: ".DOL_URL_ROOT.
'/compta/paymentbybanktransfer/index.php');
201 header(
"Location: ".DOL_URL_ROOT.
'/compta/prelevement/index.php');
215llxHeader(
'', $langs->trans(
"WithdrawalsReceipts"));
217if ($id > 0 || $ref) {
220 print
dol_get_fiche_head($head,
'prelevement', $langs->trans(
"WithdrawalsReceipts"), -1,
'payment');
222 if (
GETPOST(
'error',
'alpha') !=
'') {
223 print
'<div class="error">'.$object->getErrorString(
GETPOSTINT(
'error')).
'</div>';
226 $linkback =
'<a href="'.DOL_URL_ROOT.
'/compta/prelevement/orders_list.php?restore_lastsearch_values=1'.(
$object->type !=
'bank-transfer' ?
'' :
'&type=bank-transfer').
'">'.$langs->trans(
"BackToList").
'</a>';
228 dol_banner_tab($object,
'ref', $linkback, 1,
'ref',
'ref');
230 print
'<div class="fichecenter">';
231 print
'<div class="underbanner clearboth"></div>';
232 print
'<table class="border centpercent tableforfield">';
235 print
'<tr><td class="titlefieldcreate">'.$langs->trans(
"Date").
'</td><td>'.
dol_print_date(
$object->datec,
'day').
'</td></tr>';
237 print
'<tr><td>'.$langs->trans(
"Amount").
'</td><td><span class="amount">'.
price(
$object->amount).
'</span></td></tr>';
240 if (!empty(
$object->date_trans)) {
242 $muser->fetch(
$object->user_trans);
246 print
'<table class="nobordernopadding centpercent"><tr><td>';
247 print $langs->trans(
'TransData');
249 if ($action !=
'editdate_trans' && $permissiontosend) {
250 print
'<td class="right"><a class="editfielda" href="'.$_SERVER[
"PHP_SELF"].
'?action=editdate_trans&token='.newToken().
'&id='.
$object->id.
'">'.
img_edit($langs->trans(
'SetTransDate'), 1).
'</a></td>';
252 print
'</tr></table>';
254 if ($action ==
'editdate_trans' && $permissiontosend) {
255 print
'<form name="setdate_trans" action="'.$_SERVER[
"PHP_SELF"].
'?id='.
$object->id.
'" method="post">';
256 print
'<input type="hidden" name="token" value="'.newToken().
'">';
257 print
'<input type="hidden" name="action" value="setdate_trans">';
258 print $form->selectDate(
$object->date_trans ?
$object->date_trans : -1,
'date_trans', 0, 0, 0,
"setdate_trans");
259 print
'<input type="submit" class="button button-edit smallpaddingimp valign middle" value="'.$langs->trans(
'Modify').
'">';
263 print
' <span class="opacitymedium">'.$langs->trans(
"By").
'</span> '.$muser->getNomUrl(-1).
'</td>';
269 print
'<tr><td>'.$langs->trans(
"TransMetod").
'</td><td>';
275 if (!empty(
$object->date_credit)) {
276 print
'<tr><td>'.$langs->trans(
'CreditDate').
'</td><td>';
285 print
'<div class="underbanner clearboth"></div>';
286 print
'<table class="border centpercent tableforfield">';
290 $fk_bank_account =
$object->fk_bank_account;
291 if (empty($fk_bank_account)) {
294 if ($fk_bank_account > 0) {
295 $result = $acc->fetch($fk_bank_account);
299 $labelofbankfield =
"BankToReceiveWithdraw";
300 if (
$object->type ==
'bank-transfer') {
301 $labelofbankfield =
'BankToPayCreditTransfer';
304 $caneditbank = $permissiontoadd;
305 if (
$object->status != $object::STATUS_DRAFT) {
317 print
'<tr><td class="titlefieldcreate">';
318 print
'<table class="nobordernopadding centpercent"><tr><td class="nowrap">';
319 print $form->textwithpicto($langs->trans(
"BankAccount"), $langs->trans($labelofbankfield));
321 if (($action !=
'editbankaccount') && $caneditbank) {
322 print
'<td class="right"><a class="editfielda" href="'.$_SERVER[
"PHP_SELF"].
'?action=editfkbankaccount&token='.newToken().
'&id='.
$object->id.
'">'.
img_edit($langs->trans(
'SetBankAccount'), 1).
'</a></td>';
324 print
'</tr></table>';
326 if ($action ==
'editfkbankaccount') {
327 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, (
string) $fk_bank_account,
'fk_bank_account', 0);
329 $form->formSelectAccount($_SERVER[
'PHP_SELF'].
'?id='.
$object->id, (
string) $fk_bank_account,
'none');
335 print
'<tr><td class="titlefieldcreate">';
336 $labelfororderfield =
'WithdrawalFile';
337 if (
$object->type ==
'bank-transfer') {
338 $labelfororderfield =
'CreditTransferFile';
340 print $langs->trans($labelfororderfield).
'</td><td>';
342 $modulepart =
'prelevement';
343 if (
$object->type ==
'bank-transfer') {
344 $modulepart =
'paymentbybanktransfer';
348 $labelentity =
$conf->entity;
349 $relativepath =
'receipts/'.$object->ref.
'-'.$labelentity.
'.xml';
351 if ($type !=
'bank-transfer') {
352 $dir =
$conf->prelevement->dir_output;
354 $dir =
$conf->paymentbybanktransfer->dir_output;
357 $relativepath =
'receipts/'.$object->ref.
'.xml';
360 $relativepath =
'receipts/'.$object->ref.
'.xml';
363 print
'<a data-ajax="false" href="'.DOL_URL_ROOT.
'/document.php?type=text/plain&modulepart='.$modulepart.
'&file='.urlencode($relativepath).
'">'.$relativepath;
364 print
img_picto(
'',
'download',
'class="paddingleft"');
369 $parameters = array();
370 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters, $object, $action);
371 print $hookmanager->resPrint;
383 if ($action ==
'delete') {
384 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.
$object->id, $langs->trans(
'Delete'), $langs->trans(
'ConfirmDeleteObject'),
'confirm_delete',
'', 0, 1);
397 if (empty(
$object->date_trans) && (($user->hasRight(
'prelevement',
'bons',
'send') &&
$object->type !=
'bank-transfer') || ($user->hasRight(
'paymentbybanktransfer',
'send') &&
$object->type ==
'bank-transfer')) && $action ==
'settransmitted') {
398 print
'<form method="post" name="userfile" action="card.php?id='.$object->id.
'" enctype="multipart/form-data">';
399 print
'<input type="hidden" name="token" value="'.newToken().
'">';
400 print
'<input type="hidden" name="action" value="infotrans">';
401 print
'<table class="noborder centpercent">';
402 print
'<tr class="liste_titre">';
403 print
'<td colspan="3">'.$langs->trans(
"NotifyTransmision").
'</td></tr>';
404 print
'<tr class="oddeven"><td>'.$langs->trans(
"TransData").
'</td><td>';
405 print $form->selectDate(
'',
'', 0, 0, 0,
"userfile", 1, 1);
407 print
'<tr class="oddeven"><td>'.$langs->trans(
"TransMetod").
'</td><td>';
408 print $form->selectarray(
"methode",
$object->methodes_trans);
411 print
'<div class="center"><input type="submit" class="button" value="'.dol_escape_htmltag($langs->trans(
"SetToStatusSent")).
'"></div>';
416 if (
$object->status == BonPrelevement::STATUS_TRANSFERED && (($user->hasRight(
'prelevement',
'bons',
'credit') &&
$object->type !=
'bank-transfer') || ($user->hasRight(
'paymentbybanktransfer',
'debit') &&
$object->type ==
'bank-transfer')) && $action ==
'setcredited') {
417 $btnLabel = (
$object->type ==
'bank-transfer') ? $langs->trans(
"ClassDebited") : $langs->trans(
"ClassCredited");
418 print
'<form name="infocredit" method="post" action="card.php?id='.$object->id.
'">';
419 print
'<input type="hidden" name="token" value="'.newToken().
'">';
420 print
'<input type="hidden" name="action" value="setinfocredit">';
421 print
'<table class="noborder centpercent">';
422 print
'<tr class="liste_titre">';
423 print
'<td colspan="3">'.$langs->trans(
"NotifyCredit").
'</td></tr>';
424 print
'<tr class="oddeven"><td>'.$langs->trans(
'CreditDate').
'</td><td>';
425 print $form->selectDate(-1,
'', 0, 0, 0,
"infocredit", 1, 1, 0,
'',
'', array(array(
'adddateof' =>
$object->date_trans,
'labeladddateof' => $langs->transnoentitiesnoconv(
'TransData'))));
428 print
'<br><div class="center"><span class="opacitymedium">'.$langs->trans(
"ThisWillAlsoAddPaymentOnInvoice").
'</span></div>';
429 print
'<div class="center"><input type="submit" class="button" value="'.dol_escape_htmltag($btnLabel).
'"></div>';
435 if ($action !=
'settransmitted' && $action !=
'setcredited') {
436 print
"\n".
'<div class="tabsAction">'.
"\n";
437 $parameters = array();
438 $reshook = $hookmanager->executeHooks(
'addMoreActionsButtons', $parameters, $object, $action);
439 if (empty($reshook)) {
440 if (empty(
$object->date_trans)) {
441 if (
$object->type ==
'bank-transfer') {
442 print dolGetButtonAction($langs->trans(
"SetToStatusSent"),
'',
'default',
'card.php?action=settransmitted&token='.newToken().
'&id='.
$object->id,
'', $user->hasRight(
'paymentbybanktransfer',
'send'));
444 print dolGetButtonAction($langs->trans(
"SetToStatusSent"),
'',
'default',
'card.php?action=settransmitted&token='.newToken().
'&id='.
$object->id,
'', $user->hasRight(
'prelevement',
'bons',
'send'));
449 if (
$object->status == BonPrelevement::STATUS_DEBITED ||
$object->status == BonPrelevement::STATUS_CREDITED) {
450 if (
$object->type ==
'bank-transfer') {
451 print dolGetButtonAction($langs->trans(
"ReOpen"),
'',
'default',
'card.php?action=reopen&token='.newToken().
'&id='.
$object->id,
'', $user->hasRight(
'paymentbybanktransfer',
'debit'));
453 print dolGetButtonAction($langs->trans(
"ReOpen"),
'',
'default',
'card.php?action=reopen&token='.newToken().
'&id='.
$object->id,
'', $user->hasRight(
'prelevement',
'bons',
'credit'));
458 if (
$object->status == BonPrelevement::STATUS_TRANSFERED) {
459 if (
$object->type ==
'bank-transfer') {
460 print dolGetButtonAction($langs->trans(
"ClassDebited"),
'',
'default',
'card.php?action=setcredited&token='.newToken().
'&id='.
$object->id,
'', $user->hasRight(
'paymentbybanktransfer',
'debit'));
462 print dolGetButtonAction($langs->trans(
"ClassCredited"),
'',
'default',
'card.php?action=setcredited&token='.newToken().
'&id='.
$object->id,
'', $user->hasRight(
'prelevement',
'bons',
'credit'));
467 if (
$object->status == BonPrelevement::STATUS_TRANSFERED) {
468 if (
$object->type ==
'bank-transfer') {
469 print dolGetButtonAction($langs->trans(
"Cancel"),
'',
'cancel',
'card.php?action=setcancel&token='.newToken().
'&id='.
$object->id,
'', $user->hasRight(
'paymentbybanktransfer',
'debit'));
471 print dolGetButtonAction($langs->trans(
"Cancel"),
'',
'cancel',
'card.php?action=setcancel&token='.newToken().
'&id='.
$object->id,
'', $user->hasRight(
'prelevement',
'bons',
'credit'));
475 if (
$object->type ==
'bank-transfer') {
476 print dolGetButtonAction($langs->trans(
"Delete"),
'',
'delete',
'card.php?action=delete&token='.newToken().
'&id='.
$object->id,
'', $user->hasRight(
'paymentbybanktransfer',
'create'));
478 print dolGetButtonAction($langs->trans(
"Delete"),
'',
'delete',
'card.php?action=delete&token='.newToken().
'&id='.
$object->id,
'', $user->hasRight(
'prelevement',
'bons',
'creer'));
489 $sql =
"SELECT pl.rowid, pl.statut as status, pl.amount,";
490 $sql .=
" u.rowid as parentid, u.login as name";
491 $sql .=
" FROM ".MAIN_DB_PREFIX.
"prelevement_lignes as pl";
492 $sql .=
", ".MAIN_DB_PREFIX.
"prelevement_bons as pb";
493 $sql .=
", ".MAIN_DB_PREFIX.
"user as u";
494 $sql .=
" WHERE pl.fk_prelevement_bons = ".((int) $id);
495 $sql .=
" AND pl.fk_prelevement_bons = pb.rowid";
496 $sql .=
" AND pb.entity = ".((int)
$conf->entity);
497 $sql .=
" AND pl.fk_user = u.rowid";
499 $sql .=
" AND u.rowid = ".((int) $socid);
501 $sql .=
$db->order($sortfield, $sortorder);
503 $sql =
"SELECT pl.rowid, pl.statut as status, pl.amount,";
504 $sql .=
" s.rowid as parentid, s.nom as name";
505 $sql .=
" FROM ".MAIN_DB_PREFIX.
"prelevement_lignes as pl";
506 $sql .=
", ".MAIN_DB_PREFIX.
"prelevement_bons as pb";
507 $sql .=
", ".MAIN_DB_PREFIX.
"societe as s";
508 $sql .=
" WHERE pl.fk_prelevement_bons = ".((int) $id);
509 $sql .=
" AND pl.fk_prelevement_bons = pb.rowid";
510 $sql .=
" AND pb.entity = ".((int)
$conf->entity);
511 $sql .=
" AND pl.fk_soc = s.rowid";
513 $sql .=
" AND s.rowid = ".((int) $socid);
515 $sql .=
$db->order($sortfield, $sortorder);
518 $nbtotalofrecords =
'';
520 $result =
$db->query($sql);
521 $nbtotalofrecords =
$db->num_rows($result);
522 if (($page * $limit) > (int) $nbtotalofrecords) {
529 $sql .=
$db->plimit($limit + 1, $offset);
531 $result =
$db->query($sql);
534 $num =
$db->num_rows($result);
537 $urladd =
"&id=".urlencode((
string) (
$id));
538 if ($limit > 0 && $limit !=
$conf->liste_limit) {
539 $urladd .=
'&limit='.((int) $limit);
542 print
'<form method="POST" action="'.$_SERVER [
'PHP_SELF'].
'" name="search_form">'.
"\n";
543 print
'<input type="hidden" name="token" value="'.newToken().
'"/>';
544 print
'<input type="hidden" name="id" value="'.$id.
'"/>';
545 print
'<input type="hidden" name="socid" value="'.$socid.
'"/>';
547 print
'<input type="hidden" name="page" value="'.$page.
'"/>';
549 if (!empty($limit)) {
550 print
'<input type="hidden" name="limit" value="'.$limit.
'"/>';
552 if (!empty($sortfield)) {
553 print
'<input type="hidden" name="sortfield" value="'.$sortfield.
'"/>';
555 if (!empty($sortorder)) {
556 print
'<input type="hidden" name="sortorder" value="'.$sortorder.
'"/>';
559 print_barre_liste($langs->trans(
"Lines"), $page, $_SERVER[
"PHP_SELF"], $urladd, $sortfield, $sortorder,
'', $num, $nbtotalofrecords,
'', 0,
'',
'', $limit);
561 print
'<div class="div-table-responsive-no-min">';
562 print
'<table class="noborder liste centpercent">';
563 print
'<tr class="liste_titre">';
565 print_liste_field_titre((!$salaryBonPl ?
"ThirdParty" :
"Employee"), $_SERVER[
"PHP_SELF"],
"s.nom",
'', $urladd,
'', $sortfield, $sortorder);
566 print_liste_field_titre(
"Amount", $_SERVER[
"PHP_SELF"],
"pl.amount",
"", $urladd,
'class="right"', $sortfield, $sortorder);
572 while ($i < min($num, $limit)) {
573 $obj =
$db->fetch_object($result);
575 print
'<tr class="oddeven">';
579 print
'<a class="valignmiddle" href="'.DOL_URL_ROOT.
'/compta/prelevement/line.php?id='.$obj->rowid.
'&type='.
$object->type.
'&token='.newToken().
'">';
580 print $ligne->LibStatut($obj->status, 2);
581 print
'<span class="paddingleft">'.$obj->rowid.
'</span>';
585 $thirdparty->fetch($obj->parentid);
586 $name = $thirdparty->getNomUrl(1);
589 $userSalary->fetch($obj->parentid);
590 $name = $userSalary->getNomUrl(-1);
592 print
'<td class="tdoverflowmax150">';
596 print
'<td class="right"><span class="amount">'.price($obj->amount).
"</span></td>\n";
598 print
'<td class="right">';
600 if ($obj->status == 3) {
601 print
'<span class="error">'.$langs->trans(
"StatusRefused").
'</span>';
603 if (
$object->status == BonPrelevement::STATUS_CREDITED) {
604 if ($obj->status == LignePrelevement::STATUS_CREDITED) {
605 if ($user->hasRight(
'prelevement',
'bons',
'credit')) {
607 print
'<a href="line.php?action=rejet&type='.$object->type.
'&id='.$obj->rowid.
'&token='.newToken().
'">'.$langs->trans(
"StandingOrderReject").
'</a>';
619 $total += $obj->amount;
627 print
'<tr class="liste_total">';
628 print
'<td>'.$langs->trans(
"Total").
'</td>';
629 print
'<td> </td>';
630 print
'<td class="right">';
631 if (empty($offset) && $num <= $limit) {
633 if ($total !=
$object->amount) {
634 print
img_warning($langs->trans(
"TotalAmountOfdirectDebitOrderDiffersFromSumOfLines"));
639 print
'<td> </td>';
$id
Support class for third parties, contacts, members, users or resources.
if(! $sortfield) if(! $sortorder) $object
llxFooter($comment='', $zone='private', $disabledoutputofmessages=0)
Empty footer.
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.
Class to manage bank accounts.
Class to manage withdrawal receipts.
Class to manage withdrawals.
Class to manage third parties objects (customers, suppliers, prospects...)
Class to manage Dolibarr users.
dol_is_file($pathoffile)
Return if path is a file.
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm='auto', $check=1)
Return a timestamp date built from detailed information (by default a local PHP server timestamp) Rep...
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
print_liste_field_titre($name, $file="", $field="", $begin="", $param="", $moreattrib="", $sortfield="", $sortorder="", $prefix="", $tooltip="", $forcenowrapcolumntitle=0)
Show title line of an array.
print_barre_liste($title, $page, $file, $options='', $sortfield='', $sortorder='', $morehtmlcenter='', $num=-1, $totalnboflines='', $picto='generic', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limit=-1, $selectlimitsuffix=0, $hidenavigation=0, $pagenavastextinput=0, $morehtmlrightbeforearrow='')
Print a title with navigation controls for pagination.
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)
img_warning($titlealt='default', $moreatt='', $morecss='pictowarning')
Show warning logo.
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, $morecssdiv='')
Show tabs of a record.
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
price($amount, $form=0, $outlangs='', $trunc=1, $rounding=-1, $forcerounding=-1, $currency_code='')
Function to format a value into an amount for visual output Function used into PDF and HTML pages.
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_clone($srcobject, $native=2)
Create a clone of instance of object (new instance with same value for each properties) With native =...
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs=null, $encodetooutput=false, $decorate=0)
Output date in a string format according to outputlangs (or langs if not defined).
dol_print_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
getDolGlobalString($key, $default='')
Return a Dolibarr global constant string value.
isModEnabled($module)
Is Dolibarr module enabled.
img_edit($titlealt='default', $float=0, $other='')
Show logo edit/modify fiche.
prelevement_prepare_head(BonPrelevement $object)
Prepare array with list of tabs.
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.