27require 
'../../main.inc.php';
 
   29require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formaccounting.class.php';
 
   30require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formother.class.php';
 
   31require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
 
   32require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/facture.class.php';
 
   33require_once DOL_DOCUMENT_ROOT.
'/product/class/product.class.php';
 
   34require_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingaccount.class.php';
 
   35require_once DOL_DOCUMENT_ROOT.
'/core/lib/accounting.lib.php';
 
   36require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
 
   37require_once DOL_DOCUMENT_ROOT.
'/core/lib/company.lib.php';
 
   40$langs->loadLangs(array(
"bills", 
"compta", 
"accountancy", 
"productbatch", 
"products"));
 
   42$optioncss = 
GETPOST(
'optioncss', 
'aZ'); 
 
   44$account_parent = 
GETPOST(
'account_parent');
 
   45$changeaccount = 
GETPOST(
'changeaccount');
 
   47$search_societe = 
GETPOST(
'search_societe', 
'alpha');
 
   48$search_lineid = 
GETPOST(
'search_lineid', 
'int');
 
   49$search_ref = 
GETPOST(
'search_ref', 
'alpha');
 
   50$search_invoice = 
GETPOST(
'search_invoice', 
'alpha');
 
   51$search_label = 
GETPOST(
'search_label', 
'alpha');
 
   52$search_desc = 
GETPOST(
'search_desc', 
'alpha');
 
   53$search_amount = 
GETPOST(
'search_amount', 
'alpha');
 
   54$search_account = 
GETPOST(
'search_account', 
'alpha');
 
   55$search_vat = 
GETPOST(
'search_vat', 
'alpha');
 
   56$search_date_startday = 
GETPOST(
'search_date_startday', 
'int');
 
   57$search_date_startmonth = 
GETPOST(
'search_date_startmonth', 
'int');
 
   58$search_date_startyear = 
GETPOST(
'search_date_startyear', 
'int');
 
   59$search_date_endday = 
GETPOST(
'search_date_endday', 
'int');
 
   60$search_date_endmonth = 
GETPOST(
'search_date_endmonth', 
'int');
 
   61$search_date_endyear = 
GETPOST(
'search_date_endyear', 
'int');
 
   62$search_date_start = 
dol_mktime(0, 0, 0, $search_date_startmonth, $search_date_startday, $search_date_startyear); 
 
   63$search_date_end = 
dol_mktime(23, 59, 59, $search_date_endmonth, $search_date_endday, $search_date_endyear);
 
   64$search_country = 
GETPOST(
'search_country', 
'alpha');
 
   65$search_tvaintra = 
GETPOST(
'search_tvaintra', 
'alpha');
 
   69$sortfield = 
GETPOST(
'sortfield', 
'aZ09comma');
 
   70$sortorder = 
