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');
68$limit =
GETPOST(
'limit',
'int') ?
GETPOST(
'limit',
'int') : (empty($conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION) ? $conf->liste_limit : $conf->global->ACCOUNTING_LIMIT_LIST_VENTILATION);
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";
82 if ($conf->global->ACCOUNTING_LIST_SORT_VENTILATION_DONE > 0) {
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);
178llxHeader(
'', $langs->trans(
"CustomersVentilation").
' - '.$langs->trans(
"Dispatched"));
180print
'<script type="text/javascript">
182 $(\'#select-all\').click(function(event) {
183 // Iterate each checkbox
184 $(\':checkbox\').each(function() {
188 $(\'#unselect-all\').click(function(event) {
189 // Iterate each checkbox
190 $(\':checkbox\').each(function() {
191 this.checked = false;
200$sql =
"SELECT f.rowid as facid, f.ref as ref, f.type as ftype, f.situation_cycle_ref, f.datef, f.ref_client,";
201$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,";
202$sql .=
" s.rowid as socid, s.nom as name, s.code_client,";
203if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) {
204 $sql .=
" spe.accountancy_code_customer as code_compta_client,";
205 $sql .=
" spe.accountancy_code_supplier as code_compta_fournisseur,";
207 $sql .=
" s.code_compta as code_compta_client,";
208 $sql .=
" s.code_compta_fournisseur,";
210$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,";
211if (!empty($conf->global->MAIN_PRODUCT_PERENTITY_SHARED)) {
212 $sql .=
" ppe.accountancy_code_sell, ppe.accountancy_code_sell_intra, ppe.accountancy_code_sell_export,";
214 $sql .=
" p.accountancy_code_sell, p.accountancy_code_sell_intra, p.accountancy_code_sell_export,";
216$sql .=
" aa.rowid as fk_compte, aa.account_number, aa.label as label_account, aa.labelshort as labelshort_account,";
217$sql .=
" fd.situation_percent,";
218$sql .=
" co.code as country_code, co.label as country,";
219$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";
220$parameters = array();
221$reshook = $hookmanager->executeHooks(
'printFieldListSelect', $parameters);
222$sql .= $hookmanager->resPrint;
223$sql .=
" FROM ".MAIN_DB_PREFIX.
"facturedet as fd";
224$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"product as p ON p.rowid = fd.fk_product";
225if (!empty($conf->global->MAIN_PRODUCT_PERENTITY_SHARED)) {
226 $sql .=
" LEFT JOIN " . MAIN_DB_PREFIX .
"product_perentity as ppe ON ppe.fk_product = p.rowid AND ppe.entity = " . ((int) $conf->entity);
228$sql .=
" INNER JOIN ".MAIN_DB_PREFIX.
"accounting_account as aa ON aa.rowid = fd.fk_code_ventilation";
229$sql .=
" INNER JOIN ".MAIN_DB_PREFIX.
"facture as f ON f.rowid = fd.fk_facture";
230$sql .=
" INNER JOIN ".MAIN_DB_PREFIX.
"societe as s ON s.rowid = f.fk_soc";
231if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) {
232 $sql .=
" LEFT JOIN " . MAIN_DB_PREFIX .
"societe_perentity as spe ON spe.fk_soc = s.rowid AND spe.entity = " . ((int) $conf->entity);
234$sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"c_country as co ON co.rowid = s.fk_pays ";
235$sql .=
" WHERE fd.fk_code_ventilation > 0";
236$sql .=
" AND f.entity IN (".getEntity(
'invoice', 0).
")";
237$sql .=
" AND f.fk_statut > 0";
238if (!empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) {
244if ($search_societe) {
250if (strlen(trim($search_invoice))) {
253if (strlen(trim($search_ref))) {
256if (strlen(trim($search_label))) {
259if (strlen(trim($search_desc))) {
262if (strlen(trim($search_amount))) {
265if (strlen(trim($search_account))) {
268if (strlen(trim($search_vat))) {
271if ($search_date_start) {
272 $sql .=
" AND f.datef >= '".$db->idate($search_date_start).
"'";
274if ($search_date_end) {
275 $sql .=
" AND f.datef <= '".$db->idate($search_date_end).
"'";
277if (strlen(trim($search_country))) {
279 $country_code_in_EEC = $country_code_in_EEC_without_me =
'';
280 foreach ($arrayofcode as $key => $value) {
281 $country_code_in_EEC .= ($country_code_in_EEC ?
"," :
"").
"'".$value.
"'";
282 if ($value != $mysoc->country_code) {
283 $country_code_in_EEC_without_me .= ($country_code_in_EEC_without_me ?
"," :
"").
"'".$value.
"'";
286 if ($search_country ==
'special_allnotme') {
287 $sql .=
" AND co.code <> '".$db->escape($mysoc->country_code).
"'";
288 } elseif ($search_country ==
'special_eec') {
289 $sql .=
" AND co.code IN (".$db->sanitize($country_code_in_EEC, 1).
")";
290 } elseif ($search_country ==
'special_eecnotme') {
291 $sql .=
" AND co.code IN (".$db->sanitize($country_code_in_EEC_without_me, 1).
")";
292 } elseif ($search_country ==
'special_noteec') {
293 $sql .=
" AND co.code NOT IN (".$db->sanitize($country_code_in_EEC, 1).
")";
298if (strlen(trim($search_tvaintra))) {
301$sql .=
" AND f.entity IN (".getEntity(
'invoice', 0).
")";
302$sql .= $db->order($sortfield, $sortorder);
305$nbtotalofrecords =
'';
307 $result = $db->query($sql);
308 $nbtotalofrecords = $db->num_rows($result);
309 if (($page * $limit) > $nbtotalofrecords) {
315$sql .= $db->plimit($limit + 1, $offset);
317dol_syslog(
"/accountancy/customer/lines.php", LOG_DEBUG);
318$result = $db->query($sql);
320 $num_lines = $db->num_rows($result);
324 if (!empty($contextpage) && $contextpage != $_SERVER[
"PHP_SELF"]) {
325 $param .=
'&contextpage='.urlencode($contextpage);
327 if ($limit > 0 && $limit != $conf->liste_limit) {
328 $param .=
'&limit='.((int) $limit);
330 if ($search_societe) {
331 $param .=
"&search_societe=".urlencode($search_societe);
333 if ($search_invoice) {
334 $param .=
"&search_invoice=".urlencode($search_invoice);
337 $param .=
"&search_ref=".urlencode($search_ref);
340 $param .=
"&search_label=".urlencode($search_label);
343 $param .=
"&search_desc=".urlencode($search_desc);
345 if ($search_account) {
346 $param .=
"&search_account=".urlencode($search_account);
349 $param .=
"&search_vat=".urlencode($search_vat);
351 if ($search_date_startday) {
352 $param .=
'&search_date_startday='.urlencode($search_date_startday);
354 if ($search_date_startmonth) {
355 $param .=
'&search_date_startmonth='.urlencode($search_date_startmonth);
357 if ($search_date_startyear) {
358 $param .=
'&search_date_startyear='.urlencode($search_date_startyear);
360 if ($search_date_endday) {
361 $param .=
'&search_date_endday='.urlencode($search_date_endday);
363 if ($search_date_endmonth) {
364 $param .=
'&search_date_endmonth='.urlencode($search_date_endmonth);
366 if ($search_date_endyear) {
367 $param .=
'&search_date_endyear='.urlencode($search_date_endyear);
369 if ($search_country) {
370 $param .=
"&search_country=".urlencode($search_country);
372 if ($search_tvaintra) {
373 $param .=
"&search_tvaintra=".urlencode($search_tvaintra);
376 print
'<form action="'.$_SERVER[
"PHP_SELF"].
'" method="post">'.
"\n";
377 print
'<input type="hidden" name="action" value="ventil">';
378 if ($optioncss !=
'') {
379 print
'<input type="hidden" name="optioncss" value="'.$optioncss.
'">';
381 print
'<input type="hidden" name="token" value="'.newToken().
'">';
382 print
'<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
383 print
'<input type="hidden" name="sortfield" value="'.$sortfield.
'">';
384 print
'<input type="hidden" name="sortorder" value="'.$sortorder.
'">';
385 print
'<input type="hidden" name="page" value="'.$page.
'">';
387 print_barre_liste($langs->trans(
"InvoiceLinesDone"), $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder,
'', $num_lines, $nbtotalofrecords,
'title_accountancy', 0,
'',
'', $limit);
388 print
'<span class="opacitymedium">'.$langs->trans(
"DescVentilDoneCustomer").
'</span><br>';
390 print
'<br><div class="inline-block divButAction paddingbottom">'.$langs->trans(
"ChangeAccount").
' ';
391 print $formaccounting->select_account($account_parent,
'account_parent', 2, array(), 0, 0,
'maxwidth300 maxwidthonsmartphone valignmiddle');
392 print
'<input type="submit" class="button small valignmiddle" value="'.$langs->trans(
"ChangeBinding").
'"/></div>';
396 print
'<div class="div-table-responsive">';
397 print
'<table class="tagtable liste'.($moreforfilter ?
" listwithfilterbefore" :
"").
'">'.
"\n";
399 print
'<tr class="liste_titre_filter">';
400 print
'<td class="liste_titre"><input type="text" class="flat maxwidth25" name="search_lineid" value="'.dol_escape_htmltag($search_lineid).
'"></td>';
401 print
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_invoice" value="'.dol_escape_htmltag($search_invoice).
'"></td>';
402 print
'<td class="liste_titre center">';
403 print
'<div class="nowrap">';
404 print $form->selectDate($search_date_start ? $search_date_start : -1,
'search_date_start', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'From'));
406 print
'<div class="nowrap">';
407 print $form->selectDate($search_date_end ? $search_date_end : -1,
'search_date_end', 0, 0, 1,
'', 1, 0, 0,
'',
'',
'',
'', 1,
'', $langs->trans(
'to'));
410 print
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_ref" value="'.dol_escape_htmltag($search_ref).
'"></td>';
412 print
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_desc" value="'.dol_escape_htmltag($search_desc).
'"></td>';
413 print
'<td class="liste_titre right"><input type="text" class="right flat maxwidth50" name="search_amount" value="'.dol_escape_htmltag($search_amount).
'"></td>';
414 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>';
415 print
'<td class="liste_titre"><input type="text" class="flat maxwidth75imp" name="search_societe" value="'.dol_escape_htmltag($search_societe).
'"></td>';
416 print
'<td class="liste_titre">';
417 print $form->select_country($search_country,
'search_country',
'', 0,
'maxwidth150',
'code2', 1, 0, 1);
420 print
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_tvaintra" value="'.dol_escape_htmltag($search_tvaintra).
'"></td>';
421 print
'<td class="liste_titre"><input type="text" class="flat maxwidth50" name="search_account" value="'.dol_escape_htmltag($search_account).
'"></td>';
422 print
'<td class="liste_titre center">';
423 $searchpicto = $form->showFilterButtons();
425 print
"</td></tr>\n";
427 print
'<tr class="liste_titre">';
430 print_liste_field_titre(
"Date", $_SERVER[
"PHP_SELF"],
"f.datef, f.ref, fd.rowid",
"", $param,
'', $sortfield, $sortorder,
'center ');
433 print_liste_field_titre(
"ProductDescription", $_SERVER[
"PHP_SELF"],
"fd.description",
"", $param,
'', $sortfield, $sortorder);
434 print_liste_field_titre(
"Amount", $_SERVER[
"PHP_SELF"],
"fd.total_ht",
"", $param,
'', $sortfield, $sortorder,
'right ');
435 print_liste_field_titre(
"VATRate", $_SERVER[
"PHP_SELF"],
"fd.tva_tx",
"", $param,
'', $sortfield, $sortorder,
'right ');
438 print_liste_field_titre(
"VATIntra", $_SERVER[
"PHP_SELF"],
"s.tva_intra",
"", $param,
'', $sortfield, $sortorder);
439 print_liste_field_titre(
"AccountAccounting", $_SERVER[
"PHP_SELF"],
"aa.account_number",
"", $param,
'', $sortfield, $sortorder);
440 $checkpicto = $form->showCheckAddButtons();
444 $thirdpartystatic =
new Societe($db);
445 $facturestatic =
new Facture($db);
446 $productstatic =
new Product($db);
450 while ($i < min($num_lines, $limit)) {
451 $objp = $db->fetch_object($result);
453 $facturestatic->ref = $objp->ref;
454 $facturestatic->id = $objp->facid;
455 $facturestatic->type = $objp->ftype;
457 $thirdpartystatic->id = $objp->socid;
458 $thirdpartystatic->name = $objp->name;
459 $thirdpartystatic->client = $objp->client;
460 $thirdpartystatic->fournisseur = $objp->fournisseur;
461 $thirdpartystatic->code_client = $objp->code_client;
462 $thirdpartystatic->code_compta_client = $objp->code_compta_client;
463 $thirdpartystatic->code_fournisseur = $objp->code_fournisseur;
464 $thirdpartystatic->code_compta_fournisseur = $objp->code_compta_fournisseur;
465 $thirdpartystatic->email = $objp->email;
466 $thirdpartystatic->country_code = $objp->country_code;
468 $productstatic->ref = $objp->product_ref;
469 $productstatic->id = $objp->product_id;
470 $productstatic->label = $objp->product_label;
471 $productstatic->type = $objp->line_type;
472 $productstatic->status = $objp->tosell;
473 $productstatic->status_buy = $objp->tobuy;
474 $productstatic->accountancy_code_sell = $objp->accountancy_code_sell;
475 $productstatic->accountancy_code_sell_intra = $objp->accountancy_code_sell_intra;
476 $productstatic->accountancy_code_sell_export = $objp->accountancy_code_sell_export;
478 $accountingaccountstatic->rowid = $objp->fk_compte;
479 $accountingaccountstatic->label = $objp->label_account;
480 $accountingaccountstatic->labelshort = $objp->labelshort_account;
481 $accountingaccountstatic->account_number = $objp->account_number;
483 print
'<tr class="oddeven">';
486 print
'<td>'.$objp->rowid.
'</td>';
489 print
'<td class="nowraponall">'.$facturestatic->getNomUrl(1).
'</td>';
492 print
'<td class="center">'.dol_print_date($db->jdate($objp->datef),
'day').
'</td>';
495 print
'<td class="tdoverflowmax100">';
496 if ($productstatic->id > 0) {
497 print $productstatic->getNomUrl(1);
499 if ($productstatic->id > 0 && $objp->product_label) {
502 if ($objp->product_label) {
503 print
'<span class="opacitymedium">'.$objp->product_label.
'</span>';
507 print
'<td class="tdoverflowonsmartphone small">';
509 $trunclength = empty($conf->global->ACCOUNTING_LENGTH_DESCRIPTION) ? 32 : $conf->global->ACCOUNTING_LENGTH_DESCRIPTION;
510 print $form->textwithtooltip(
dol_trunc($text, $trunclength), $objp->description);
514 print
'<td class="right nowraponall amount">';
517 $situation_ratio = 1;
519 if ($objp->situation_cycle_ref) {
521 if ($objp->situation_percent == 0) {
522 $situation_ratio = 0;
525 $line->fetch($objp->rowid);
528 $prev_progress = $line->get_prev_progress($objp->facid);
530 $situation_ratio = ($objp->situation_percent - $prev_progress) / $objp->situation_percent;
533 print
price($objp->total_ht * $situation_ratio);
535 print
price($objp->total_ht);
540 print
'<td class="right">'.vatrate($objp->tva_tx.($objp->vat_src_code ?
' ('.$objp->vat_src_code.
')' :
'')).
'</td>';
543 print
'<td class="tdoverflowmax100">'.$thirdpartystatic->getNomUrl(1,
'customer').
'</td>';
547 if ($objp->country_code) {
548 print $langs->trans(
"Country".$objp->country_code).
' ('.$objp->country_code.
')';
552 print
'<td class="tdoverflowmax80" title="'.dol_escape_htmltag($objp->tva_intra).
'">'.
dol_escape_htmltag($objp->tva_intra).
'</td>';
555 print $accountingaccountstatic->getNomUrl(0, 1, 1,
'', 1);
556 print
' <a class="editfielda" href="./card.php?id='.$objp->rowid.
'&backtopage='.urlencode($_SERVER[
"PHP_SELF"].($param ?
'?'.$param :
'')).
'">';
560 print
'<td class="center"><input type="checkbox" class="checkforaction" name="changeaccount[]" value="'.$objp->rowid.
'"/></td>';
565 if ($num_lines == 0) {
566 print
'<tr><td colspan="12"><span class="opacitymedium">'.$langs->trans(
"NoRecordFound").
'</span></td></tr>';
572 if ($nbtotalofrecords > $limit) {
573 print_barre_liste(
'', $page, $_SERVER[
"PHP_SELF"], $param, $sortfield, $sortorder,
'', $num_lines, $nbtotalofrecords,
'', 0,
'',
'', $limit, 1);
578 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 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.
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.