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';
 
   39require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
 
   42$langs->loadLangs(array(
'banks', 
'categories', 
'compta', 
'bills', 
'other'));
 
   43if (isModEnabled(
'adherent')) {
 
   44  $langs->load(
"members");
 
   46if (isModEnabled(
'don')) {
 
   47  $langs->load(
"donations");
 
   49if (isModEnabled(
'loan')) {
 
   52if (isModEnabled(
'salaries')) {
 
   53  $langs->load(
"salaries");
 
   58$rowid = 
GETPOST(
"rowid", 
'int');
 
   59$accountoldid = 
GETPOST(
'account', 
'int');    
 
   60$accountid = 
GETPOST(
'accountid', 
'int');   
 
   62$action = 
GETPOST(
'action', 
'aZ09');
 
   63$confirm = 
GETPOST(
'confirm', 
'alpha');
 
   64$orig_account = 
GETPOST(
"orig_account");
 
   65$backtopage = 
GETPOST(
'backtopage', 
'alpha');
 
   66$cancel = 
GETPOST(
'cancel', 
'alpha');
 
   69$fieldvalue = (!empty($id) ? $id : (!empty($ref) ? $ref : 
''));
 
   70$fieldtype = (!empty($ref) ? 
'ref' : 
'rowid');
 
   73  $socid = $user->socid;
 
   76$result = 
restrictedArea($user, 
'banque', $accountoldid, 
'bank_account');
 
   77if (!$user->hasRight(
'banque', 
'lire') && !$user->hasRight(
'banque', 
'consolidate')) {
 
   81$hookmanager->initHooks(array(
'bankline'));
 
   84$extrafields->fetch_name_optionals_label($object->element);
 
   90$parameters = array(
'socid' => $socid);
 
   91$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action); 
 
   97    header(
"Location: ".$backtopage);
 
  103if ($user->hasRight(
'banque', 
'consolidate') && $action == 
'donext') {
 
  105  $al->dateo_next(
GETPOST(
"rowid", 
'int'));
 
  106} elseif ($user->hasRight(
'banque', 
'consolidate') && $action == 
'doprev') {
 
  108  $al->dateo_previous(
GETPOST(
"rowid", 
'int'));
 
  109} elseif ($user->hasRight(
'banque', 
'consolidate') && $action == 
'dvnext') {
 
  111  $al->datev_next(
GETPOST(
"rowid", 
'int'));
 
  112} elseif ($user->hasRight(
'banque', 
'consolidate') && $action == 
'dvprev') {
 
  114  $al->datev_previous(
GETPOST(
"rowid", 
'int'));
 
  117if ($action == 
'confirm_delete_categ' && $confirm == 
"yes" && $user->hasRight(
'banque', 
'modifier')) {
 
  118  $cat1 = 
GETPOST(
"cat1", 
'int');
 
  119  if (!empty($rowid) && !empty($cat1)) {
 
  120    $sql = 
"DELETE FROM ".MAIN_DB_PREFIX.
"bank_class WHERE lineid = ".((int) $rowid).
" AND fk_categ = ".((int) $cat1);
 
  121    if (!$db->query($sql)) {
 
  129if ($user->hasRight(
'banque', 
'modifier') && $action == 
"update") {
 
  132  $result = $object->fetch($rowid);
 
  134    dol_syslog(
'Failed to read bank line with id '.$rowid, LOG_WARNING);  
 
  135    $object->id = $rowid;
 
  139  $acsource->fetch($accountoldid);
 
  142  if (
GETPOST(
'accountid', 
'int') > 0 && !$object->rappro && !$object->getVentilExportCompta()) { 
 
  143    $actarget->fetch(
GETPOST(
'accountid', 
'int'));
 
  145    $actarget->fetch($accountoldid);
 
  148  if (!($actarget->id > 0)) {
 
  149    setEventMessages($langs->trans(
"ErrorFailedToLoadBankAccount"), 
null, 
'errors');
 
  153    setEventMessages($langs->trans(
"ErrorCashAccountAcceptsOnlyCashMoney"), 
null, 
'errors');
 
  163    $sql = 
"UPDATE ".MAIN_DB_PREFIX.
"bank";
 
  166    if (GETPOSTISSET(
'value')) {
 
  168      $sql .= 
" fk_type='".$db->escape(empty($type) && $object->fk_type == 
'SOLD' ? 
'SOLD' : $type).
"',";
 
  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")).
"',";
 
  180    if (!$object->rappro) {
 
  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');
 
  223      $object->insertExtraFields();
 
  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');
 
  249    $object->fetch($rowid);
 
  250    $oldNum_rel = $object->num_releve;
 
  251    $id = $object->fk_account;
 
  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 nuber", 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($rowid).
"&cat1=".urlencode(
GETPOST(
"fk_categ", 
'int')).
"&orig_account=".urlencode($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'.(
GETPOST(
'account', 
'int', 1) ? 
'&id='.GETPOST(
'account', 
'int', 1) : 
'').
'">'.$langs->trans(
"BackToList").
'</a>';
 
  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(
"Account").
'</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'];
 
  503    print 
"<tr><td>".$langs->trans(
"Type").
" / ".$langs->trans(
"Numero");
 
  504    print 
' <em>('.$langs->trans(
"ChequeOrTransferNumber").
')</em>';
 
  506    if ($user->hasRight(
'banque', 
'modifier') || $user->hasRight(
'banque', 
'consolidate')) {
 
  508      $form->select_types_paiements($objp->fk_type, 
"value", 
'', 2);
 
  509      print 
'<input type="text" class="flat" name="num_chq" value="'.(empty($objp->num_chq) ? 
'' : $objp->num_chq).
'">';
 
  510      if ($objp->receiptid) {
 
  511        include_once DOL_DOCUMENT_ROOT.
'/compta/paiement/cheque/class/remisecheque.class.php';
 
  513        $receipt->fetch($objp->receiptid);
 
  514        print 
'     '.$langs->trans(
"CheckReceipt").
': '.$receipt->getNomUrl(2);
 
  523    print 
"<tr><td>".$langs->trans(
"CheckTransmitter");
 
  524    print 
' <em>('.$langs->trans(
"ChequeMaker").
')</em>';
 
  526    if ($user->hasRight(
'banque', 
'modifier') || $user->hasRight(
'banque', 
'consolidate')) {
 
  528      print 
'<input type="text" class="flat minwidth200" name="emetteur" value="'.(empty($objp->emetteur) ? 
'' : 
dol_escape_htmltag($objp->emetteur)).
'">';
 
  531      print 
'<td>'.$objp->emetteur.
'</td>';
 
  536    print 
"<tr><td>".$langs->trans(
"Bank");
 
  537    print 
' <em>('.$langs->trans(
"ChequeBank").
')</em>';
 
  539    if ($user->hasRight(
'banque', 
'modifier') || $user->hasRight(
'banque', 
'consolidate')) {
 
  541      print 
'<input type="text" class="flat minwidth200" name="banque" value="'.(empty($objp->banque) ? 
'' : 
dol_escape_htmltag($objp->banque)).
'">';
 
  544      print 
'<td>'.dol_escape_htmltag($objp->banque).
'</td>';
 
  549    print 
'<tr><td>'.$langs->trans(
"DateOperation").
'</td>';
 
  550    if ($user->hasRight(
'banque', 
'modifier') || $user->hasRight(
'banque', 
'consolidate')) {
 
  552      print $form->selectDate($db->jdate($objp->do), 
'dateo', 
'', 
'', 
'', 
'update', 1, 0, $objp->rappro);
 
  553      if (!$objp->rappro) {
 
  555        print 
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=doprev&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.newToken().
'">';
 
  557        print 
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=donext&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.newToken().
'">';
 
  569    print 
"<tr><td>".$langs->trans(
"DateValue").
"</td>";
 
  570    if ($user->hasRight(
'banque', 
'modifier') || $user->hasRight(
'banque', 
'consolidate')) {
 
  572      print $form->selectDate($db->jdate($objp->dv), 
'datev', 
'', 
'', 
'', 
'update', 1, 0, $objp->rappro);
 
  573      if (!$objp->rappro) {
 
  575        print 
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvprev&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.newToken().
'">';
 
  577        print 
'<a class="ajaxforbankoperationchange" href="'.$_SERVER[
'PHP_SELF'].
'?action=dvnext&id='.$objp->fk_account.
'&rowid='.$objp->rowid.
'&token='.newToken().
'">';
 
  590    print 
"<tr><td>".$langs->trans(
"Label").
"</td>";
 
  591    if ($user->hasRight(
'banque', 
'modifier') || $user->hasRight(
'banque', 
'consolidate')) {
 
  593      print 
'<input name="label" class="flat minwidth300" '.($objp->rappro ? 
' disabled' : 
'').
' value="';
 
  594      if (preg_match(
'/^\((.*)\)$/i', $objp->label, $reg)) {
 
  596        print $langs->trans($reg[1]);
 
  604      if (preg_match(
'/^\((.*)\)$/i', $objp->label, $reg)) {
 
  606        print $langs->trans($reg[1]);
 
  615    print 
"<tr><td>".$langs->trans(
"Amount").
"</td>";
 
  616    if ($user->hasRight(
'banque', 
'modifier')) {
 
  618      print 
'<input name="amount" class="flat maxwidth100" '.($objp->rappro ? 
' disabled' : 
'').
' value="'.
price($objp->amount).
'"> '.$langs->trans(
"Currency".$acct->currency_code);
 
  622      print 
price($objp->amount);
 
  628    if (isModEnabled(
'categorie') && $user->hasRight(
'categorie', 
'lire')) {
 
  629      $langs->load(
'categories');
 
  632      print 
'<tr><td class="toptd">'.$form->editfieldkey(
'RubriquesTransactions', 
'custcats', 
'', $object, 0).
'</td><td>';
 
  633      $cate_arbo = $form->select_all_categories(Categorie::TYPE_BANK_LINE, 
null, 
'parent', 
null, 
null, 1);
 
  635      $arrayselected = array();
 
  638      $cats = $c->containing($bankline->id, Categorie::TYPE_BANK_LINE);
 
  639      if (is_array($cats)) {
 
  640        foreach ($cats as $cat) {
 
  641          $arrayselected[] = $cat->id;
 
  644      print 
img_picto(
'', 
'category', 
'class="paddingright"').$form->multiselectarray(
'custcats', $cate_arbo, $arrayselected, 
null, 
null, 
null, 
null, 
"90%");
 
  649    $parameters = array();
 
  650    $reshook = $hookmanager->executeHooks(
'formObjectOptions', $parameters, $bankline, $action); 
 
  651    print $hookmanager->resPrint;
 
  652    if (empty($reshook)) {
 
  653      print $bankline->showOptionals($extrafields, ($objp->rappro ? 
'view' : 
'create'), $parameters);
 
  686    print 
'<div class="center"><input type="submit" class="button" value="'.$langs->trans(
"Update").
'"></div><br>';
 
  693    if ($acct->canBeConciliated() > 0) {  
 
  694      print 
load_fiche_titre($langs->trans(
"Reconciliation"), 
'', 
'bank_account');
 
  697      print 
'<form method="POST" action="'.$_SERVER[
'PHP_SELF'].
'?rowid='.$objp->rowid.
'">';
 
  698      print 
'<input type="hidden" name="token" value="'.newToken().
'">';
 
  699      print 
'<input type="hidden" name="action" value="setreconcile">';
 
  700      print 
'<input type="hidden" name="orig_account" value="'.$orig_account.
'">';
 
  701      print 
'<input type="hidden" name="backtopage" value="'.$backtopage.
'">';
 
  703      print 
'<div class="fichecenter">';
 
  705      print 
'<table class="border centpercent">';
 
  707      print 
'<tr><td class="titlefieldcreate">'.$form->textwithpicto($langs->trans(
"AccountStatement"), $langs->trans(
"InputReceiptNumber")).
"</td>";
 
  708      if ($user->hasRight(
'banque', 
'consolidate')) {
 
  711          print 
'<input name="num_rel_bis" id="num_rel_bis" class="flat" type="text" value="'.$objp->num_releve.
'"'.($objp->rappro ? 
' disabled' : 
'').
'>';
 
  712          print 
'<input name="num_rel" id="num_rel" class="flat" type="hidden" value="'.$objp->num_releve.
'">';
 
  714          print 
'<input name="num_rel" id="num_rel" class="flat" value="'.$objp->num_releve.
'"'.($objp->rappro ? 
' disabled' : 
'').
'>';
 
  716        if ($objp->num_releve) {
 
  717          print 
'   <a href="'.DOL_URL_ROOT.
'/compta/bank/releve.php?num='.$objp->num_releve.
'&account='.$acct->id.
'">('.$langs->trans(
"AccountStatement").
' '.$objp->num_releve.
')</a>';
 
  721        print 
'<td>'.$objp->num_releve.
'</td>';
 
  725      print 
'<tr><td><label for="reconciled">'.$langs->trans(
"BankLineConciliated").
'</label></td>';
 
  726      if ($user->hasRight(
'banque', 
'consolidate')) {
 
  728        print 
'<input type="checkbox" id="reconciled" name="reconciled" class="flat" '.(GETPOSTISSET(
"reconciled") ? (
GETPOST(
"reconciled") ? 
' checked="checked"' : 
'') : ($objp->rappro ? 
' checked="checked"' : 
'')).
'">';
 
  731          <script type="text/javascript"> 
  732          jQuery(document).ready(function() { 
  733            $("#reconciled").click(function(){ 
  734              console.log("We click on checkbox reconciled "+$("#reconciled").prop("checked")); 
  735              if ($("#reconciled").prop("checked") == false) { 
  736                console.log("we remove disabled"); 
  737                jQuery("#num_rel_bis").removeAttr("disabled"); 
  738                jQuery("#num_rel").removeAttr("disabled"); 
  739                jQuery("#num_rel_bis").attr("type", "hidden"); 
  740                jQuery("#num_rel").attr("type", "text"); 
  741                jQuery("#num_rel_bis").hide(); 
  742                jQuery("#num_rel").show(); 
  753        print 
'<td>'.yn($objp->rappro).
'</td>';
 
  760      print 
'<div class="center">';
 
  762      print 
'<input type="submit" class="button" value="'.$langs->trans(
"Update").
'">';
 
  765        print 
'<input type="submit" name="cancel" class="button button-cancel" value="'.$langs->trans(
"Cancel").
'">';
 
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.