35require
'../../main.inc.php';
36require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
37require_once DOL_DOCUMENT_ROOT.
'/categories/class/categorie.class.php';
38require_once DOL_DOCUMENT_ROOT.
'/core/lib/payments.lib.php';
39require_once DOL_DOCUMENT_ROOT.
'/core/class/extrafields.class.php';
40require_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')) {
95$extrafields->fetch_name_optionals_label(
$object->element);
100 dol_syslog(
'Failed to read bank line with id '.$rowid, LOG_WARNING);
112$parameters = array(
'socid' => $socid);
113$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
119 header(
"Location: ".$backtopage);
125if ($user->hasRight(
'banque',
'consolidate') && $action ==
'donext') {
128} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'doprev') {
131} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'dvnext') {
134} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'dvprev') {
139if ($action ==
'confirm_delete_categ' && $confirm ==
"yes" && $user->hasRight(
'banque',
'modifier')) {
141 if (!empty($rowid) && !empty($cat1)) {
142 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"category_bankline WHERE lineid = ".((int) $rowid).
" AND fk_categ = ".((int) $cat1);
143 if (!$db->query($sql)) {
151if ($user->hasRight(
'banque',
'modifier') && $action ==
"update") {
153 $acsource->fetch($accountoldid);
159 $actarget->fetch($accountoldid);
162 if (!($actarget->id > 0)) {
163 setEventMessages($langs->trans(
"ErrorFailedToLoadBankAccount"),
null,
'errors');
167 setEventMessages($langs->trans(
"ErrorCashAccountAcceptsOnlyCashMoney"),
null,
'errors');
177 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"bank";
180 if (GETPOSTISSET(
'value')) {
182 $sql .=
" fk_type='".$db->escape(empty($type) &&
$object->fk_type ==
'SOLD' ?
'SOLD' : $type).
"',";
184 if (GETPOSTISSET(
'num_chq')) {
185 $sql .=
" num_chq='".$db->escape(
GETPOST(
"num_chq")).
"',";
187 if (GETPOSTISSET(
'banque')) {
188 $sql .=
" banque='".$db->escape(
GETPOST(
"banque")).
"',";
190 if (GETPOSTISSET(
'emetteur')) {
191 $sql .=
" emetteur='".$db->escape(
GETPOST(
"emetteur")).
"',";
195 if (GETPOSTISSET(
'label')) {
196 $sql .=
" label = '".$db->escape(
GETPOST(
"label")).
"',";
198 if (GETPOSTISSET(
'amount')) {
199 $sql .=
" amount= '".$db->escape($amount).
"',";
201 if (GETPOSTISSET(
'dateomonth')) {
202 $sql .=
" dateo = '".$db->idate($dateop).
"',";
204 if (GETPOSTISSET(
'datevmonth')) {
205 $sql .=
" datev = '".$db->idate($dateval).
"',";
208 $sql .=
" fk_account = ".((int) $actarget->id);
209 $sql .=
" WHERE rowid = ".((int)
$object->id);
211 $result = $db->query($sql);
217 $arrayofcategs =
GETPOST(
'custcats',
'array');
218 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"category_bankline WHERE lineid = ".((int) $rowid);
219 if (!$db->query($sql)) {
223 if (count($arrayofcategs)) {
224 foreach ($arrayofcategs as $val) {
225 $sql =
"INSERT INTO ".MAIN_DB_PREFIX.
"category_bankline (lineid, fk_categ) VALUES (".((int) $rowid).
", ".((int) $val).
")";
226 if (!$db->query($sql)) {
236 $extrafields->setOptionalsFromPost(
null, $object,
'@GETPOSTISSET');
251if ($user->hasRight(
'banque',
'consolidate') && ($action ==
'num_releve' || $action ==
'setreconcile')) {
252 $num_rel = trim(
GETPOST(
"num_rel"));
253 $rappro =
GETPOST(
'reconciled') ? 1 : 0;
256 if ($rappro && empty($num_rel)) {
257 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"AccountStatement")),
null,
'errors');
264 $oldNum_rel =
$object->num_releve;
267 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"bank";
268 $sql .=
" SET num_releve = ".($num_rel ?
"'".$db->escape($num_rel).
"'" :
"null");
269 if (empty($num_rel)) {
270 $sql .=
", rappro = 0";
272 $sql .=
", rappro = ".((int) $rappro);
274 $sql .=
" WHERE rowid = ".((int) $rowid);
276 $updatePathFile =
true;
279 dol_syslog(
"line.php update bank line to set the new bank receipt number", LOG_DEBUG);
281 $result = $db->query($sql);
308 if ($result && $updatePathFile && $update_dir) {
312 $langs->load(
"errors");
313 setEventMessages($langs->trans(
"ErrorFailToRenameDir", $oldfilepath, $filepath),
null,
'mesgs');
325$form =
new Form($db);
327llxHeader(
'', $langs->trans(
"BankTransaction"));
329$arrayselected = array();
332$cats =
$c->containing($rowid, Categorie::TYPE_BANK_LINE);
333if (is_array($cats)) {
334 foreach ($cats as $cat) {
335 $arrayselected[] = $cat->id;
339$head = bankline_prepare_head($rowid);
342$sql =
"SELECT b.rowid, b.dateo as do, b.datev as dv, b.amount, b.label, b.rappro,";
343$sql .=
" b.num_releve, b.fk_user_author, b.num_chq, b.fk_type, b.fk_account, b.fk_bordereau as receiptid,";
344$sql .=
" b.emetteur,b.banque";
345$sql .=
" FROM ".MAIN_DB_PREFIX.
"bank as b";
346$sql .=
" WHERE rowid=".((int) $rowid);
347$sql .=
" ORDER BY dateo ASC";
348$result = $db->query($sql);
352 if ($db->num_rows($result)) {
353 $objp = $db->fetch_object($result);
355 $total += $objp->amount;
358 $acct->fetch($objp->fk_account);
359 $account = $acct->id;
362 $bankline->fetch($rowid, $ref);
364 $links = $acct->get_url($rowid);
365 $bankline->load_previous_next_ref(
'',
'rowid');
368 if ($action ==
'delete_categ') {
369 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);
372 print
'<form name="update" method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?rowid='.$rowid.
'">';
373 print
'<input type="hidden" name="token" value="'.newToken().
'">';
374 print
'<input type="hidden" name="action" value="update">';
375 print
'<input type="hidden" name="orig_account" value="'.$orig_account.
'">';
376 print
'<input type="hidden" name="account" value="'.$acct->id.
'">';
378 print
dol_get_fiche_head($head,
'bankline', $langs->trans(
'LineRecord'), 0,
'accountline', 0);
380 $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>';
383 dol_banner_tab($bankline,
'rowid', $linkback);
385 print
'<div class="fichecenter2">';
387 print
'<div class="underbanner clearboth"></div>';
388 print
'<table class="border centpercent tableforfield">';
393 print
'<tr><td class="titlefieldcreate">'.$langs->trans(
"BankAccount").
'</td>';
396 if (($objp->rappro || $bankline->getVentilExportCompta()) && $objp->fk_account > 0) {
397 print $acct->getNomUrl(1,
'transactions',
'reflabel');
399 print
img_picto(
'',
'bank_account',
'class="paddingright"');
400 print $form->select_comptes($acct->id,
'accountid', 0,
'', ($acct->id > 0 ? $acct->id : 1),
'', 0,
'', 1);
407 print
'<tr><td class="tdtop">'.$langs->trans(
"Links").
'</td>';
409 foreach ($links as $key => $val) {
413 if ($links[$key][
'type'] ==
'payment') {
414 require_once DOL_DOCUMENT_ROOT.
'/compta/paiement/class/paiement.class.php';
416 $paymenttmp->fetch($links[$key][
'url_id']);
417 $paymenttmp->ref = $langs->trans(
"Payment").
' '.$paymenttmp->ref;
422 print $paymenttmp->getNomUrl(1);
423 } elseif ($links[$key][
'type'] ==
'payment_supplier') {
424 require_once DOL_DOCUMENT_ROOT.
'/fourn/class/paiementfourn.class.php';
426 $paymenttmp->fetch($links[$key][
'url_id']);
427 $paymenttmp->ref = $langs->trans(
"Payment").
' '.$paymenttmp->ref;
432 print $paymenttmp->getNomUrl(1);
433 } elseif ($links[$key][
'type'] ==
'company') {
435 $societe->fetch($links[$key][
'url_id']);
436 print $societe->getNomUrl(1);
437 } elseif ($links[$key][
'type'] ==
'sc') {
438 print
'<a href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.$links[$key][
'url_id'].
'">';
439 print
img_object($langs->trans(
'SocialContribution'),
'bill').
' ';
440 print $langs->trans(
"SocialContribution").($links[$key][
'label'] ?
' - '.$links[$key][
'label'] :
'');
442 } elseif ($links[$key][
'type'] ==
'vat') {
443 print
'<a href="'.DOL_URL_ROOT.
'/compta/tva/card.php?id='.$links[$key][
'url_id'].
'">';
444 print
img_object($langs->trans(
'VATDeclaration'),
'bill').
' ';
445 print $langs->trans(
"VATDeclaration").($links[$key][
'label'] ?
' '.$links[$key][
'label'] :
'');
447 } elseif ($links[$key][
'type'] ==
'salary') {
448 print
'<a href="'.DOL_URL_ROOT.
'/salaries/card.php?id='.$links[$key][
'url_id'].
'">';
449 print
img_object($langs->trans(
'Salary'),
'bill').
' ';
450 print $langs->trans(
"Salary").($links[$key][
'label'] ?
' - '.$links[$key][
'label'] :
'');
452 } elseif ($links[$key][
'type'] ==
'payment_sc') {
453 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_sc/card.php?id='.$links[$key][
'url_id'].
'">';
454 print
img_object($langs->trans(
'Payment'),
'payment').
' ';
455 print $langs->trans(
"SocialContributionPayment");
457 } elseif ($links[$key][
'type'] ==
'payment_vat') {
458 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_vat/card.php?id='.$links[$key][
'url_id'].
'">';
459 print
img_object($langs->trans(
'VATPayment'),
'payment').
' ';
460 print $langs->trans(
"VATPayment");
462 } elseif ($links[$key][
'type'] ==
'payment_salary') {
463 print
'<a href="'.DOL_URL_ROOT.
'/salaries/payment_salary/card.php?id='.$links[$key][
'url_id'].
'">';
464 print
img_object($langs->trans(
'SalaryPayment'),
'payment').
' ';
465 print $langs->trans(
"SalaryPayment");
467 } elseif ($links[$key][
'type'] ==
'payment_loan') {
468 print
'<a href="'.DOL_URL_ROOT.
'/loan/payment/card.php?id='.$links[$key][
'url_id'].
'">';
469 print
img_object($langs->trans(
'LoanPayment'),
'payment').
' ';
470 print $langs->trans(
"LoanPayment");
472 } elseif ($links[$key][
'type'] ==
'loan') {
473 print
'<a href="'.DOL_URL_ROOT.
'/loan/card.php?id='.$links[$key][
'url_id'].
'">';
474 print
img_object($langs->trans(
'Loan'),
'bill').
' ';
475 print $langs->trans(
"Loan");
477 } elseif ($links[$key][
'type'] ==
'member') {
478 print
'<a href="'.DOL_URL_ROOT.
'/adherents/card.php?rowid='.$links[$key][
'url_id'].
'">';
479 print
img_object($langs->trans(
'Member'),
'user').
' ';
480 print $links[$key][
'label'];
482 } elseif ($links[$key][
'type'] ==
'payment_donation') {
483 print
'<a href="'.DOL_URL_ROOT.
'/don/payment/card.php?id='.$links[$key][
'url_id'].
'">';
484 print
img_object($langs->trans(
'Donation'),
'payment').
' ';
485 print $langs->trans(
"DonationPayment");
487 } elseif ($links[$key][
'type'] ==
'banktransfert') {
488 print
'<a href="'.DOL_URL_ROOT.
'/compta/bank/line.php?rowid='.$links[$key][
'url_id'].
'">';
489 print
img_object($langs->trans(
'Transaction'),
'payment').
' ';
490 print $langs->trans(
"TransactionOnTheOtherAccount");
492 } elseif ($links[$key][
'type'] ==
'user') {
493 print
'<a href="'.DOL_URL_ROOT.
'/user/card.php?id='.$links[$key][
'url_id'].
'">';
494 print
img_object($langs->trans(
'User'),
'user').
' ';
495 print $langs->trans(
"User");
497 } elseif ($links[$key][
'type'] ==
'payment_various') {
498 print
'<a href="'.DOL_URL_ROOT.
'/compta/bank/various_payment/card.php?id='.$links[$key][
'url_id'].
'">';
499 print
img_object($langs->trans(
'VariousPayment'),
'payment').
' ';
500 print $langs->trans(
"VariousPayment");
504 print
'<a href="'.$links[$key][
'url'].$links[$key][
'url_id'].
'">';
506 print $links[$key][
'label'];
514 print
"<tr><td>".$langs->trans(
"Type").
" / ".$langs->trans(
"Numero");
515 print
' <em>('.$langs->trans(
"ChequeOrTransferNumber").
')</em>';
517 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
519 $form->select_types_paiements($objp->fk_type,
"value",
'', 2);
520 print
'<input type="text" class="flat" name="num_chq" value="'.(empty($objp->num_chq) ?
'' : $objp->num_chq).
'">';
521 if ($objp->receiptid) {
522 include_once DOL_DOCUMENT_ROOT.
'/compta/paiement/cheque/class/remisecheque.class.php';
524 $receipt->fetch($objp->receiptid);
525 print
' '.$langs->trans(
"CheckReceipt").
': '.$receipt->getNomUrl(2);
534 print
"<tr><td>".$langs->trans(
"CheckTransmitter");
535 print
' <em>('.$langs->trans(
"ChequeMaker").
')</em>';
537 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
539 print
'<input type="text" class="flat minwidth200" name="emetteur" value="'.(empty($objp->emetteur) ?
'' :
dol_escape_htmltag($objp->emetteur)).
'">';
542 print
'<td>'.$objp->emetteur.
'</td>';
547 print
"<tr><td>".$langs->trans(
"Bank");
548 print
' <em>('.$langs->trans(
"ChequeBank").
')</em>';
550 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
552 print
'<input type="text" class="flat minwidth200" name="banque" value="'.(empty($objp->banque) ?
'' :
dol_escape_htmltag($objp->banque)).
'">';
555 print
'<td>'.dol_escape_htmltag($objp->banque).
'</td>';
560 print
'<tr><td>'.$langs->trans(
"DateOperation").
'</td>';
561 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
563 print $form->selectDate($db->jdate($objp->do),
'dateo', 0, 0, 0,
'update', 1, 0, $objp->rappro);
564 if (!$objp->rappro) {
566 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=doprev&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.
newToken().
'">';
568 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=donext&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.
newToken().
'">';
580 print
"<tr><td>".$langs->trans(
"DateValue").
"</td>";
581 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
583 print $form->selectDate($db->jdate($objp->dv),
'datev', 0, 0, 0,
'update', 1, 0, $objp->rappro);
584 if (!$objp->rappro) {
586 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvprev&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.
newToken().
'">';
588 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvnext&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.
newToken().
'">';
601 print
"<tr><td>".$langs->trans(
"Label").
"</td>";
602 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
604 print
'<input name="label" class="flat minwidth300" '.($objp->rappro ?
' disabled' :
'').
' value="';
605 if (preg_match(
'/^\((.*)\)$/i', $objp->label, $reg)) {
607 print $langs->trans($reg[1]);
615 if (preg_match(
'/^\((.*)\)$/i', $objp->label, $reg)) {
617 print $langs->trans($reg[1]);
626 print
"<tr><td>".$langs->trans(
"Amount").
"</td>";
627 if ($user->hasRight(
'banque',
'modifier')) {
629 print
'<input name="amount" class="flat maxwidth100" '.($objp->rappro ?
' disabled' :
'').
' value="'.
price($objp->amount).
'"> '.$langs->trans(
"Currency".$acct->currency_code);
633 print
price($objp->amount);
639 if (
isModEnabled(
'category') && $user->hasRight(
'categorie',
'lire')) {
640 $langs->load(
'categories');
643 print
'<tr><td class="toptd">'.$form->editfieldkey(
'RubriquesTransactions',
'custcats',
'', $object, 0).
'</td><td>';
644 print $form->selectCategories(Categorie::TYPE_BANK_LINE,
'custcats', $object);
649 $parameters = array();
650 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters, $bankline, $action);
651 print $hookmanager->resPrint;
652 if (empty($reshook)) {
653 print $bankline->showOptionals($extrafields, ($objp->rappro ?
'view' :
'create'), $parameters);
686 print
'<div class="center"><input type="submit" class="button" value="'.$langs->trans(
"Update").
'"></div><br>';
693 if ($acct->canBeConciliated() > 0) {
694 print
load_fiche_titre($langs->trans(
"Reconciliation"),
'',
'bank_account');
697 print
'<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?rowid='.$objp->rowid.
'">';
698 print
'<input type="hidden" name="token" value="'.newToken().
'">';
699 print
'<input type="hidden" name="action" value="setreconcile">';
700 print
'<input type="hidden" name="orig_account" value="'.$orig_account.
'">';
701 print
'<input type="hidden" name="backtopage" value="'.$backtopage.
'">';
703 print
'<div class="fichecenter">';
705 print
'<table class="border centpercent">';
707 print
'<tr><td class="titlefieldcreate">'.$form->textwithpicto($langs->trans(
"AccountStatement"), $langs->trans(
"InputReceiptNumber")).
"</td>";
708 if ($user->hasRight(
'banque',
'consolidate')) {
711 print
'<input name="num_rel_bis" id="num_rel_bis" class="flat" type="text" value="'.$objp->num_releve.
'"'.($objp->rappro ?
' disabled' :
'').
'>';
712 print
'<input name="num_rel" id="num_rel" class="flat" type="hidden" value="'.$objp->num_releve.
'">';
714 print
'<input name="num_rel" id="num_rel" class="flat" value="'.$objp->num_releve.
'"'.($objp->rappro ?
' disabled' :
'').
'>';
716 if ($objp->num_releve) {
717 print
' <a href="'.DOL_URL_ROOT.
'/compta/bank/releve.php?num='.$objp->num_releve.
'&account='.$acct->id.
'">('.$langs->trans(
"AccountStatement").
' '.$objp->num_releve.
')</a>';
721 print
'<td>'.$objp->num_releve.
'</td>';
725 print
'<tr><td><label for="reconciled">'.$langs->trans(
"BankLineConciliated").
'</label></td>';
726 if ($user->hasRight(
'banque',
'consolidate')) {
728 print
'<input type="checkbox" id="reconciled" name="reconciled" class="flat" '.(GETPOSTISSET(
"reconciled") ? (
GETPOST(
"reconciled") ?
' checked="checked"' :
'') : ($objp->rappro ?
' checked="checked"' :
'')).
'">';
731 <script type="text/javascript">
732 jQuery(document).ready(function() {
733 $("#reconciled").click(function(){
734 console.log("We click on checkbox reconciled "+$("#reconciled").prop("checked"));
735 if ($("#reconciled").prop("checked") == false) {
736 console.log("we remove disabled");
737 jQuery("#num_rel_bis").removeAttr("disabled");
738 jQuery("#num_rel").removeAttr("disabled");
739 jQuery("#num_rel_bis").attr("type", "hidden");
740 jQuery("#num_rel").attr("type", "text");
741 jQuery("#num_rel_bis").hide();
742 jQuery("#num_rel").show();
753 print
'<td>'.yn($objp->rappro).
'</td>';
760 print
'<div class="center">';
762 print
'<input type="submit" class="button" value="'.$langs->trans(
"Update").
'">';
765 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 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.
newToken()
Return the value of token currently saved into session with name 'newtoken'.
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.