35require
'../../main.inc.php';
44require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
45require_once DOL_DOCUMENT_ROOT.
'/categories/class/categorie.class.php';
46require_once DOL_DOCUMENT_ROOT.
'/core/lib/payments.lib.php';
47require_once DOL_DOCUMENT_ROOT.
'/core/class/extrafields.class.php';
48require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
51$langs->loadLangs(array(
'banks',
'categories',
'compta',
'bills',
'other'));
53 $langs->load(
"members");
56 $langs->load(
"donations");
62 $langs->load(
"salaries");
71$action =
GETPOST(
'action',
'aZ09');
72$confirm =
GETPOST(
'confirm',
'alpha');
73$orig_account =
GETPOST(
"orig_account");
74$backtopage =
GETPOST(
'backtopage',
'alpha');
75$cancel =
GETPOST(
'cancel',
'alpha');
78$fieldvalue = (!empty($id) ?
$id : (!empty($ref) ? $ref :
''));
79$fieldtype = (!empty($ref) ?
'ref' :
'rowid');
82 $socid = $user->socid;
86$hookmanager->initHooks(array(
'bankline'));
88$result =
restrictedArea($user,
'banque', $accountoldid,
'bank_account');
89if (!$user->hasRight(
'banque',
'lire') && !$user->hasRight(
'banque',
'consolidate')) {
94$extrafields->fetch_name_optionals_label(
$object->element);
99 dol_syslog(
'Failed to read bank line with id '.$rowid, LOG_WARNING);
111$parameters = array(
'socid' => $socid);
112$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
118 header(
"Location: ".$backtopage);
124if ($user->hasRight(
'banque',
'consolidate') && $action ==
'donext') {
127} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'doprev') {
130} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'dvnext') {
133} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'dvprev') {
138if ($action ==
'confirm_delete_categ' && $confirm ==
"yes" && $user->hasRight(
'banque',
'modifier')) {
140 if (!empty($rowid) && !empty($cat1)) {
141 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"category_bankline WHERE lineid = ".((int) $rowid).
" AND fk_categ = ".((int) $cat1);
142 if (!
$db->query($sql)) {
150if ($user->hasRight(
'banque',
'modifier') && $action ==
"update") {
152 $acsource->fetch($accountoldid);
158 $actarget->fetch($accountoldid);
161 if (!($actarget->id > 0)) {
162 setEventMessages($langs->trans(
"ErrorFailedToLoadBankAccount"),
null,
'errors');
166 setEventMessages($langs->trans(
"ErrorCashAccountAcceptsOnlyCashMoney"),
null,
'errors');
176 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"bank";
179 if (GETPOSTISSET(
'value')) {
181 $sql .=
" fk_type='".$db->escape(empty($type) &&
$object->fk_type ==
'SOLD' ?
'SOLD' : $type).
"',";
183 if (GETPOSTISSET(
'num_chq')) {
184 $sql .=
" num_chq='".$db->escape(
GETPOST(
"num_chq")).
"',";
186 if (GETPOSTISSET(
'banque')) {
187 $sql .=
" banque='".$db->escape(
GETPOST(
"banque")).
"',";
189 if (GETPOSTISSET(
'emetteur')) {
190 $sql .=
" emetteur='".$db->escape(
GETPOST(
"emetteur")).
"',";
194 if (GETPOSTISSET(
'label')) {
195 $sql .=
" label = '".$db->escape(
GETPOST(
"label")).
"',";
197 if (GETPOSTISSET(
'amount')) {
198 $sql .=
" amount= '".$db->escape($amount).
"',";
200 if (GETPOSTISSET(
'dateomonth')) {
201 $sql .=
" dateo = '".$db->idate($dateop).
"',";
203 if (GETPOSTISSET(
'datevmonth')) {
204 $sql .=
" datev = '".$db->idate($dateval).
"',";
207 $sql .=
" fk_account = ".((int) $actarget->id);
208 $sql .=
" WHERE rowid = ".((int)
$object->id);
210 $result =
$db->query($sql);
216 $arrayofcategs =
GETPOST(
'custcats',
'array');
217 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"category_bankline WHERE lineid = ".((int) $rowid);
218 if (!
$db->query($sql)) {
222 if (count($arrayofcategs)) {
223 foreach ($arrayofcategs as $val) {
224 $sql =
"INSERT INTO ".MAIN_DB_PREFIX.
"category_bankline (lineid, fk_categ) VALUES (".((int) $rowid).
", ".((int) $val).
")";
225 if (!
$db->query($sql)) {
235 $extrafields->setOptionalsFromPost(
null, $object,
'@GETPOSTISSET');
250if ($user->hasRight(
'banque',
'consolidate') && ($action ==
'num_releve' || $action ==
'setreconcile')) {
251 $num_rel = trim(
GETPOST(
"num_rel"));
252 $rappro =
GETPOST(
'reconciled') ? 1 : 0;
255 if ($rappro && empty($num_rel)) {
256 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"AccountStatement")),
null,
'errors');
263 $oldNum_rel =
$object->num_releve;
266 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"bank";
267 $sql .=
" SET num_releve = ".($num_rel ?
"'".$db->escape($num_rel).
"'" :
"null");
268 if (empty($num_rel)) {
269 $sql .=
", rappro = 0";
271 $sql .=
", rappro = ".((int) $rappro);
273 $sql .=
" WHERE rowid = ".((int) $rowid);
275 $updatePathFile =
true;
278 dol_syslog(
"line.php update bank line to set the new bank receipt number", LOG_DEBUG);
280 $result =
$db->query($sql);
309 if ($result && $updatePathFile && $update_dir) {
313 $langs->load(
"errors");
314 setEventMessages($langs->trans(
"ErrorFailToRenameDir", $oldfilepath, $filepath),
null,
'mesgs');
330llxHeader(
'', $langs->trans(
"BankTransaction"));
332$arrayselected = array();
335$cats =
$c->containing($rowid, Categorie::TYPE_BANK_LINE);
336if (is_array($cats)) {
337 foreach ($cats as $cat) {
338 $arrayselected[] = $cat->id;
342$head = bankline_prepare_head($rowid);
345$sql =
"SELECT b.rowid, b.dateo as do, b.datev as dv, b.amount, b.label, b.rappro,";
346$sql .=
" b.num_releve, b.fk_user_author, b.num_chq, b.fk_type, b.fk_account, b.fk_bordereau as receiptid,";
347$sql .=
" b.emetteur,b.banque";
348$sql .=
" FROM ".MAIN_DB_PREFIX.
"bank as b";
349$sql .=
" WHERE rowid=".((int) $rowid);
350$sql .=
" ORDER BY dateo ASC";
351$result =
$db->query($sql);
355 if (
$db->num_rows($result)) {
356 $objp =
$db->fetch_object($result);
358 $total += $objp->amount;
361 $acct->fetch($objp->fk_account);
362 $account = $acct->id;
365 $bankline->fetch($rowid, $ref);
367 $links = $acct->get_url($rowid);
368 $bankline->load_previous_next_ref(
'',
'rowid');
371 if ($action ==
'delete_categ') {
372 print $form->formconfirm($_SERVER[
'PHP_SELF'].
"?rowid=".urlencode((
string) ($rowid)).
"&cat1=".urlencode((
string) (
GETPOSTINT(
"fk_categ"))).
"&orig_account=".urlencode((
string) ($orig_account)), $langs->trans(
"RemoveFromRubrique"), $langs->trans(
"RemoveFromRubriqueConfirm"),
"confirm_delete_categ",
'',
'yes', 1);
375 print
'<form name="update" method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?rowid='.$rowid.
'">';
376 print
'<input type="hidden" name="token" value="'.newToken().
'">';
377 print
'<input type="hidden" name="action" value="update">';
378 print
'<input type="hidden" name="orig_account" value="'.$orig_account.
'">';
379 print
'<input type="hidden" name="account" value="'.$acct->id.
'">';
381 print
dol_get_fiche_head($head,
'bankline', $langs->trans(
'LineRecord'), 0,
'accountline', 0);
383 $linkback =
'<a href="'.DOL_URL_ROOT.
'/compta/bank/bankentries_list.php?restore_lastsearch_values=1'.(
GETPOSTINT(
'account', 1) ?
'&id='.GETPOSTINT(
'account', 1) :
'').
'">'.$langs->trans(
"BackToList").
'</a>';
386 dol_banner_tab($bankline,
'rowid', $linkback);
388 print
'<div class="fichecenter2">';
390 print
'<div class="underbanner clearboth"></div>';
391 print
'<table class="border centpercent tableforfield">';
396 print
'<tr><td class="titlefieldcreate">'.$langs->trans(
"BankAccount").
'</td>';
399 if (($objp->rappro || $bankline->getVentilExportCompta()) && $objp->fk_account > 0) {
400 print $acct->getNomUrl(1,
'transactions',
'reflabel');
402 print
img_picto(
'',
'bank_account',
'class="paddingright"');
403 print $form->select_comptes($acct->id,
'accountid', 0,
'', ($acct->id > 0 ? $acct->id : 1),
'', 0,
'', 1);
410 print
'<tr><td class="tdtop">'.$langs->trans(
"Links").
'</td>';
412 foreach ($links as $key => $val) {
416 if ($links[$key][
'type'] ==
'payment') {
417 require_once DOL_DOCUMENT_ROOT.
'/compta/paiement/class/paiement.class.php';
419 $paymenttmp->fetch($links[$key][
'url_id']);
420 $paymenttmp->ref = $langs->trans(
"Payment").
' '.$paymenttmp->ref;
425 print $paymenttmp->getNomUrl(1);
426 } elseif ($links[$key][
'type'] ==
'payment_supplier') {
427 require_once DOL_DOCUMENT_ROOT.
'/fourn/class/paiementfourn.class.php';
429 $paymenttmp->fetch($links[$key][
'url_id']);
430 $paymenttmp->ref = $langs->trans(
"Payment").
' '.$paymenttmp->ref;
435 print $paymenttmp->getNomUrl(1);
436 } elseif ($links[$key][
'type'] ==
'company') {
438 $societe->fetch($links[$key][
'url_id']);
439 print $societe->getNomUrl(1);
440 } elseif ($links[$key][
'type'] ==
'sc') {
441 print
'<a href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.$links[$key][
'url_id'].
'">';
442 print
img_object($langs->trans(
'SocialContribution'),
'bill').
' ';
443 print $langs->trans(
"SocialContribution").($links[$key][
'label'] ?
' - '.$links[$key][
'label'] :
'');
445 } elseif ($links[$key][
'type'] ==
'vat') {
446 print
'<a href="'.DOL_URL_ROOT.
'/compta/tva/card.php?id='.$links[$key][
'url_id'].
'">';
447 print
img_object($langs->trans(
'VATDeclaration'),
'bill').
' ';
448 print $langs->trans(
"VATDeclaration").($links[$key][
'label'] ?
' '.$links[$key][
'label'] :
'');
450 } elseif ($links[$key][
'type'] ==
'salary') {
451 print
'<a href="'.DOL_URL_ROOT.
'/salaries/card.php?id='.$links[$key][
'url_id'].
'">';
452 print
img_object($langs->trans(
'Salary'),
'bill').
' ';
453 print $langs->trans(
"Salary").($links[$key][
'label'] ?
' - '.$links[$key][
'label'] :
'');
455 } elseif ($links[$key][
'type'] ==
'payment_sc') {
456 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_sc/card.php?id='.$links[$key][
'url_id'].
'">';
457 print
img_object($langs->trans(
'Payment'),
'payment').
' ';
458 print $langs->trans(
"SocialContributionPayment");
460 } elseif ($links[$key][
'type'] ==
'payment_vat') {
461 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_vat/card.php?id='.$links[$key][
'url_id'].
'">';
462 print
img_object($langs->trans(
'VATPayment'),
'payment').
' ';
463 print $langs->trans(
"VATPayment");
465 } elseif ($links[$key][
'type'] ==
'payment_salary') {
466 print
'<a href="'.DOL_URL_ROOT.
'/salaries/payment_salary/card.php?id='.$links[$key][
'url_id'].
'">';
467 print
img_object($langs->trans(
'SalaryPayment'),
'payment').
' ';
468 print $langs->trans(
"SalaryPayment");
470 } elseif ($links[$key][
'type'] ==
'payment_loan') {
471 print
'<a href="'.DOL_URL_ROOT.
'/loan/payment/card.php?id='.$links[$key][
'url_id'].
'">';
472 print
img_object($langs->trans(
'LoanPayment'),
'payment').
' ';
473 print $langs->trans(
"LoanPayment");
475 } elseif ($links[$key][
'type'] ==
'loan') {
476 print
'<a href="'.DOL_URL_ROOT.
'/loan/card.php?id='.$links[$key][
'url_id'].
'">';
477 print
img_object($langs->trans(
'Loan'),
'bill').
' ';
478 print $langs->trans(
"Loan");
480 } elseif ($links[$key][
'type'] ==
'member') {
481 print
'<a href="'.DOL_URL_ROOT.
'/adherents/card.php?rowid='.$links[$key][
'url_id'].
'">';
482 print
img_object($langs->trans(
'Member'),
'user').
' ';
483 print $links[$key][
'label'];
485 } elseif ($links[$key][
'type'] ==
'payment_donation') {
486 print
'<a href="'.DOL_URL_ROOT.
'/don/payment/card.php?id='.$links[$key][
'url_id'].
'">';
487 print
img_object($langs->trans(
'Donation'),
'payment').
' ';
488 print $langs->trans(
"DonationPayment");
490 } elseif ($links[$key][
'type'] ==
'banktransfert') {
491 print
'<a href="'.DOL_URL_ROOT.
'/compta/bank/line.php?rowid='.$links[$key][
'url_id'].
'">';
492 print
img_object($langs->trans(
'Transaction'),
'payment').
' ';
493 print $langs->trans(
"TransactionOnTheOtherAccount");
495 } elseif ($links[$key][
'type'] ==
'user') {
496 print
'<a href="'.DOL_URL_ROOT.
'/user/card.php?id='.$links[$key][
'url_id'].
'">';
497 print
img_object($langs->trans(
'User'),
'user').
' ';
498 print $langs->trans(
"User");
500 } elseif ($links[$key][
'type'] ==
'payment_various') {
501 require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/paymentvarious.class.php';
503 $paymenttmp->fetch($links[$key][
'url_id']);
504 $paymenttmp->ref = $langs->trans(
"VariousPayment").
' '.$paymenttmp->ref;
511 print $paymenttmp->getNomUrl(1);
514 print
'<a href="'.$links[$key][
'url'].$links[$key][
'url_id'].
'">';
516 print $links[$key][
'label'];
524 print
"<tr><td>".$langs->trans(
"Type").
" / ".$langs->trans(
"Numero");
525 print
' <em>('.$langs->trans(
"ChequeOrTransferNumber").
')</em>';
527 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
529 $form->select_types_paiements($objp->fk_type,
"value",
'', 2);
530 print
'<input type="text" class="flat" name="num_chq" value="'.(empty($objp->num_chq) ?
'' : $objp->num_chq).
'">';
531 if ($objp->receiptid) {
532 include_once DOL_DOCUMENT_ROOT.
'/compta/paiement/cheque/class/remisecheque.class.php';
534 $receipt->fetch($objp->receiptid);
535 print
' '.$langs->trans(
"CheckReceipt").
': '.$receipt->getNomUrl(2);
544 print
"<tr><td>".$langs->trans(
"CheckTransmitter");
545 print
' <em>('.$langs->trans(
"ChequeMaker").
')</em>';
547 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
549 print
'<input type="text" class="flat minwidth200" name="emetteur" value="'.(empty($objp->emetteur) ?
'' :
dol_escape_htmltag($objp->emetteur)).
'">';
552 print
'<td>'.$objp->emetteur.
'</td>';
557 print
"<tr><td>".$langs->trans(
"Bank");
558 print
' <em>('.$langs->trans(
"ChequeBank").
')</em>';
560 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
562 print
'<input type="text" class="flat minwidth200" name="banque" value="'.(empty($objp->banque) ?
'' :
dol_escape_htmltag($objp->banque)).
'">';
565 print
'<td>'.dol_escape_htmltag($objp->banque).
'</td>';
570 print
'<tr><td>'.$langs->trans(
"DateOperation").
'</td>';
571 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
573 print $form->selectDate(
$db->jdate($objp->do),
'dateo', 0, 0, 0,
'update', 1, 0, $objp->rappro);
574 if (!$objp->rappro) {
576 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=doprev&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.newToken().
'">';
578 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=donext&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.newToken().
'">';
590 print
"<tr><td>".$langs->trans(
"DateValue").
"</td>";
591 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
593 print $form->selectDate(
$db->jdate($objp->dv),
'datev', 0, 0, 0,
'update', 1, 0, $objp->rappro);
594 if (!$objp->rappro) {
596 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvprev&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.newToken().
'">';
598 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvnext&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.newToken().
'">';
611 print
"<tr><td>".$langs->trans(
"Label").
"</td>";
612 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
614 print
'<input name="label" class="flat minwidth300" '.($objp->rappro ?
' disabled' :
'').
' value="';
615 if (preg_match(
'/^\((.*)\)$/i', $objp->label, $reg)) {
617 print $langs->trans($reg[1]);
625 if (preg_match(
'/^\((.*)\)$/i', $objp->label, $reg)) {
627 print $langs->trans($reg[1]);
636 print
"<tr><td>".$langs->trans(
"Amount").
"</td>";
637 if ($user->hasRight(
'banque',
'modifier')) {
639 print
'<input name="amount" class="flat maxwidth100" '.($objp->rappro ?
' disabled' :
'').
' value="'.
price($objp->amount).
'"> '.$langs->trans(
"Currency".$acct->currency_code);
643 print
price($objp->amount);
649 if (
isModEnabled(
'category') && $user->hasRight(
'categorie',
'lire')) {
650 $langs->load(
'categories');
653 print
'<tr><td class="toptd">'.$form->editfieldkey(
'RubriquesTransactions',
'custcats',
'', $object, 0).
'</td><td>';
654 print $form->selectCategories(Categorie::TYPE_BANK_LINE,
'custcats', $object);
659 $parameters = array();
660 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters, $bankline, $action);
661 print $hookmanager->resPrint;
662 if (empty($reshook)) {
663 print $bankline->showOptionals($extrafields, ($objp->rappro ?
'view' :
'create'), $parameters);
696 print
'<div class="center"><input type="submit" class="button" value="'.$langs->trans(
"Update").
'"></div><br>';
703 if ($acct->canBeConciliated() > 0) {
704 print
load_fiche_titre($langs->trans(
"Reconciliation"),
'',
'bank_account');
707 print
'<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?rowid='.$objp->rowid.
'">';
708 print
'<input type="hidden" name="token" value="'.newToken().
'">';
709 print
'<input type="hidden" name="action" value="setreconcile">';
710 print
'<input type="hidden" name="orig_account" value="'.$orig_account.
'">';
711 print
'<input type="hidden" name="backtopage" value="'.$backtopage.
'">';
713 print
'<div class="fichecenter">';
715 print
'<table class="border centpercent">';
717 print
'<tr><td class="titlefieldcreate">'.$form->textwithpicto($langs->trans(
"AccountStatement"), $langs->trans(
"InputReceiptNumber")).
"</td>";
718 if ($user->hasRight(
'banque',
'consolidate')) {
721 print
'<input name="num_rel_bis" id="num_rel_bis" class="flat" type="text" value="'.$objp->num_releve.
'"'.($objp->rappro ?
' disabled' :
'').
'>';
722 print
'<input name="num_rel" id="num_rel" class="flat" type="hidden" value="'.$objp->num_releve.
'">';
724 print
'<input name="num_rel" id="num_rel" class="flat" value="'.$objp->num_releve.
'"'.($objp->rappro ?
' disabled' :
'').
'>';
726 if ($objp->num_releve) {
727 print
' <a href="'.DOL_URL_ROOT.
'/compta/bank/releve.php?num='.$objp->num_releve.
'&account='.$acct->id.
'">('.$langs->trans(
"AccountStatement").
' '.$objp->num_releve.
')</a>';
731 print
'<td>'.$objp->num_releve.
'</td>';
735 print
'<tr><td><label for="reconciled">'.$langs->trans(
"BankLineConciliated").
'</label></td>';
736 if ($user->hasRight(
'banque',
'consolidate')) {
738 print
'<input type="checkbox" id="reconciled" name="reconciled" class="flat" '.(GETPOSTISSET(
"reconciled") ? (
GETPOST(
"reconciled") ?
' checked="checked"' :
'') : ($objp->rappro ?
' checked="checked"' :
'')).
'">';
741 <script type="text/javascript">
742 jQuery(document).ready(function() {
743 $("#reconciled").click(function(){
744 console.log("We click on checkbox reconciled "+$("#reconciled").prop("checked"));
745 if ($("#reconciled").prop("checked") == false) {
746 console.log("we remove disabled");
747 jQuery("#num_rel_bis").removeAttr("disabled");
748 jQuery("#num_rel").removeAttr("disabled");
749 jQuery("#num_rel_bis").attr("type", "hidden");
750 jQuery("#num_rel").attr("type", "text");
751 jQuery("#num_rel_bis").hide();
752 jQuery("#num_rel").show();
763 print
'<td>'.yn($objp->rappro).
'</td>';
770 print
'<div class="center">';
772 print
'<input type="submit" class="button" value="'.$langs->trans(
"Update").
'">';
775 print
'<input type="submit" name="cancel" class="button button-cancel" value="'.$langs->trans(
"Cancel").
'">';
$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.
const TYPE_CASH
Cash account.
Class to manage bank transaction lines.
Class to manage categories.
Class to manage payments for supplier invoices.
Class to manage payments of customer invoices.
Class to manage various payments.
Class to manage cheque delivery receipts.
Class to manage third parties objects (customers, suppliers, prospects...)
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.
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)
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.
img_object($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0, $allowothertags=array())
Show a picto called object_picto (generic function)
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.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
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...
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='', $morecssonpicto='widthpictotitle')
Load a title with picto.
img_edit_add($titlealt='default', $other='')
Show logo "+".
isModEnabled($module)
Is Dolibarr module enabled.
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
img_edit_remove($titlealt='default', $other='')
Show logo "-".
dol_escape_htmltag($stringtoescape, $keepb=0, $keepn=0, $noescapetags='', $escapeonlyhtmltags=0, $cleanalsojavascript=0)
Returns text escaped for inclusion in HTML alt or title or value tags, or into values of HTML input f...
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.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.