34require
'../../main.inc.php';
35require_once DOL_DOCUMENT_ROOT.
'/compta/bank/class/account.class.php';
36require_once DOL_DOCUMENT_ROOT.
'/categories/class/categorie.class.php';
37require_once DOL_DOCUMENT_ROOT.
'/core/lib/payments.lib.php';
38require_once DOL_DOCUMENT_ROOT.
'/core/class/extrafields.class.php';
41$langs->loadLangs(array(
'banks',
'categories',
'compta',
'bills',
'other'));
42if (isModEnabled(
'adherent')) {
43 $langs->load(
"members");
45if (isModEnabled(
'don')) {
46 $langs->load(
"donations");
48if (isModEnabled(
'loan')) {
51if (isModEnabled(
'salaries')) {
52 $langs->load(
"salaries");
57$rowid =
GETPOST(
"rowid",
'int');
58$accountoldid =
GETPOST(
'account',
'int');
59$accountid =
GETPOST(
'accountid',
'int');
61$action =
GETPOST(
'action',
'aZ09');
62$confirm =
GETPOST(
'confirm',
'alpha');
63$orig_account =
GETPOST(
"orig_account");
64$backtopage =
GETPOST(
'backtopage',
'alpha');
65$cancel =
GETPOST(
'cancel',
'alpha');
68$fieldvalue = (!empty($id) ? $id : (!empty($ref) ? $ref :
''));
69$fieldtype = (!empty($ref) ?
'ref' :
'rowid');
72 $socid = $user->socid;
75$result =
restrictedArea($user,
'banque', $accountoldid,
'bank_account');
76if (empty($user->rights->banque->lire) && empty($user->rights->banque->consolidate)) {
80$hookmanager->initHooks(array(
'bankline'));
83$extrafields->fetch_name_optionals_label($object->element);
89$parameters = array(
'socid' => $socid);
90$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
96 header(
"Location: ".$backtopage);
102if ($user->rights->banque->consolidate && $action ==
'donext') {
104 $al->dateo_next(
GETPOST(
"rowid",
'int'));
105} elseif ($user->rights->banque->consolidate && $action ==
'doprev') {
107 $al->dateo_previous(
GETPOST(
"rowid",
'int'));
108} elseif ($user->rights->banque->consolidate && $action ==
'dvnext') {
110 $al->datev_next(
GETPOST(
"rowid",
'int'));
111} elseif ($user->rights->banque->consolidate && $action ==
'dvprev') {
113 $al->datev_previous(
GETPOST(
"rowid",
'int'));
116if ($action ==
'confirm_delete_categ' && $confirm ==
"yes" && $user->rights->banque->modifier) {
117 $cat1 =
GETPOST(
"cat1",
'int');
118 if (!empty($rowid) && !empty($cat1)) {
119 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"bank_class WHERE lineid = ".((int) $rowid).
" AND fk_categ = ".((int) $cat1);
120 if (!$db->query($sql)) {
128if ($user->rights->banque->modifier && $action ==
"update") {
131 $result = $object->fetch($rowid);
133 dol_syslog(
'Failed to read bank line with id '.$rowid, LOG_WARNING);
134 $object->id = $rowid;
138 $acsource->fetch($accountoldid);
141 if (
GETPOST(
'accountid',
'int') > 0 && !$object->rappro && !$object->getVentilExportCompta()) {
142 $actarget->fetch(
GETPOST(
'accountid',
'int'));
144 $actarget->fetch($accountoldid);
147 if (!($actarget->id > 0)) {
148 setEventMessages($langs->trans(
"ErrorFailedToLoadBankAccount"),
null,
'errors');
152 setEventMessages($langs->trans(
"ErrorCashAccountAcceptsOnlyCashMoney"),
null,
'errors');
162 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"bank";
165 if (GETPOSTISSET(
'value')) {
166 $sql .=
" fk_type='".$db->escape(
GETPOST(
'value')).
"',";
168 if (GETPOSTISSET(
'num_chq')) {
169 $sql .=
" num_chq='".$db->escape(
GETPOST(
"num_chq")).
"',";
171 if (GETPOSTISSET(
'banque')) {
172 $sql .=
" banque='".$db->escape(
GETPOST(
"banque")).
"',";
174 if (GETPOSTISSET(
'emetteur')) {
175 $sql .=
" emetteur='".$db->escape(
GETPOST(
"emetteur")).
"',";
178 if (!$object->rappro) {
179 if (GETPOSTISSET(
'label')) {
180 $sql .=
" label = '".$db->escape(
GETPOST(
"label")).
"',";
182 if (GETPOSTISSET(
'amount')) {
183 $sql .=
" amount= '".$db->escape($amount).
"',";
185 if (GETPOSTISSET(
'dateomonth')) {
186 $sql .=
" dateo = '".$db->idate($dateop).
"',";
188 if (GETPOSTISSET(
'datevmonth')) {
189 $sql .=
" datev = '".$db->idate($dateval).
"',";
192 $sql .=
" fk_account = ".((int) $actarget->id);
193 $sql .=
" WHERE rowid = ".((int) $object->id);
195 $result = $db->query($sql);
201 $arrayofcategs =
GETPOST(
'custcats',
'array');
202 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"bank_class WHERE lineid = ".((int) $rowid);
203 if (!$db->query($sql)) {
207 if (count($arrayofcategs)) {
208 foreach ($arrayofcategs as $val) {
209 $sql =
"INSERT INTO ".MAIN_DB_PREFIX.
"bank_class (lineid, fk_categ) VALUES (".((int) $rowid).
", ".((int) $val).
")";
210 if (!$db->query($sql)) {
220 $extrafields->setOptionalsFromPost(
null, $object,
'@GETPOSTISSET');
221 $object->insertExtraFields();
235if ($user->rights->banque->consolidate && ($action ==
'num_releve' || $action ==
'setreconcile')) {
236 $num_rel = trim(
GETPOST(
"num_rel"));
237 $rappro =
GETPOST(
'reconciled') ? 1 : 0;
240 if ($rappro && empty($num_rel)) {
241 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"AccountStatement")),
null,
'errors');
248 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"bank";
249 $sql .=
" SET num_releve = ".($num_rel ?
"'".$db->escape($num_rel).
"'" :
"null");
250 if (empty($num_rel)) {
251 $sql .=
", rappro = 0";
253 $sql .=
", rappro = ".((int) $rappro);
255 $sql .=
" WHERE rowid = ".((int) $rowid);
258 $result = $db->query($sql);
275$form =
new Form($db);
277llxHeader(
'', $langs->trans(
"BankTransaction"));
279$arrayselected = array();
282$cats = $c->containing($rowid, Categorie::TYPE_BANK_LINE);
283if (is_array($cats)) {
284 foreach ($cats as $cat) {
285 $arrayselected[] = $cat->id;
289$head = bankline_prepare_head($rowid);
292$sql =
"SELECT b.rowid, b.dateo as do, b.datev as dv, b.amount, b.label, b.rappro,";
293$sql .=
" b.num_releve, b.fk_user_author, b.num_chq, b.fk_type, b.fk_account, b.fk_bordereau as receiptid,";
294$sql .=
" b.emetteur,b.banque";
295$sql .=
" FROM ".MAIN_DB_PREFIX.
"bank as b";
296$sql .=
" WHERE rowid=".((int) $rowid);
297$sql .=
" ORDER BY dateo ASC";
298$result = $db->query($sql);
302 if ($db->num_rows($result)) {
303 $objp = $db->fetch_object($result);
305 $total = $total + $objp->amount;
308 $acct->fetch($objp->fk_account);
309 $account = $acct->id;
312 $bankline->fetch($rowid, $ref);
314 $links = $acct->get_url($rowid);
315 $bankline->load_previous_next_ref(
'',
'rowid');
318 if ($action ==
'delete_categ') {
319 print $form->formconfirm($_SERVER[
'PHP_SELF'].
"?rowid=".urlencode($rowid).
"&cat1=".urlencode(
GETPOST(
"fk_categ",
'int')).
"&orig_account=".urlencode($orig_account), $langs->trans(
"RemoveFromRubrique"), $langs->trans(
"RemoveFromRubriqueConfirm"),
"confirm_delete_categ",
'',
'yes', 1);
322 print
'<form name="update" method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?rowid='.$rowid.
'">';
323 print
'<input type="hidden" name="token" value="'.newToken().
'">';
324 print
'<input type="hidden" name="action" value="update">';
325 print
'<input type="hidden" name="orig_account" value="'.$orig_account.
'">';
326 print
'<input type="hidden" name="account" value="'.$acct->id.
'">';
328 print
dol_get_fiche_head($head,
'bankline', $langs->trans(
'LineRecord'), 0,
'accountline', 0);
330 $linkback =
'<a href="'.DOL_URL_ROOT.
'/compta/bank/bankentries_list.php?restore_lastsearch_values=1'.(
GETPOST(
'account',
'int', 1) ?
'&id='.GETPOST(
'account',
'int', 1) :
'').
'">'.$langs->trans(
"BackToList").
'</a>';
335 print
'<div class="fichecenter2">';
337 print
'<div class="underbanner clearboth"></div>';
338 print
'<table class="border centpercent tableforfield">';
343 print
'<tr><td class="titlefieldcreate">'.$langs->trans(
"Account").
'</td>';
346 if (($objp->rappro || $bankline->getVentilExportCompta()) && $objp->fk_account > 0) {
347 print $acct->getNomUrl(1,
'transactions',
'reflabel');
349 print
img_picto(
'',
'bank_account',
'class="paddingright"');
350 print $form->select_comptes($acct->id,
'accountid', 0,
'', ($acct->id > 0 ? $acct->id : 1),
'', 0,
'', 1);
357 print
'<tr><td class="tdtop">'.$langs->trans(
"Links").
'</td>';
359 foreach ($links as $key => $val) {
363 if ($links[$key][
'type'] ==
'payment') {
364 require_once DOL_DOCUMENT_ROOT.
'/compta/paiement/class/paiement.class.php';
366 $paymenttmp->fetch($links[$key][
'url_id']);
367 $paymenttmp->ref = $langs->trans(
"Payment").
' '.$paymenttmp->ref;
372 print $paymenttmp->getNomUrl(1);
373 } elseif ($links[$key][
'type'] ==
'payment_supplier') {
374 require_once DOL_DOCUMENT_ROOT.
'/fourn/class/paiementfourn.class.php';
376 $paymenttmp->fetch($links[$key][
'url_id']);
377 $paymenttmp->ref = $langs->trans(
"Payment").
' '.$paymenttmp->ref;
382 print $paymenttmp->getNomUrl(1);
383 } elseif ($links[$key][
'type'] ==
'company') {
385 $societe->fetch($links[$key][
'url_id']);
386 print $societe->getNomUrl(1);
387 } elseif ($links[$key][
'type'] ==
'sc') {
388 print
'<a href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.$links[$key][
'url_id'].
'">';
389 print
img_object($langs->trans(
'SocialContribution'),
'bill').
' ';
390 print $langs->trans(
"SocialContribution").($links[$key][
'label'] ?
' - '.$links[$key][
'label'] :
'');
392 } elseif ($links[$key][
'type'] ==
'vat') {
393 print
'<a href="'.DOL_URL_ROOT.
'/compta/tva/card.php?id='.$links[$key][
'url_id'].
'">';
394 print
img_object($langs->trans(
'VATDeclaration'),
'bill').
' ';
395 print $langs->trans(
"VATDeclaration").($links[$key][
'label'] ?
' '.$links[$key][
'label'] :
'');
397 } elseif ($links[$key][
'type'] ==
'salary') {
398 print
'<a href="'.DOL_URL_ROOT.
'/salaries/card.php?id='.$links[$key][
'url_id'].
'">';
399 print
img_object($langs->trans(
'Salary'),
'bill').
' ';
400 print $langs->trans(
"Salary").($links[$key][
'label'] ?
' - '.$links[$key][
'label'] :
'');
402 } elseif ($links[$key][
'type'] ==
'payment_sc') {
403 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_sc/card.php?id='.$links[$key][
'url_id'].
'">';
404 print
img_object($langs->trans(
'Payment'),
'payment').
' ';
405 print $langs->trans(
"SocialContributionPayment");
407 } elseif ($links[$key][
'type'] ==
'payment_vat') {
408 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_vat/card.php?id='.$links[$key][
'url_id'].
'">';
409 print
img_object($langs->trans(
'VATPayment'),
'payment').
' ';
410 print $langs->trans(
"VATPayment");
412 } elseif ($links[$key][
'type'] ==
'payment_salary') {
413 print
'<a href="'.DOL_URL_ROOT.
'/salaries/payment_salary/card.php?id='.$links[$key][
'url_id'].
'">';
414 print
img_object($langs->trans(
'PaymentSalary'),
'payment').
' ';
415 print $langs->trans(
"SalaryPayment");
417 } elseif ($links[$key][
'type'] ==
'payment_loan') {
418 print
'<a href="'.DOL_URL_ROOT.
'/loan/payment/card.php?id='.$links[$key][
'url_id'].
'">';
419 print
img_object($langs->trans(
'LoanPayment'),
'payment').
' ';
420 print $langs->trans(
"PaymentLoan");
422 } elseif ($links[$key][
'type'] ==
'loan') {
423 print
'<a href="'.DOL_URL_ROOT.
'/loan/card.php?id='.$links[$key][
'url_id'].
'">';
424 print
img_object($langs->trans(
'Loan'),
'bill').
' ';
425 print $langs->trans(
"Loan");
427 } elseif ($links[$key][
'type'] ==
'member') {
428 print
'<a href="'.DOL_URL_ROOT.
'/adherents/card.php?rowid='.$links[$key][
'url_id'].
'">';
429 print
img_object($langs->trans(
'Member'),
'user').
' ';
430 print $links[$key][
'label'];
432 } elseif ($links[$key][
'type'] ==
'payment_donation') {
433 print
'<a href="'.DOL_URL_ROOT.
'/don/payment/card.php?id='.$links[$key][
'url_id'].
'">';
434 print
img_object($langs->trans(
'Donation'),
'payment').
' ';
435 print $langs->trans(
"DonationPayment");
437 } elseif ($links[$key][
'type'] ==
'banktransfert') {
438 print
'<a href="'.DOL_URL_ROOT.
'/compta/bank/line.php?rowid='.$links[$key][
'url_id'].
'">';
439 print
img_object($langs->trans(
'Transaction'),
'payment').
' ';
440 print $langs->trans(
"TransactionOnTheOtherAccount");
442 } elseif ($links[$key][
'type'] ==
'user') {
443 print
'<a href="'.DOL_URL_ROOT.
'/user/card.php?id='.$links[$key][
'url_id'].
'">';
444 print
img_object($langs->trans(
'User'),
'user').
' ';
445 print $langs->trans(
"User");
447 } elseif ($links[$key][
'type'] ==
'payment_various') {
448 print
'<a href="'.DOL_URL_ROOT.
'/compta/bank/various_payment/card.php?id='.$links[$key][
'url_id'].
'">';
449 print
img_object($langs->trans(
'VariousPayment'),
'payment').
' ';
450 print $langs->trans(
"VariousPayment");
453 print
'<a href="'.$links[$key][
'url'].$links[$key][
'url_id'].
'">';
455 print $links[$key][
'label'];
466 print
"<tr><td>".$langs->trans(
"Type").
" / ".$langs->trans(
"Numero");
467 print
' <em>('.$langs->trans(
"ChequeOrTransferNumber").
')</em>';
469 if ($user->rights->banque->modifier || $user->rights->banque->consolidate) {
471 $form->select_types_paiements($objp->fk_type,
"value",
'', 2);
472 print
'<input type="text" class="flat" name="num_chq" value="'.(empty($objp->num_chq) ?
'' : $objp->num_chq).
'">';
473 if ($objp->receiptid) {
474 include_once DOL_DOCUMENT_ROOT.
'/compta/paiement/cheque/class/remisecheque.class.php';
476 $receipt->fetch($objp->receiptid);
477 print
' '.$langs->trans(
"CheckReceipt").
': '.$receipt->getNomUrl(2);
486 print
"<tr><td>".$langs->trans(
"CheckTransmitter");
487 print
' <em>('.$langs->trans(
"ChequeMaker").
')</em>';
489 if ($user->rights->banque->modifier || $user->rights->banque->consolidate) {
491 print
'<input type="text" class="flat minwidth200" name="emetteur" value="'.(empty($objp->emetteur) ?
'' :
dol_escape_htmltag($objp->emetteur)).
'">';
494 print
'<td>'.$objp->emetteur.
'</td>';
499 print
"<tr><td>".$langs->trans(
"Bank");
500 print
' <em>('.$langs->trans(
"ChequeBank").
')</em>';
502 if ($user->rights->banque->modifier || $user->rights->banque->consolidate) {
504 print
'<input type="text" class="flat minwidth200" name="banque" value="'.(empty($objp->banque) ?
'' :
dol_escape_htmltag($objp->banque)).
'">';
507 print
'<td>'.dol_escape_htmltag($objp->banque).
'</td>';
512 print
'<tr><td>'.$langs->trans(
"DateOperation").
'</td>';
513 if ($user->rights->banque->modifier || $user->rights->banque->consolidate) {
515 print $form->selectDate($db->jdate($objp->do),
'dateo',
'',
'',
'',
'update', 1, 0, $objp->rappro);
516 if (!$objp->rappro) {
518 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=doprev&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.newToken().
'">';
520 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=donext&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.newToken().
'">';
532 print
"<tr><td>".$langs->trans(
"DateValue").
"</td>";
533 if ($user->rights->banque->modifier || $user->rights->banque->consolidate) {
535 print $form->selectDate($db->jdate($objp->dv),
'datev',
'',
'',
'',
'update', 1, 0, $objp->rappro);
536 if (!$objp->rappro) {
538 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvprev&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.newToken().
'">';
540 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvnext&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.newToken().
'">';
553 print
"<tr><td>".$langs->trans(
"Label").
"</td>";
554 if ($user->rights->banque->modifier || $user->rights->banque->consolidate) {
556 print
'<input name="label" class="flat minwidth300" '.($objp->rappro ?
' disabled' :
'').
' value="';
557 if (preg_match(
'/^\((.*)\)$/i', $objp->label, $reg)) {
559 print $langs->trans($reg[1]);
567 if (preg_match(
'/^\((.*)\)$/i', $objp->label, $reg)) {
569 print $langs->trans($reg[1]);
578 print
"<tr><td>".$langs->trans(
"Amount").
"</td>";
579 if ($user->rights->banque->modifier) {
581 print
'<input name="amount" class="flat maxwidth100" '.($objp->rappro ?
' disabled' :
'').
' value="'.
price($objp->amount).
'"> '.$langs->trans(
"Currency".$acct->currency_code);
585 print
price($objp->amount);
591 if (isModEnabled(
'categorie') && $user->hasRight(
'categorie',
'lire')) {
592 $langs->load(
'categories');
595 print
'<tr><td class="toptd">'.$form->editfieldkey(
'RubriquesTransactions',
'custcats',
'', $object, 0).
'</td><td>';
596 $cate_arbo = $form->select_all_categories(Categorie::TYPE_BANK_LINE,
null,
'parent',
null,
null, 1);
598 $arrayselected = array();
601 $cats = $c->containing($bankline->id, Categorie::TYPE_BANK_LINE);
602 if (is_array($cats)) {
603 foreach ($cats as $cat) {
604 $arrayselected[] = $cat->id;
607 print
img_picto(
'',
'category',
'class="paddingright"').$form->multiselectarray(
'custcats', $cate_arbo, $arrayselected,
null,
null,
null,
null,
"90%");
612 $parameters = array();
613 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters, $bankline, $action);
614 print $hookmanager->resPrint;
615 if (empty($reshook)) {
616 print $bankline->showOptionals($extrafields, ($objp->rappro ?
'view' :
'create'), $parameters);
649 print
'<div class="center"><input type="submit" class="button" value="'.$langs->trans(
"Update").
'"></div><br>';
656 if ($acct->canBeConciliated() > 0) {
657 print
load_fiche_titre($langs->trans(
"Reconciliation"),
'',
'bank_account');
660 print
'<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?rowid='.$objp->rowid.
'">';
661 print
'<input type="hidden" name="token" value="'.newToken().
'">';
662 print
'<input type="hidden" name="action" value="setreconcile">';
663 print
'<input type="hidden" name="orig_account" value="'.$orig_account.
'">';
664 print
'<input type="hidden" name="backtopage" value="'.$backtopage.
'">';
666 print
'<div class="fichecenter">';
668 print
'<table class="border centpercent">';
670 print
'<tr><td class="titlefieldcreate">'.$form->textwithpicto($langs->trans(
"AccountStatement"), $langs->trans(
"InputReceiptNumber")).
"</td>";
671 if ($user->rights->banque->consolidate) {
674 print
'<input name="num_rel_bis" id="num_rel_bis" class="flat" type="text" value="'.$objp->num_releve.
'"'.($objp->rappro ?
' disabled' :
'').
'>';
675 print
'<input name="num_rel" id="num_rel" class="flat" type="hidden" value="'.$objp->num_releve.
'">';
677 print
'<input name="num_rel" id="num_rel" class="flat" value="'.$objp->num_releve.
'"'.($objp->rappro ?
' disabled' :
'').
'>';
679 if ($objp->num_releve) {
680 print
' <a href="'.DOL_URL_ROOT.
'/compta/bank/releve.php?num='.$objp->num_releve.
'&account='.$acct->id.
'">('.$langs->trans(
"AccountStatement").
' '.$objp->num_releve.
')</a>';
684 print
'<td>'.$objp->num_releve.
'</td>';
688 print
'<tr><td><label for="reconciled">'.$langs->trans(
"BankLineConciliated").
'</label></td>';
689 if ($user->rights->banque->consolidate) {
691 print
'<input type="checkbox" id="reconciled" name="reconciled" class="flat" '.(GETPOSTISSET(
"reconciled") ? (
GETPOST(
"reconciled") ?
' checked="checked"' :
'') : ($objp->rappro ?
' checked="checked"' :
'')).
'">';
694 <script type="text/javascript">
695 jQuery(document).ready(function() {
696 $("#reconciled").click(function(){
697 console.log("We click on checkbox reconciled "+$("#reconciled").prop("checked"));
698 if ($("#reconciled").prop("checked") == false) {
699 console.log("we remove disabled");
700 jQuery("#num_rel_bis").removeAttr("disabled");
701 jQuery("#num_rel").removeAttr("disabled");
702 jQuery("#num_rel_bis").attr("type", "hidden");
703 jQuery("#num_rel").attr("type", "text");
704 jQuery("#num_rel_bis").hide();
705 jQuery("#num_rel").show();
716 print
'<td>'.yn($objp->rappro).
'</td>';
723 print
'<div class="center">';
725 print
'<input type="submit" class="button" value="'.$langs->trans(
"Update").
'">';
728 print
'<input type="submit" name="cancel" class="button button-cancel" value="'.$langs->trans(
"Cancel").
'">';
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
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_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='rowid', $fieldref='ref', $morehtmlref='', $moreparam='', $nodbprefix=0, $morehtmlleft='', $morehtmlstatus='', $onlybanner=0, $morehtmlright='')
Show tab footer of a card.
dol_mktime($hour, $minute, $second, $month, $day, $year, $gm='auto', $check=1)
Return a timestamp date built from detailed informations (by default a local PHP server timestamp) Re...
load_fiche_titre($titre, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
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.
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
dol_print_error($db='', $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
img_object($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0)
Show a picto called object_picto (generic function)
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.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs='', $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
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.
img_edit_add($titlealt='default', $other='')
Show logo +.
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.