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';
43$langs->loadLangs(array(
'banks',
'categories',
'compta',
'bills',
'other'));
44if (isModEnabled(
'member')) {
45 $langs->load(
"members");
47if (isModEnabled(
'don')) {
48 $langs->load(
"donations");
50if (isModEnabled(
'loan')) {
53if (isModEnabled(
'salaries')) {
54 $langs->load(
"salaries");
63$action =
GETPOST(
'action',
'aZ09');
64$confirm =
GETPOST(
'confirm',
'alpha');
65$orig_account =
GETPOST(
"orig_account");
66$backtopage =
GETPOST(
'backtopage',
'alpha');
67$cancel =
GETPOST(
'cancel',
'alpha');
70$fieldvalue = (!empty($id) ? $id : (!empty($ref) ? $ref :
''));
71$fieldtype = (!empty($ref) ?
'ref' :
'rowid');
74 $socid = $user->socid;
77$result =
restrictedArea($user,
'banque', $accountoldid,
'bank_account');
78if (!$user->hasRight(
'banque',
'lire') && !$user->hasRight(
'banque',
'consolidate')) {
82$hookmanager->initHooks(array(
'bankline'));
85$extrafields->fetch_name_optionals_label(
$object->element);
91$parameters = array(
'socid' => $socid);
92$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
98 header(
"Location: ".$backtopage);
104if ($user->hasRight(
'banque',
'consolidate') && $action ==
'donext') {
107} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'doprev') {
110} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'dvnext') {
113} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'dvprev') {
118if ($action ==
'confirm_delete_categ' && $confirm ==
"yes" && $user->hasRight(
'banque',
'modifier')) {
120 if (!empty($rowid) && !empty($cat1)) {
121 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"bank_class WHERE lineid = ".((int) $rowid).
" AND fk_categ = ".((int) $cat1);
122 if (!$db->query($sql)) {
130if ($user->hasRight(
'banque',
'modifier') && $action ==
"update") {
133 $result =
$object->fetch($rowid);
135 dol_syslog(
'Failed to read bank line with id '.$rowid, LOG_WARNING);
140 $acsource->fetch($accountoldid);
146 $actarget->fetch($accountoldid);
149 if (!($actarget->id > 0)) {
150 setEventMessages($langs->trans(
"ErrorFailedToLoadBankAccount"),
null,
'errors');
154 setEventMessages($langs->trans(
"ErrorCashAccountAcceptsOnlyCashMoney"),
null,
'errors');
164 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"bank";
167 if (GETPOSTISSET(
'value')) {
168 $sql .=
" fk_type='".$db->escape(
GETPOST(
'value')).
"',";
170 if (GETPOSTISSET(
'num_chq')) {
171 $sql .=
" num_chq='".$db->escape(
GETPOST(
"num_chq")).
"',";
173 if (GETPOSTISSET(
'banque')) {
174 $sql .=
" banque='".$db->escape(
GETPOST(
"banque")).
"',";
176 if (GETPOSTISSET(
'emetteur')) {
177 $sql .=
" emetteur='".$db->escape(
GETPOST(
"emetteur")).
"',";
181 if (GETPOSTISSET(
'label')) {
182 $sql .=
" label = '".$db->escape(
GETPOST(
"label")).
"',";
184 if (GETPOSTISSET(
'amount')) {
185 $sql .=
" amount= '".$db->escape($amount).
"',";
187 if (GETPOSTISSET(
'dateomonth')) {
188 $sql .=
" dateo = '".$db->idate($dateop).
"',";
190 if (GETPOSTISSET(
'datevmonth')) {
191 $sql .=
" datev = '".$db->idate($dateval).
"',";
194 $sql .=
" fk_account = ".((int) $actarget->id);
195 $sql .=
" WHERE rowid = ".((int)
$object->id);
197 $result = $db->query($sql);
203 $arrayofcategs =
GETPOST(
'custcats',
'array');
204 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"bank_class WHERE lineid = ".((int) $rowid);
205 if (!$db->query($sql)) {
209 if (count($arrayofcategs)) {
210 foreach ($arrayofcategs as $val) {
211 $sql =
"INSERT INTO ".MAIN_DB_PREFIX.
"bank_class (lineid, fk_categ) VALUES (".((int) $rowid).
", ".((int) $val).
")";
212 if (!$db->query($sql)) {
222 $extrafields->setOptionalsFromPost(
null, $object,
'@GETPOSTISSET');
237if ($user->hasRight(
'banque',
'consolidate') && ($action ==
'num_releve' || $action ==
'setreconcile')) {
238 $num_rel = trim(
GETPOST(
"num_rel"));
239 $rappro =
GETPOST(
'reconciled') ? 1 : 0;
242 if ($rappro && empty($num_rel)) {
243 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"AccountStatement")),
null,
'errors');
250 $oldNum_rel =
$object->num_releve;
253 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"bank";
254 $sql .=
" SET num_releve = ".($num_rel ?
"'".$db->escape($num_rel).
"'" :
"null");
255 if (empty($num_rel)) {
256 $sql .=
", rappro = 0";
258 $sql .=
", rappro = ".((int) $rappro);
260 $sql .=
" WHERE rowid = ".((int) $rowid);
262 $updatePathFile =
true;
265 dol_syslog(
"line.php update bank line to set the new bank receipt number", LOG_DEBUG);
267 $result = $db->query($sql);
294 if ($result && $updatePathFile && $update_dir) {
298 $langs->load(
"errors");
299 setEventMessages($langs->trans(
"ErrorFailToRenameDir", $oldfilepath, $filepath),
null,
'mesgs');
311$form =
new Form($db);
313llxHeader(
'', $langs->trans(
"BankTransaction"));
315$arrayselected = array();
318$cats = $c->containing($rowid, Categorie::TYPE_BANK_LINE);
319if (is_array($cats)) {
320 foreach ($cats as $cat) {
321 $arrayselected[] = $cat->id;
325$head = bankline_prepare_head($rowid);
328$sql =
"SELECT b.rowid, b.dateo as do, b.datev as dv, b.amount, b.label, b.rappro,";
329$sql .=
" b.num_releve, b.fk_user_author, b.num_chq, b.fk_type, b.fk_account, b.fk_bordereau as receiptid,";
330$sql .=
" b.emetteur,b.banque";
331$sql .=
" FROM ".MAIN_DB_PREFIX.
"bank as b";
332$sql .=
" WHERE rowid=".((int) $rowid);
333$sql .=
" ORDER BY dateo ASC";
334$result = $db->query($sql);
338 if ($db->num_rows($result)) {
339 $objp = $db->fetch_object($result);
341 $total = $total + $objp->amount;
344 $acct->fetch($objp->fk_account);
345 $account = $acct->id;
348 $bankline->fetch($rowid, $ref);
350 $links = $acct->get_url($rowid);
351 $bankline->load_previous_next_ref(
'',
'rowid');
354 if ($action ==
'delete_categ') {
355 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);
358 print
'<form name="update" method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?rowid='.$rowid.
'">';
359 print
'<input type="hidden" name="token" value="'.newToken().
'">';
360 print
'<input type="hidden" name="action" value="update">';
361 print
'<input type="hidden" name="orig_account" value="'.$orig_account.
'">';
362 print
'<input type="hidden" name="account" value="'.$acct->id.
'">';
364 print
dol_get_fiche_head($head,
'bankline', $langs->trans(
'LineRecord'), 0,
'accountline', 0);
366 $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>';
369 dol_banner_tab($bankline,
'rowid', $linkback);
371 print
'<div class="fichecenter2">';
373 print
'<div class="underbanner clearboth"></div>';
374 print
'<table class="border centpercent tableforfield">';
379 print
'<tr><td class="titlefieldcreate">'.$langs->trans(
"BankAccount").
'</td>';
382 if (($objp->rappro || $bankline->getVentilExportCompta()) && $objp->fk_account > 0) {
383 print $acct->getNomUrl(1,
'transactions',
'reflabel');
385 print
img_picto(
'',
'bank_account',
'class="paddingright"');
386 print $form->select_comptes($acct->id,
'accountid', 0,
'', ($acct->id > 0 ? $acct->id : 1),
'', 0,
'', 1);
393 print
'<tr><td class="tdtop">'.$langs->trans(
"Links").
'</td>';
395 foreach ($links as $key => $val) {
399 if ($links[$key][
'type'] ==
'payment') {
400 require_once DOL_DOCUMENT_ROOT.
'/compta/paiement/class/paiement.class.php';
402 $paymenttmp->fetch($links[$key][
'url_id']);
403 $paymenttmp->ref = $langs->trans(
"Payment").
' '.$paymenttmp->ref;
408 print $paymenttmp->getNomUrl(1);
409 } elseif ($links[$key][
'type'] ==
'payment_supplier') {
410 require_once DOL_DOCUMENT_ROOT.
'/fourn/class/paiementfourn.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'] ==
'company') {
421 $societe->fetch($links[$key][
'url_id']);
422 print $societe->getNomUrl(1);
423 } elseif ($links[$key][
'type'] ==
'sc') {
424 print
'<a href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.$links[$key][
'url_id'].
'">';
425 print
img_object($langs->trans(
'SocialContribution'),
'bill').
' ';
426 print $langs->trans(
"SocialContribution").($links[$key][
'label'] ?
' - '.$links[$key][
'label'] :
'');
428 } elseif ($links[$key][
'type'] ==
'vat') {
429 print
'<a href="'.DOL_URL_ROOT.
'/compta/tva/card.php?id='.$links[$key][
'url_id'].
'">';
430 print
img_object($langs->trans(
'VATDeclaration'),
'bill').
' ';
431 print $langs->trans(
"VATDeclaration").($links[$key][
'label'] ?
' '.$links[$key][
'label'] :
'');
433 } elseif ($links[$key][
'type'] ==
'salary') {
434 print
'<a href="'.DOL_URL_ROOT.
'/salaries/card.php?id='.$links[$key][
'url_id'].
'">';
435 print
img_object($langs->trans(
'Salary'),
'bill').
' ';
436 print $langs->trans(
"Salary").($links[$key][
'label'] ?
' - '.$links[$key][
'label'] :
'');
438 } elseif ($links[$key][
'type'] ==
'payment_sc') {
439 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_sc/card.php?id='.$links[$key][
'url_id'].
'">';
440 print
img_object($langs->trans(
'Payment'),
'payment').
' ';
441 print $langs->trans(
"SocialContributionPayment");
443 } elseif ($links[$key][
'type'] ==
'payment_vat') {
444 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_vat/card.php?id='.$links[$key][
'url_id'].
'">';
445 print
img_object($langs->trans(
'VATPayment'),
'payment').
' ';
446 print $langs->trans(
"VATPayment");
448 } elseif ($links[$key][
'type'] ==
'payment_salary') {
449 print
'<a href="'.DOL_URL_ROOT.
'/salaries/payment_salary/card.php?id='.$links[$key][
'url_id'].
'">';
450 print
img_object($langs->trans(
'PaymentSalary'),
'payment').
' ';
451 print $langs->trans(
"SalaryPayment");
453 } elseif ($links[$key][
'type'] ==
'payment_loan') {
454 print
'<a href="'.DOL_URL_ROOT.
'/loan/payment/card.php?id='.$links[$key][
'url_id'].
'">';
455 print
img_object($langs->trans(
'LoanPayment'),
'payment').
' ';
456 print $langs->trans(
"PaymentLoan");
458 } elseif ($links[$key][
'type'] ==
'loan') {
459 print
'<a href="'.DOL_URL_ROOT.
'/loan/card.php?id='.$links[$key][
'url_id'].
'">';
460 print
img_object($langs->trans(
'Loan'),
'bill').
' ';
461 print $langs->trans(
"Loan");
463 } elseif ($links[$key][
'type'] ==
'member') {
464 print
'<a href="'.DOL_URL_ROOT.
'/adherents/card.php?rowid='.$links[$key][
'url_id'].
'">';
465 print
img_object($langs->trans(
'Member'),
'user').
' ';
466 print $links[$key][
'label'];
468 } elseif ($links[$key][
'type'] ==
'payment_donation') {
469 print
'<a href="'.DOL_URL_ROOT.
'/don/payment/card.php?id='.$links[$key][
'url_id'].
'">';
470 print
img_object($langs->trans(
'Donation'),
'payment').
' ';
471 print $langs->trans(
"DonationPayment");
473 } elseif ($links[$key][
'type'] ==
'banktransfert') {
474 print
'<a href="'.DOL_URL_ROOT.
'/compta/bank/line.php?rowid='.$links[$key][
'url_id'].
'">';
475 print
img_object($langs->trans(
'Transaction'),
'payment').
' ';
476 print $langs->trans(
"TransactionOnTheOtherAccount");
478 } elseif ($links[$key][
'type'] ==
'user') {
479 print
'<a href="'.DOL_URL_ROOT.
'/user/card.php?id='.$links[$key][
'url_id'].
'">';
480 print
img_object($langs->trans(
'User'),
'user').
' ';
481 print $langs->trans(
"User");
483 } elseif ($links[$key][
'type'] ==
'payment_various') {
484 print
'<a href="'.DOL_URL_ROOT.
'/compta/bank/various_payment/card.php?id='.$links[$key][
'url_id'].
'">';
485 print
img_object($langs->trans(
'VariousPayment'),
'payment').
' ';
486 print $langs->trans(
"VariousPayment");
490 print
'<a href="'.$links[$key][
'url'].$links[$key][
'url_id'].
'">';
492 print $links[$key][
'label'];
500 print
"<tr><td>".$langs->trans(
"Type").
" / ".$langs->trans(
"Numero");
501 print
' <em>('.$langs->trans(
"ChequeOrTransferNumber").
')</em>';
503 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
505 $form->select_types_paiements($objp->fk_type,
"value",
'', 2);
506 print
'<input type="text" class="flat" name="num_chq" value="'.(empty($objp->num_chq) ?
'' : $objp->num_chq).
'">';
507 if ($objp->receiptid) {
508 include_once DOL_DOCUMENT_ROOT.
'/compta/paiement/cheque/class/remisecheque.class.php';
510 $receipt->fetch($objp->receiptid);
511 print
' '.$langs->trans(
"CheckReceipt").
': '.$receipt->getNomUrl(2);
520 print
"<tr><td>".$langs->trans(
"CheckTransmitter");
521 print
' <em>('.$langs->trans(
"ChequeMaker").
')</em>';
523 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
525 print
'<input type="text" class="flat minwidth200" name="emetteur" value="'.(empty($objp->emetteur) ?
'' :
dol_escape_htmltag($objp->emetteur)).
'">';
528 print
'<td>'.$objp->emetteur.
'</td>';
533 print
"<tr><td>".$langs->trans(
"Bank");
534 print
' <em>('.$langs->trans(
"ChequeBank").
')</em>';
536 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
538 print
'<input type="text" class="flat minwidth200" name="banque" value="'.(empty($objp->banque) ?
'' :
dol_escape_htmltag($objp->banque)).
'">';
541 print
'<td>'.dol_escape_htmltag($objp->banque).
'</td>';
546 print
'<tr><td>'.$langs->trans(
"DateOperation").
'</td>';
547 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
549 print $form->selectDate($db->jdate($objp->do),
'dateo', 0, 0, 0,
'update', 1, 0, $objp->rappro);
550 if (!$objp->rappro) {
552 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=doprev&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.
newToken().
'">';
554 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=donext&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.
newToken().
'">';
566 print
"<tr><td>".$langs->trans(
"DateValue").
"</td>";
567 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
569 print $form->selectDate($db->jdate($objp->dv),
'datev', 0, 0, 0,
'update', 1, 0, $objp->rappro);
570 if (!$objp->rappro) {
572 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvprev&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.
newToken().
'">';
574 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvnext&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.
newToken().
'">';
587 print
"<tr><td>".$langs->trans(
"Label").
"</td>";
588 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
590 print
'<input name="label" class="flat minwidth300" '.($objp->rappro ?
' disabled' :
'').
' value="';
591 if (preg_match(
'/^\((.*)\)$/i', $objp->label, $reg)) {
593 print $langs->trans($reg[1]);
601 if (preg_match(
'/^\((.*)\)$/i', $objp->label, $reg)) {
603 print $langs->trans($reg[1]);
612 print
"<tr><td>".$langs->trans(
"Amount").
"</td>";
613 if ($user->hasRight(
'banque',
'modifier')) {
615 print
'<input name="amount" class="flat maxwidth100" '.($objp->rappro ?
' disabled' :
'').
' value="'.
price($objp->amount).
'"> '.$langs->trans(
"Currency".$acct->currency_code);
619 print
price($objp->amount);
625 if (isModEnabled(
'category') && $user->hasRight(
'categorie',
'lire')) {
626 $langs->load(
'categories');
629 print
'<tr><td class="toptd">'.$form->editfieldkey(
'RubriquesTransactions',
'custcats',
'', $object, 0).
'</td><td>';
630 $cate_arbo = $form->select_all_categories(Categorie::TYPE_BANK_LINE,
null,
'parent',
null,
null, 1);
632 $arrayselected = array();
635 $cats = $c->containing($bankline->id, Categorie::TYPE_BANK_LINE);
636 if (is_array($cats)) {
637 foreach ($cats as $cat) {
638 $arrayselected[] = $cat->id;
641 print
img_picto(
'',
'category',
'class="paddingright"').$form->multiselectarray(
'custcats', $cate_arbo, $arrayselected,
null,
null,
null,
null,
"90%");
646 $parameters = array();
647 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters, $bankline, $action);
648 print $hookmanager->resPrint;
649 if (empty($reshook)) {
650 print $bankline->showOptionals($extrafields, ($objp->rappro ?
'view' :
'create'), $parameters);
683 print
'<div class="center"><input type="submit" class="button" value="'.$langs->trans(
"Update").
'"></div><br>';
690 if ($acct->canBeConciliated() > 0) {
691 print
load_fiche_titre($langs->trans(
"Reconciliation"),
'',
'bank_account');
694 print
'<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?rowid='.$objp->rowid.
'">';
695 print
'<input type="hidden" name="token" value="'.newToken().
'">';
696 print
'<input type="hidden" name="action" value="setreconcile">';
697 print
'<input type="hidden" name="orig_account" value="'.$orig_account.
'">';
698 print
'<input type="hidden" name="backtopage" value="'.$backtopage.
'">';
700 print
'<div class="fichecenter">';
702 print
'<table class="border centpercent">';
704 print
'<tr><td class="titlefieldcreate">'.$form->textwithpicto($langs->trans(
"AccountStatement"), $langs->trans(
"InputReceiptNumber")).
"</td>";
705 if ($user->hasRight(
'banque',
'consolidate')) {
708 print
'<input name="num_rel_bis" id="num_rel_bis" class="flat" type="text" value="'.$objp->num_releve.
'"'.($objp->rappro ?
' disabled' :
'').
'>';
709 print
'<input name="num_rel" id="num_rel" class="flat" type="hidden" value="'.$objp->num_releve.
'">';
711 print
'<input name="num_rel" id="num_rel" class="flat" value="'.$objp->num_releve.
'"'.($objp->rappro ?
' disabled' :
'').
'>';
713 if ($objp->num_releve) {
714 print
' <a href="'.DOL_URL_ROOT.
'/compta/bank/releve.php?num='.$objp->num_releve.
'&account='.$acct->id.
'">('.$langs->trans(
"AccountStatement").
' '.$objp->num_releve.
')</a>';
718 print
'<td>'.$objp->num_releve.
'</td>';
722 print
'<tr><td><label for="reconciled">'.$langs->trans(
"BankLineConciliated").
'</label></td>';
723 if ($user->hasRight(
'banque',
'consolidate')) {
725 print
'<input type="checkbox" id="reconciled" name="reconciled" class="flat" '.(GETPOSTISSET(
"reconciled") ? (
GETPOST(
"reconciled") ?
' checked="checked"' :
'') : ($objp->rappro ?
' checked="checked"' :
'')).
'">';
728 <script type="text/javascript">
729 jQuery(document).ready(function() {
730 $("#reconciled").click(function(){
731 console.log("We click on checkbox reconciled "+$("#reconciled").prop("checked"));
732 if ($("#reconciled").prop("checked") == false) {
733 console.log("we remove disabled");
734 jQuery("#num_rel_bis").removeAttr("disabled");
735 jQuery("#num_rel").removeAttr("disabled");
736 jQuery("#num_rel_bis").attr("type", "hidden");
737 jQuery("#num_rel").attr("type", "text");
738 jQuery("#num_rel_bis").hide();
739 jQuery("#num_rel").show();
750 print
'<td>'.yn($objp->rappro).
'</td>';
757 print
'<div class="center">';
759 print
'<input type="submit" class="button" value="'.$langs->trans(
"Update").
'">';
762 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()
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)
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.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
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.