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;
78$hookmanager->initHooks(array(
'bankline'));
80$result =
restrictedArea($user,
'banque', $accountoldid,
'bank_account');
81if (!$user->hasRight(
'banque',
'lire') && !$user->hasRight(
'banque',
'consolidate')) {
87$extrafields->fetch_name_optionals_label(
$object->element);
93$parameters = array(
'socid' => $socid);
94$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
100 header(
"Location: ".$backtopage);
106if ($user->hasRight(
'banque',
'consolidate') && $action ==
'donext') {
109} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'doprev') {
112} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'dvnext') {
115} elseif ($user->hasRight(
'banque',
'consolidate') && $action ==
'dvprev') {
120if ($action ==
'confirm_delete_categ' && $confirm ==
"yes" && $user->hasRight(
'banque',
'modifier')) {
122 if (!empty($rowid) && !empty($cat1)) {
123 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"category_bankline WHERE lineid = ".((int) $rowid).
" AND fk_categ = ".((int) $cat1);
124 if (!$db->query($sql)) {
132if ($user->hasRight(
'banque',
'modifier') && $action ==
"update") {
135 $result =
$object->fetch($rowid);
137 dol_syslog(
'Failed to read bank line with id '.$rowid, LOG_WARNING);
142 $acsource->fetch($accountoldid);
148 $actarget->fetch($accountoldid);
151 if (!($actarget->id > 0)) {
152 setEventMessages($langs->trans(
"ErrorFailedToLoadBankAccount"),
null,
'errors');
156 setEventMessages($langs->trans(
"ErrorCashAccountAcceptsOnlyCashMoney"),
null,
'errors');
166 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"bank";
169 if (GETPOSTISSET(
'value')) {
170 $sql .=
" fk_type='".$db->escape(
GETPOST(
'value')).
"',";
172 if (GETPOSTISSET(
'num_chq')) {
173 $sql .=
" num_chq='".$db->escape(
GETPOST(
"num_chq")).
"',";
175 if (GETPOSTISSET(
'banque')) {
176 $sql .=
" banque='".$db->escape(
GETPOST(
"banque")).
"',";
178 if (GETPOSTISSET(
'emetteur')) {
179 $sql .=
" emetteur='".$db->escape(
GETPOST(
"emetteur")).
"',";
183 if (GETPOSTISSET(
'label')) {
184 $sql .=
" label = '".$db->escape(
GETPOST(
"label")).
"',";
186 if (GETPOSTISSET(
'amount')) {
187 $sql .=
" amount= '".$db->escape($amount).
"',";
189 if (GETPOSTISSET(
'dateomonth')) {
190 $sql .=
" dateo = '".$db->idate($dateop).
"',";
192 if (GETPOSTISSET(
'datevmonth')) {
193 $sql .=
" datev = '".$db->idate($dateval).
"',";
196 $sql .=
" fk_account = ".((int) $actarget->id);
197 $sql .=
" WHERE rowid = ".((int)
$object->id);
199 $result = $db->query($sql);
205 $arrayofcategs =
GETPOST(
'custcats',
'array');
206 $sql =
"DELETE FROM ".MAIN_DB_PREFIX.
"category_bankline WHERE lineid = ".((int) $rowid);
207 if (!$db->query($sql)) {
211 if (count($arrayofcategs)) {
212 foreach ($arrayofcategs as $val) {
213 $sql =
"INSERT INTO ".MAIN_DB_PREFIX.
"category_bankline (lineid, fk_categ) VALUES (".((int) $rowid).
", ".((int) $val).
")";
214 if (!$db->query($sql)) {
224 $extrafields->setOptionalsFromPost(
null, $object,
'@GETPOSTISSET');
239if ($user->hasRight(
'banque',
'consolidate') && ($action ==
'num_releve' || $action ==
'setreconcile')) {
240 $num_rel = trim(
GETPOST(
"num_rel"));
241 $rappro =
GETPOST(
'reconciled') ? 1 : 0;
244 if ($rappro && empty($num_rel)) {
245 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"AccountStatement")),
null,
'errors');
252 $oldNum_rel =
$object->num_releve;
255 $sql =
"UPDATE ".MAIN_DB_PREFIX.
"bank";
256 $sql .=
" SET num_releve = ".($num_rel ?
"'".$db->escape($num_rel).
"'" :
"null");
257 if (empty($num_rel)) {
258 $sql .=
", rappro = 0";
260 $sql .=
", rappro = ".((int) $rappro);
262 $sql .=
" WHERE rowid = ".((int) $rowid);
264 $updatePathFile =
true;
267 dol_syslog(
"line.php update bank line to set the new bank receipt number", LOG_DEBUG);
269 $result = $db->query($sql);
296 if ($result && $updatePathFile && $update_dir) {
300 $langs->load(
"errors");
301 setEventMessages($langs->trans(
"ErrorFailToRenameDir", $oldfilepath, $filepath),
null,
'mesgs');
313$form =
new Form($db);
315llxHeader(
'', $langs->trans(
"BankTransaction"));
317$arrayselected = array();
320$cats = $c->containing($rowid, Categorie::TYPE_BANK_LINE);
321if (is_array($cats)) {
322 foreach ($cats as $cat) {
323 $arrayselected[] = $cat->id;
327$head = bankline_prepare_head($rowid);
330$sql =
"SELECT b.rowid, b.dateo as do, b.datev as dv, b.amount, b.label, b.rappro,";
331$sql .=
" b.num_releve, b.fk_user_author, b.num_chq, b.fk_type, b.fk_account, b.fk_bordereau as receiptid,";
332$sql .=
" b.emetteur,b.banque";
333$sql .=
" FROM ".MAIN_DB_PREFIX.
"bank as b";
334$sql .=
" WHERE rowid=".((int) $rowid);
335$sql .=
" ORDER BY dateo ASC";
336$result = $db->query($sql);
340 if ($db->num_rows($result)) {
341 $objp = $db->fetch_object($result);
343 $total += $objp->amount;
346 $acct->fetch($objp->fk_account);
347 $account = $acct->id;
350 $bankline->fetch($rowid, $ref);
352 $links = $acct->get_url($rowid);
353 $bankline->load_previous_next_ref(
'',
'rowid');
356 if ($action ==
'delete_categ') {
357 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);
360 print
'<form name="update" method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?rowid='.$rowid.
'">';
361 print
'<input type="hidden" name="token" value="'.newToken().
'">';
362 print
'<input type="hidden" name="action" value="update">';
363 print
'<input type="hidden" name="orig_account" value="'.$orig_account.
'">';
364 print
'<input type="hidden" name="account" value="'.$acct->id.
'">';
366 print
dol_get_fiche_head($head,
'bankline', $langs->trans(
'LineRecord'), 0,
'accountline', 0);
368 $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>';
371 dol_banner_tab($bankline,
'rowid', $linkback);
373 print
'<div class="fichecenter2">';
375 print
'<div class="underbanner clearboth"></div>';
376 print
'<table class="border centpercent tableforfield">';
381 print
'<tr><td class="titlefieldcreate">'.$langs->trans(
"BankAccount").
'</td>';
384 if (($objp->rappro || $bankline->getVentilExportCompta()) && $objp->fk_account > 0) {
385 print $acct->getNomUrl(1,
'transactions',
'reflabel');
387 print
img_picto(
'',
'bank_account',
'class="paddingright"');
388 print $form->select_comptes($acct->id,
'accountid', 0,
'', ($acct->id > 0 ? $acct->id : 1),
'', 0,
'', 1);
395 print
'<tr><td class="tdtop">'.$langs->trans(
"Links").
'</td>';
397 foreach ($links as $key => $val) {
401 if ($links[$key][
'type'] ==
'payment') {
402 require_once DOL_DOCUMENT_ROOT.
'/compta/paiement/class/paiement.class.php';
404 $paymenttmp->fetch($links[$key][
'url_id']);
405 $paymenttmp->ref = $langs->trans(
"Payment").
' '.$paymenttmp->ref;
410 print $paymenttmp->getNomUrl(1);
411 } elseif ($links[$key][
'type'] ==
'payment_supplier') {
412 require_once DOL_DOCUMENT_ROOT.
'/fourn/class/paiementfourn.class.php';
414 $paymenttmp->fetch($links[$key][
'url_id']);
415 $paymenttmp->ref = $langs->trans(
"Payment").
' '.$paymenttmp->ref;
420 print $paymenttmp->getNomUrl(1);
421 } elseif ($links[$key][
'type'] ==
'company') {
423 $societe->fetch($links[$key][
'url_id']);
424 print $societe->getNomUrl(1);
425 } elseif ($links[$key][
'type'] ==
'sc') {
426 print
'<a href="'.DOL_URL_ROOT.
'/compta/sociales/card.php?id='.$links[$key][
'url_id'].
'">';
427 print
img_object($langs->trans(
'SocialContribution'),
'bill').
' ';
428 print $langs->trans(
"SocialContribution").($links[$key][
'label'] ?
' - '.$links[$key][
'label'] :
'');
430 } elseif ($links[$key][
'type'] ==
'vat') {
431 print
'<a href="'.DOL_URL_ROOT.
'/compta/tva/card.php?id='.$links[$key][
'url_id'].
'">';
432 print
img_object($langs->trans(
'VATDeclaration'),
'bill').
' ';
433 print $langs->trans(
"VATDeclaration").($links[$key][
'label'] ?
' '.$links[$key][
'label'] :
'');
435 } elseif ($links[$key][
'type'] ==
'salary') {
436 print
'<a href="'.DOL_URL_ROOT.
'/salaries/card.php?id='.$links[$key][
'url_id'].
'">';
437 print
img_object($langs->trans(
'Salary'),
'bill').
' ';
438 print $langs->trans(
"Salary").($links[$key][
'label'] ?
' - '.$links[$key][
'label'] :
'');
440 } elseif ($links[$key][
'type'] ==
'payment_sc') {
441 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_sc/card.php?id='.$links[$key][
'url_id'].
'">';
442 print
img_object($langs->trans(
'Payment'),
'payment').
' ';
443 print $langs->trans(
"SocialContributionPayment");
445 } elseif ($links[$key][
'type'] ==
'payment_vat') {
446 print
'<a href="'.DOL_URL_ROOT.
'/compta/payment_vat/card.php?id='.$links[$key][
'url_id'].
'">';
447 print
img_object($langs->trans(
'VATPayment'),
'payment').
' ';
448 print $langs->trans(
"VATPayment");
450 } elseif ($links[$key][
'type'] ==
'payment_salary') {
451 print
'<a href="'.DOL_URL_ROOT.
'/salaries/payment_salary/card.php?id='.$links[$key][
'url_id'].
'">';
452 print
img_object($langs->trans(
'PaymentSalary'),
'payment').
' ';
453 print $langs->trans(
"SalaryPayment");
455 } elseif ($links[$key][
'type'] ==
'payment_loan') {
456 print
'<a href="'.DOL_URL_ROOT.
'/loan/payment/card.php?id='.$links[$key][
'url_id'].
'">';
457 print
img_object($langs->trans(
'LoanPayment'),
'payment').
' ';
458 print $langs->trans(
"PaymentLoan");
460 } elseif ($links[$key][
'type'] ==
'loan') {
461 print
'<a href="'.DOL_URL_ROOT.
'/loan/card.php?id='.$links[$key][
'url_id'].
'">';
462 print
img_object($langs->trans(
'Loan'),
'bill').
' ';
463 print $langs->trans(
"Loan");
465 } elseif ($links[$key][
'type'] ==
'member') {
466 print
'<a href="'.DOL_URL_ROOT.
'/adherents/card.php?rowid='.$links[$key][
'url_id'].
'">';
467 print
img_object($langs->trans(
'Member'),
'user').
' ';
468 print $links[$key][
'label'];
470 } elseif ($links[$key][
'type'] ==
'payment_donation') {
471 print
'<a href="'.DOL_URL_ROOT.
'/don/payment/card.php?id='.$links[$key][
'url_id'].
'">';
472 print
img_object($langs->trans(
'Donation'),
'payment').
' ';
473 print $langs->trans(
"DonationPayment");
475 } elseif ($links[$key][
'type'] ==
'banktransfert') {
476 print
'<a href="'.DOL_URL_ROOT.
'/compta/bank/line.php?rowid='.$links[$key][
'url_id'].
'">';
477 print
img_object($langs->trans(
'Transaction'),
'payment').
' ';
478 print $langs->trans(
"TransactionOnTheOtherAccount");
480 } elseif ($links[$key][
'type'] ==
'user') {
481 print
'<a href="'.DOL_URL_ROOT.
'/user/card.php?id='.$links[$key][
'url_id'].
'">';
482 print
img_object($langs->trans(
'User'),
'user').
' ';
483 print $langs->trans(
"User");
485 } elseif ($links[$key][
'type'] ==
'payment_various') {
486 print
'<a href="'.DOL_URL_ROOT.
'/compta/bank/various_payment/card.php?id='.$links[$key][
'url_id'].
'">';
487 print
img_object($langs->trans(
'VariousPayment'),
'payment').
' ';
488 print $langs->trans(
"VariousPayment");
492 print
'<a href="'.$links[$key][
'url'].$links[$key][
'url_id'].
'">';
494 print $links[$key][
'label'];
502 print
"<tr><td>".$langs->trans(
"Type").
" / ".$langs->trans(
"Numero");
503 print
' <em>('.$langs->trans(
"ChequeOrTransferNumber").
')</em>';
505 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
507 $form->select_types_paiements($objp->fk_type,
"value",
'', 2);
508 print
'<input type="text" class="flat" name="num_chq" value="'.(empty($objp->num_chq) ?
'' : $objp->num_chq).
'">';
509 if ($objp->receiptid) {
510 include_once DOL_DOCUMENT_ROOT.
'/compta/paiement/cheque/class/remisecheque.class.php';
512 $receipt->fetch($objp->receiptid);
513 print
' '.$langs->trans(
"CheckReceipt").
': '.$receipt->getNomUrl(2);
522 print
"<tr><td>".$langs->trans(
"CheckTransmitter");
523 print
' <em>('.$langs->trans(
"ChequeMaker").
')</em>';
525 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
527 print
'<input type="text" class="flat minwidth200" name="emetteur" value="'.(empty($objp->emetteur) ?
'' :
dol_escape_htmltag($objp->emetteur)).
'">';
530 print
'<td>'.$objp->emetteur.
'</td>';
535 print
"<tr><td>".$langs->trans(
"Bank");
536 print
' <em>('.$langs->trans(
"ChequeBank").
')</em>';
538 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
540 print
'<input type="text" class="flat minwidth200" name="banque" value="'.(empty($objp->banque) ?
'' :
dol_escape_htmltag($objp->banque)).
'">';
543 print
'<td>'.dol_escape_htmltag($objp->banque).
'</td>';
548 print
'<tr><td>'.$langs->trans(
"DateOperation").
'</td>';
549 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
551 print $form->selectDate($db->jdate($objp->do),
'dateo', 0, 0, 0,
'update', 1, 0, $objp->rappro);
552 if (!$objp->rappro) {
554 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=doprev&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.
newToken().
'">';
556 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=donext&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.
newToken().
'">';
568 print
"<tr><td>".$langs->trans(
"DateValue").
"</td>";
569 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
571 print $form->selectDate($db->jdate($objp->dv),
'datev', 0, 0, 0,
'update', 1, 0, $objp->rappro);
572 if (!$objp->rappro) {
574 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvprev&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.
newToken().
'">';
576 print
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvnext&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.
newToken().
'">';
589 print
"<tr><td>".$langs->trans(
"Label").
"</td>";
590 if ($user->hasRight(
'banque',
'modifier') || $user->hasRight(
'banque',
'consolidate')) {
592 print
'<input name="label" class="flat minwidth300" '.($objp->rappro ?
' disabled' :
'').
' value="';
593 if (preg_match(
'/^\((.*)\)$/i', $objp->label, $reg)) {
595 print $langs->trans($reg[1]);
603 if (preg_match(
'/^\((.*)\)$/i', $objp->label, $reg)) {
605 print $langs->trans($reg[1]);
614 print
"<tr><td>".$langs->trans(
"Amount").
"</td>";
615 if ($user->hasRight(
'banque',
'modifier')) {
617 print
'<input name="amount" class="flat maxwidth100" '.($objp->rappro ?
' disabled' :
'').
' value="'.
price($objp->amount).
'"> '.$langs->trans(
"Currency".$acct->currency_code);
621 print
price($objp->amount);
627 if (isModEnabled(
'category') && $user->hasRight(
'categorie',
'lire')) {
628 $langs->load(
'categories');
631 print
'<tr><td class="toptd">'.$form->editfieldkey(
'RubriquesTransactions',
'custcats',
'', $object, 0).
'</td><td>';
632 $cate_arbo = $form->select_all_categories(Categorie::TYPE_BANK_LINE,
null,
'parent',
null,
null, 1);
634 $arrayselected = array();
637 $cats = $c->containing($bankline->id, Categorie::TYPE_BANK_LINE);
638 if (is_array($cats)) {
639 foreach ($cats as $cat) {
640 $arrayselected[] = $cat->id;
643 print
img_picto(
'',
'category',
'class="paddingright"').$form->multiselectarray(
'custcats', $cate_arbo, $arrayselected,
null,
null,
null,
null,
"90%");
648 $parameters = array();
649 $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters, $bankline, $action);
650 print $hookmanager->resPrint;
651 if (empty($reshook)) {
652 print $bankline->showOptionals($extrafields, ($objp->rappro ?
'view' :
'create'), $parameters);
685 print
'<div class="center"><input type="submit" class="button" value="'.$langs->trans(
"Update").
'"></div><br>';
692 if ($acct->canBeConciliated() > 0) {
693 print
load_fiche_titre($langs->trans(
"Reconciliation"),
'',
'bank_account');
696 print
'<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?rowid='.$objp->rowid.
'">';
697 print
'<input type="hidden" name="token" value="'.newToken().
'">';
698 print
'<input type="hidden" name="action" value="setreconcile">';
699 print
'<input type="hidden" name="orig_account" value="'.$orig_account.
'">';
700 print
'<input type="hidden" name="backtopage" value="'.$backtopage.
'">';
702 print
'<div class="fichecenter">';
704 print
'<table class="border centpercent">';
706 print
'<tr><td class="titlefieldcreate">'.$form->textwithpicto($langs->trans(
"AccountStatement"), $langs->trans(
"InputReceiptNumber")).
"</td>";
707 if ($user->hasRight(
'banque',
'consolidate')) {
710 print
'<input name="num_rel_bis" id="num_rel_bis" class="flat" type="text" value="'.$objp->num_releve.
'"'.($objp->rappro ?
' disabled' :
'').
'>';
711 print
'<input name="num_rel" id="num_rel" class="flat" type="hidden" value="'.$objp->num_releve.
'">';
713 print
'<input name="num_rel" id="num_rel" class="flat" value="'.$objp->num_releve.
'"'.($objp->rappro ?
' disabled' :
'').
'>';
715 if ($objp->num_releve) {
716 print
' <a href="'.DOL_URL_ROOT.
'/compta/bank/releve.php?num='.$objp->num_releve.
'&account='.$acct->id.
'">('.$langs->trans(
"AccountStatement").
' '.$objp->num_releve.
')</a>';
720 print
'<td>'.$objp->num_releve.
'</td>';
724 print
'<tr><td><label for="reconciled">'.$langs->trans(
"BankLineConciliated").
'</label></td>';
725 if ($user->hasRight(
'banque',
'consolidate')) {
727 print
'<input type="checkbox" id="reconciled" name="reconciled" class="flat" '.(GETPOSTISSET(
"reconciled") ? (
GETPOST(
"reconciled") ?
' checked="checked"' :
'') : ($objp->rappro ?
' checked="checked"' :
'')).
'">';
730 <script type="text/javascript">
731 jQuery(document).ready(function() {
732 $("#reconciled").click(function(){
733 console.log("We click on checkbox reconciled "+$("#reconciled").prop("checked"));
734 if ($("#reconciled").prop("checked") == false) {
735 console.log("we remove disabled");
736 jQuery("#num_rel_bis").removeAttr("disabled");
737 jQuery("#num_rel").removeAttr("disabled");
738 jQuery("#num_rel_bis").attr("type", "hidden");
739 jQuery("#num_rel").attr("type", "text");
740 jQuery("#num_rel_bis").hide();
741 jQuery("#num_rel").show();
752 print
'<td>'.yn($objp->rappro).
'</td>';
759 print
'<div class="center">';
761 print
'<input type="submit" class="button" value="'.$langs->trans(
"Update").
'">';
764 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.