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'));
52if (isModEnabled(
'member')) {
53 $langs->load(
"members");
55if (isModEnabled(
'don')) {
56 $langs->load(
"donations");
58if (isModEnabled(
'loan')) {
61if (isModEnabled(
'salaries')) {
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);
102$parameters = array(
'socid' => $socid);
103$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
109 header(
"Location: ".$backtopage);
115if ($user->hasRight(
'banque',
'consolidate') && $action ==
'donext') {
118} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'doprev') {
121} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'dvnext') {
124} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'dvprev') {
129if ($action ==
'confirm_delete_categ' && $confirm ==
"yes" && $user->hasRight(
'banque',
'modifier')) {
131 if (!empty($rowid) && !empty($cat1)) {
132 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"category_bankline WHERE lineid = ".((int) $rowid).
" AND fk_categ = ".((int) $cat1);
133 if (!$db->query($sql)) {
141if ($user->hasRight(
'banque',
'modifier') && $action ==
"update") {
142 $result =
$object->fetch($rowid);
144 dol_syslog(
'Failed to read bank line with id '.$rowid, LOG_WARNING);
149 $acsource->fetch($accountoldid);
155 $actarget->fetch($accountoldid);
158 if (!($actarget->id > 0)) {
159 setEventMessages($langs->trans(
"ErrorFailedToLoadBankAccount"),
null,
'errors');
163 setEventMessages($langs->trans(
"ErrorCashAccountAcceptsOnlyCashMoney"),
null,
'errors');
173 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"bank";
176 if (GETPOSTISSET(
'value')) {
178 $sql .=
" fk_type='".$db->escape(empty($type) &&
$object->fk_type ==
'SOLD' ?
'SOLD' : $type).
"',";
180 if (GETPOSTISSET(
'num_chq')) {
181 $sql .=
" num_chq='".$db->escape(
GETPOST(
"num_chq")).
"',";
183 if (GETPOSTISSET(
'banque')) {
184 $sql .=
" banque='".$db->escape(
GETPOST(
"banque")).
"',";
186 if (GETPOSTISSET(
'emetteur')) {
187 $sql .=
" emetteur='".$db->escape(
GETPOST(
"emetteur")).
"',";
191 if (GETPOSTISSET(
'label')) {
192 $sql .=
" label = '".$db->escape(
GETPOST(
"label")).
"',";
194 if (GETPOSTISSET(
'amount')) {
195 $sql .=
" amount= '".$db->escape($amount).
"',";
197 if (GETPOSTISSET(
'dateomonth')) {
198 $sql .=
" dateo = '".$db->idate($dateop).
"',";
200 if (GETPOSTISSET(
'datevmonth')) {
201 $sql .=
" datev = '".$db->idate($dateval).
"',";
204 $sql .=
" fk_account = ".((int) $actarget->id);
205 $sql .=
" WHERE rowid = ".((int)
$object->id);
207 $result = $db->query($sql);
213 $arrayofcategs =
GETPOST(
'custcats',
'array');
214 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"category_bankline WHERE lineid = ".((int) $rowid);
215 if (!$db->query($sql)) {
219 if (count($arrayofcategs)) {
220 foreach ($arrayofcategs as $val) {
221 $sql =
"INSERT INTO ".MAIN_DB_PREFIX.
"category_bankline (lineid, fk_categ) VALUES (".((int) $rowid).
", ".((int) $val).
")";
222 if (!$db->query($sql)) {
232 $extrafields->setOptionalsFromPost(
null, $object,
'@GETPOSTISSET');
247if ($user->hasRight(
'banque',
'consolidate') && ($action ==
'num_releve' || $action ==
'setreconcile')) {
248 $num_rel = trim(
GETPOST(
"num_rel"));
249 $rappro =
GETPOST(
'reconciled') ? 1 : 0;
252 if ($rappro && empty($num_rel)) {
253 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"AccountStatement")),
null,
'errors');
260 $oldNum_rel =
$object->num_releve;
263 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"bank";
264 $sql .=
" SET num_releve = ".($num_rel ?
"'".$db->escape($num_rel).
"'" :
"null");
265 if (empty($num_rel)) {
266 $sql .=
", rappro = 0";
268 $sql .=
", rappro = ".((int) $rappro);
270 $sql .=
" WHERE rowid = ".((int) $rowid);
272 $updatePathFile =
true;
275 dol_syslog(
"line.php update bank line to set the new bank receipt number", LOG_DEBUG);
277 $result = $db->query($sql);
304 if ($result && $updatePathFile && $update_dir) {
308 $langs->load(
"errors");
309 setEventMessages($langs->trans(
"ErrorFailToRenameDir", $oldfilepath, $filepath),
null,
'mesgs');
321$form =
new Form($db);
323llxHeader(
'', $langs->trans(
"BankTransaction"));
325$arrayselected = array();
328$cats = $c->containing($rowid, Categorie::TYPE_BANK_LINE);
329if (is_array($cats)) {
330 foreach ($cats as $cat) {
331 $arrayselected[] = $cat->id;
335$head = bankline_prepare_head($rowid);
338$sql =
"SELECT b.rowid, b.dateo as do, b.datev as dv, b.amount, b.label, b.rappro,";
339$sql .=
" b.num_releve, b.fk_user_author, b.num_chq, b.fk_type, b.fk_account, b.fk_bordereau as receiptid,";
340$sql .=
" b.emetteur,b.banque";
341$sql .=
" FROM ".MAIN_DB_PREFIX.
"bank as b";
342$sql .=
" WHERE rowid=".((int) $rowid);
343$sql .=
" ORDER BY dateo ASC";
344$result = $db->query($sql);
348 if ($db->num_rows($result)) {
349 $objp = $db->fetch_object($result);
351 $total += $objp->amount;
354 $acct->fetch($objp->fk_account);
355 $account = $acct->id;
358 $bankline->fetch($rowid, $ref);
360 $links = $acct->get_url($rowid);
361 $bankline->load_previous_next_ref(
'',
'rowid');
364 if ($action ==
'delete_categ') {
365 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);
368 print
'<form name="update" method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?rowid='.$rowid.
'">';
369 print
'<input type="hidden" name="token" value="'.newToken().
'">';
370 print
'<input type="hidden" name="action" value="update">';
371 print
'<input type="hidden" name="orig_account" value="'.$orig_account.
'">';
372 print
'<input type="hidden" name="account" value="'.$acct->id.
'">';
374 print
dol_get_fiche_head($head,
'bankline', $langs->trans(
'LineRecord'), 0,
'accountline', 0);
376 $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>';
379 dol_banner_tab($bankline,
'rowid', $linkback);
381 print
'<div class="fichecenter2">';
383 print
'<div class="underbanner clearboth"></div>';
384 print
'<table class="border centpercent tableforfield">';
389 print
'<tr><td class="titlefieldcreate">'.$langs->trans(
"BankAccount").
'</td>';
392 if (($objp->rappro || $bankline->getVentilExportCompta()) && $objp->fk_account > 0) {
393 print $acct->getNomUrl(1,
'transactions',
'reflabel');
395 print
img_picto(
'',
'bank_account',
'class="paddingright"');
396 print $form->select_comptes($acct->id,
'accountid', 0,
'', ($acct->id > 0 ? $acct->id : 1),
'', 0,
'', 1);
403 print
'<tr><td class="tdtop">'.$langs->trans(
"Links").
'</td>';
405 foreach ($links as $key => $val) {
409 if ($links[$key][
'type'] ==
'payment') {
410 require_once DOL_DOCUMENT_ROOT.
'/compta/paiement/class/paiement.class.php';
412 $paymenttmp->fetch($links[$key][
'url_id']);
413 $paymenttmp->ref = $langs->trans(
"Payment").
' '.$paymenttmp->ref;
418 print $paymenttmp->getNomUrl(1);
419 } elseif ($links[$key][
'type'] ==
'payment_supplier') {
420 require_once DOL_DOCUMENT_ROOT.
'/fourn/class/paiementfourn.class.php';
422 $paymenttmp->fetch($links[$key][
'url_id']);
423 $paymenttmp->ref = $langs->trans(
"Payment").
' '.$paymenttmp->ref;
428 print $paymenttmp->getNomUrl(1);
429 } elseif ($links[$key][
'type'] ==
'company') {
431 $societe->fetch($links[$key][
'url_id']);
432 print $societe->getNomUrl(1);
433 } elseif ($links[$key][
'type'] ==
'sc') {
434 print
'<a href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.$links[$key][
'url_id'].
'">';
435 print
img_object($langs->trans(
'SocialContribution'),
'bill').
' ';
436 print $langs->trans(
"SocialContribution").($links[$key][
'label'] ?
' - '.$links[$key][
'label'] :
'');
438 } elseif ($links[$key][
'type'] ==
'vat') {
439 print
'<a href="'.DOL_URL_ROOT.
'/compta/tva/card.php?id='.$links[$key][
'url_id'].
'">';
440 print
img_object($langs->trans(
'VATDeclaration'),
'bill').
' ';
441 print $langs->trans(
"VATDeclaration").($links[$key][
'label'] ?
' '.$links[$key][
'label'] :
'');
443 } elseif ($links[$key][
'type'] ==
'salary') {
444 print
'<a href="'.DOL_URL_ROOT.
'/salaries/card.php?id='.$links[$key][
'url_id'].
'">';
445 print
img_object($langs->trans(
'Salary'),
'bill').
' ';
446 print $langs->trans(
"Salary").($links[$key][
'label'] ?
' - '.$links[$key][
'label'] :
'');
448 } elseif ($links[$key][
'type'] ==
'payment_sc') {
449 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_sc/card.php?id='.$links[$key][
'url_id'].
'">';
450 print
img_object($langs->trans(
'Payment'),
'payment').
' ';
451 print $langs->trans(
"SocialContributionPayment");
453 } elseif ($links[$key][
'type'] ==
'payment_vat') {
454 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_vat/card.php?id='.$links[$key][
'url_id'].
'">';
455 print
img_object($langs->trans(
'VATPayment'),
'payment').
' ';
456 print $langs->trans(
"VATPayment");
458 } elseif ($links[$key][
'type'] ==
'payment_salary') {
459 print
'<a href="'.DOL_URL_ROOT.
'/salaries/payment_salary/card.php?id='.$links[$key][
'url_id'].
'">';
460 print
img_object($langs->trans(
'PaymentSalary'),
'payment').
' ';
461 print $langs->trans(
"SalaryPayment");
463 } elseif ($links[$key][
'type'] ==
'payment_loan') {
464 print
'<a href="'.DOL_URL_ROOT.
'/loan/payment/card.php?id='.$links[$key][
'url_id'].
'">';
465 print
img_object($langs->trans(
'LoanPayment'),
'payment').
' ';
466 print $langs->trans(
"PaymentLoan");
468 } elseif ($links[$key][
'type'] ==
'loan') {
469 print
'<a href="'.DOL_URL_ROOT.
'/loan/card.php?id='.$links[$key][
'url_id'].
'">';
470 print
img_object($langs->trans(
'Loan'),
'bill').
' ';
471 print $langs->trans(
"Loan");
473 } elseif ($links[$key][
'type'] ==
'member') {
474 print
'<a href="'.DOL_URL_ROOT.
'/adherents/card.php?rowid='.$links[$key][
'url_id'].
'">';
475 print
img_object($langs->trans(
'Member'),
'user').
' ';
476 print $links[$key][
'label'];
478 } elseif ($links[$key][
'type'] ==
'payment_donation') {
479 print
'<a href="'.DOL_URL_ROOT.
'/don/payment/card.php?id='.$links[$key][
'url_id'].
'">';
480 print
img_object($langs->trans(
'Donation'),
'payment').
' ';
481 print $langs->trans(
"DonationPayment");
483 } elseif ($links[$key][
'type'] ==
'banktransfert') {
484 print
'<a href="'.DOL_URL_ROOT.
'/compta/bank/line.php?rowid='.$links[$key][
'url_id'].
'">';
485 print
img_object($langs->trans(
'Transaction'),
'payment').
' ';
486 print $langs->trans(
"TransactionOnTheOtherAccount");
488 } elseif ($links[$key][
'type'] ==
'user') {
489 print
'<a href="'.DOL_URL_ROOT.
'/user/card.php?id='.$links[$key][
'url_id'].
'">';
490 print
img_object($langs->trans(
'User'),
'user').
' ';
491 print $langs->trans(
"User");
493 } elseif ($links[$key][
'type'] ==
'payment_various') {
494 print
'<a href="'.DOL_URL_ROOT.
'/compta/bank/various_payment/card.php?id='.$links[$key][
'url_id'].
'">';
495 print
img_object($langs->trans(
'VariousPayment'),
'payment').
' ';
496 print $langs->trans(
"VariousPayment");
500 print
'<a href="'.$links[$key][
'url'].$links[$key][
'url_id'].
'">';
502 print $links[$key][
'label'];
510 print
"<tr><td>".$langs->trans(
"Type").
" / ".$langs->trans(
"Numero");
511 print
' <em>('.$langs->trans(
"ChequeOrTransferNumber").
')</em>';
513 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
515 $form->select_types_paiements($objp->fk_type,
"value",
'', 2);
516 print
'<input type="text" class="flat" name="num_chq" value="'.(empty($objp->num_chq) ?
'' : $objp->num_chq).
'">';
517 if ($objp->receiptid) {
518 include_once DOL_DOCUMENT_ROOT.
'/compta/paiement/cheque/class/remisecheque.class.php';
520 $receipt->fetch($objp->receiptid);
521 print
' '.$langs->trans(
"CheckReceipt").
': '.$receipt->getNomUrl(2);
530 print
"<tr><td>".$langs->trans(
"CheckTransmitter");
531 print
' <em>('.$langs->trans(
"ChequeMaker").
')</em>';
533 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
535 print
'<input type="text" class="flat minwidth200" name="emetteur" value="'.(empty($objp->emetteur) ?
'' :
dol_escape_htmltag($objp->emetteur)).
'">';
538 print
'<td>'.$objp->emetteur.
'</td>';
543 print
"<tr><td>".$langs->trans(
"Bank");
544 print
' <em>('.$langs->trans(
"ChequeBank").
')</em>';
546 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
548 print
'<input type="text" class="flat minwidth200" name="banque" value="'.(empty($objp->banque) ?
'' :
dol_escape_htmltag($objp->banque)).
'">';
551 print
'<td>'.dol_escape_htmltag($objp->banque).
'</td>';
556 print
'<tr><td>'.$langs->trans(
"DateOperation").
'</td>';
557 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
559 print $form->selectDate($db->jdate($objp->do),
'dateo', 0, 0, 0,
'update', 1, 0, $objp->rappro);
560 if (!$objp->rappro) {
562 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=doprev&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.
newToken().
'">';
564 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=donext&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.
newToken().
'">';
576 print
"<tr><td>".$langs->trans(
"DateValue").
"</td>";
577 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
579 print $form->selectDate($db->jdate($objp->dv),
'datev', 0, 0, 0,
'update', 1, 0, $objp->rappro);
580 if (!$objp->rappro) {
582 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvprev&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.
newToken().
'">';
584 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvnext&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.
newToken().
'">';
597 print
"<tr><td>".$langs->trans(
"Label").
"</td>";
598 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
600 print
'<input name="label" class="flat minwidth300" '.($objp->rappro ?
' disabled' :
'').
' value="';
601 if (preg_match(
'/^\((.*)\)$/i', $objp->label, $reg)) {
603 print $langs->trans($reg[1]);
611 if (preg_match(
'/^\((.*)\)$/i', $objp->label, $reg)) {
613 print $langs->trans($reg[1]);
622 print
"<tr><td>".$langs->trans(
"Amount").
"</td>";
623 if ($user->hasRight(
'banque',
'modifier')) {
625 print
'<input name="amount" class="flat maxwidth100" '.($objp->rappro ?
' disabled' :
'').
' value="'.
price($objp->amount).
'"> '.$langs->trans(
"Currency".$acct->currency_code);
629 print
price($objp->amount);
635 if (isModEnabled(
'category') && $user->hasRight(
'categorie',
'lire')) {
636 $langs->load(
'categories');
639 print
'<tr><td class="toptd">'.$form->editfieldkey(
'RubriquesTransactions',
'custcats',
'', $object, 0).
'</td><td>';
640 $cate_arbo = $form->select_all_categories(Categorie::TYPE_BANK_LINE,
'',
'parent', 0, 0, 1);
642 $arrayselected = array();
645 $cats = $c->containing($bankline->id, Categorie::TYPE_BANK_LINE);
646 if (is_array($cats)) {
647 foreach ($cats as $cat) {
648 $arrayselected[] = $cat->id;
651 print
img_picto(
'',
'category',
'class="paddingright"').$form->multiselectarray(
'custcats', $cate_arbo, $arrayselected, 0, 0,
'', 0,
"90%");
656 $parameters = array();
657 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters, $bankline, $action);
658 print $hookmanager->resPrint;
659 if (empty($reshook)) {
660 print $bankline->showOptionals($extrafields, ($objp->rappro ?
'view' :
'create'), $parameters);
693 print
'<div class="center"><input type="submit" class="button" value="'.$langs->trans(
"Update").
'"></div><br>';
700 if ($acct->canBeConciliated() > 0) {
701 print
load_fiche_titre($langs->trans(
"Reconciliation"),
'',
'bank_account');
704 print
'<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?rowid='.$objp->rowid.
'">';
705 print
'<input type="hidden" name="token" value="'.newToken().
'">';
706 print
'<input type="hidden" name="action" value="setreconcile">';
707 print
'<input type="hidden" name="orig_account" value="'.$orig_account.
'">';
708 print
'<input type="hidden" name="backtopage" value="'.$backtopage.
'">';
710 print
'<div class="fichecenter">';
712 print
'<table class="border centpercent">';
714 print
'<tr><td class="titlefieldcreate">'.$form->textwithpicto($langs->trans(
"AccountStatement"), $langs->trans(
"InputReceiptNumber")).
"</td>";
715 if ($user->hasRight(
'banque',
'consolidate')) {
718 print
'<input name="num_rel_bis" id="num_rel_bis" class="flat" type="text" value="'.$objp->num_releve.
'"'.($objp->rappro ?
' disabled' :
'').
'>';
719 print
'<input name="num_rel" id="num_rel" class="flat" type="hidden" value="'.$objp->num_releve.
'">';
721 print
'<input name="num_rel" id="num_rel" class="flat" value="'.$objp->num_releve.
'"'.($objp->rappro ?
' disabled' :
'').
'>';
723 if ($objp->num_releve) {
724 print
' <a href="'.DOL_URL_ROOT.
'/compta/bank/releve.php?num='.$objp->num_releve.
'&account='.$acct->id.
'">('.$langs->trans(
"AccountStatement").
' '.$objp->num_releve.
')</a>';
728 print
'<td>'.$objp->num_releve.
'</td>';
732 print
'<tr><td><label for="reconciled">'.$langs->trans(
"BankLineConciliated").
'</label></td>';
733 if ($user->hasRight(
'banque',
'consolidate')) {
735 print
'<input type="checkbox" id="reconciled" name="reconciled" class="flat" '.(GETPOSTISSET(
"reconciled") ? (
GETPOST(
"reconciled") ?
' checked="checked"' :
'') : ($objp->rappro ?
' checked="checked"' :
'')).
'">';
738 <script type="text/javascript">
739 jQuery(document).ready(function() {
740 $("#reconciled").click(function(){
741 console.log("We click on checkbox reconciled "+$("#reconciled").prop("checked"));
742 if ($("#reconciled").prop("checked") == false) {
743 console.log("we remove disabled");
744 jQuery("#num_rel_bis").removeAttr("disabled");
745 jQuery("#num_rel").removeAttr("disabled");
746 jQuery("#num_rel_bis").attr("type", "hidden");
747 jQuery("#num_rel").attr("type", "text");
748 jQuery("#num_rel_bis").hide();
749 jQuery("#num_rel").show();
760 print
'<td>'.yn($objp->rappro).
'</td>';
767 print
'<div class="center">';
769 print
'<input type="submit" class="button" value="'.$langs->trans(
"Update").
'">';
772 print
'<input type="submit" name="cancel" class="button button-cancel" value="'.$langs->trans(
"Cancel").
'">';
if( $user->socid > 0) if(! $user->hasRight('accounting', 'chartofaccount')) $object
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...
load_fiche_titre($title, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
img_object($titlealt, $picto, $moreatt='', $pictoisfullpath=0, $srconly=0, $notitle=0)
Show a picto called object_picto (generic function)
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)
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)
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.
dol_print_date($time, $format='', $tzoutput='auto', $outputlangs=null, $encodetooutput=false)
Output date in a string format according to outputlangs (or langs if not defined).
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_error($db=null, $error='', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...
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.