GETPOST(
'sortorder', 
'aZ09comma');
 
   71$page = GETPOSTISSET(
'pageplusone') ? (
GETPOST(
'pageplusone') - 1) : 
GETPOST(
"page", 
'int');
 
   72if (empty($page) || $page < 0) {
 
   75$offset = $limit * $page;
 
   79  $sortfield = 
"f.datef, f.ref, fd.rowid";
 
   90if (!isModEnabled(
'accounting')) {
 
   93if ($user->socid > 0) {
 
   96if (!$user->hasRight(
'accounting', 
'mouvements', 
'lire')) {
 
  109if (
GETPOST(
'button_removefilter_x', 
'alpha') || 
GETPOST(
'button_removefilter.x', 
'alpha') || 
GETPOST(
'button_removefilter', 
'alpha')) { 
 
  110  $search_societe = 
'';
 
  113  $search_invoice = 
'';
 
  117  $search_account = 
'';
 
  119  $search_date_startday = 
'';
 
  120  $search_date_startmonth = 
'';
 
  121  $search_date_startyear = 
'';
 
  122  $search_date_endday = 
'';
 
  123  $search_date_endmonth = 
'';
 
  124  $search_date_endyear = 
'';
 
  125  $search_date_start = 
'';
 
  126  $search_date_end = 
'';
 
  127  $search_country = 
'';
 
  128  $search_tvaintra = 
'';
 
  131if (is_array($changeaccount) && count($changeaccount) > 0 && $user->hasRight(
'accounting', 
'bind', 
'write')) {
 
  134  if (!(
GETPOST(
'account_parent', 
'int') >= 0)) {
 
  136    setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Account")), 
null, 
'errors');
 
  142    $sql1 = 
"UPDATE ".MAIN_DB_PREFIX.
"facturedet";
 
  143    $sql1 .= 
" SET fk_code_ventilation=".(GETPOST(
'account_parent', 
'int') > 0 ? 
GETPOST(
'account_parent', 
'int') : 
'0');
 
  144    $sql1 .= 
' WHERE rowid IN ('.$db->sanitize(implode(
',', $changeaccount)).
')';
 
  146    dol_syslog(
'accountancy/customer/lines.php::changeaccount sql= '.$sql1);
 
  147    $resql1 = $db->query($sql1);
 
  160    $account_parent = 
''; 
 
  164if (
GETPOST(
'sortfield') == 
'f.datef, f.ref, fd.rowid') {
 
  165  $value = (
GETPOST(
'sortorder') == 
'asc,asc,asc' ? 0 : 1);
 
  166  require_once DOL_DOCUMENT_ROOT.
'/core/lib/admin.lib.php';
 
  167  $res = 
dolibarr_set_const($db, 
"ACCOUNTING_LIST_SORT_VENTILATION_DONE", $value, 
'yesno', 0, 
'', $conf->entity);
 
  175$form = 
new Form($db);
 
  178$help_url =
'EN:Module_Double_Entry_Accounting|FR:Module_Comptabilité_en_Partie_Double#Liaisons_comptables';
 
  180llxHeader(
'', $langs->trans(
"CustomersVentilation").
' - '.$langs->trans(
"Dispatched"), $help_url);
 
  182print 
'<script type="text/javascript"> 
  184        $(\'#select-all\').click(function(event) { 
  185            // Iterate each checkbox 
  186            $(\':checkbox\').each(function() { 
  190          $(\'#unselect-all\').click(function(event) { 
  191            // Iterate each checkbox 
  192            $(\':checkbox\').each(function() { 
  193              this.checked = false; 
  202$sql = 
"SELECT f.rowid as facid, f.ref as ref, f.type as ftype, f.situation_cycle_ref, f.datef, f.ref_client,";
 
  203$sql .= 
" fd.rowid, fd.description, fd.product_type as line_type, fd.total_ht, fd.total_tva, fd.tva_tx, fd.vat_src_code, fd.total_ttc, fd.situation_percent,";
 
  204$sql .= 
" s.rowid as socid, s.nom as name, s.code_client,";
 
  206  $sql .= 
" spe.accountancy_code_customer as code_compta_client,";
 
  207  $sql .= 
" spe.accountancy_code_supplier as code_compta_fournisseur,";
 
  209  $sql .= 
" s.code_compta as code_compta_client,";
 
  210  $sql .= 
" s.code_compta_fournisseur,";
 
  212$sql .= 
" p.rowid as product_id, p.fk_product_type as product_type, p.ref as product_ref, p.label as product_label, p.tobuy, p.tosell,";
 
  214  $sql .= 
" ppe.accountancy_code_sell, ppe.accountancy_code_sell_intra, ppe.accountancy_code_sell_export,";
 
  216  $sql .= 
" p.accountancy_code_sell, p.accountancy_code_sell_intra, p.accountancy_code_sell_export,";
 
  218$sql .= 
" aa.rowid as fk_compte, aa.account_number, aa.label as label_account, aa.labelshort as labelshort_account,";
 
  219$sql .= 
" fd.situation_percent,";
 
  220$sql .= 
" co.code as country_code, co.label as country,";
 
  221$sql .= 
" s.rowid as socid, s.nom as name, s.tva_intra, s.email, s.town, s.zip, s.fk_pays, s.client, s.fournisseur, s.code_client, s.code_fournisseur";
 
  222$parameters = array();
 
  223$reshook = $hookmanager->executeHooks(
'printFieldListSelect', $parameters); 
 
  224$sql .= $hookmanager->resPrint;
 
  225$sql .= 
" FROM ".MAIN_DB_PREFIX.
"facturedet as fd";
 
  226$sql .= 
" LEFT JOIN ".MAIN_DB_PREFIX.
"product as p ON p.rowid = fd.fk_product";
 
  228  $sql .= 
" LEFT JOIN " . MAIN_DB_PREFIX . 
"product_perentity as ppe ON ppe.fk_product = p.rowid AND ppe.entity = " . ((int) $conf->entity);
 
  230$sql .= 
" INNER JOIN ".MAIN_DB_PREFIX.
"accounting_account as aa ON aa.rowid = fd.fk_code_ventilation";
 
  231$sql .= 
" INNER JOIN ".MAIN_DB_PREFIX.
"facture as f ON f.rowid = fd.fk_facture";
 
  232$sql .= 
" INNER JOIN ".MAIN_DB_PREFIX.
"societe as s ON s.rowid = f.fk_soc";
 
  234  $sql .= 
" LEFT JOIN " . MAIN_DB_PREFIX . 
"societe_perentity as spe ON spe.fk_soc = s.rowid AND spe.entity = " . ((int) $conf->entity);
 
  236$sql .= 
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_country as co ON co.rowid = s.fk_pays ";
 
  237$sql .= 
" WHERE fd.fk_code_ventilation > 0";
 
  238$sql .= 
" AND f.entity IN (".getEntity(
'invoice', 0).
")"; 
 
  239$sql .= 
" AND f.fk_statut > 0";
 
  246if ($search_societe) {
 
  252if (strlen(trim($search_invoice))) {
 
  255if (strlen(trim($search_ref))) {
 
  258if (strlen(trim($search_label))) {
 
  261if (strlen(trim($search_desc))) {
 
  264if (strlen(trim($search_amount))) {
 
  267if (strlen(trim($search_account))) {
 
  270if (strlen(trim($search_vat))) {
 
  273if ($search_date_start) {
 
  274  $sql .= 
" AND f.datef >= '".$db->idate($search_date_start).
"'";
 
  276if ($search_date_end) {
 
  277  $sql .= 
" AND f.datef <= '".$db->idate($search_date_end).
"'";
 
  279if (strlen(trim($search_country))) {
 
  281  $country_code_in_EEC = $country_code_in_EEC_without_me = 
'';
 
  282  foreach ($arrayofcode as $key => $value) {
 
  283    $country_code_in_EEC .= ($country_code_in_EEC ? 
"," : 
"").
"'".$value.
"'";
 
  284    if ($value != $mysoc->country_code) {
 
  285      $country_code_in_EEC_without_me .= ($country_code_in_EEC_without_me ? 
"," : 
"").
"'".$value.
"'";
 
  288  if ($search_country == 
'special_allnotme') {
 
  289    $sql .= 
" AND co.code <> '".$db->escape($mysoc->country_code).
"'";
 
  290  } elseif ($search_country == 
'special_eec') {
 
  291    $sql .= 
" AND co.code IN (".$db->sanitize($country_code_in_EEC, 1).
")";
 
  292  } elseif ($search_country == 
'special_eecnotme') {
 
  293    $sql .= 
" AND co.code IN (".$db->sanitize($country_code_in_EEC_without_me, 1).
")";
 
  294  } elseif ($search_country == 
'special_noteec') {
 
  295    $sql .= 
" AND co.code NOT IN (".$db->sanitize($country_code_in_EEC, 1).
")";
 
  300if (strlen(trim($search_tvaintra))) {
 
  303$sql .= 
" AND f.entity IN (".getEntity(
'invoice', 0).
")"; 
 
  304$sql .= $db->order($sortfield, $sortorder);
 
  307$nbtotalofrecords = 
'';
 
  309  $result = $db->query($sql);
 
  310  $nbtotalofrecords = $db->num_rows($result);
 
  311  if (($page * $limit) > $nbtotalofrecords) { 
 
  317$sql .= $db->plimit($limit + 1, $offset);
 
  319dol_syslog(
"/accountancy/customer/lines.php", LOG_DEBUG);
 
  320$result = $db->query($sql);
 
  322  $num_lines = $db->num_rows($result);
 
  326  if (!empty($contextpage) && $contextpage != $_SERVER[
"PHP_SELF"]) {
 
  327    $param .= 
'&contextpage='.urlencode($contextpage);
 
  329  if ($limit > 0 && $limit != $conf->liste_limit) {
 
  330    $param .= 
'&limit='.((int) $limit);
 
  332  if ($search_societe) {
 
  333    $param .= 
"&search_societe=".urlencode($search_societe);
 
  335  if ($search_invoice) {
 
  336    $param .= 
"&search_invoice=".urlencode($search_invoice);
 
  339    $param .= 
"&search_ref=".urlencode($search_ref);
 
  342    $param .= 
"&search_label=".urlencode($search_label);
 
  345    $param .= 
"&search_desc=".urlencode($search_desc);
 
  347  if ($search_account) {
 
  348    $param .= 
"&search_account=".urlencode($search_account);
 
  351    $param .= 
"&search_vat=".urlencode($search_vat);
 
  353  if ($search_date_startday) {
 
  354    $param .= 
'&search_date_startday='.urlencode($search_date_startday);
 
  356  if ($search_date_startmonth) {
 
  357    $param .= 
'&search_date_startmonth='.urlencode($search_date_startmonth);
 
  359  if ($search_date_startyear) {
 
  360    $param .= 
'&search_date_startyear='.urlencode($search_date_startyear);
 
  362  if ($search_date_endday) {
 
  363    $param .= 
'&search_date_endday='.urlencode($search_date_endday);
 
  365  if ($search_date_endmonth) {
 
  366    $param .= 
'&search_date_endmonth='.urlencode($search_date_endmonth);
 
  368  if ($search_date_endyear) {
 
  369    $param .= 
'&search_date_endyear='.urlencode($search_date_endyear);
 
  371  if ($search_country) {
 
  372    $param .= 
"&search_country=".urlencode($search_country);
 
  374  if ($search_tvaintra) {
 
  375    $param .= 
"&search_tvaintra=".urlencode($search_tvaintra);
 
  378  print 
'<form action="'.$_SERVER[
"PHP_SELF"].
'" method="post">'.
"\n";
 
  379  print 
'<input type="hidden" name="action" value="ventil">';
 
  380  if ($optioncss != 
'') {
 
  381    print 
'<input type="hidden" name="optioncss" value="'.$optioncss.
'">';
 
  383  print 
'<input type="hidden" name="token" value="'.newToken().
'">';
 
  384  print 
'<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
 
  385  print 
'<input type="hidden" name="sortfield" value="'.$sortfield.
'">';
 
  386  print 
'<input type="hidden" name="sortorder" value="'.$sortorder.
'">';
 
  387  print 
'<input type="hidden" name="page" value="'.$page.
'">';
 
  389  print_barre_liste($langs->trans(
"InvoiceLinesDone"), $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder, 
'', $num_lines, $nbtotalofrecords, 
'title_accountancy', 0, 
'', 
'', $limit);
 
  390  print 
'<span class="opacitymedium">'.$langs->trans(
"DescVentilDoneCustomer").
'</span><br>';
 
  392  print 
'<br><div class="inline-block divButAction paddingbottom">'.$langs->trans(
"ChangeAccount").
' ';
 
  393  print $formaccounting->select_account($account_parent, 
'account_parent', 2, array(), 0, 0, 
'maxwidth300 maxwidthonsmartphone valignmiddle');
 
  394  print 
'<input type="submit" class="button small valignmiddle" value="'.$langs->trans(
"ChangeBinding").
'"/></div>';
 
  398  print 
'<div class="div-table-responsive">';
 
  399  print 
'<table class="tagtable liste'.($moreforfilter ? 
" listwithfilterbefore" : 
"").
'">'.
"\n";
 
  401  print 
'<tr class="liste_titre_filter">';
 
  402  print 
'<td class="liste_titre"><input type="text" class="flat maxwidth25" name="search_lineid" value="'.dol_escape_htmltag($search_lineid).
'"></td>';
 
  403  print 
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_invoice" value="'.dol_escape_htmltag($search_invoice).
'"></td>';
 
  404  print 
'<td class="liste_titre center">';
 
  405  print 
'<div class="nowrapfordate">';
 
  406  print $form->selectDate($search_date_start ? $search_date_start : -1, 
'search_date_start', 0, 0, 1, 
'', 1, 0, 0, 
'', 
'', 
'', 
'', 1, 
'', $langs->trans(
'From'));
 
  408  print 
'<div class="nowrapfordate">';
 
  409  print $form->selectDate($search_date_end ? $search_date_end : -1, 
'search_date_end', 0, 0, 1, 
'', 1, 0, 0, 
'', 
'', 
'', 
'', 1, 
'', $langs->trans(
'to'));
 
  412  print 
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_ref" value="'.dol_escape_htmltag($search_ref).
'"></td>';
 
  414  print 
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_desc" value="'.dol_escape_htmltag($search_desc).
'"></td>';
 
  415  print 
'<td class="liste_titre right"><input type="text" class="right flat maxwidth50" name="search_amount" value="'.dol_escape_htmltag($search_amount).
'"></td>';
 
  416  print 
'<td class="liste_titre right"><input type="text" class="right flat maxwidth50" placeholder="%" name="search_vat" size="1" value="'.dol_escape_htmltag($search_vat).
'"></td>';
 
  417  print 
'<td class="liste_titre"><input type="text" class="flat maxwidth75imp" name="search_societe" value="'.dol_escape_htmltag($search_societe).
'"></td>';
 
  418  print 
'<td class="liste_titre">';
 
  419  print $form->select_country($search_country, 
'search_country', 
'', 0, 
'maxwidth150', 
'code2', 1, 0, 1);
 
  422  print 
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_tvaintra" value="'.dol_escape_htmltag($search_tvaintra).
'"></td>';
 
  423  print 
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_account" value="'.dol_escape_htmltag($search_account).
'"></td>';
 
  424  print 
'<td class="liste_titre center">';
 
  425  $searchpicto = $form->showFilterButtons();
 
  427  print 
"</td></tr>\n";
 
  429  print 
'<tr class="liste_titre">';
 
  432  print_liste_field_titre(
"Date", $_SERVER[
"PHP_SELF"], 
"f.datef, f.ref, fd.rowid", 
"", $param, 
'', $sortfield, $sortorder, 
'center ');
 
  435  print_liste_field_titre(
"ProductDescription", $_SERVER[
"PHP_SELF"], 
"fd.description", 
"", $param, 
'', $sortfield, $sortorder);
 
  436  print_liste_field_titre(
"Amount", $_SERVER[
"PHP_SELF"], 
"fd.total_ht", 
"", $param, 
'', $sortfield, $sortorder, 
'right ');
 
  437  print_liste_field_titre(
"VATRate", $_SERVER[
"PHP_SELF"], 
"fd.tva_tx", 
"", $param, 
'', $sortfield, $sortorder, 
'right ');
 
  440  print_liste_field_titre(
"VATIntra", $_SERVER[
"PHP_SELF"], 
"s.tva_intra", 
"", $param, 
'', $sortfield, $sortorder);
 
  441  print_liste_field_titre(
"AccountAccounting", $_SERVER[
"PHP_SELF"], 
"aa.account_number", 
"", $param, 
'', $sortfield, $sortorder);
 
  442  $checkpicto = $form->showCheckAddButtons();
 
  446  $thirdpartystatic = 
new Societe($db);
 
  447  $facturestatic = 
new Facture($db);
 
  448  $productstatic = 
new Product($db);
 
  452  while ($i < min($num_lines, $limit)) {
 
  453    $objp = $db->fetch_object($result);
 
  455    $facturestatic->ref = $objp->ref;
 
  456    $facturestatic->id = $objp->facid;
 
  457    $facturestatic->type = $objp->ftype;
 
  459    $thirdpartystatic->id = $objp->socid;
 
  460    $thirdpartystatic->name = $objp->name;
 
  461    $thirdpartystatic->client = $objp->client;
 
  462    $thirdpartystatic->fournisseur = $objp->fournisseur;
 
  463    $thirdpartystatic->code_client = $objp->code_client;
 
  464    $thirdpartystatic->code_compta_client = $objp->code_compta_client;
 
  465    $thirdpartystatic->code_fournisseur = $objp->code_fournisseur;
 
  466    $thirdpartystatic->code_compta_fournisseur = $objp->code_compta_fournisseur;
 
  467    $thirdpartystatic->email = $objp->email;
 
  468    $thirdpartystatic->country_code = $objp->country_code;
 
  470    $productstatic->ref = $objp->product_ref;
 
  471    $productstatic->id = $objp->product_id;
 
  472    $productstatic->label = $objp->product_label;
 
  473    $productstatic->type = $objp->line_type;
 
  474    $productstatic->status = $objp->tosell;
 
  475    $productstatic->status_buy = $objp->tobuy;
 
  476    $productstatic->accountancy_code_sell = $objp->accountancy_code_sell;
 
  477    $productstatic->accountancy_code_sell_intra = $objp->accountancy_code_sell_intra;
 
  478    $productstatic->accountancy_code_sell_export = $objp->accountancy_code_sell_export;
 
  480    $accountingaccountstatic->rowid = $objp->fk_compte;
 
  481    $accountingaccountstatic->label = $objp->label_account;
 
  482    $accountingaccountstatic->labelshort = $objp->labelshort_account;
 
  483    $accountingaccountstatic->account_number = $objp->account_number;
 
  485    print 
'<tr class="oddeven">';
 
  488    print 
'<td>'.$objp->rowid.
'</td>';
 
  491    print 
'<td class="nowraponall">'.$facturestatic->getNomUrl(1).
'</td>';
 
  494    print 
'<td class="center">'.dol_print_date($db->jdate($objp->datef), 
'day').
'</td>';
 
  497    print 
'<td class="tdoverflowmax100">';
 
  498    if ($productstatic->id > 0) {
 
  499      print $productstatic->getNomUrl(1);
 
  501    if ($productstatic->id > 0 && $objp->product_label) {
 
  504    if ($objp->product_label) {
 
  505      print 
'<span class="opacitymedium">'.$objp->product_label.
'</span>';
 
  509    print 
'<td class="tdoverflowonsmartphone small">';
 
  512    print $form->textwithtooltip(
dol_trunc($text, $trunclength), $objp->description);
 
  516    print 
'<td class="right nowraponall amount">';
 
  519    $situation_ratio = 1;
 
  521      if ($objp->situation_cycle_ref) {
 
  523        if ($objp->situation_percent == 0) {
 
  524          $situation_ratio = 0;
 
  527          $line->fetch($objp->rowid);
 
  530          $prev_progress = $line->get_prev_progress($objp->facid);
 
  532          $situation_ratio = ($objp->situation_percent - $prev_progress) / $objp->situation_percent;
 
  535      print 
price($objp->total_ht * $situation_ratio);
 
  537      print 
price($objp->total_ht);
 
  542    print 
'<td class="right">'.vatrate($objp->tva_tx.($objp->vat_src_code ? 
' ('.$objp->vat_src_code.
')' : 
'')).
'</td>';
 
  545    print 
'<td class="tdoverflowmax100">'.$thirdpartystatic->getNomUrl(1, 
'customer').
'</td>';
 
  549    if ($objp->country_code) {
 
  550      print $langs->trans(
"Country".$objp->country_code).
' ('.$objp->country_code.
')';
 
  554    print 
'<td class="tdoverflowmax80" title="'.dol_escape_htmltag($objp->tva_intra).
'">'.
dol_escape_htmltag($objp->tva_intra).
'</td>';
 
  557    print $accountingaccountstatic->getNomUrl(0, 1, 1, 
'', 1);
 
  558    print 
' <a class="editfielda" href="./card.php?id='.$objp->rowid.
'&backtopage='.urlencode($_SERVER[
"PHP_SELF"].($param ? 
'?'.$param : 
'')).
'">';
 
  562    print 
'<td class="center"><input type="checkbox" class="checkforaction" name="changeaccount[]" value="'.$objp->rowid.
'"/></td>';
 
  567  if ($num_lines == 0) {
 
  568    print 
'<tr><td colspan="12"><span class="opacitymedium">'.$langs->trans(
"NoRecordFound").
'</span></td></tr>';
 
  574  if ($nbtotalofrecords > $limit) {
 
  575    print_barre_liste(
'', $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder, 
'', $num_lines, $nbtotalofrecords, 
'', 0, 
'', 
'', $limit, 1);
 
  580  print $db->lasterror();
 
dolibarr_set_const($db, $name, $value, $type='chaine', $visible=0, $note='', $entity=1)
Insert a parameter (key,value) into database (delete old key then insert it again).
 
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader()
Empty header.
 
Class to manage accounting accounts.
 
Class to manage invoices.
 
const TYPE_REPLACEMENT
Replacement invoice.
 
const TYPE_SITUATION
Situation invoice.
 
const TYPE_DEPOSIT
Deposit invoice.
 
const TYPE_CREDIT_NOTE
Credit note invoice.
 
Class to manage invoice lines.
 
Class to manage products or services.
 
Class to manage third parties objects (customers, suppliers, prospects...)
 
getCountriesInEEC()
Return list of countries that are inside the EEC (European Economic Community) Note: Try to keep this...
 
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...
 
dolGetFirstLineOfText($text, $nboflines=1, $charset='UTF-8')
Return first line of text.
 
dol_string_nohtmltag($stringtoclean, $removelinefeed=1, $pagecodeto='UTF-8', $strip_tags=0, $removedoublespaces=1)
Clean a string from all HTML tags and entities.
 
price2num($amount, $rounding='', $option=0)
Function that return a number with universal decimal format (decimal separator is '.
 
natural_search($fields, $value, $mode=0, $nofirstand=0)
Generate natural SQL search string for a criteria (this criteria can be tested on one or several fiel...
 
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.
 
getDolGlobalInt($key, $default=0)
Return a Dolibarr global constant int value.
 
print_liste_field_titre($name, $file="", $field="", $begin="", $moreparam="", $moreattrib="", $sortfield="", $sortorder="", $prefix="", $tooltip="", $forcenowrapcolumntitle=0)
Show title line of an array.
 
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.
 
print_barre_liste($titre, $page, $file, $options='', $sortfield='', $sortorder='', $morehtmlcenter='', $num=-1, $totalnboflines='', $picto='generic', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limit=-1, $hideselectlimit=0, $hidenavigation=0, $pagenavastextinput=0, $morehtmlrightbeforearrow='')
Print a title with navigation controls for pagination.
 
dol_trunc($string, $size=40, $trunc='right', $stringencoding='UTF-8', $nodot=0, $display=0)
Truncate a string to a particular length adding '…' if string larger than length.
 
getDolGlobalString($key, $default='')
Return dolibarr global constant string value.
 
img_edit($titlealt='default', $float=0, $other='')
Show logo editer/modifier fiche.
 
dol_syslog($message, $level=LOG_INFO, $ident=0, $suffixinfilename='', $restricttologhandler='', $logcontext=null)
Write log message into outputs.
 
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...
 
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.