29require
'../../main.inc.php';
30require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formaccounting.class.php';
31require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formother.class.php';
32require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/compta/facture/class/facture.class.php';
34require_once DOL_DOCUMENT_ROOT.
'/product/class/product.class.php';
35require_once DOL_DOCUMENT_ROOT.
'/accountancy/class/accountingaccount.class.php';
36require_once DOL_DOCUMENT_ROOT.
'/core/lib/accounting.lib.php';
37require_once DOL_DOCUMENT_ROOT.
'/core/lib/date.lib.php';
38require_once DOL_DOCUMENT_ROOT.
'/core/lib/company.lib.php';
50$langs->loadLangs(array(
"bills",
"compta",
"accountancy",
"productbatch",
"products"));
52$optioncss =
GETPOST(
'optioncss',
'aZ');
54$account_parent =
GETPOST(
'account_parent');
55$changeaccount =
GETPOST(
'changeaccount');
57$search_societe =
GETPOST(
'search_societe',
'alpha');
58$search_lineid =
GETPOST(
'search_lineid',
'alpha');
59$search_ref =
GETPOST(
'search_ref',
'alpha');
60$search_invoice =
GETPOST(
'search_invoice',
'alpha');
61$search_label =
GETPOST(
'search_label',
'alpha');
62$search_desc =
GETPOST(
'search_desc',
'alpha');
63$search_amount =
GETPOST(
'search_amount',
'alpha');
64$search_account =
GETPOST(
'search_account',
'alpha');
65$search_vat =
GETPOST(
'search_vat',
'alpha');
66$search_date_startday =
GETPOSTINT(
'search_date_startday');
67$search_date_startmonth =
GETPOSTINT(
'search_date_startmonth');
68$search_date_startyear =
GETPOSTINT(
'search_date_startyear');
69$search_date_endday =
GETPOSTINT(
'search_date_endday');
70$search_date_endmonth =
GETPOSTINT(
'search_date_endmonth');
71$search_date_endyear =
GETPOSTINT(
'search_date_endyear');
72$search_date_start =
dol_mktime(0, 0, 0, $search_date_startmonth, $search_date_startday, $search_date_startyear);
73$search_date_end =
dol_mktime(23, 59, 59, $search_date_endmonth, $search_date_endday, $search_date_endyear);
74$search_country =
GETPOST(
'search_country',
'aZ09');
75$search_tvaintra =
GETPOST(
'search_tvaintra',
'alpha');
79$sortfield =
GETPOST(
'sortfield',
'aZ09comma');
80$sortorder =
GETPOST(
'sortorder',
'aZ09comma');
82if (empty($page) || $page < 0) {
85$offset = $limit * $page;
89 $sortfield =
"f.datef, f.ref, fd.rowid";
100if (!isModEnabled(
'accounting')) {
103if ($user->socid > 0) {
106if (!$user->hasRight(
'accounting',
'bind',
'write')) {
119if (
GETPOST(
'button_removefilter_x',
'alpha') ||
GETPOST(
'button_removefilter.x',
'alpha') ||
GETPOST(
'button_removefilter',
'alpha')) {
120 $search_societe =
'';
123 $search_invoice =
'';
127 $search_account =
'';
129 $search_date_startday =
'';
130 $search_date_startmonth =
'';
131 $search_date_startyear =
'';
132 $search_date_endday =
'';
133 $search_date_endmonth =
'';
134 $search_date_endyear =
'';
135 $search_date_start =
'';
136 $search_date_end =
'';
137 $search_country =
'';
138 $search_tvaintra =
'';
141if (is_array($changeaccount) && count($changeaccount) > 0 && $user->hasRight(
'accounting',
'bind',
'write')) {
146 setEventMessages($langs->trans(
"ErrorFieldRequired", $langs->transnoentitiesnoconv(
"Account")),
null,
'errors');
152 $sql1 =
"UPDATE ".MAIN_DB_PREFIX.
"facturedet";
153 $sql1 .=
" SET fk_code_ventilation = ".(GETPOSTINT(
'account_parent') > 0 ?
GETPOSTINT(
'account_parent') : 0);
154 $sql1 .=
' WHERE rowid IN ('.$db->sanitize(implode(
',', $changeaccount)).
')';
156 dol_syslog(
'accountancy/customer/lines.php::changeaccount sql= '.$sql1);
157 $resql1 = $db->query($sql1);
170 $account_parent =
'';
174if (
GETPOST(
'sortfield') ==
'f.datef, f.ref, fd.rowid') {
175 $value = (
GETPOST(
'sortorder') ==
'asc,asc,asc' ? 0 : 1);
176 require_once DOL_DOCUMENT_ROOT.
'/core/lib/admin.lib.php';
177 $res =
dolibarr_set_const($db,
"ACCOUNTING_LIST_SORT_VENTILATION_DONE", $value,
'yesno', 0,
'',
$conf->entity);
185$form =
new Form($db);
188$help_url =
'EN:Module_Double_Entry_Accounting|FR:Module_Comptabilité_en_Partie_Double#Liaisons_comptables';
190llxHeader(
'', $langs->trans(
"CustomersVentilation").
' - '.$langs->trans(
"Dispatched"), $help_url,
'', 0, 0,
'',
'',
'',
'mod-accountancy accountancy-customer page-lines');
192print
'<script type="text/javascript">
194 $(\'#select-all\').click(function(event) {
195 // Iterate each checkbox
196 $(\':checkbox\').each(function() {
200 $(\'#unselect-all\').click(function(event) {
201 // Iterate each checkbox
202 $(\':checkbox\').each(function() {
203 this.checked = false;
212$sql =
"SELECT f.rowid as facid, f.ref as ref, f.type as ftype, f.situation_cycle_ref, f.datef, f.ref_client,";
213$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,";
214$sql .=
" s.rowid as socid, s.nom as name, s.code_client,";
216 $sql .=
" spe.accountancy_code_customer as code_compta_client,";
217 $sql .=
" spe.accountancy_code_supplier as code_compta_fournisseur,";
219 $sql .=
" s.code_compta as code_compta_client,";
220 $sql .=
" s.code_compta_fournisseur,";
222$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,";
224 $sql .=
" ppe.accountancy_code_sell, ppe.accountancy_code_sell_intra, ppe.accountancy_code_sell_export,";
226 $sql .=
" p.accountancy_code_sell, p.accountancy_code_sell_intra, p.accountancy_code_sell_export,";
228$sql .=
" aa.rowid as fk_compte, aa.account_number, aa.label as label_account, aa.labelshort as labelshort_account,";
229$sql .=
" fd.situation_percent,";
230$sql .=
" co.code as country_code, co.label as country,";
231$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";
232$parameters = array();
233$reshook = $hookmanager->executeHooks(
'printFieldListSelect', $parameters);
234$sql .= $hookmanager->resPrint;
235$sql .=
" FROM ".MAIN_DB_PREFIX.
"facturedet as fd";
236$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"product as p ON p.rowid = fd.fk_product";
238 $sql .=
" LEFT JOIN " . MAIN_DB_PREFIX .
"product_perentity as ppe ON ppe.fk_product = p.rowid AND ppe.entity = " . ((int)
$conf->entity);
240$sql .=
" INNER JOIN ".MAIN_DB_PREFIX.
"accounting_account as aa ON aa.rowid = fd.fk_code_ventilation";
241$sql .=
" INNER JOIN ".MAIN_DB_PREFIX.
"facture as f ON f.rowid = fd.fk_facture";
242$sql .=
" INNER JOIN ".MAIN_DB_PREFIX.
"societe as s ON s.rowid = f.fk_soc";
244 $sql .=
" LEFT JOIN " . MAIN_DB_PREFIX .
"societe_perentity as spe ON spe.fk_soc = s.rowid AND spe.entity = " . ((int)
$conf->entity);
246$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_country as co ON co.rowid = s.fk_pays ";
247$sql .=
" WHERE fd.fk_code_ventilation > 0";
248$sql .=
" AND f.entity IN (".getEntity(
'invoice', 0).
")";
249$sql .=
" AND f.fk_statut > 0";
256if ($search_societe) {
262if (strlen(trim($search_invoice))) {
265if (strlen(trim($search_ref))) {
268if (strlen(trim($search_label))) {
271if (strlen(trim($search_desc))) {
274if (strlen(trim($search_amount))) {
277if (strlen(trim($search_account))) {
280if (strlen(trim($search_vat))) {
283if ($search_date_start) {
284 $sql .=
" AND f.datef >= '".$db->idate($search_date_start).
"'";
286if ($search_date_end) {
287 $sql .=
" AND f.datef <= '".$db->idate($search_date_end).
"'";
289if (strlen(trim($search_country))) {
291 $country_code_in_EEC = $country_code_in_EEC_without_me =
'';
292 foreach ($arrayofcode as $key => $value) {
293 $country_code_in_EEC .= ($country_code_in_EEC ?
"," :
"").
"'".$value.
"'";
294 if ($value != $mysoc->country_code) {
295 $country_code_in_EEC_without_me .= ($country_code_in_EEC_without_me ?
"," :
"").
"'".$value.
"'";
298 if ($search_country ==
'special_allnotme') {
299 $sql .=
" AND co.code <> '".$db->escape($mysoc->country_code).
"'";
300 } elseif ($search_country ==
'special_eec') {
301 $sql .=
" AND co.code IN (".$db->sanitize($country_code_in_EEC, 1).
")";
302 } elseif ($search_country ==
'special_eecnotme') {
303 $sql .=
" AND co.code IN (".$db->sanitize($country_code_in_EEC_without_me, 1).
")";
304 } elseif ($search_country ==
'special_noteec') {
305 $sql .=
" AND co.code NOT IN (".$db->sanitize($country_code_in_EEC, 1).
")";
310if (strlen(trim($search_tvaintra))) {
313$sql .=
" AND f.entity IN (".getEntity(
'invoice', 0).
")";
314$sql .= $db->order($sortfield, $sortorder);
317$nbtotalofrecords =
'';
319 $result = $db->query($sql);
320 $nbtotalofrecords = $db->num_rows($result);
321 if (($page * $limit) > $nbtotalofrecords) {
327$sql .= $db->plimit($limit + 1, $offset);
329dol_syslog(
"/accountancy/customer/lines.php", LOG_DEBUG);
330$result = $db->query($sql);
332 $num_lines = $db->num_rows($result);
336 if (!empty($contextpage) && $contextpage != $_SERVER[
"PHP_SELF"]) {
337 $param .=
'&contextpage='.urlencode($contextpage);
339 if ($limit > 0 && $limit !=
$conf->liste_limit) {
340 $param .=
'&limit='.((int) $limit);
342 if ($search_societe) {
343 $param .=
"&search_societe=".urlencode($search_societe);
345 if ($search_invoice) {
346 $param .=
"&search_invoice=".urlencode($search_invoice);
349 $param .=
"&search_ref=".urlencode($search_ref);
352 $param .=
"&search_label=".urlencode($search_label);
355 $param .=
"&search_desc=".urlencode($search_desc);
357 if ($search_account) {
358 $param .=
"&search_account=".urlencode($search_account);
361 $param .=
"&search_vat=".urlencode($search_vat);
363 if ($search_date_startday) {
364 $param .=
'&search_date_startday='.urlencode((
string) ($search_date_startday));
366 if ($search_date_startmonth) {
367 $param .=
'&search_date_startmonth='.urlencode((
string) ($search_date_startmonth));
369 if ($search_date_startyear) {
370 $param .=
'&search_date_startyear='.urlencode((
string) ($search_date_startyear));
372 if ($search_date_endday) {
373 $param .=
'&search_date_endday='.urlencode((
string) ($search_date_endday));
375 if ($search_date_endmonth) {
376 $param .=
'&search_date_endmonth='.urlencode((
string) ($search_date_endmonth));
378 if ($search_date_endyear) {
379 $param .=
'&search_date_endyear='.urlencode((
string) ($search_date_endyear));
381 if ($search_country) {
382 $param .=
"&search_country=".urlencode($search_country);
384 if ($search_tvaintra) {
385 $param .=
"&search_tvaintra=".urlencode($search_tvaintra);
388 print
'<form action="'.$_SERVER[
"PHP_SELF"].
'" method="post">'.
"\n";
389 print
'<input type="hidden" name="action" value="ventil">';
390 if ($optioncss !=
'') {
391 print
'<input type="hidden" name="optioncss" value="'.$optioncss.
'">';
393 print
'<input type="hidden" name="token" value="'.newToken().
'">';
394 print
'<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
395 print
'<input type="hidden" name="sortfield" value="'.$sortfield.
'">';
396 print
'<input type="hidden" name="sortorder" value="'.$sortorder.
'">';
397 print
'<input type="hidden" name="page" value="'.$page.
'">';
400 print_barre_liste($langs->trans(
"InvoiceLinesDone").
'<br><span class="opacitymedium small">'.$langs->trans(
"DescVentilDoneCustomer").
'</span>', $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder,
'', $num_lines, $nbtotalofrecords,
'title_accountancy', 0,
'',
'', $limit, 0, 0, 1);
402 print
'<br>'.$langs->trans(
"ChangeAccount").
' <div class="inline-block paddingbottom marginbottomonly">';
403 print $formaccounting->select_account($account_parent,
'account_parent', 2, array(), 0, 0,
'maxwidth300 maxwidthonsmartphone valignmiddle');
404 print
'<input type="submit" class="button small smallpaddingimp valignmiddle" value="'.$langs->trans(
"ChangeBinding").
'"/></div>';
408 print
'<div class="div-table-responsive">';
409 print
'<table class="tagtable liste'.($moreforfilter ?
" listwithfilterbefore" :
"").
'">'.
"\n";
411 print
'<tr class="liste_titre_filter">';
412 print
'<td class="liste_titre"><input type="text" class="flat maxwidth40" name="search_lineid" value="'.dol_escape_htmltag($search_lineid).
'"></td>';
413 print
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_invoice" value="'.dol_escape_htmltag($search_invoice).
'"></td>';
414 print
'<td class="liste_titre center">';
415 print
'<div class="nowrapfordate">';
416 print $form->selectDate($search_date_start ? $search_date_start : -1,
'search_date_start', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'From'));
418 print
'<div class="nowrapfordate">';
419 print $form->selectDate($search_date_end ? $search_date_end : -1,
'search_date_end', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'to'));
422 print
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_ref" value="'.dol_escape_htmltag($search_ref).
'"></td>';
424 print
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_desc" value="'.dol_escape_htmltag($search_desc).
'"></td>';
425 print
'<td class="liste_titre right"><input type="text" class="right flat maxwidth50" name="search_amount" value="'.dol_escape_htmltag($search_amount).
'"></td>';
426 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>';
427 print
'<td class="liste_titre"><input type="text" class="flat maxwidth75imp" name="search_societe" value="'.dol_escape_htmltag($search_societe).
'"></td>';
428 print
'<td class="liste_titre">';
429 print $form->select_country($search_country,
'search_country',
'', 0,
'maxwidth150',
'code2', 1, 0, 1);
432 print
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_tvaintra" value="'.dol_escape_htmltag($search_tvaintra).
'"></td>';
433 print
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_account" value="'.dol_escape_htmltag($search_account).
'"></td>';
434 print
'<td class="liste_titre center">';
435 $searchpicto = $form->showFilterButtons();
437 print
"</td></tr>\n";
439 print
'<tr class="liste_titre">';
442 print_liste_field_titre(
"Date", $_SERVER[
"PHP_SELF"],
"f.datef, f.ref, fd.rowid",
"", $param,
'', $sortfield, $sortorder,
'center ');
445 print_liste_field_titre(
"ProductDescription", $_SERVER[
"PHP_SELF"],
"fd.description",
"", $param,
'', $sortfield, $sortorder);
446 print_liste_field_titre(
"Amount", $_SERVER[
"PHP_SELF"],
"fd.total_ht",
"", $param,
'', $sortfield, $sortorder,
'right ');
447 print_liste_field_titre(
"VATRate", $_SERVER[
"PHP_SELF"],
"fd.tva_tx",
"", $param,
'', $sortfield, $sortorder,
'right ');
450 print_liste_field_titre(
"VATIntra", $_SERVER[
"PHP_SELF"],
"s.tva_intra",
"", $param,
'', $sortfield, $sortorder);
451 print_liste_field_titre(
"AccountAccounting", $_SERVER[
"PHP_SELF"],
"aa.account_number",
"", $param,
'', $sortfield, $sortorder);
452 $checkpicto = $form->showCheckAddButtons();
456 $thirdpartystatic =
new Societe($db);
457 $facturestatic =
new Facture($db);
458 $productstatic =
new Product($db);
462 while ($i < min($num_lines, $limit)) {
463 $objp = $db->fetch_object($result);
465 $facturestatic->ref = $objp->ref;
466 $facturestatic->id = $objp->facid;
467 $facturestatic->type = $objp->ftype;
469 $thirdpartystatic->id = $objp->socid;
470 $thirdpartystatic->name = $objp->name;
471 $thirdpartystatic->client = $objp->client;
472 $thirdpartystatic->fournisseur = $objp->fournisseur;
473 $thirdpartystatic->code_client = $objp->code_client;
474 $thirdpartystatic->code_compta_client = $objp->code_compta_client;
475 $thirdpartystatic->code_fournisseur = $objp->code_fournisseur;
476 $thirdpartystatic->code_compta_fournisseur = $objp->code_compta_fournisseur;
477 $thirdpartystatic->email = $objp->email;
478 $thirdpartystatic->country_code = $objp->country_code;
480 $productstatic->ref = $objp->product_ref;
481 $productstatic->id = $objp->product_id;
482 $productstatic->label = $objp->product_label;
483 $productstatic->type = $objp->line_type;
484 $productstatic->status = $objp->tosell;
485 $productstatic->status_buy = $objp->tobuy;
486 $productstatic->accountancy_code_sell = $objp->accountancy_code_sell;
487 $productstatic->accountancy_code_sell_intra = $objp->accountancy_code_sell_intra;
488 $productstatic->accountancy_code_sell_export = $objp->accountancy_code_sell_export;
490 $accountingaccountstatic->rowid = $objp->fk_compte;
491 $accountingaccountstatic->label = $objp->label_account;
492 $accountingaccountstatic->labelshort = $objp->labelshort_account;
493 $accountingaccountstatic->account_number = $objp->account_number;
495 print
'<tr class="oddeven">';
498 print
'<td>'.$objp->rowid.
'</td>';
501 print
'<td class="nowraponall tdoverflowmax125">'.$facturestatic->getNomUrl(1).
'</td>';
504 print
'<td class="center">'.dol_print_date($db->jdate($objp->datef),
'day').
'</td>';
507 print
'<td class="tdoverflowmax100">';
508 if ($productstatic->id > 0) {
509 print $productstatic->getNomUrl(1);
516 if ($objp->product_label) {
517 print
'<span class="opacitymedium">'.$objp->product_label.
'</span>';
524 print
'<td class="tdoverflowmax200 small" title="'.dol_escape_htmltag($text).
'">';
526 print $form->textwithtooltip(
dol_trunc($text, $trunclength), $objp->description);
530 print
'<td class="right nowraponall amount">';
533 $situation_ratio = 1;
535 if ($objp->situation_cycle_ref) {
537 if ($objp->situation_percent == 0) {
538 $situation_ratio = 0;
541 $line->fetch($objp->rowid);
544 $prev_progress = $line->get_prev_progress($objp->facid);
546 $situation_ratio = ($objp->situation_percent - $prev_progress) / $objp->situation_percent;
549 print
price($objp->total_ht * $situation_ratio);
551 print
price($objp->total_ht);
556 print
'<td class="right">'.vatrate($objp->tva_tx.($objp->vat_src_code ?
' ('.$objp->vat_src_code.
')' :
'')).
'</td>';
559 print
'<td class="tdoverflowmax100">'.$thirdpartystatic->getNomUrl(1,
'customer').
'</td>';
563 if ($objp->country_code) {
564 print $langs->trans(
"Country".$objp->country_code).
' ('.$objp->country_code.
')';
568 print
'<td class="tdoverflowmax80" title="'.dol_escape_htmltag($objp->tva_intra).
'">'.
dol_escape_htmltag($objp->tva_intra).
'</td>';
570 print
'<td class="tdoverflowmax200" title="'.dol_escape_htmltag($accountingaccountstatic->label).
'">';
571 print
'<a class="editfielda" href="./card.php?id='.$objp->rowid.
'&backtopage='.urlencode($_SERVER[
"PHP_SELF"].($param ?
'?'.$param :
'')).
'">';
574 print $accountingaccountstatic->getNomUrl(0, 1, 1,
'', 1);
577 print
'<td class="center"><input type="checkbox" class="checkforaction" name="changeaccount[]" value="'.$objp->rowid.
'"/></td>';
582 if ($num_lines == 0) {
583 print
'<tr><td colspan="12"><span class="opacitymedium">'.$langs->trans(
"NoRecordFound").
'</span></td></tr>';
589 if ($nbtotalofrecords > $limit) {
590 print_barre_liste(
'', $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder,
'', $num_lines, $nbtotalofrecords,
'', 0,
'',
'', $limit, 1);
595 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($head='', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $morecssonbody='', $replacemainareaby='', $disablenofollow=0, $disablenoindex=0)
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 information (by default a local PHP server timestamp) Rep...
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
print_barre_liste($title, $page, $file, $options='', $sortfield='', $sortorder='', $morehtmlcenter='', $num=-1, $totalnboflines='', $picto='generic', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limit=-1, $selectlimitsuffix=0, $hidenavigation=0, $pagenavastextinput=0, $morehtmlrightbeforearrow='')
Print a title with navigation controls for pagination.
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
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.
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 a Dolibarr global constant string value.
img_edit($titlealt='default', $float=0, $other='')
Show logo edit/modify 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...
global $conf
The following vars must be defined: $type2label $form $conf, $lang, The following vars may also be de...
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.